// @generated by tools/generate_api_shims.py; do not edit by hand.
#![allow(clippy::missing_errors_doc)]
#![allow(clippy::must_use_candidate)]
#![allow(clippy::all, clippy::pedantic, dead_code, unused_variables)]
#![allow(non_camel_case_types)]
#![allow(non_snake_case)]

/// C# type: `T:LibreMetaverse.AISResponseMeta`.
///
/// Native Rust mapping of C# `LibreMetaverse.AISResponseMeta` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `F:LibreMetaverse.AISResponseMeta.Empty`.
///
/// C# signature: `LibreMetaverse.AISResponseMeta LibreMetaverse.AISResponseMeta.Empty`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
/// C# member: `M:LibreMetaverse.AISResponseMeta.#ctor(System.Collections.Generic.IReadOnlyList{LibreMetaverse.UUID},System.Collections.Generic.IReadOnlyList{LibreMetaverse.UUID},System.Collections.Generic.IReadOnlyList{LibreMetaverse.UUID},System.Collections.Generic.IReadOnlyDictionary{LibreMetaverse.UUID,System.Int32})`.
///
/// C# signature: `LibreMetaverse.AISResponseMeta(System.Collections.Generic.IReadOnlyList<LibreMetaverse.UUID> brokenLinks, System.Collections.Generic.IReadOnlyList<LibreMetaverse.UUID> items, System.Collections.Generic.IReadOnlyList<LibreMetaverse.UUID> categories, System.Collections.Generic.IReadOnlyDictionary<LibreMetaverse.UUID, System.Int32> versions)`.
/// Mapping contract: ownership `owned,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.AISResponseMeta.BrokenLinksRemoved`.
///
/// C# signature: `System.Collections.Generic.IReadOnlyList<LibreMetaverse.UUID> LibreMetaverse.AISResponseMeta.BrokenLinksRemoved`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AISResponseMeta.CategoriesRemoved`.
///
/// C# signature: `System.Collections.Generic.IReadOnlyList<LibreMetaverse.UUID> LibreMetaverse.AISResponseMeta.CategoriesRemoved`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AISResponseMeta.CategoryVersionUpdates`.
///
/// C# signature: `System.Collections.Generic.IReadOnlyDictionary<LibreMetaverse.UUID, System.Int32> LibreMetaverse.AISResponseMeta.CategoryVersionUpdates`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AISResponseMeta.HasAnyData`.
///
/// C# signature: `System.Boolean LibreMetaverse.AISResponseMeta.HasAnyData`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AISResponseMeta.ItemsRemoved`.
///
/// C# signature: `System.Collections.Generic.IReadOnlyList<LibreMetaverse.UUID> LibreMetaverse.AISResponseMeta.ItemsRemoved`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::inventory_ais::AISResponseMeta;

/// C# type: `T:LibreMetaverse.AccessDeniedReason`.
///
/// Native Rust mapping of C# `LibreMetaverse.AccessDeniedReason` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(u8)]
pub enum AccessDeniedReason {
    /// C# member: `F:LibreMetaverse.AccessDeniedReason.BannedFromParcel`.
    ///
    /// C# signature: `LibreMetaverse.AccessDeniedReason LibreMetaverse.AccessDeniedReason.BannedFromParcel`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    BannedFromParcel = 3,
    /// C# member: `F:LibreMetaverse.AccessDeniedReason.NoAccess`.
    ///
    /// C# signature: `LibreMetaverse.AccessDeniedReason LibreMetaverse.AccessDeniedReason.NoAccess`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    NoAccess = 4,
    /// C# member: `F:LibreMetaverse.AccessDeniedReason.NotAgeVerified`.
    ///
    /// C# signature: `LibreMetaverse.AccessDeniedReason LibreMetaverse.AccessDeniedReason.NotAgeVerified`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    NotAgeVerified = 5,
    /// C# member: `F:LibreMetaverse.AccessDeniedReason.NotDenied`.
    ///
    /// C# signature: `LibreMetaverse.AccessDeniedReason LibreMetaverse.AccessDeniedReason.NotDenied`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    NotDenied = 0,
    /// C# member: `F:LibreMetaverse.AccessDeniedReason.NotInGroup`.
    ///
    /// C# signature: `LibreMetaverse.AccessDeniedReason LibreMetaverse.AccessDeniedReason.NotInGroup`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    NotInGroup = 1,
    /// C# member: `F:LibreMetaverse.AccessDeniedReason.NotOnAllowList`.
    ///
    /// C# signature: `LibreMetaverse.AccessDeniedReason LibreMetaverse.AccessDeniedReason.NotOnAllowList`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    NotOnAllowList = 2,
}

/// C# type: `T:LibreMetaverse.AccessList`.
///
/// Native Rust mapping of C# `LibreMetaverse.AccessList` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(transparent)]
pub struct AccessList(pub u32);
impl AccessList {
    /// C# member: `F:LibreMetaverse.AccessList.Access`.
    ///
    /// C# signature: `LibreMetaverse.AccessList LibreMetaverse.AccessList.Access`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const ACCESS: Self = Self(1);
    /// C# member: `F:LibreMetaverse.AccessList.Ban`.
    ///
    /// C# signature: `LibreMetaverse.AccessList LibreMetaverse.AccessList.Ban`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const BAN: Self = Self(2);
    /// C# member: `F:LibreMetaverse.AccessList.Both`.
    ///
    /// C# signature: `LibreMetaverse.AccessList LibreMetaverse.AccessList.Both`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const BOTH: Self = Self(3);
}

/// C# type: `T:LibreMetaverse.AccountLevelBenefits`.
///
/// Native Rust mapping of C# `LibreMetaverse.AccountLevelBenefits` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.AccountLevelBenefits.#ctor(LibreMetaverse.StructuredData.OSDMap)`.
///
/// C# signature: `LibreMetaverse.AccountLevelBenefits(LibreMetaverse.StructuredData.OSDMap reply)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.AccountLevelBenefits.#ctor(System.Collections.Hashtable)`.
///
/// C# signature: `LibreMetaverse.AccountLevelBenefits(System.Collections.Hashtable reply)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `P:LibreMetaverse.AccountLevelBenefits.AnimatedObjectLimit`.
///
/// C# signature: `System.Int32 LibreMetaverse.AccountLevelBenefits.AnimatedObjectLimit`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AccountLevelBenefits.AnimationUploadCost`.
///
/// C# signature: `System.Int32 LibreMetaverse.AccountLevelBenefits.AnimationUploadCost`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AccountLevelBenefits.AttachmentLimit`.
///
/// C# signature: `System.Int32 LibreMetaverse.AccountLevelBenefits.AttachmentLimit`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AccountLevelBenefits.BetaGridLand`.
///
/// C# signature: `System.Int32 LibreMetaverse.AccountLevelBenefits.BetaGridLand`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AccountLevelBenefits.CreateGroupCost`.
///
/// C# signature: `System.Int32 LibreMetaverse.AccountLevelBenefits.CreateGroupCost`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AccountLevelBenefits.CreateRepeatingEvents`.
///
/// C# signature: `System.Int32 LibreMetaverse.AccountLevelBenefits.CreateRepeatingEvents`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AccountLevelBenefits.EstateAccessToken`.
///
/// C# signature: `System.String LibreMetaverse.AccountLevelBenefits.EstateAccessToken`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AccountLevelBenefits.GridwideExperienceLimit`.
///
/// C# signature: `System.Int32 LibreMetaverse.AccountLevelBenefits.GridwideExperienceLimit`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AccountLevelBenefits.GroupMembershipLimit`.
///
/// C# signature: `System.Int32 LibreMetaverse.AccountLevelBenefits.GroupMembershipLimit`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AccountLevelBenefits.LandAuctionsAllowed`.
///
/// C# signature: `System.Int32 LibreMetaverse.AccountLevelBenefits.LandAuctionsAllowed`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AccountLevelBenefits.LargeTextureUploadCost`.
///
/// C# signature: `System.Collections.Generic.List<System.Int32> LibreMetaverse.AccountLevelBenefits.LargeTextureUploadCost`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AccountLevelBenefits.LastnameChangeAllowed`.
///
/// C# signature: `System.Int32 LibreMetaverse.AccountLevelBenefits.LastnameChangeAllowed`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AccountLevelBenefits.LastnameChangeCost`.
///
/// C# signature: `System.Double LibreMetaverse.AccountLevelBenefits.LastnameChangeCost`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AccountLevelBenefits.LastnameChangeRate`.
///
/// C# signature: `System.Int32 LibreMetaverse.AccountLevelBenefits.LastnameChangeRate`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AccountLevelBenefits.LindenBuyFee`.
///
/// C# signature: `System.Double LibreMetaverse.AccountLevelBenefits.LindenBuyFee`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AccountLevelBenefits.LiveChat`.
///
/// C# signature: `System.Int32 LibreMetaverse.AccountLevelBenefits.LiveChat`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AccountLevelBenefits.LocalExperiences`.
///
/// C# signature: `System.Int32 LibreMetaverse.AccountLevelBenefits.LocalExperiences`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AccountLevelBenefits.MainlandTier`.
///
/// C# signature: `System.Int32 LibreMetaverse.AccountLevelBenefits.MainlandTier`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AccountLevelBenefits.MarketplaceConciergeSupport`.
///
/// C# signature: `System.Int32 LibreMetaverse.AccountLevelBenefits.MarketplaceConciergeSupport`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AccountLevelBenefits.MarketplaceListingLimit`.
///
/// C# signature: `System.Int32 LibreMetaverse.AccountLevelBenefits.MarketplaceListingLimit`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AccountLevelBenefits.MarketplacePleLimit`.
///
/// C# signature: `System.Int32 LibreMetaverse.AccountLevelBenefits.MarketplacePleLimit`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AccountLevelBenefits.MeshUploadCost`.
///
/// C# signature: `System.Int32 LibreMetaverse.AccountLevelBenefits.MeshUploadCost`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AccountLevelBenefits.ObjectAccountLevel`.
///
/// C# signature: `System.Int32 LibreMetaverse.AccountLevelBenefits.ObjectAccountLevel`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AccountLevelBenefits.OneTimeEventAllowed`.
///
/// C# signature: `System.Int32 LibreMetaverse.AccountLevelBenefits.OneTimeEventAllowed`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AccountLevelBenefits.OneTimeEventCost`.
///
/// C# signature: `System.Int32 LibreMetaverse.AccountLevelBenefits.OneTimeEventCost`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AccountLevelBenefits.PartnerFee`.
///
/// C# signature: `System.Int32 LibreMetaverse.AccountLevelBenefits.PartnerFee`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AccountLevelBenefits.PhoneSupport`.
///
/// C# signature: `System.Int32 LibreMetaverse.AccountLevelBenefits.PhoneSupport`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AccountLevelBenefits.PicksLimit`.
///
/// C# signature: `System.Int32 LibreMetaverse.AccountLevelBenefits.PicksLimit`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AccountLevelBenefits.PlacePages`.
///
/// C# signature: `System.Int32 LibreMetaverse.AccountLevelBenefits.PlacePages`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AccountLevelBenefits.PremiumAccess`.
///
/// C# signature: `System.Int32 LibreMetaverse.AccountLevelBenefits.PremiumAccess`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AccountLevelBenefits.PremiumAlts`.
///
/// C# signature: `System.Int32 LibreMetaverse.AccountLevelBenefits.PremiumAlts`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AccountLevelBenefits.PremiumGifts`.
///
/// C# signature: `System.Int32 LibreMetaverse.AccountLevelBenefits.PremiumGifts`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AccountLevelBenefits.PriorityEntry`.
///
/// C# signature: `System.Int32 LibreMetaverse.AccountLevelBenefits.PriorityEntry`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AccountLevelBenefits.RepeatingEventsCost`.
///
/// C# signature: `System.Int32 LibreMetaverse.AccountLevelBenefits.RepeatingEventsCost`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AccountLevelBenefits.ScriptLimit`.
///
/// C# signature: `System.Int32 LibreMetaverse.AccountLevelBenefits.ScriptLimit`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AccountLevelBenefits.SignupBonus`.
///
/// C# signature: `System.Int32 LibreMetaverse.AccountLevelBenefits.SignupBonus`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AccountLevelBenefits.SoundUploadCost`.
///
/// C# signature: `System.Int32 LibreMetaverse.AccountLevelBenefits.SoundUploadCost`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AccountLevelBenefits.Stipend`.
///
/// C# signature: `System.Int32 LibreMetaverse.AccountLevelBenefits.Stipend`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AccountLevelBenefits.StoredImLimit`.
///
/// C# signature: `System.Int32 LibreMetaverse.AccountLevelBenefits.StoredImLimit`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AccountLevelBenefits.TextureUploadCost`.
///
/// C# signature: `System.Int32 LibreMetaverse.AccountLevelBenefits.TextureUploadCost`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AccountLevelBenefits.TransactionHistoryLimit`.
///
/// C# signature: `System.Int32 LibreMetaverse.AccountLevelBenefits.TransactionHistoryLimit`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AccountLevelBenefits.UnpartnerFee`.
///
/// C# signature: `System.Int32 LibreMetaverse.AccountLevelBenefits.UnpartnerFee`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AccountLevelBenefits.UseAnimesh`.
///
/// C# signature: `System.Int32 LibreMetaverse.AccountLevelBenefits.UseAnimesh`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AccountLevelBenefits.VoiceMorphing`.
///
/// C# signature: `System.Int32 LibreMetaverse.AccountLevelBenefits.VoiceMorphing`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::login::AccountLevelBenefits;

/// C# type: `T:LibreMetaverse.AgentAccessEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.AgentAccessEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.AgentAccessEventArgs.#ctor(System.Boolean,System.String)`.
///
/// C# signature: `LibreMetaverse.AgentAccessEventArgs(System.Boolean success, System.String newLevel)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.AgentAccessEventArgs.NewLevel`.
///
/// C# signature: `System.String LibreMetaverse.AgentAccessEventArgs.NewLevel`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AgentAccessEventArgs.Success`.
///
/// C# signature: `System.Boolean LibreMetaverse.AgentAccessEventArgs.Success`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::agent_messages::AgentAccessEventArgs;

/// C# type: `T:LibreMetaverse.AgentCachedBakesReplyEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.AgentCachedBakesReplyEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Default)]
pub struct AgentCachedBakesReplyEventArgs;
impl AgentCachedBakesReplyEventArgs {
    /// C# member: `M:LibreMetaverse.AgentCachedBakesReplyEventArgs.#ctor`.
    ///
    /// C# signature: `LibreMetaverse.AgentCachedBakesReplyEventArgs()`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn new() -> Result<Self, crate::Error> {
        Ok(/* complete payload-free catalog type */ Self)
    }
}

/// C# type: `T:LibreMetaverse.AgentDataReplyEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.AgentDataReplyEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.AgentDataReplyEventArgs.#ctor(System.String,System.String,LibreMetaverse.UUID,System.String,LibreMetaverse.GroupPowers,System.String)`.
///
/// C# signature: `LibreMetaverse.AgentDataReplyEventArgs(System.String firstName, System.String lastName, LibreMetaverse.UUID activeGroupID, System.String groupTitle, LibreMetaverse.GroupPowers groupPowers, System.String groupName)`.
/// Mapping contract: ownership `owned,owned,owned,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.AgentDataReplyEventArgs.ActiveGroupID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.AgentDataReplyEventArgs.ActiveGroupID`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AgentDataReplyEventArgs.FirstName`.
///
/// C# signature: `System.String LibreMetaverse.AgentDataReplyEventArgs.FirstName`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AgentDataReplyEventArgs.GroupName`.
///
/// C# signature: `System.String LibreMetaverse.AgentDataReplyEventArgs.GroupName`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AgentDataReplyEventArgs.GroupPowers`.
///
/// C# signature: `LibreMetaverse.GroupPowers LibreMetaverse.AgentDataReplyEventArgs.GroupPowers`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AgentDataReplyEventArgs.GroupTitle`.
///
/// C# signature: `System.String LibreMetaverse.AgentDataReplyEventArgs.GroupTitle`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AgentDataReplyEventArgs.LastName`.
///
/// C# signature: `System.String LibreMetaverse.AgentDataReplyEventArgs.LastName`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::agent_messages::AgentDataReplyEventArgs;

/// C# type: `T:LibreMetaverse.AgentDisplayName`.
///
/// Native Rust mapping of C# `LibreMetaverse.AgentDisplayName` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.AgentDisplayName.#ctor`.
///
/// C# signature: `LibreMetaverse.AgentDisplayName()`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.AgentDisplayName.FromOSD(LibreMetaverse.StructuredData.OSD)`.
///
/// C# signature: `LibreMetaverse.AgentDisplayName LibreMetaverse.AgentDisplayName.FromOSD(LibreMetaverse.StructuredData.OSD data)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.AgentDisplayName.GetOSD`.
///
/// C# signature: `LibreMetaverse.StructuredData.OSD LibreMetaverse.AgentDisplayName.GetOSD()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.AgentDisplayName.ToString`.
///
/// C# signature: `System.String LibreMetaverse.AgentDisplayName.ToString()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.AgentDisplayName.DisplayName`.
///
/// C# signature: `System.String LibreMetaverse.AgentDisplayName.DisplayName`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AgentDisplayName.ID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.AgentDisplayName.ID`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AgentDisplayName.IsDefaultDisplayName`.
///
/// C# signature: `System.Boolean LibreMetaverse.AgentDisplayName.IsDefaultDisplayName`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AgentDisplayName.LegacyFirstName`.
///
/// C# signature: `System.String LibreMetaverse.AgentDisplayName.LegacyFirstName`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AgentDisplayName.LegacyFullName`.
///
/// C# signature: `System.String LibreMetaverse.AgentDisplayName.LegacyFullName`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AgentDisplayName.LegacyLastName`.
///
/// C# signature: `System.String LibreMetaverse.AgentDisplayName.LegacyLastName`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AgentDisplayName.NextUpdate`.
///
/// C# signature: `System.DateTime LibreMetaverse.AgentDisplayName.NextUpdate`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AgentDisplayName.Updated`.
///
/// C# signature: `System.DateTime LibreMetaverse.AgentDisplayName.Updated`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AgentDisplayName.UserName`.
///
/// C# signature: `System.String LibreMetaverse.AgentDisplayName.UserName`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::message_decoder::AgentDisplayName;

/// C# type: `T:LibreMetaverse.AgentExperiencesEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.AgentExperiencesEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.AgentExperiencesEventArgs.#ctor(LibreMetaverse.Messages.Linden.ExperienceListMessage)`.
///
/// C# signature: `LibreMetaverse.AgentExperiencesEventArgs(LibreMetaverse.Messages.Linden.ExperienceListMessage agentExperiences)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.AgentExperiencesEventArgs.AgentExperiences`.
///
/// C# signature: `LibreMetaverse.Messages.Linden.ExperienceListMessage LibreMetaverse.AgentExperiencesEventArgs.AgentExperiences`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::agent_messages::AgentExperiencesEventArgs;

/// C# type: `T:LibreMetaverse.AgentFlags`.
///
/// Native Rust mapping of C# `LibreMetaverse.AgentFlags` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(transparent)]
pub struct AgentFlags(pub u8);
impl AgentFlags {
    /// C# member: `F:LibreMetaverse.AgentFlags.HideTitle`.
    ///
    /// C# signature: `LibreMetaverse.AgentFlags LibreMetaverse.AgentFlags.HideTitle`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const HIDE_TITLE: Self = Self(1);
    /// C# member: `F:LibreMetaverse.AgentFlags.None`.
    ///
    /// C# signature: `LibreMetaverse.AgentFlags LibreMetaverse.AgentFlags.None`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const NONE: Self = Self(0);
}

/// C# type: `T:LibreMetaverse.AgentManager`.
///
/// Native Rust mapping of C# `LibreMetaverse.AgentManager` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
pub use crate::agent_manager::AgentManager;
/// C# member: `F:LibreMetaverse.AgentManager.AgentStateStatus`.
///
/// C# signature: `LibreMetaverse.Messages.Linden.AgentStateUpdateMessage LibreMetaverse.AgentManager.AgentStateStatus`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.AgentManager.GroupChatSessions`.
///
/// C# signature: `System.Collections.Concurrent.ConcurrentDictionary<LibreMetaverse.UUID, System.Collections.Generic.List<LibreMetaverse.ChatSessionMember>> LibreMetaverse.AgentManager.GroupChatSessions`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.AgentManager.Movement`.
///
/// C# signature: `LibreMetaverse.AgentManager.AgentMovement LibreMetaverse.AgentManager.Movement`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.AgentManager.MuteList`.
///
/// C# signature: `System.Collections.Concurrent.ConcurrentDictionary<System.String, LibreMetaverse.MuteEntry> LibreMetaverse.AgentManager.MuteList`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.AgentManager.SignaledAnimations`.
///
/// C# signature: `System.Collections.Concurrent.ConcurrentDictionary<LibreMetaverse.UUID, System.Int32> LibreMetaverse.AgentManager.SignaledAnimations`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
impl AgentManager {
    /// C# member: `E:LibreMetaverse.AgentManager.AgentDataReply`.
    ///
    /// C# signature: `System.EventHandler<LibreMetaverse.AgentDataReplyEventArgs> LibreMetaverse.AgentManager.AgentDataReply`.
    /// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
    pub fn subscribe_agent_data_reply(
        &self,
        handler: libremetaverse_types::compat::EventHandler<
            libremetaverse::AgentDataReplyEventArgs,
        >,
    ) -> libremetaverse_types::compat::Subscription {
        /* reviewed native compatibility body */
        self.native_subscribe_agent_data_reply(handler)
    }
    /// C# member: `E:LibreMetaverse.AgentManager.AgentExperiencesUpdated`.
    ///
    /// C# signature: `System.EventHandler<LibreMetaverse.AgentExperiencesEventArgs> LibreMetaverse.AgentManager.AgentExperiencesUpdated`.
    /// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
    pub fn subscribe_agent_experiences_updated(
        &self,
        handler: libremetaverse_types::compat::EventHandler<
            libremetaverse::AgentExperiencesEventArgs,
        >,
    ) -> libremetaverse_types::compat::Subscription {
        /* reviewed native compatibility body */
        self.native_subscribe_agent_experiences_updated(handler)
    }
    /// C# member: `E:LibreMetaverse.AgentManager.AgentPreferencesUpdated`.
    ///
    /// C# signature: `System.EventHandler<LibreMetaverse.AgentPreferencesEventArgs> LibreMetaverse.AgentManager.AgentPreferencesUpdated`.
    /// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
    pub fn subscribe_agent_preferences_updated(
        &self,
        handler: libremetaverse_types::compat::EventHandler<
            libremetaverse::AgentPreferencesEventArgs,
        >,
    ) -> libremetaverse_types::compat::Subscription {
        /* reviewed native compatibility body */
        self.native_subscribe_agent_preferences_updated(handler)
    }
    /// C# member: `E:LibreMetaverse.AgentManager.AlertMessage`.
    ///
    /// C# signature: `System.EventHandler<LibreMetaverse.AlertMessageEventArgs> LibreMetaverse.AgentManager.AlertMessage`.
    /// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
    pub fn subscribe_alert_message(
        &self,
        handler: libremetaverse_types::compat::EventHandler<libremetaverse::AlertMessageEventArgs>,
    ) -> libremetaverse_types::compat::Subscription {
        /* reviewed native compatibility body */
        self.native_subscribe_alert_message(handler)
    }
    /// C# member: `E:LibreMetaverse.AgentManager.AnimationsChanged`.
    ///
    /// C# signature: `System.EventHandler<LibreMetaverse.AnimationsChangedEventArgs> LibreMetaverse.AgentManager.AnimationsChanged`.
    /// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
    pub fn subscribe_animations_changed(
        &self,
        handler: libremetaverse_types::compat::EventHandler<
            libremetaverse::AnimationsChangedEventArgs,
        >,
    ) -> libremetaverse_types::compat::Subscription {
        /* reviewed native compatibility body */
        self.native_subscribe_animations_changed(handler)
    }
    /// C# member: `E:LibreMetaverse.AgentManager.AvatarRenderInfoUpdated`.
    ///
    /// C# signature: `System.EventHandler<LibreMetaverse.AvatarRenderInfoEventArgs> LibreMetaverse.AgentManager.AvatarRenderInfoUpdated`.
    /// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
    pub fn subscribe_avatar_render_info_updated(
        &self,
        handler: libremetaverse_types::compat::EventHandler<
            libremetaverse::AvatarRenderInfoEventArgs,
        >,
    ) -> libremetaverse_types::compat::Subscription {
        /* reviewed native compatibility body */
        self.native_subscribe_avatar_render_info_updated(handler)
    }
    /// C# member: `E:LibreMetaverse.AgentManager.AvatarSitResponse`.
    ///
    /// C# signature: `System.EventHandler<LibreMetaverse.AvatarSitResponseEventArgs> LibreMetaverse.AgentManager.AvatarSitResponse`.
    /// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
    pub fn subscribe_avatar_sit_response(
        &self,
        handler: libremetaverse_types::compat::EventHandler<
            libremetaverse::AvatarSitResponseEventArgs,
        >,
    ) -> libremetaverse_types::compat::Subscription {
        /* reviewed native compatibility body */
        self.native_subscribe_avatar_sit_response(handler)
    }
    /// C# member: `E:LibreMetaverse.AgentManager.CameraConstraint`.
    ///
    /// C# signature: `System.EventHandler<LibreMetaverse.CameraConstraintEventArgs> LibreMetaverse.AgentManager.CameraConstraint`.
    /// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
    pub fn subscribe_camera_constraint(
        &self,
        handler: libremetaverse_types::compat::EventHandler<
            libremetaverse::CameraConstraintEventArgs,
        >,
    ) -> libremetaverse_types::compat::Subscription {
        /* reviewed native compatibility body */
        self.native_subscribe_camera_constraint(handler)
    }
    /// C# member: `E:LibreMetaverse.AgentManager.ChatFromSimulator`.
    ///
    /// C# signature: `System.EventHandler<LibreMetaverse.ChatEventArgs> LibreMetaverse.AgentManager.ChatFromSimulator`.
    /// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
    pub fn subscribe_chat_from_simulator(
        &self,
        handler: libremetaverse_types::compat::EventHandler<libremetaverse::ChatEventArgs>,
    ) -> libremetaverse_types::compat::Subscription {
        /* reviewed native compatibility body */
        self.native_subscribe_chat_from_simulator(handler)
    }
    /// C# member: `E:LibreMetaverse.AgentManager.ChatSessionMemberAdded`.
    ///
    /// C# signature: `System.EventHandler<LibreMetaverse.ChatSessionMemberAddedEventArgs> LibreMetaverse.AgentManager.ChatSessionMemberAdded`.
    /// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
    pub fn subscribe_chat_session_member_added(
        &self,
        handler: libremetaverse_types::compat::EventHandler<
            libremetaverse::ChatSessionMemberAddedEventArgs,
        >,
    ) -> libremetaverse_types::compat::Subscription {
        /* reviewed native compatibility body */
        self.native_subscribe_chat_session_member_added(handler)
    }
    /// C# member: `E:LibreMetaverse.AgentManager.ChatSessionMemberLeft`.
    ///
    /// C# signature: `System.EventHandler<LibreMetaverse.ChatSessionMemberLeftEventArgs> LibreMetaverse.AgentManager.ChatSessionMemberLeft`.
    /// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
    pub fn subscribe_chat_session_member_left(
        &self,
        handler: libremetaverse_types::compat::EventHandler<
            libremetaverse::ChatSessionMemberLeftEventArgs,
        >,
    ) -> libremetaverse_types::compat::Subscription {
        /* reviewed native compatibility body */
        self.native_subscribe_chat_session_member_left(handler)
    }
    /// C# member: `E:LibreMetaverse.AgentManager.ExperienceInfoReceived`.
    ///
    /// C# signature: `System.EventHandler<LibreMetaverse.ExperienceInfoEventArgs> LibreMetaverse.AgentManager.ExperienceInfoReceived`.
    /// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
    pub fn subscribe_experience_info_received(
        &self,
        handler: libremetaverse_types::compat::EventHandler<
            libremetaverse::ExperienceInfoEventArgs,
        >,
    ) -> libremetaverse_types::compat::Subscription {
        /* reviewed native compatibility body */
        self.native_subscribe_experience_info_received(handler)
    }
    /// C# member: `E:LibreMetaverse.AgentManager.ExperiencePreferencesUpdated`.
    ///
    /// C# signature: `System.EventHandler<LibreMetaverse.ExperiencePreferencesEventArgs> LibreMetaverse.AgentManager.ExperiencePreferencesUpdated`.
    /// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
    pub fn subscribe_experience_preferences_updated(
        &self,
        handler: libremetaverse_types::compat::EventHandler<
            libremetaverse::ExperiencePreferencesEventArgs,
        >,
    ) -> libremetaverse_types::compat::Subscription {
        /* reviewed native compatibility body */
        self.native_subscribe_experience_preferences_updated(handler)
    }
    /// C# member: `E:LibreMetaverse.AgentManager.GroupChatJoined`.
    ///
    /// C# signature: `System.EventHandler<LibreMetaverse.GroupChatJoinedEventArgs> LibreMetaverse.AgentManager.GroupChatJoined`.
    /// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
    pub fn subscribe_group_chat_joined(
        &self,
        handler: libremetaverse_types::compat::EventHandler<
            libremetaverse::GroupChatJoinedEventArgs,
        >,
    ) -> libremetaverse_types::compat::Subscription {
        /* reviewed native compatibility body */
        self.native_subscribe_group_chat_joined(handler)
    }
    /// C# member: `E:LibreMetaverse.AgentManager.IM`.
    ///
    /// C# signature: `System.EventHandler<LibreMetaverse.InstantMessageEventArgs> LibreMetaverse.AgentManager.IM`.
    /// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
    pub fn subscribe_im(
        &self,
        handler: libremetaverse_types::compat::EventHandler<
            libremetaverse::InstantMessageEventArgs,
        >,
    ) -> libremetaverse_types::compat::Subscription {
        /* reviewed native compatibility body */
        self.native_subscribe_im(handler)
    }
    /// C# member: `E:LibreMetaverse.AgentManager.LoadURL`.
    ///
    /// C# signature: `System.EventHandler<LibreMetaverse.LoadUrlEventArgs> LibreMetaverse.AgentManager.LoadURL`.
    /// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
    pub fn subscribe_load_url(
        &self,
        handler: libremetaverse_types::compat::EventHandler<libremetaverse::LoadUrlEventArgs>,
    ) -> libremetaverse_types::compat::Subscription {
        /* reviewed native compatibility body */
        self.native_subscribe_load_url(handler)
    }
    /// C# member: `E:LibreMetaverse.AgentManager.MeanCollision`.
    ///
    /// C# signature: `System.EventHandler<LibreMetaverse.MeanCollisionEventArgs> LibreMetaverse.AgentManager.MeanCollision`.
    /// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
    pub fn subscribe_mean_collision(
        &self,
        handler: libremetaverse_types::compat::EventHandler<libremetaverse::MeanCollisionEventArgs>,
    ) -> libremetaverse_types::compat::Subscription {
        /* reviewed native compatibility body */
        self.native_subscribe_mean_collision(handler)
    }
    /// C# member: `E:LibreMetaverse.AgentManager.MoneyBalance`.
    ///
    /// C# signature: `System.EventHandler<LibreMetaverse.BalanceEventArgs> LibreMetaverse.AgentManager.MoneyBalance`.
    /// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
    pub fn subscribe_money_balance(
        &self,
        handler: libremetaverse_types::compat::EventHandler<libremetaverse::BalanceEventArgs>,
    ) -> libremetaverse_types::compat::Subscription {
        /* reviewed native compatibility body */
        self.native_subscribe_money_balance(handler)
    }
    /// C# member: `E:LibreMetaverse.AgentManager.MoneyBalanceReply`.
    ///
    /// C# signature: `System.EventHandler<LibreMetaverse.MoneyBalanceReplyEventArgs> LibreMetaverse.AgentManager.MoneyBalanceReply`.
    /// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
    pub fn subscribe_money_balance_reply(
        &self,
        handler: libremetaverse_types::compat::EventHandler<
            libremetaverse::MoneyBalanceReplyEventArgs,
        >,
    ) -> libremetaverse_types::compat::Subscription {
        /* reviewed native compatibility body */
        self.native_subscribe_money_balance_reply(handler)
    }
    /// C# member: `E:LibreMetaverse.AgentManager.MuteListUpdated`.
    ///
    /// C# signature: `System.EventHandler<System.EventArgs> LibreMetaverse.AgentManager.MuteListUpdated`.
    /// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
    pub fn subscribe_mute_list_updated(
        &self,
        handler: libremetaverse_types::compat::EventHandler<()>,
    ) -> libremetaverse_types::compat::Subscription {
        /* reviewed native compatibility body */
        self.native_subscribe_mute_list_updated(handler)
    }
    /// C# member: `E:LibreMetaverse.AgentManager.NavMeshStatusUpdate`.
    ///
    /// C# signature: `System.EventHandler<LibreMetaverse.NavMeshStatusUpdateEventArgs> LibreMetaverse.AgentManager.NavMeshStatusUpdate`.
    /// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
    pub fn subscribe_nav_mesh_status_update(
        &self,
        handler: libremetaverse_types::compat::EventHandler<
            libremetaverse::NavMeshStatusUpdateEventArgs,
        >,
    ) -> libremetaverse_types::compat::Subscription {
        /* reviewed native compatibility body */
        self.native_subscribe_nav_mesh_status_update(handler)
    }
    /// C# member: `E:LibreMetaverse.AgentManager.ProductInfoUpdated`.
    ///
    /// C# signature: `System.EventHandler<LibreMetaverse.ProductInfoEventArgs> LibreMetaverse.AgentManager.ProductInfoUpdated`.
    /// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
    pub fn subscribe_product_info_updated(
        &self,
        handler: libremetaverse_types::compat::EventHandler<libremetaverse::ProductInfoEventArgs>,
    ) -> libremetaverse_types::compat::Subscription {
        /* reviewed native compatibility body */
        self.native_subscribe_product_info_updated(handler)
    }
    /// C# member: `E:LibreMetaverse.AgentManager.RegionCrossed`.
    ///
    /// C# signature: `System.EventHandler<LibreMetaverse.RegionCrossedEventArgs> LibreMetaverse.AgentManager.RegionCrossed`.
    /// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
    pub fn subscribe_region_crossed(
        &self,
        handler: libremetaverse_types::compat::EventHandler<libremetaverse::RegionCrossedEventArgs>,
    ) -> libremetaverse_types::compat::Subscription {
        /* reviewed native compatibility body */
        self.native_subscribe_region_crossed(handler)
    }
    /// C# member: `E:LibreMetaverse.AgentManager.RegionCrossingPredicted`.
    ///
    /// C# signature: `System.EventHandler<LibreMetaverse.RegionCrossingPredictionEventArgs> LibreMetaverse.AgentManager.RegionCrossingPredicted`.
    /// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
    pub fn subscribe_region_crossing_predicted(
        &self,
        handler: libremetaverse_types::compat::EventHandler<
            libremetaverse::RegionCrossingPredictionEventArgs,
        >,
    ) -> libremetaverse_types::compat::Subscription {
        /* reviewed native compatibility body */
        self.native_subscribe_region_crossing_predicted(handler)
    }
    /// C# member: `E:LibreMetaverse.AgentManager.RegionExperiencesUpdated`.
    ///
    /// C# signature: `System.EventHandler<LibreMetaverse.RegionExperiencesEventArgs> LibreMetaverse.AgentManager.RegionExperiencesUpdated`.
    /// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
    pub fn subscribe_region_experiences_updated(
        &self,
        handler: libremetaverse_types::compat::EventHandler<
            libremetaverse::RegionExperiencesEventArgs,
        >,
    ) -> libremetaverse_types::compat::Subscription {
        /* reviewed native compatibility body */
        self.native_subscribe_region_experiences_updated(handler)
    }
    /// C# member: `E:LibreMetaverse.AgentManager.ScriptControlChange`.
    ///
    /// C# signature: `System.EventHandler<LibreMetaverse.ScriptControlEventArgs> LibreMetaverse.AgentManager.ScriptControlChange`.
    /// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
    pub fn subscribe_script_control_change(
        &self,
        handler: libremetaverse_types::compat::EventHandler<libremetaverse::ScriptControlEventArgs>,
    ) -> libremetaverse_types::compat::Subscription {
        /* reviewed native compatibility body */
        self.native_subscribe_script_control_change(handler)
    }
    /// C# member: `E:LibreMetaverse.AgentManager.ScriptDialog`.
    ///
    /// C# signature: `System.EventHandler<LibreMetaverse.ScriptDialogEventArgs> LibreMetaverse.AgentManager.ScriptDialog`.
    /// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
    pub fn subscribe_script_dialog(
        &self,
        handler: libremetaverse_types::compat::EventHandler<libremetaverse::ScriptDialogEventArgs>,
    ) -> libremetaverse_types::compat::Subscription {
        /* reviewed native compatibility body */
        self.native_subscribe_script_dialog(handler)
    }
    /// C# member: `E:LibreMetaverse.AgentManager.ScriptQuestion`.
    ///
    /// C# signature: `System.EventHandler<LibreMetaverse.ScriptQuestionEventArgs> LibreMetaverse.AgentManager.ScriptQuestion`.
    /// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
    pub fn subscribe_script_question(
        &self,
        handler: libremetaverse_types::compat::EventHandler<
            libremetaverse::ScriptQuestionEventArgs,
        >,
    ) -> libremetaverse_types::compat::Subscription {
        /* reviewed native compatibility body */
        self.native_subscribe_script_question(handler)
    }
    /// C# member: `E:LibreMetaverse.AgentManager.ScriptSensorReply`.
    ///
    /// C# signature: `System.EventHandler<LibreMetaverse.ScriptSensorReplyEventArgs> LibreMetaverse.AgentManager.ScriptSensorReply`.
    /// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
    pub fn subscribe_script_sensor_reply(
        &self,
        handler: libremetaverse_types::compat::EventHandler<
            libremetaverse::ScriptSensorReplyEventArgs,
        >,
    ) -> libremetaverse_types::compat::Subscription {
        /* reviewed native compatibility body */
        self.native_subscribe_script_sensor_reply(handler)
    }
    /// C# member: `E:LibreMetaverse.AgentManager.SetDisplayNameReply`.
    ///
    /// C# signature: `System.EventHandler<LibreMetaverse.SetDisplayNameReplyEventArgs> LibreMetaverse.AgentManager.SetDisplayNameReply`.
    /// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
    pub fn subscribe_set_display_name_reply(
        &self,
        handler: libremetaverse_types::compat::EventHandler<
            libremetaverse::SetDisplayNameReplyEventArgs,
        >,
    ) -> libremetaverse_types::compat::Subscription {
        /* reviewed native compatibility body */
        self.native_subscribe_set_display_name_reply(handler)
    }
    /// C# member: `E:LibreMetaverse.AgentManager.TeleportProgress`.
    ///
    /// C# signature: `System.EventHandler<LibreMetaverse.TeleportEventArgs> LibreMetaverse.AgentManager.TeleportProgress`.
    /// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
    pub fn subscribe_teleport_progress(
        &self,
        handler: libremetaverse_types::compat::EventHandler<libremetaverse::TeleportEventArgs>,
    ) -> libremetaverse_types::compat::Subscription {
        /* reviewed native compatibility body */
        self.native_subscribe_teleport_progress(handler)
    }
    /// C# member: `E:LibreMetaverse.AgentManager.ViewerBenefitsUpdated`.
    ///
    /// C# signature: `System.EventHandler<LibreMetaverse.ViewerBenefitsEventArgs> LibreMetaverse.AgentManager.ViewerBenefitsUpdated`.
    /// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
    pub fn subscribe_viewer_benefits_updated(
        &self,
        handler: libremetaverse_types::compat::EventHandler<
            libremetaverse::ViewerBenefitsEventArgs,
        >,
    ) -> libremetaverse_types::compat::Subscription {
        /* reviewed native compatibility body */
        self.native_subscribe_viewer_benefits_updated(handler)
    }
    /// C# member: `F:LibreMetaverse.AgentManager.MaxChatMessageSize`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.AgentManager.MaxChatMessageSize`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const MAX_CHAT_MESSAGE_SIZE: i32 = 1023;
    /// C# member: `F:LibreMetaverse.AgentManager.MaxScriptDialogLabelSize`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.AgentManager.MaxScriptDialogLabelSize`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const MAX_SCRIPT_DIALOG_LABEL_SIZE: i32 = 254;
    /// C# member: `F:LibreMetaverse.AgentManager.TOUCH_INVALID_TEXCOORD`.
    ///
    /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.AgentManager.TOUCH_INVALID_TEXCOORD`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn touch_invalid_texcoord() -> libremetaverse_types::Vector3 {
        /* reviewed native compatibility body */
        libremetaverse_types::Vector3 {
            x: -1.0,
            y: -1.0,
            z: 0.0,
        }
    }
    /// C# member: `F:LibreMetaverse.AgentManager.TOUCH_INVALID_VECTOR`.
    ///
    /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.AgentManager.TOUCH_INVALID_VECTOR`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn touch_invalid_vector() -> libremetaverse_types::Vector3 {
        /* reviewed native compatibility body */
        libremetaverse_types::Vector3::zero()
    }
    /// C# member: `M:LibreMetaverse.AgentManager.#ctor(LibreMetaverse.GridClient)`.
    ///
    /// C# signature: `LibreMetaverse.AgentManager(LibreMetaverse.GridClient client)`.
    /// Mapping contract: ownership `optional_shared`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn new(
        client: Option<std::sync::Arc<libremetaverse::GridClient>>,
    ) -> Result<Self, crate::Error> {
        /* reviewed native compatibility body */
        crate::agent_manager::AgentManager::native_new(client)
    }
    /// C# member: `M:LibreMetaverse.AgentManager.ActivateGesture(LibreMetaverse.UUID,LibreMetaverse.UUID)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AgentManager.ActivateGesture(LibreMetaverse.UUID invID, LibreMetaverse.UUID assetID)`.
    /// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn activate_gesture(
        &self,
        inv_id: libremetaverse_types::UUID,
        asset_id: libremetaverse_types::UUID,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_activate_gesture(inv_id, asset_id)
    }
    /// C# member: `M:LibreMetaverse.AgentManager.Animate(System.Collections.Generic.Dictionary{LibreMetaverse.UUID,System.Boolean},System.Boolean)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AgentManager.Animate(System.Collections.Generic.Dictionary<LibreMetaverse.UUID, System.Boolean> animations, System.Boolean reliable)`.
    /// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn animate(
        &self,
        animations: std::collections::HashMap<libremetaverse_types::UUID, bool>,
        reliable: bool,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_animate(animations, reliable)
    }
    /// C# member: `M:LibreMetaverse.AgentManager.AnimationStart(LibreMetaverse.UUID,System.Boolean)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AgentManager.AnimationStart(LibreMetaverse.UUID animation, System.Boolean reliable)`.
    /// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn animation_start(
        &self,
        animation: libremetaverse_types::UUID,
        reliable: bool,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_animation_start(animation, reliable)
    }
    /// C# member: `M:LibreMetaverse.AgentManager.AnimationStop(LibreMetaverse.UUID,System.Boolean)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AgentManager.AnimationStop(LibreMetaverse.UUID animation, System.Boolean reliable)`.
    /// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn animation_stop(
        &self,
        animation: libremetaverse_types::UUID,
        reliable: bool,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_animation_stop(animation, reliable)
    }
    /// C# member: `M:LibreMetaverse.AgentManager.AutoPilot(System.Double,System.Double,System.Double)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AgentManager.AutoPilot(System.Double globalX, System.Double globalY, System.Double z)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub fn auto_pilot_with_double_double_double(
        &self,
        global_x: f64,
        global_y: f64,
        z: f64,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_autopilot_f64(global_x, global_y, z)
    }
    /// C# member: `M:LibreMetaverse.AgentManager.AutoPilot(System.UInt64,System.UInt64,System.Single)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AgentManager.AutoPilot(System.UInt64 globalX, System.UInt64 globalY, System.Single z)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub fn auto_pilot_with_u_int64_u_int64_single(
        &self,
        global_x: u64,
        global_y: u64,
        z: f32,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_autopilot_u64(global_x, global_y, z)
    }
    /// C# member: `M:LibreMetaverse.AgentManager.AutoPilotCancel`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.AgentManager.AutoPilotCancel()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn auto_pilot_cancel(&self) -> Result<bool, crate::Error> {
        /* reviewed native compatibility body */
        self.native_autopilot_cancel()
    }
    /// C# member: `M:LibreMetaverse.AgentManager.AutoPilotLocal(System.Int32,System.Int32,System.Single)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AgentManager.AutoPilotLocal(System.Int32 localX, System.Int32 localY, System.Single z)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn auto_pilot_local(&self, local_x: i32, local_y: i32, z: f32) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_autopilot_local(local_x, local_y, z)
    }
    /// C# member: `M:LibreMetaverse.AgentManager.BeamEffect(LibreMetaverse.UUID,LibreMetaverse.UUID,LibreMetaverse.Vector3d,LibreMetaverse.Color4,System.Single,LibreMetaverse.UUID)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AgentManager.BeamEffect(LibreMetaverse.UUID sourceAvatar, LibreMetaverse.UUID targetObject, LibreMetaverse.Vector3d globalOffset, LibreMetaverse.Color4 color, System.Single duration, LibreMetaverse.UUID effectID)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn beam_effect(
        &self,
        source_avatar: libremetaverse_types::UUID,
        target_object: libremetaverse_types::UUID,
        global_offset: libremetaverse_types::Vector3d,
        color: libremetaverse_types::Color4,
        duration: f32,
        effect_id: libremetaverse_types::UUID,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_viewer_effect(
            source_avatar,
            target_object,
            global_offset,
            color,
            duration,
            effect_id,
            crate::EffectType::Beam,
            None,
        )
    }
    /// C# member: `M:LibreMetaverse.AgentManager.CancelCrossing`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AgentManager.CancelCrossing()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn cancel_crossing(&self) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        Ok(self.native_cancel_crossing())
    }
    /// C# member: `M:LibreMetaverse.AgentManager.Chat(System.String,System.Int32,LibreMetaverse.ChatType,System.Boolean)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AgentManager.Chat(System.String message, System.Int32 channel, LibreMetaverse.ChatType type, System.Boolean splitLargeMessages = default)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,optional_owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn chat(
        &self,
        message: String,
        channel: i32,
        type_: libremetaverse::ChatType,
        split_large_messages: Option<bool>,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_chat(message, channel, type_, split_large_messages)
    }
    /// C# member: `M:LibreMetaverse.AgentManager.ChatterBoxAcceptInviteAsync(LibreMetaverse.UUID,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task LibreMetaverse.AgentManager.ChatterBoxAcceptInviteAsync(LibreMetaverse.UUID session_id, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn chatter_box_accept_invite(
        &self,
        session_id: libremetaverse_types::UUID,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_chatter_box_accept_invite(session_id, cancellation_token)
            .await
    }
    /// C# member: `M:LibreMetaverse.AgentManager.CompleteAgentMovement(LibreMetaverse.Simulator)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AgentManager.CompleteAgentMovement(LibreMetaverse.Simulator simulator)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn complete_agent_movement(
        &self,
        simulator: libremetaverse::Simulator,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_complete_agent_movement(simulator)
    }
    /// C# member: `M:LibreMetaverse.AgentManager.Crouch(System.Boolean)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AgentManager.Crouch(System.Boolean crouching)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn crouch(&self, crouching: bool) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_crouch(crouching)
    }
    /// C# member: `M:LibreMetaverse.AgentManager.DeGrab(System.UInt32)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AgentManager.DeGrab(System.UInt32 objectLocalID)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub fn de_grab_with_u_int32(&self, object_local_id: u32) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_de_grab(
            object_local_id,
            libremetaverse_types::Vector3 {
                x: -1.0,
                y: -1.0,
                z: 0.0,
            },
            libremetaverse_types::Vector3 {
                x: -1.0,
                y: -1.0,
                z: 0.0,
            },
            0,
            libremetaverse_types::Vector3::zero(),
            libremetaverse_types::Vector3::zero(),
            libremetaverse_types::Vector3::zero(),
        )
    }
    /// C# member: `M:LibreMetaverse.AgentManager.DeGrab(System.UInt32,LibreMetaverse.Vector3,LibreMetaverse.Vector3,System.Int32,LibreMetaverse.Vector3,LibreMetaverse.Vector3,LibreMetaverse.Vector3)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AgentManager.DeGrab(System.UInt32 objectLocalID, LibreMetaverse.Vector3 uvCoord, LibreMetaverse.Vector3 stCoord, System.Int32 faceIndex, LibreMetaverse.Vector3 position, LibreMetaverse.Vector3 normal, LibreMetaverse.Vector3 binormal)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,owned,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub fn de_grab_with_u_int32_vector3_vector3_int32_vector3_vector3_vector3(
        &self,
        object_local_id: u32,
        uv_coord: libremetaverse_types::Vector3,
        st_coord: libremetaverse_types::Vector3,
        face_index: i32,
        position: libremetaverse_types::Vector3,
        normal: libremetaverse_types::Vector3,
        binormal: libremetaverse_types::Vector3,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_de_grab(
            object_local_id,
            uv_coord,
            st_coord,
            face_index,
            position,
            normal,
            binormal,
        )
    }
    /// C# member: `M:LibreMetaverse.AgentManager.DeactivateGesture(LibreMetaverse.UUID)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AgentManager.DeactivateGesture(LibreMetaverse.UUID invID)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn deactivate_gesture(
        &self,
        inv_id: libremetaverse_types::UUID,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_deactivate_gesture(inv_id)
    }
    /// C# member: `M:LibreMetaverse.AgentManager.DeleteClassified(LibreMetaverse.UUID)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AgentManager.DeleteClassified(LibreMetaverse.UUID classifiedID)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn delete_classified(
        &self,
        classified_id: libremetaverse_types::UUID,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_delete_classified(classified_id)
    }
    /// C# member: `M:LibreMetaverse.AgentManager.Dispose`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AgentManager.Dispose()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn dispose(&self) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_dispose()
    }
    /// C# member: `M:LibreMetaverse.AgentManager.FindExperienceByNameAsync(System.String,System.Int32,System.Int32,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<LibreMetaverse.Messages.Linden.ExperienceInfoMessage> LibreMetaverse.AgentManager.FindExperienceByNameAsync(System.String query, System.Int32 page = default, System.Int32 pageSize = default, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,optional_owned,optional_owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn find_experience_by_name(
        &self,
        query: String,
        page: Option<i32>,
        page_size: Option<i32>,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<Option<libremetaverse::messages::linden::ExperienceInfoMessage>, crate::Error> {
        /* reviewed native compatibility body */
        self.native_find_experience_by_name(query, page, page_size, cancellation_token)
            .await
    }
    /// C# member: `M:LibreMetaverse.AgentManager.Fly(System.Boolean)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AgentManager.Fly(System.Boolean start)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn fly(&self, start: bool) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_fly(start)
    }
    /// C# member: `M:LibreMetaverse.AgentManager.ForgetExperiencePermissionAsync(LibreMetaverse.UUID,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<System.Boolean> LibreMetaverse.AgentManager.ForgetExperiencePermissionAsync(LibreMetaverse.UUID experienceId, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn forget_experience_permission(
        &self,
        experience_id: libremetaverse_types::UUID,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<bool, crate::Error> {
        /* reviewed native compatibility body */
        self.native_forget_experience_permission(experience_id, cancellation_token)
            .await
    }
    /// C# member: `M:LibreMetaverse.AgentManager.GetAdminExperiencesAsync(System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<LibreMetaverse.Messages.Linden.ExperienceListMessage> LibreMetaverse.AgentManager.GetAdminExperiencesAsync(System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn get_admin_experiences(
        &self,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<Option<libremetaverse::messages::linden::ExperienceListMessage>, crate::Error> {
        /* reviewed native compatibility body */
        self.native_get_admin_experiences(cancellation_token).await
    }
    /// C# member: `M:LibreMetaverse.AgentManager.GetAgentExperiencePermissionsAsync(System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<LibreMetaverse.Messages.Linden.ExperiencePreferencesMessage> LibreMetaverse.AgentManager.GetAgentExperiencePermissionsAsync(System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn get_agent_experience_permissions(
        &self,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<Option<libremetaverse::messages::linden::ExperiencePreferencesMessage>, crate::Error>
    {
        /* reviewed native compatibility body */
        self.native_get_agent_experience_permissions(cancellation_token)
            .await
    }
    /// C# member: `M:LibreMetaverse.AgentManager.GetAgentExperiencesAsync(System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<LibreMetaverse.Messages.Linden.ExperienceListMessage> LibreMetaverse.AgentManager.GetAgentExperiencesAsync(System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn get_agent_experiences(
        &self,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<Option<libremetaverse::messages::linden::ExperienceListMessage>, crate::Error> {
        /* reviewed native compatibility body */
        self.native_get_agent_experiences(cancellation_token).await
    }
    /// C# member: `M:LibreMetaverse.AgentManager.GetAgentPreferencesAsync(System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<LibreMetaverse.Messages.Linden.AgentPreferencesMessage> LibreMetaverse.AgentManager.GetAgentPreferencesAsync(System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn get_agent_preferences(
        &self,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<Option<libremetaverse::messages::linden::AgentPreferencesMessage>, crate::Error>
    {
        /* reviewed native compatibility body */
        self.native_get_agent_preferences(cancellation_token).await
    }
    /// C# member: `M:LibreMetaverse.AgentManager.GetAttachmentResourcesAsync(System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<System.ValueTuple<System.Boolean, LibreMetaverse.Messages.Linden.AttachmentResourcesMessage>> LibreMetaverse.AgentManager.GetAttachmentResourcesAsync(System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn get_attachment_resources(
        &self,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<
        (
            bool,
            Option<libremetaverse::messages::linden::AttachmentResourcesMessage>,
        ),
        crate::Error,
    > {
        /* reviewed native compatibility body */
        self.native_get_attachment_resources(cancellation_token)
            .await
    }
    /// C# member: `M:LibreMetaverse.AgentManager.GetAvatarRenderInfoAsync(System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<LibreMetaverse.Messages.Linden.AvatarRenderInfoMessage> LibreMetaverse.AgentManager.GetAvatarRenderInfoAsync(System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn get_avatar_render_info(
        &self,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<Option<libremetaverse::messages::linden::AvatarRenderInfoMessage>, crate::Error>
    {
        /* reviewed native compatibility body */
        self.native_get_avatar_render_info(cancellation_token).await
    }
    /// C# member: `M:LibreMetaverse.AgentManager.GetCreatorExperiencesAsync(System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<LibreMetaverse.Messages.Linden.ExperienceListMessage> LibreMetaverse.AgentManager.GetCreatorExperiencesAsync(System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn get_creator_experiences(
        &self,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<Option<libremetaverse::messages::linden::ExperienceListMessage>, crate::Error> {
        /* reviewed native compatibility body */
        self.native_get_creator_experiences(cancellation_token)
            .await
    }
    /// C# member: `M:LibreMetaverse.AgentManager.GetCrossingDetails`.
    ///
    /// C# signature: `System.String LibreMetaverse.AgentManager.GetCrossingDetails()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn get_crossing_details(&self) -> Result<String, crate::Error> {
        /* reviewed native compatibility body */
        Ok(self.native_crossing_details())
    }
    /// C# member: `M:LibreMetaverse.AgentManager.GetCrossingFailureReason`.
    ///
    /// C# signature: `LibreMetaverse.AgentManager.CrossingFailureReason LibreMetaverse.AgentManager.GetCrossingFailureReason()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn get_crossing_failure_reason(
        &self,
    ) -> Result<libremetaverse::AgentManagerCrossingFailureReason, crate::Error> {
        /* reviewed native compatibility body */
        Ok(self.native_crossing_failure_reason())
    }
    /// C# member: `M:LibreMetaverse.AgentManager.GetCrossingState`.
    ///
    /// C# signature: `LibreMetaverse.AgentManager.CrossingState LibreMetaverse.AgentManager.GetCrossingState()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn get_crossing_state(
        &self,
    ) -> Result<libremetaverse::AgentManagerCrossingState, crate::Error> {
        /* reviewed native compatibility body */
        Ok(self.native_crossing_state())
    }
    /// C# member: `M:LibreMetaverse.AgentManager.GetExperienceInfoAsync(System.Collections.Generic.IEnumerable{LibreMetaverse.UUID},System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<LibreMetaverse.Messages.Linden.ExperienceInfoMessage> LibreMetaverse.AgentManager.GetExperienceInfoAsync(System.Collections.Generic.IEnumerable<LibreMetaverse.UUID> experienceIds, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn get_experience_info(
        &self,
        experience_ids: Box<dyn Iterator<Item = libremetaverse_types::UUID>>,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<Option<libremetaverse::messages::linden::ExperienceInfoMessage>, crate::Error> {
        /* reviewed native compatibility body */
        self.native_get_experience_info(experience_ids, cancellation_token)
            .await
    }
    /// C# member: `M:LibreMetaverse.AgentManager.GetExperiencePermissionAsync(LibreMetaverse.UUID,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<System.String> LibreMetaverse.AgentManager.GetExperiencePermissionAsync(LibreMetaverse.UUID experienceId, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn get_experience_permission(
        &self,
        experience_id: libremetaverse_types::UUID,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<Option<String>, crate::Error> {
        /* reviewed native compatibility body */
        self.native_get_experience_permission(experience_id, cancellation_token)
            .await
    }
    /// C# member: `M:LibreMetaverse.AgentManager.GetExperiencePreferencesAsync(System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<LibreMetaverse.Messages.Linden.ExperiencePreferencesMessage> LibreMetaverse.AgentManager.GetExperiencePreferencesAsync(System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn get_experience_preferences(
        &self,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<Option<libremetaverse::messages::linden::ExperiencePreferencesMessage>, crate::Error>
    {
        /* reviewed native compatibility body */
        self.native_get_experience_preferences(cancellation_token)
            .await
    }
    /// C# member: `M:LibreMetaverse.AgentManager.GetGroupExperiencesAsync(LibreMetaverse.UUID,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<LibreMetaverse.Messages.Linden.ExperienceListMessage> LibreMetaverse.AgentManager.GetGroupExperiencesAsync(LibreMetaverse.UUID groupId, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn get_group_experiences(
        &self,
        group_id: libremetaverse_types::UUID,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<Option<libremetaverse::messages::linden::ExperienceListMessage>, crate::Error> {
        /* reviewed native compatibility body */
        self.native_get_group_experiences(group_id, cancellation_token)
            .await
    }
    /// C# member: `M:LibreMetaverse.AgentManager.GetProductInfoAsync(System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<LibreMetaverse.Messages.Linden.ProductInfoRequestMessage> LibreMetaverse.AgentManager.GetProductInfoAsync(System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn get_product_info(
        &self,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<Option<libremetaverse::messages::linden::ProductInfoRequestMessage>, crate::Error>
    {
        /* reviewed native compatibility body */
        self.native_get_product_info(cancellation_token).await
    }
    /// C# member: `M:LibreMetaverse.AgentManager.GetRegionExperiencesAsync(System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<LibreMetaverse.Messages.Linden.RegionExperiencesMessage> LibreMetaverse.AgentManager.GetRegionExperiencesAsync(System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn get_region_experiences(
        &self,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<Option<libremetaverse::messages::linden::RegionExperiencesMessage>, crate::Error>
    {
        /* reviewed native compatibility body */
        self.native_get_region_experiences(cancellation_token).await
    }
    /// C# member: `M:LibreMetaverse.AgentManager.GetSimulatorsForObject(LibreMetaverse.UUID)`.
    ///
    /// C# signature: `System.Collections.Generic.List<LibreMetaverse.Simulator> LibreMetaverse.AgentManager.GetSimulatorsForObject(LibreMetaverse.UUID objectID)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn get_simulators_for_object(
        &self,
        object_id: libremetaverse_types::UUID,
    ) -> Result<Vec<libremetaverse::Simulator>, crate::Error> {
        /* reviewed native compatibility body */
        Ok(self.native_get_simulators_for_object(object_id))
    }
    /// C# member: `M:LibreMetaverse.AgentManager.GetViewerBenefitsAsync(System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<LibreMetaverse.Messages.Linden.ViewerBenefitsMessage> LibreMetaverse.AgentManager.GetViewerBenefitsAsync(System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn get_viewer_benefits(
        &self,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<Option<libremetaverse::messages::linden::ViewerBenefitsMessage>, crate::Error> {
        /* reviewed native compatibility body */
        self.native_get_viewer_benefits(cancellation_token).await
    }
    /// C# member: `M:LibreMetaverse.AgentManager.GiveAvatarMoney(LibreMetaverse.UUID,System.Int32)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AgentManager.GiveAvatarMoney(LibreMetaverse.UUID target, System.Int32 amount)`.
    /// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub fn give_avatar_money_with_uuid_int32(
        &self,
        target: libremetaverse_types::UUID,
        amount: i32,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_give_avatar_money(target, amount, String::new())
    }
    /// C# member: `M:LibreMetaverse.AgentManager.GiveAvatarMoney(LibreMetaverse.UUID,System.Int32,System.String)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AgentManager.GiveAvatarMoney(LibreMetaverse.UUID target, System.Int32 amount, System.String description)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub fn give_avatar_money_with_uuid_int32_string(
        &self,
        target: libremetaverse_types::UUID,
        amount: i32,
        description: String,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_give_avatar_money(target, amount, description)
    }
    /// C# member: `M:LibreMetaverse.AgentManager.GiveGroupMoney(LibreMetaverse.UUID,System.Int32)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AgentManager.GiveGroupMoney(LibreMetaverse.UUID target, System.Int32 amount)`.
    /// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub fn give_group_money_with_uuid_int32(
        &self,
        target: libremetaverse_types::UUID,
        amount: i32,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_give_group_money(target, amount, String::new())
    }
    /// C# member: `M:LibreMetaverse.AgentManager.GiveGroupMoney(LibreMetaverse.UUID,System.Int32,System.String)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AgentManager.GiveGroupMoney(LibreMetaverse.UUID target, System.Int32 amount, System.String description)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub fn give_group_money_with_uuid_int32_string(
        &self,
        target: libremetaverse_types::UUID,
        amount: i32,
        description: String,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_give_group_money(target, amount, description)
    }
    /// C# member: `M:LibreMetaverse.AgentManager.GiveMoney(LibreMetaverse.UUID,System.Int32,System.String,LibreMetaverse.MoneyTransactionType,LibreMetaverse.TransactionFlags)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AgentManager.GiveMoney(LibreMetaverse.UUID target, System.Int32 amount, System.String description, LibreMetaverse.MoneyTransactionType type, LibreMetaverse.TransactionFlags flags)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn give_money(
        &self,
        target: libremetaverse_types::UUID,
        amount: i32,
        description: String,
        type_: libremetaverse::MoneyTransactionType,
        flags: libremetaverse::TransactionFlags,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_give_money(target, amount, description, type_, flags)
    }
    /// C# member: `M:LibreMetaverse.AgentManager.GiveObjectMoney(LibreMetaverse.UUID,System.Int32,System.String)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AgentManager.GiveObjectMoney(LibreMetaverse.UUID target, System.Int32 amount, System.String objectName)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn give_object_money(
        &self,
        target: libremetaverse_types::UUID,
        amount: i32,
        object_name: String,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_give_object_money(target, amount, object_name)
    }
    /// C# member: `M:LibreMetaverse.AgentManager.GoHomeAsync(System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<System.Boolean> LibreMetaverse.AgentManager.GoHomeAsync(System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn go_home(
        &self,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<bool, crate::Error> {
        /* reviewed native compatibility body */
        self.native_teleport_landmark(libremetaverse_types::UUID::zero(), cancellation_token)
            .await
    }
    /// C# member: `M:LibreMetaverse.AgentManager.Grab(System.UInt32)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AgentManager.Grab(System.UInt32 objectLocalID)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub fn grab_with_u_int32(&self, object_local_id: u32) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_grab(
            object_local_id,
            libremetaverse_types::Vector3::zero(),
            libremetaverse_types::Vector3 {
                x: -1.0,
                y: -1.0,
                z: 0.0,
            },
            libremetaverse_types::Vector3 {
                x: -1.0,
                y: -1.0,
                z: 0.0,
            },
            0,
            libremetaverse_types::Vector3::zero(),
            libremetaverse_types::Vector3::zero(),
            libremetaverse_types::Vector3::zero(),
        )
    }
    /// C# member: `M:LibreMetaverse.AgentManager.Grab(System.UInt32,LibreMetaverse.Vector3,LibreMetaverse.Vector3,LibreMetaverse.Vector3,System.Int32,LibreMetaverse.Vector3,LibreMetaverse.Vector3,LibreMetaverse.Vector3)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AgentManager.Grab(System.UInt32 objectLocalID, LibreMetaverse.Vector3 grabOffset, LibreMetaverse.Vector3 uvCoord, LibreMetaverse.Vector3 stCoord, System.Int32 faceIndex, LibreMetaverse.Vector3 position, LibreMetaverse.Vector3 normal, LibreMetaverse.Vector3 binormal)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,owned,owned,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub fn grab_with_u_int32_vector3_vector3_vector3_int32_vector3_vector3_vector3(
        &self,
        object_local_id: u32,
        grab_offset: libremetaverse_types::Vector3,
        uv_coord: libremetaverse_types::Vector3,
        st_coord: libremetaverse_types::Vector3,
        face_index: i32,
        position: libremetaverse_types::Vector3,
        normal: libremetaverse_types::Vector3,
        binormal: libremetaverse_types::Vector3,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_grab(
            object_local_id,
            grab_offset,
            uv_coord,
            st_coord,
            face_index,
            position,
            normal,
            binormal,
        )
    }
    /// C# member: `M:LibreMetaverse.AgentManager.GrabUpdate(LibreMetaverse.UUID,LibreMetaverse.Vector3)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AgentManager.GrabUpdate(LibreMetaverse.UUID objectID, LibreMetaverse.Vector3 grabPosition)`.
    /// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub fn grab_update_with_uuid_vector3(
        &self,
        object_id: libremetaverse_types::UUID,
        grab_position: libremetaverse_types::Vector3,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_grab_update(
            object_id,
            grab_position,
            libremetaverse_types::Vector3::zero(),
            libremetaverse_types::Vector3::zero(),
            libremetaverse_types::Vector3::zero(),
            0,
            libremetaverse_types::Vector3::zero(),
            libremetaverse_types::Vector3::zero(),
            libremetaverse_types::Vector3::zero(),
        )
    }
    /// C# member: `M:LibreMetaverse.AgentManager.GrabUpdate(LibreMetaverse.UUID,LibreMetaverse.Vector3,LibreMetaverse.Vector3,LibreMetaverse.Vector3,LibreMetaverse.Vector3,System.Int32,LibreMetaverse.Vector3,LibreMetaverse.Vector3,LibreMetaverse.Vector3)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AgentManager.GrabUpdate(LibreMetaverse.UUID objectID, LibreMetaverse.Vector3 grabPosition, LibreMetaverse.Vector3 grabOffset, LibreMetaverse.Vector3 uvCoord, LibreMetaverse.Vector3 stCoord, System.Int32 faceIndex, LibreMetaverse.Vector3 position, LibreMetaverse.Vector3 normal, LibreMetaverse.Vector3 binormal)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,owned,owned,owned,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub fn grab_update_with_uuid_vector3_vector3_vector3_vector3_int32_vector3_vector3_vector3(
        &self,
        object_id: libremetaverse_types::UUID,
        grab_position: libremetaverse_types::Vector3,
        grab_offset: libremetaverse_types::Vector3,
        uv_coord: libremetaverse_types::Vector3,
        st_coord: libremetaverse_types::Vector3,
        face_index: i32,
        position: libremetaverse_types::Vector3,
        normal: libremetaverse_types::Vector3,
        binormal: libremetaverse_types::Vector3,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_grab_update(
            object_id,
            grab_position,
            grab_offset,
            uv_coord,
            st_coord,
            face_index,
            position,
            normal,
            binormal,
        )
    }
    /// C# member: `M:LibreMetaverse.AgentManager.GroupInviteRespond(LibreMetaverse.UUID,LibreMetaverse.UUID,System.Boolean)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AgentManager.GroupInviteRespond(LibreMetaverse.UUID groupID, LibreMetaverse.UUID imSessionID, System.Boolean accept)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn group_invite_respond(
        &self,
        group_id: libremetaverse_types::UUID,
        im_session_id: libremetaverse_types::UUID,
        accept: bool,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_group_invite_respond(group_id, im_session_id, accept)
    }
    /// C# member: `M:LibreMetaverse.AgentManager.InstantMessage(LibreMetaverse.UUID,System.String)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AgentManager.InstantMessage(LibreMetaverse.UUID target, System.String message)`.
    /// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub fn instant_message_with_uuid_string(
        &self,
        target: libremetaverse_types::UUID,
        message: String,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_instant_message(target, message, None)
    }
    /// C# member: `M:LibreMetaverse.AgentManager.InstantMessage(LibreMetaverse.UUID,System.String,LibreMetaverse.UUID)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AgentManager.InstantMessage(LibreMetaverse.UUID target, System.String message, LibreMetaverse.UUID imSessionID)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub fn instant_message_with_uuid_string_uuid(
        &self,
        target: libremetaverse_types::UUID,
        message: String,
        im_session_id: libremetaverse_types::UUID,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_instant_message(target, message, Some(im_session_id))
    }
    /// C# member: `M:LibreMetaverse.AgentManager.InstantMessage(System.String,LibreMetaverse.UUID,System.String,LibreMetaverse.UUID,LibreMetaverse.InstantMessageDialog,LibreMetaverse.InstantMessageOnline,LibreMetaverse.Vector3,LibreMetaverse.UUID,System.Byte[])`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AgentManager.InstantMessage(System.String fromName, LibreMetaverse.UUID target, System.String message, LibreMetaverse.UUID imSessionID, LibreMetaverse.InstantMessageDialog dialog, LibreMetaverse.InstantMessageOnline offline, LibreMetaverse.Vector3 position, LibreMetaverse.UUID regionID, System.Byte[] binaryBucket)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,owned,owned,owned,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub fn instant_message_with_string_uuid_string_uuid_instant_message_dialog_instant_message_online_vector3_uuid_bytes(
        &self,
        from_name: String,
        target: libremetaverse_types::UUID,
        message: String,
        im_session_id: libremetaverse_types::UUID,
        dialog: libremetaverse::InstantMessageDialog,
        offline: libremetaverse::InstantMessageOnline,
        position: libremetaverse_types::Vector3,
        region_id: libremetaverse_types::UUID,
        binary_bucket: Vec<u8>,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_instant_message_full(
            from_name,
            target,
            message,
            im_session_id,
            dialog,
            offline,
            position,
            region_id,
            binary_bucket,
        )
    }
    /// C# member: `M:LibreMetaverse.AgentManager.InstantMessage(System.String,LibreMetaverse.UUID,System.String,LibreMetaverse.UUID,LibreMetaverse.UUID[])`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AgentManager.InstantMessage(System.String fromName, LibreMetaverse.UUID target, System.String message, LibreMetaverse.UUID imSessionID, LibreMetaverse.UUID[] conferenceIDs)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub fn instant_message_with_string_uuid_string_uuid_uuid_array(
        &self,
        from_name: String,
        target: libremetaverse_types::UUID,
        message: String,
        im_session_id: libremetaverse_types::UUID,
        conference_i_ds: Vec<libremetaverse_types::UUID>,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_instant_message_conference(
            from_name,
            target,
            message,
            im_session_id,
            conference_i_ds,
        )
    }
    /// C# member: `M:LibreMetaverse.AgentManager.InstantMessageGroup(LibreMetaverse.UUID,System.String)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AgentManager.InstantMessageGroup(LibreMetaverse.UUID groupID, System.String message)`.
    /// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub fn instant_message_group_with_uuid_string(
        &self,
        group_id: libremetaverse_types::UUID,
        message: String,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_instant_message_group(None, group_id, message)
    }
    /// C# member: `M:LibreMetaverse.AgentManager.InstantMessageGroup(System.String,LibreMetaverse.UUID,System.String)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AgentManager.InstantMessageGroup(System.String fromName, LibreMetaverse.UUID groupID, System.String message)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub fn instant_message_group_with_string_uuid_string(
        &self,
        from_name: String,
        group_id: libremetaverse_types::UUID,
        message: String,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_instant_message_group(Some(from_name), group_id, message)
    }
    /// C# member: `M:LibreMetaverse.AgentManager.IsCrossing`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.AgentManager.IsCrossing()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn is_crossing(&self) -> Result<bool, crate::Error> {
        /* reviewed native compatibility body */
        Ok(self.native_is_crossing())
    }
    /// C# member: `M:LibreMetaverse.AgentManager.IsExperienceAdminAsync(LibreMetaverse.UUID,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<System.Boolean> LibreMetaverse.AgentManager.IsExperienceAdminAsync(LibreMetaverse.UUID experienceId, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn is_experience_admin(
        &self,
        experience_id: libremetaverse_types::UUID,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<bool, crate::Error> {
        /* reviewed native compatibility body */
        self.native_is_experience_role("IsExperienceAdmin", experience_id, cancellation_token)
            .await
    }
    /// C# member: `M:LibreMetaverse.AgentManager.IsExperienceContributorAsync(LibreMetaverse.UUID,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<System.Boolean> LibreMetaverse.AgentManager.IsExperienceContributorAsync(LibreMetaverse.UUID experienceId, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn is_experience_contributor(
        &self,
        experience_id: libremetaverse_types::UUID,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<bool, crate::Error> {
        /* reviewed native compatibility body */
        self.native_is_experience_role("IsExperienceContributor", experience_id, cancellation_token)
            .await
    }
    /// C# member: `M:LibreMetaverse.AgentManager.IsGroupMessage(LibreMetaverse.InstantMessage)`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.AgentManager.IsGroupMessage(LibreMetaverse.InstantMessage message)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn is_group_message(
        &self,
        message: libremetaverse::InstantMessage,
    ) -> Result<bool, crate::Error> {
        /* reviewed native compatibility body */
        Ok(self.native_is_group_message(message))
    }
    /// C# member: `M:LibreMetaverse.AgentManager.IsNearBorder(LibreMetaverse.Vector3,System.UInt32,System.UInt32,System.Single)`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.AgentManager.IsNearBorder(LibreMetaverse.Vector3 position, System.UInt32 regionSizeX, System.UInt32 regionSizeY, System.Single threshold = default)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,optional_owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn is_near_border(
        &self,
        position: libremetaverse_types::Vector3,
        region_size_x: u32,
        region_size_y: u32,
        threshold: Option<f32>,
    ) -> Result<bool, crate::Error> {
        /* reviewed native compatibility body */
        Ok(self.native_is_near_border(
            position,
            region_size_x,
            region_size_y,
            threshold.unwrap_or(32.0),
        ))
    }
    /// C# member: `M:LibreMetaverse.AgentManager.Jump(System.Boolean)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AgentManager.Jump(System.Boolean jumping)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn jump(&self, jumping: bool) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_jump(jumping)
    }
    /// C# member: `M:LibreMetaverse.AgentManager.LookAtEffect(LibreMetaverse.UUID,LibreMetaverse.UUID,LibreMetaverse.Vector3d,LibreMetaverse.LookAtType,LibreMetaverse.UUID)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AgentManager.LookAtEffect(LibreMetaverse.UUID sourceAvatar, LibreMetaverse.UUID targetObject, LibreMetaverse.Vector3d globalOffset, LibreMetaverse.LookAtType type, LibreMetaverse.UUID effectID)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn look_at_effect(
        &self,
        source_avatar: libremetaverse_types::UUID,
        target_object: libremetaverse_types::UUID,
        global_offset: libremetaverse_types::Vector3d,
        type_: libremetaverse::LookAtType,
        effect_id: libremetaverse_types::UUID,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_look_at_effect(
            source_avatar,
            target_object,
            global_offset,
            type_,
            effect_id,
        )
    }
    /// C# member: `M:LibreMetaverse.AgentManager.ModerateChatSessions(LibreMetaverse.UUID,LibreMetaverse.UUID,System.String,System.Boolean,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AgentManager.ModerateChatSessions(LibreMetaverse.UUID sessionID, LibreMetaverse.UUID memberID, System.String key, System.Boolean moderate, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,owned,optional_owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn moderate_chat_sessions(
        &self,
        session_id: libremetaverse_types::UUID,
        member_id: libremetaverse_types::UUID,
        key: String,
        moderate: bool,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_moderate_chat_sessions(session_id, member_id, key, moderate, cancellation_token)
    }
    /// C# member: `M:LibreMetaverse.AgentManager.PayUploadFee`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AgentManager.PayUploadFee()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub fn pay_upload_fee_with_method(&self) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_pay_upload_fee(None, String::new())
    }
    /// C# member: `M:LibreMetaverse.AgentManager.PayUploadFee(System.Int32)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AgentManager.PayUploadFee(System.Int32 amount)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub fn pay_upload_fee_with_int32(&self, amount: i32) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_pay_upload_fee(Some(amount), String::new())
    }
    /// C# member: `M:LibreMetaverse.AgentManager.PayUploadFee(System.String)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AgentManager.PayUploadFee(System.String description)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub fn pay_upload_fee_with_string(&self, description: String) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_pay_upload_fee(None, description)
    }
    /// C# member: `M:LibreMetaverse.AgentManager.PickDelete(LibreMetaverse.UUID)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AgentManager.PickDelete(LibreMetaverse.UUID pickID)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn pick_delete(&self, pick_id: libremetaverse_types::UUID) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_pick_delete(pick_id)
    }
    /// C# member: `M:LibreMetaverse.AgentManager.PickInfoUpdate(LibreMetaverse.UUID,System.Boolean,LibreMetaverse.UUID,System.String,LibreMetaverse.Vector3d,LibreMetaverse.UUID,System.String)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AgentManager.PickInfoUpdate(LibreMetaverse.UUID pickID, System.Boolean topPick, LibreMetaverse.UUID parcelID, System.String name, LibreMetaverse.Vector3d globalPosition, LibreMetaverse.UUID textureID, System.String description)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,owned,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn pick_info_update(
        &self,
        pick_id: libremetaverse_types::UUID,
        top_pick: bool,
        parcel_id: libremetaverse_types::UUID,
        name: String,
        global_position: libremetaverse_types::Vector3d,
        texture_id: libremetaverse_types::UUID,
        description: String,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_pick_info_update(
            pick_id,
            top_pick,
            parcel_id,
            name,
            global_position,
            texture_id,
            description,
        )
    }
    /// C# member: `M:LibreMetaverse.AgentManager.PlayGestureAsync(LibreMetaverse.UUID,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task LibreMetaverse.AgentManager.PlayGestureAsync(LibreMetaverse.UUID gestureID, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn play_gesture(
        &self,
        gesture_id: libremetaverse_types::UUID,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_play_gesture(gesture_id, cancellation_token)
            .await
    }
    /// C# member: `M:LibreMetaverse.AgentManager.PointAtEffect(LibreMetaverse.UUID,LibreMetaverse.UUID,LibreMetaverse.Vector3d,LibreMetaverse.PointAtType,LibreMetaverse.UUID)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AgentManager.PointAtEffect(LibreMetaverse.UUID sourceAvatar, LibreMetaverse.UUID targetObject, LibreMetaverse.Vector3d globalOffset, LibreMetaverse.PointAtType type, LibreMetaverse.UUID effectID)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn point_at_effect(
        &self,
        source_avatar: libremetaverse_types::UUID,
        target_object: libremetaverse_types::UUID,
        global_offset: libremetaverse_types::Vector3d,
        type_: libremetaverse::PointAtType,
        effect_id: libremetaverse_types::UUID,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_point_at_effect(
            source_avatar,
            target_object,
            global_offset,
            type_,
            effect_id,
        )
    }
    /// C# member: `M:LibreMetaverse.AgentManager.PostAvatarRenderInfoAsync(System.Collections.Generic.IReadOnlyDictionary{LibreMetaverse.UUID,System.ValueTuple{System.Int32,System.Boolean}},System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task LibreMetaverse.AgentManager.PostAvatarRenderInfoAsync(System.Collections.Generic.IReadOnlyDictionary<LibreMetaverse.UUID, System.ValueTuple<System.Int32, System.Boolean>> agents, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub async fn post_avatar_render_info_with_i_read_only_dictionary_cancellation_token(
        &self,
        agents: std::collections::HashMap<libremetaverse_types::UUID, (i32, bool)>,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_post_avatar_render_info(agents, cancellation_token)
            .await
    }
    /// C# member: `M:LibreMetaverse.AgentManager.PostAvatarRenderInfoAsync(System.Int32,System.Boolean,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task LibreMetaverse.AgentManager.PostAvatarRenderInfoAsync(System.Int32 weight, System.Boolean tooComplex, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub async fn post_avatar_render_info_with_int32_boolean_cancellation_token(
        &self,
        weight: i32,
        too_complex: bool,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_post_local_avatar_render_info(weight, too_complex, cancellation_token)
            .await
    }
    /// C# member: `M:LibreMetaverse.AgentManager.QueryExperiencesOnParcelAsync(System.Int32,System.Collections.Generic.IEnumerable{LibreMetaverse.UUID},System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<System.Collections.Generic.Dictionary<LibreMetaverse.UUID, System.Boolean>> LibreMetaverse.AgentManager.QueryExperiencesOnParcelAsync(System.Int32 parcelLocalId, System.Collections.Generic.IEnumerable<LibreMetaverse.UUID> experienceIds, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn query_experiences_on_parcel(
        &self,
        parcel_local_id: i32,
        experience_ids: Box<dyn Iterator<Item = libremetaverse_types::UUID>>,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<Option<std::collections::HashMap<libremetaverse_types::UUID, bool>>, crate::Error>
    {
        /* reviewed native compatibility body */
        self.native_query_experiences_on_parcel(parcel_local_id, experience_ids, cancellation_token)
            .await
    }
    /// C# member: `M:LibreMetaverse.AgentManager.RemoveMuteListEntry(LibreMetaverse.UUID,System.String)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AgentManager.RemoveMuteListEntry(LibreMetaverse.UUID id, System.String name)`.
    /// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn remove_mute_list_entry(
        &self,
        id: libremetaverse_types::UUID,
        name: String,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_remove_mute_list_entry(id, name)
    }
    /// C# member: `M:LibreMetaverse.AgentManager.ReplyToScriptDialog(System.Int32,System.Int32,System.String,LibreMetaverse.UUID)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AgentManager.ReplyToScriptDialog(System.Int32 channel, System.Int32 buttonIndex, System.String buttonLabel, LibreMetaverse.UUID objectID)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn reply_to_script_dialog(
        &self,
        channel: i32,
        button_index: i32,
        button_label: String,
        object_id: libremetaverse_types::UUID,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_reply_to_script_dialog(channel, button_index, button_label, object_id)
    }
    /// C# member: `M:LibreMetaverse.AgentManager.RequestBalance`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AgentManager.RequestBalance()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn request_balance(&self) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_request_balance()
    }
    /// C# member: `M:LibreMetaverse.AgentManager.RequestJoinGroupChat(LibreMetaverse.UUID)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AgentManager.RequestJoinGroupChat(LibreMetaverse.UUID groupID)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn request_join_group_chat(
        &self,
        group_id: libremetaverse_types::UUID,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_join_group_chat(group_id)
    }
    /// C# member: `M:LibreMetaverse.AgentManager.RequestLeaveGroupChat(LibreMetaverse.UUID)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AgentManager.RequestLeaveGroupChat(LibreMetaverse.UUID groupID)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn request_leave_group_chat(
        &self,
        group_id: libremetaverse_types::UUID,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_leave_group_chat(group_id)
    }
    /// C# member: `M:LibreMetaverse.AgentManager.RequestMuteList`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AgentManager.RequestMuteList()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn request_mute_list(&self) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_request_mute_list()
    }
    /// C# member: `M:LibreMetaverse.AgentManager.RequestNavMeshGenerationStatusAsync(System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<LibreMetaverse.Messages.Linden.NavMeshStatusUpdateMessage> LibreMetaverse.AgentManager.RequestNavMeshGenerationStatusAsync(System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn request_nav_mesh_generation_status(
        &self,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<Option<libremetaverse::messages::linden::NavMeshStatusUpdateMessage>, crate::Error>
    {
        /* reviewed native compatibility body */
        self.native_request_nav_mesh_generation_status(cancellation_token)
            .await
    }
    /// C# member: `M:LibreMetaverse.AgentManager.RequestNavMeshRebakeAsync(System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task LibreMetaverse.AgentManager.RequestNavMeshRebakeAsync(System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn request_nav_mesh_rebake(
        &self,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_request_nav_mesh_rebake(cancellation_token)
            .await
    }
    /// C# member: `M:LibreMetaverse.AgentManager.RequestScriptSensor(System.String,LibreMetaverse.UUID,LibreMetaverse.ScriptSensorTypeFlags,System.Single,System.Single,LibreMetaverse.UUID,LibreMetaverse.Simulator)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AgentManager.RequestScriptSensor(System.String name, LibreMetaverse.UUID searchID, LibreMetaverse.ScriptSensorTypeFlags type, System.Single range, System.Single arc, LibreMetaverse.UUID requestID, LibreMetaverse.Simulator sim)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,owned,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn request_script_sensor(
        &self,
        name: String,
        search_id: libremetaverse_types::UUID,
        type_: libremetaverse::ScriptSensorTypeFlags,
        range: f32,
        arc: f32,
        request_id: libremetaverse_types::UUID,
        sim: libremetaverse::Simulator,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_request_script_sensor(name, search_id, type_, range, arc, request_id, sim)
    }
    /// C# member: `M:LibreMetaverse.AgentManager.RequestSit(LibreMetaverse.UUID,LibreMetaverse.Vector3)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AgentManager.RequestSit(LibreMetaverse.UUID targetID, LibreMetaverse.Vector3 offset)`.
    /// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn request_sit(
        &self,
        target_id: libremetaverse_types::UUID,
        offset: libremetaverse_types::Vector3,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_request_sit(target_id, offset)
    }
    /// C# member: `M:LibreMetaverse.AgentManager.RequestTeleport(LibreMetaverse.UUID)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AgentManager.RequestTeleport(LibreMetaverse.UUID landmark)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub fn request_teleport_with_uuid(
        &self,
        landmark: libremetaverse_types::UUID,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_request_teleport_landmark(landmark)
    }
    /// C# member: `M:LibreMetaverse.AgentManager.RequestTeleport(System.UInt64,LibreMetaverse.Vector3)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AgentManager.RequestTeleport(System.UInt64 regionHandle, LibreMetaverse.Vector3 position)`.
    /// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub fn request_teleport_with_u_int64_vector3(
        &self,
        region_handle: u64,
        position: libremetaverse_types::Vector3,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_request_teleport_location(
            region_handle,
            position,
            libremetaverse_types::Vector3::unit_y(),
            Some(false),
        )
    }
    /// C# member: `M:LibreMetaverse.AgentManager.RequestTeleport(System.UInt64,LibreMetaverse.Vector3,LibreMetaverse.Vector3,System.Boolean)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AgentManager.RequestTeleport(System.UInt64 regionHandle, LibreMetaverse.Vector3 position, LibreMetaverse.Vector3 lookAt, System.Boolean ignoreCapsStatus = default)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,optional_owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub fn request_teleport_with_u_int64_vector3_vector3_boolean(
        &self,
        region_handle: u64,
        position: libremetaverse_types::Vector3,
        look_at: libremetaverse_types::Vector3,
        ignore_caps_status: Option<bool>,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_request_teleport_location(region_handle, position, look_at, ignore_caps_status)
    }
    /// C# member: `M:LibreMetaverse.AgentManager.RetrieveInstantMessagesAsync(System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task LibreMetaverse.AgentManager.RetrieveInstantMessagesAsync(System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn retrieve_instant_messages(
        &self,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_retrieve_instant_messages(cancellation_token)
            .await
    }
    /// C# member: `M:LibreMetaverse.AgentManager.ScriptQuestionReply(LibreMetaverse.Simulator,LibreMetaverse.UUID,LibreMetaverse.UUID,LibreMetaverse.ScriptPermission)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AgentManager.ScriptQuestionReply(LibreMetaverse.Simulator simulator, LibreMetaverse.UUID itemID, LibreMetaverse.UUID taskID, LibreMetaverse.ScriptPermission permissions)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn script_question_reply(
        &self,
        simulator: libremetaverse::Simulator,
        item_id: libremetaverse_types::UUID,
        task_id: libremetaverse_types::UUID,
        permissions: libremetaverse::ScriptPermission,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_script_question_reply(simulator, item_id, task_id, permissions)
    }
    /// C# member: `M:LibreMetaverse.AgentManager.SendPostcardAsync(System.Byte[],System.String,System.String,System.String,System.String,LibreMetaverse.Vector3,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<System.Boolean> LibreMetaverse.AgentManager.SendPostcardAsync(System.Byte[] jpegImageData, System.String toEmail, System.String fromName, System.String subject, System.String message, LibreMetaverse.Vector3 globalPosition, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,owned,owned,owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn send_postcard(
        &self,
        jpeg_image_data: Vec<u8>,
        to_email: String,
        from_name: String,
        subject: String,
        message: String,
        global_position: libremetaverse_types::Vector3,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<bool, crate::Error> {
        /* reviewed native compatibility body */
        self.native_send_postcard(
            jpeg_image_data,
            to_email,
            from_name,
            subject,
            message,
            global_position,
            cancellation_token,
        )
        .await
    }
    /// C# member: `M:LibreMetaverse.AgentManager.SendTeleportLure(LibreMetaverse.UUID)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AgentManager.SendTeleportLure(LibreMetaverse.UUID targetID)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub fn send_teleport_lure_with_uuid(
        &self,
        target_id: libremetaverse_types::UUID,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_send_teleport_lure(target_id, None)
    }
    /// C# member: `M:LibreMetaverse.AgentManager.SendTeleportLure(LibreMetaverse.UUID,System.String)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AgentManager.SendTeleportLure(LibreMetaverse.UUID targetID, System.String message)`.
    /// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub fn send_teleport_lure_with_uuid_string(
        &self,
        target_id: libremetaverse_types::UUID,
        message: String,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_send_teleport_lure(target_id, Some(message))
    }
    /// C# member: `M:LibreMetaverse.AgentManager.SendTeleportLureRequest(LibreMetaverse.UUID)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AgentManager.SendTeleportLureRequest(LibreMetaverse.UUID targetID)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub fn send_teleport_lure_request_with_uuid(
        &self,
        target_id: libremetaverse_types::UUID,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_send_teleport_lure_request(
            target_id,
            target_id,
            "Let me join you in your location".into(),
        )
    }
    /// C# member: `M:LibreMetaverse.AgentManager.SendTeleportLureRequest(LibreMetaverse.UUID,LibreMetaverse.UUID,System.String)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AgentManager.SendTeleportLureRequest(LibreMetaverse.UUID targetID, LibreMetaverse.UUID sessionID, System.String message)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub fn send_teleport_lure_request_with_uuid_uuid_string(
        &self,
        target_id: libremetaverse_types::UUID,
        session_id: libremetaverse_types::UUID,
        message: String,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_send_teleport_lure_request(target_id, session_id, message)
    }
    /// C# member: `M:LibreMetaverse.AgentManager.SendTeleportLureRequest(LibreMetaverse.UUID,System.String)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AgentManager.SendTeleportLureRequest(LibreMetaverse.UUID targetID, System.String message)`.
    /// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub fn send_teleport_lure_request_with_uuid_string(
        &self,
        target_id: libremetaverse_types::UUID,
        message: String,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_send_teleport_lure_request(target_id, target_id, message)
    }
    /// C# member: `M:LibreMetaverse.AgentManager.SendViewerStatsAsync(LibreMetaverse.Messages.Linden.ViewerStatsMessage,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task LibreMetaverse.AgentManager.SendViewerStatsAsync(LibreMetaverse.Messages.Linden.ViewerStatsMessage stats, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn send_viewer_stats(
        &self,
        stats: libremetaverse::messages::linden::ViewerStatsMessage,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_send_viewer_stats(stats, cancellation_token)
            .await
    }
    /// C# member: `M:LibreMetaverse.AgentManager.SetAgentAccessAsync(System.String,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<LibreMetaverse.AgentAccessEventArgs> LibreMetaverse.AgentManager.SetAgentAccessAsync(System.String access, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub async fn set_agent_access_with_string_cancellation_token(
        &self,
        access: String,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<libremetaverse::AgentAccessEventArgs, crate::Error> {
        /* reviewed native compatibility body */
        self.native_set_agent_access_async(access, cancellation_token)
            .await
    }
    /// C# member: `M:LibreMetaverse.AgentManager.SetDisplayNameAsync(System.String,System.String,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task LibreMetaverse.AgentManager.SetDisplayNameAsync(System.String oldName, System.String newName, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn set_display_name(
        &self,
        old_name: String,
        new_name: String,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_set_display_name(old_name, new_name, cancellation_token)
            .await
    }
    /// C# member: `M:LibreMetaverse.AgentManager.SetExperiencePermissionAsync(LibreMetaverse.UUID,System.String,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<System.Boolean> LibreMetaverse.AgentManager.SetExperiencePermissionAsync(LibreMetaverse.UUID experienceId, System.String permission, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn set_experience_permission(
        &self,
        experience_id: libremetaverse_types::UUID,
        permission: String,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<bool, crate::Error> {
        /* reviewed native compatibility body */
        self.native_set_experience_permission(experience_id, permission, cancellation_token)
            .await
    }
    /// C# member: `M:LibreMetaverse.AgentManager.SetExperiencePreferencesAsync(LibreMetaverse.Messages.Linden.ExperiencePreferencesMessage,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task LibreMetaverse.AgentManager.SetExperiencePreferencesAsync(LibreMetaverse.Messages.Linden.ExperiencePreferencesMessage preferences, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub async fn set_experience_preferences_with_experience_preferences_message_cancellation_token(
        &self,
        preferences: libremetaverse::messages::linden::ExperiencePreferencesMessage,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_set_experience_preferences_async(preferences, cancellation_token)
            .await
    }
    /// C# member: `M:LibreMetaverse.AgentManager.SetHeightWidth(System.UInt16,System.UInt16)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AgentManager.SetHeightWidth(System.UInt16 height, System.UInt16 width)`.
    /// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn set_height_width(&self, height: u16, width: u16) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_set_height_width(height, width)
    }
    /// C# member: `M:LibreMetaverse.AgentManager.SetHome`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AgentManager.SetHome()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn set_home(&self) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_set_home()
    }
    /// C# member: `M:LibreMetaverse.AgentManager.SetHoverHeightAsync(System.Double,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task LibreMetaverse.AgentManager.SetHoverHeightAsync(System.Double hoverHeight, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub async fn set_hover_height_with_double_cancellation_token(
        &self,
        hover_height: f64,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_set_hover_height_async(hover_height, cancellation_token)
            .await
    }
    /// C# member: `M:LibreMetaverse.AgentManager.Sit`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AgentManager.Sit()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn sit(&self) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_sit()
    }
    /// C# member: `M:LibreMetaverse.AgentManager.SitOnGround`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AgentManager.SitOnGround()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn sit_on_ground(&self) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_sit_on_ground()
    }
    /// C# member: `M:LibreMetaverse.AgentManager.SphereEffect(LibreMetaverse.Vector3d,LibreMetaverse.Color4,System.Single,LibreMetaverse.UUID)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AgentManager.SphereEffect(LibreMetaverse.Vector3d globalOffset, LibreMetaverse.Color4 color, System.Single duration, LibreMetaverse.UUID effectID)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn sphere_effect(
        &self,
        global_offset: libremetaverse_types::Vector3d,
        color: libremetaverse_types::Color4,
        duration: f32,
        effect_id: libremetaverse_types::UUID,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_viewer_effect(
            libremetaverse_types::UUID::zero(),
            libremetaverse_types::UUID::zero(),
            global_offset,
            color,
            duration,
            effect_id,
            crate::EffectType::Sphere,
            None,
        )
    }
    /// C# member: `M:LibreMetaverse.AgentManager.Stand`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.AgentManager.Stand()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn stand(&self) -> Result<bool, crate::Error> {
        /* reviewed native compatibility body */
        self.native_stand()
    }
    /// C# member: `M:LibreMetaverse.AgentManager.StartIMConferenceAsync(System.Collections.Generic.List{LibreMetaverse.UUID},LibreMetaverse.UUID,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task LibreMetaverse.AgentManager.StartIMConferenceAsync(System.Collections.Generic.List<LibreMetaverse.UUID> participants, LibreMetaverse.UUID tmp_session_id, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn start_im_conference(
        &self,
        participants: Vec<libremetaverse_types::UUID>,
        tmp_session_id: libremetaverse_types::UUID,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_start_im_conference(participants, tmp_session_id, cancellation_token)
            .await
    }
    /// C# member: `M:LibreMetaverse.AgentManager.TeleportAsync(LibreMetaverse.UUID,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<System.Boolean> LibreMetaverse.AgentManager.TeleportAsync(LibreMetaverse.UUID landmark, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub async fn teleport_with_uuid_cancellation_token(
        &self,
        landmark: libremetaverse_types::UUID,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<bool, crate::Error> {
        /* reviewed native compatibility body */
        self.native_teleport_landmark(landmark, cancellation_token)
            .await
    }
    /// C# member: `M:LibreMetaverse.AgentManager.TeleportAsync(System.String,LibreMetaverse.Vector3,LibreMetaverse.Vector3,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<System.Boolean> LibreMetaverse.AgentManager.TeleportAsync(System.String simName, LibreMetaverse.Vector3 position, LibreMetaverse.Vector3 lookAt, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub async fn teleport_with_string_vector3_vector3_cancellation_token(
        &self,
        sim_name: String,
        position: libremetaverse_types::Vector3,
        look_at: libremetaverse_types::Vector3,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<bool, crate::Error> {
        /* reviewed native compatibility body */
        self.native_teleport_name(sim_name, position, look_at, cancellation_token)
            .await
    }
    /// C# member: `M:LibreMetaverse.AgentManager.TeleportAsync(System.String,LibreMetaverse.Vector3,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<System.Boolean> LibreMetaverse.AgentManager.TeleportAsync(System.String simName, LibreMetaverse.Vector3 position, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub async fn teleport_with_string_vector3_cancellation_token(
        &self,
        sim_name: String,
        position: libremetaverse_types::Vector3,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<bool, crate::Error> {
        /* reviewed native compatibility body */
        self.native_teleport_name(
            sim_name,
            position,
            libremetaverse_types::Vector3::unit_y(),
            cancellation_token,
        )
        .await
    }
    /// C# member: `M:LibreMetaverse.AgentManager.TeleportAsync(System.UInt64,LibreMetaverse.Vector3,LibreMetaverse.Vector3,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<System.Boolean> LibreMetaverse.AgentManager.TeleportAsync(System.UInt64 regionHandle, LibreMetaverse.Vector3 position, LibreMetaverse.Vector3 lookAt, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub async fn teleport_with_u_int64_vector3_vector3_cancellation_token(
        &self,
        region_handle: u64,
        position: libremetaverse_types::Vector3,
        look_at: libremetaverse_types::Vector3,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<bool, crate::Error> {
        /* reviewed native compatibility body */
        self.native_teleport_location(region_handle, position, look_at, cancellation_token)
            .await
    }
    /// C# member: `M:LibreMetaverse.AgentManager.TeleportAsync(System.UInt64,LibreMetaverse.Vector3,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<System.Boolean> LibreMetaverse.AgentManager.TeleportAsync(System.UInt64 regionHandle, LibreMetaverse.Vector3 position, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub async fn teleport_with_u_int64_vector3_cancellation_token(
        &self,
        region_handle: u64,
        position: libremetaverse_types::Vector3,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<bool, crate::Error> {
        /* reviewed native compatibility body */
        self.native_teleport_location(
            region_handle,
            position,
            libremetaverse_types::Vector3::unit_y(),
            cancellation_token,
        )
        .await
    }
    /// C# member: `M:LibreMetaverse.AgentManager.TeleportFailedEventHandler(System.String,LibreMetaverse.Interfaces.IMessage,LibreMetaverse.Simulator)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AgentManager.TeleportFailedEventHandler(System.String messageKey, LibreMetaverse.Interfaces.IMessage message, LibreMetaverse.Simulator simulator)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn teleport_failed_event_handler(
        &self,
        message_key: String,
        message: Box<dyn libremetaverse::interfaces::IMessage>,
        simulator: libremetaverse::Simulator,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_movement_runtime()
            .handle_caps_event("TeleportFailed", message.as_ref(), simulator)
            .map(|_| ())
    }
    /// C# member: `M:LibreMetaverse.AgentManager.TeleportLureRespond(LibreMetaverse.UUID,LibreMetaverse.UUID,System.Boolean)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AgentManager.TeleportLureRespond(LibreMetaverse.UUID requesterID, LibreMetaverse.UUID sessionID, System.Boolean accept)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn teleport_lure_respond(
        &self,
        requester_id: libremetaverse_types::UUID,
        session_id: libremetaverse_types::UUID,
        accept: bool,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_teleport_lure_respond(requester_id, session_id, accept)
    }
    /// C# member: `M:LibreMetaverse.AgentManager.Touch(System.UInt32)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AgentManager.Touch(System.UInt32 objectLocalID)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn touch(&self, object_local_id: u32) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        {
            self.native_grab(
                object_local_id,
                libremetaverse_types::Vector3::zero(),
                libremetaverse_types::Vector3 {
                    x: -1.0,
                    y: -1.0,
                    z: 0.0,
                },
                libremetaverse_types::Vector3 {
                    x: -1.0,
                    y: -1.0,
                    z: 0.0,
                },
                0,
                libremetaverse_types::Vector3::zero(),
                libremetaverse_types::Vector3::zero(),
                libremetaverse_types::Vector3::zero(),
            )?;
            self.native_de_grab(
                object_local_id,
                libremetaverse_types::Vector3 {
                    x: -1.0,
                    y: -1.0,
                    z: 0.0,
                },
                libremetaverse_types::Vector3 {
                    x: -1.0,
                    y: -1.0,
                    z: 0.0,
                },
                0,
                libremetaverse_types::Vector3::zero(),
                libremetaverse_types::Vector3::zero(),
                libremetaverse_types::Vector3::zero(),
            )
        }
    }
    /// C# member: `M:LibreMetaverse.AgentManager.TrackObjectInSimulator(LibreMetaverse.UUID,LibreMetaverse.Simulator)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AgentManager.TrackObjectInSimulator(LibreMetaverse.UUID objectID, LibreMetaverse.Simulator sim)`.
    /// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn track_object_in_simulator(
        &self,
        object_id: libremetaverse_types::UUID,
        sim: libremetaverse::Simulator,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        Ok(self.native_track_object_in_simulator(object_id, sim))
    }
    /// C# member: `M:LibreMetaverse.AgentManager.UntrackObjectInSimulator(LibreMetaverse.UUID,LibreMetaverse.Simulator)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AgentManager.UntrackObjectInSimulator(LibreMetaverse.UUID objectID, LibreMetaverse.Simulator sim)`.
    /// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn untrack_object_in_simulator(
        &self,
        object_id: libremetaverse_types::UUID,
        sim: libremetaverse::Simulator,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        Ok(self.native_untrack_object_in_simulator(object_id, &sim))
    }
    /// C# member: `M:LibreMetaverse.AgentManager.UpdateAgentLanguageAsync(System.String,System.Boolean,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task LibreMetaverse.AgentManager.UpdateAgentLanguageAsync(System.String language, System.Boolean isPublic, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn update_agent_language(
        &self,
        language: String,
        is_public: bool,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_update_agent_language(language, is_public, cancellation_token)
            .await
    }
    /// C# member: `M:LibreMetaverse.AgentManager.UpdateClassifiedInfo(LibreMetaverse.UUID,LibreMetaverse.DirectoryManager.ClassifiedCategories,LibreMetaverse.UUID,System.Int32,LibreMetaverse.Vector3d,System.String,System.String,System.Boolean)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AgentManager.UpdateClassifiedInfo(LibreMetaverse.UUID classifiedID, LibreMetaverse.DirectoryManager.ClassifiedCategories category, LibreMetaverse.UUID snapshotID, System.Int32 price, LibreMetaverse.Vector3d position, System.String name, System.String desc, System.Boolean autoRenew)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,owned,owned,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub fn update_classified_info_with_uuid_classified_categories_uuid_int32_vector3d_string_string_boolean(
        &self,
        classified_id: libremetaverse_types::UUID,
        category: libremetaverse::DirectoryManagerClassifiedCategories,
        snapshot_id: libremetaverse_types::UUID,
        price: i32,
        position: libremetaverse_types::Vector3d,
        name: String,
        desc: String,
        auto_renew: bool,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_update_classified_info(
            classified_id,
            category,
            snapshot_id,
            price,
            position,
            name,
            desc,
            auto_renew,
        )
    }
    /// C# member: `M:LibreMetaverse.AgentManager.UpdateClassifiedInfo(LibreMetaverse.UUID,LibreMetaverse.DirectoryManager.ClassifiedCategories,LibreMetaverse.UUID,System.Int32,System.String,System.String,System.Boolean)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AgentManager.UpdateClassifiedInfo(LibreMetaverse.UUID classifiedID, LibreMetaverse.DirectoryManager.ClassifiedCategories category, LibreMetaverse.UUID snapshotID, System.Int32 price, System.String name, System.String desc, System.Boolean autoRenew)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,owned,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub fn update_classified_info_with_uuid_classified_categories_uuid_int32_string_string_boolean(
        &self,
        classified_id: libremetaverse_types::UUID,
        category: libremetaverse::DirectoryManagerClassifiedCategories,
        snapshot_id: libremetaverse_types::UUID,
        price: i32,
        name: String,
        desc: String,
        auto_renew: bool,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_update_classified_info(
            classified_id,
            category,
            snapshot_id,
            price,
            libremetaverse_types::Vector3d::zero(),
            name,
            desc,
            auto_renew,
        )
    }
    /// C# member: `M:LibreMetaverse.AgentManager.UpdateExperienceAsync(LibreMetaverse.Messages.Linden.ExperienceInfo,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<LibreMetaverse.Messages.Linden.ExperienceInfo> LibreMetaverse.AgentManager.UpdateExperienceAsync(LibreMetaverse.Messages.Linden.ExperienceInfo info, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn update_experience(
        &self,
        info: libremetaverse::messages::linden::ExperienceInfo,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<Option<libremetaverse::messages::linden::ExperienceInfo>, crate::Error> {
        /* reviewed native compatibility body */
        self.native_update_experience(info, cancellation_token)
            .await
    }
    /// C# member: `M:LibreMetaverse.AgentManager.UpdateInterests(LibreMetaverse.Avatar.Interests)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AgentManager.UpdateInterests(LibreMetaverse.Avatar.Interests interests)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn update_interests(
        &self,
        interests: libremetaverse::AvatarInterests,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_update_interests(interests)
    }
    /// C# member: `M:LibreMetaverse.AgentManager.UpdateMuteListEntry(LibreMetaverse.MuteType,LibreMetaverse.UUID,System.String)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AgentManager.UpdateMuteListEntry(LibreMetaverse.MuteType type, LibreMetaverse.UUID id, System.String name)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub fn update_mute_list_entry_with_mute_type_uuid_string(
        &self,
        type_: libremetaverse::MuteType,
        id: libremetaverse_types::UUID,
        name: String,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_update_mute_list_entry(type_, id, name, crate::MuteFlags::DEFAULT)
    }
    /// C# member: `M:LibreMetaverse.AgentManager.UpdateMuteListEntry(LibreMetaverse.MuteType,LibreMetaverse.UUID,System.String,LibreMetaverse.MuteFlags)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AgentManager.UpdateMuteListEntry(LibreMetaverse.MuteType type, LibreMetaverse.UUID id, System.String name, LibreMetaverse.MuteFlags flags)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub fn update_mute_list_entry_with_mute_type_uuid_string_mute_flags(
        &self,
        type_: libremetaverse::MuteType,
        id: libremetaverse_types::UUID,
        name: String,
        flags: libremetaverse::MuteFlags,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_update_mute_list_entry(type_, id, name, flags)
    }
    /// C# member: `M:LibreMetaverse.AgentManager.UpdateProfile(LibreMetaverse.Avatar.AvatarProperties)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AgentManager.UpdateProfile(LibreMetaverse.Avatar.AvatarProperties profile)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub fn update_profile_with_avatar_properties(
        &self,
        profile: libremetaverse::AvatarAvatarProperties,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_update_profile(profile)
    }
    /// C# member: `M:LibreMetaverse.AgentManager.UpdateProfileAsync(LibreMetaverse.Avatar.AvatarProperties,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task LibreMetaverse.AgentManager.UpdateProfileAsync(LibreMetaverse.Avatar.AvatarProperties profile, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub async fn update_profile_with_avatar_properties_cancellation_token(
        &self,
        profile: libremetaverse::AvatarAvatarProperties,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_update_profile_async(profile, cancellation_token)
            .await
    }
    /// C# member: `M:LibreMetaverse.AgentManager.UpdateProfileNotes(LibreMetaverse.UUID,System.String)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AgentManager.UpdateProfileNotes(LibreMetaverse.UUID target, System.String notes)`.
    /// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub fn update_profile_notes_with_uuid_string(
        &self,
        target: libremetaverse_types::UUID,
        notes: String,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_update_profile_notes(target, notes)
    }
    /// C# member: `M:LibreMetaverse.AgentManager.UpdateProfileNotesAsync(LibreMetaverse.UUID,System.String,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task LibreMetaverse.AgentManager.UpdateProfileNotesAsync(LibreMetaverse.UUID target, System.String notes, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub async fn update_profile_notes_with_uuid_string_cancellation_token(
        &self,
        target: libremetaverse_types::UUID,
        notes: String,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_update_profile_notes_async(target, notes, cancellation_token)
            .await
    }
    /// C# member: `M:LibreMetaverse.AgentManager.UpdateProfileUdp(LibreMetaverse.Avatar.AvatarProperties)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AgentManager.UpdateProfileUdp(LibreMetaverse.Avatar.AvatarProperties profile)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn update_profile_udp(
        &self,
        profile: libremetaverse::AvatarAvatarProperties,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_update_profile_udp(profile)
    }
    /// C# member: `P:LibreMetaverse.AgentManager.Acceleration`.
    ///
    /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.AgentManager.Acceleration`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn acceleration(&self) -> libremetaverse_types::Vector3 {
        /* reviewed native compatibility body */
        self.native_movement_runtime().acceleration()
    }
    /// C# member: `P:LibreMetaverse.AgentManager.ActiveGestures`.
    ///
    /// C# signature: `System.Collections.Concurrent.ConcurrentDictionary<LibreMetaverse.UUID, LibreMetaverse.UUID> LibreMetaverse.AgentManager.ActiveGestures`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn active_gestures(
        &self,
    ) -> std::sync::RwLock<
        std::collections::HashMap<libremetaverse_types::UUID, libremetaverse_types::UUID>,
    > {
        /* reviewed native compatibility body */
        self.native_active_gestures()
    }
    /// C# member: `P:LibreMetaverse.AgentManager.ActiveGroup`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.AgentManager.ActiveGroup`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn active_group(&self) -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        self.native_active_group()
    }
    /// Setter for C# member: `P:LibreMetaverse.AgentManager.ActiveGroup`.
    pub fn set_active_group(&mut self, value: libremetaverse_types::UUID) {
        /* reviewed native compatibility body */
        self.native_set_active_group(value)
    }
    /// C# member: `P:LibreMetaverse.AgentManager.ActiveGroupPowers`.
    ///
    /// C# signature: `LibreMetaverse.GroupPowers LibreMetaverse.AgentManager.ActiveGroupPowers`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn active_group_powers(&self) -> libremetaverse::GroupPowers {
        /* reviewed native compatibility body */
        self.native_active_group_powers()
    }
    /// Setter for C# member: `P:LibreMetaverse.AgentManager.ActiveGroupPowers`.
    pub fn set_active_group_powers(&mut self, value: libremetaverse::GroupPowers) {
        /* reviewed native compatibility body */
        self.native_set_active_group_powers(value)
    }
    /// C# member: `P:LibreMetaverse.AgentManager.AgentAccess`.
    ///
    /// C# signature: `System.String LibreMetaverse.AgentManager.AgentAccess`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn agent_access(&self) -> String {
        /* reviewed native compatibility body */
        self.native_agent_access()
    }
    /// Setter for C# member: `P:LibreMetaverse.AgentManager.AgentAccess`.
    pub fn set_agent_access(&mut self, value: String) {
        /* reviewed native compatibility body */
        self.native_set_agent_access(value)
    }
    /// C# member: `P:LibreMetaverse.AgentManager.AgentExperienceList`.
    ///
    /// C# signature: `LibreMetaverse.Messages.Linden.ExperienceListMessage LibreMetaverse.AgentManager.AgentExperienceList`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn agent_experience_list(
        &self,
    ) -> Option<libremetaverse::messages::linden::ExperienceListMessage> {
        /* reviewed native compatibility body */
        self.native_agent_experience_list()
    }
    /// Setter for C# member: `P:LibreMetaverse.AgentManager.AgentExperienceList`.
    pub fn set_agent_experience_list(
        &mut self,
        value: Option<libremetaverse::messages::linden::ExperienceListMessage>,
    ) {
        /* reviewed native compatibility body */
        self.native_set_agent_experience_list(value)
    }
    /// C# member: `P:LibreMetaverse.AgentManager.AgentID`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.AgentManager.AgentID`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn agent_id(&self) -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        self.native_agent_id()
    }
    /// Setter for C# member: `P:LibreMetaverse.AgentManager.AgentID`.
    pub fn set_agent_id(&mut self, value: libremetaverse_types::UUID) {
        /* reviewed native compatibility body */
        self.native_set_agent_id(value)
    }
    /// C# member: `P:LibreMetaverse.AgentManager.AngularVelocity`.
    ///
    /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.AgentManager.AngularVelocity`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn angular_velocity(&self) -> libremetaverse_types::Vector3 {
        /* reviewed native compatibility body */
        self.native_movement_runtime().angular_velocity()
    }
    /// C# member: `P:LibreMetaverse.AgentManager.AvatarRenderInfo`.
    ///
    /// C# signature: `LibreMetaverse.Messages.Linden.AvatarRenderInfoMessage LibreMetaverse.AgentManager.AvatarRenderInfo`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn avatar_render_info(
        &self,
    ) -> Option<libremetaverse::messages::linden::AvatarRenderInfoMessage> {
        /* reviewed native compatibility body */
        self.native_avatar_render_info()
    }
    /// Setter for C# member: `P:LibreMetaverse.AgentManager.AvatarRenderInfo`.
    pub fn set_avatar_render_info(
        &mut self,
        value: Option<libremetaverse::messages::linden::AvatarRenderInfoMessage>,
    ) {
        /* reviewed native compatibility body */
        self.native_set_avatar_render_info(value)
    }
    /// C# member: `P:LibreMetaverse.AgentManager.Balance`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.AgentManager.Balance`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn balance(&self) -> i32 {
        /* reviewed native compatibility body */
        self.native_balance()
    }
    /// Setter for C# member: `P:LibreMetaverse.AgentManager.Balance`.
    pub fn set_balance(&mut self, value: i32) {
        /* reviewed native compatibility body */
        self.native_set_balance(value)
    }
    /// C# member: `P:LibreMetaverse.AgentManager.Benefits`.
    ///
    /// C# signature: `LibreMetaverse.AccountLevelBenefits LibreMetaverse.AgentManager.Benefits`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn benefits(&self) -> libremetaverse::AccountLevelBenefits {
        /* reviewed native compatibility body */
        self.native_benefits()
    }
    /// Setter for C# member: `P:LibreMetaverse.AgentManager.Benefits`.
    pub fn set_benefits(&mut self, value: libremetaverse::AccountLevelBenefits) {
        /* reviewed native compatibility body */
        self.native_set_benefits(value)
    }
    /// C# member: `P:LibreMetaverse.AgentManager.CollisionPlane`.
    ///
    /// C# signature: `LibreMetaverse.Vector4 LibreMetaverse.AgentManager.CollisionPlane`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn collision_plane(&self) -> libremetaverse_types::Vector4 {
        /* reviewed native compatibility body */
        self.native_collision_plane()
    }
    /// C# member: `P:LibreMetaverse.AgentManager.ExperiencePreferences`.
    ///
    /// C# signature: `LibreMetaverse.Messages.Linden.ExperiencePreferencesMessage LibreMetaverse.AgentManager.ExperiencePreferences`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn experience_preferences(
        &self,
    ) -> Option<libremetaverse::messages::linden::ExperiencePreferencesMessage> {
        /* reviewed native compatibility body */
        self.native_experience_preferences()
    }
    /// Setter for C# member: `P:LibreMetaverse.AgentManager.ExperiencePreferences`.
    pub fn set_experience_preferences(
        &mut self,
        value: Option<libremetaverse::messages::linden::ExperiencePreferencesMessage>,
    ) {
        /* reviewed native compatibility body */
        self.native_set_experience_preferences(value)
    }
    /// C# member: `P:LibreMetaverse.AgentManager.FirstName`.
    ///
    /// C# signature: `System.String LibreMetaverse.AgentManager.FirstName`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn first_name(&self) -> String {
        /* reviewed native compatibility body */
        self.native_first_name()
    }
    /// Setter for C# member: `P:LibreMetaverse.AgentManager.FirstName`.
    pub fn set_first_name(&mut self, value: String) {
        /* reviewed native compatibility body */
        self.native_set_first_name(value)
    }
    /// C# member: `P:LibreMetaverse.AgentManager.GlobalPosition`.
    ///
    /// C# signature: `LibreMetaverse.Vector3d LibreMetaverse.AgentManager.GlobalPosition`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn global_position(&self) -> libremetaverse_types::Vector3d {
        /* reviewed native compatibility body */
        self.native_movement_runtime().global_position()
    }
    /// C# member: `P:LibreMetaverse.AgentManager.Health`.
    ///
    /// C# signature: `System.Single LibreMetaverse.AgentManager.Health`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn health(&self) -> f32 {
        /* reviewed native compatibility body */
        self.native_health()
    }
    /// Setter for C# member: `P:LibreMetaverse.AgentManager.Health`.
    pub fn set_health(&mut self, value: f32) {
        /* reviewed native compatibility body */
        self.native_set_health(value)
    }
    /// C# member: `P:LibreMetaverse.AgentManager.HomeLookAt`.
    ///
    /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.AgentManager.HomeLookAt`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn home_look_at(&self) -> libremetaverse_types::Vector3 {
        /* reviewed native compatibility body */
        self.native_home_look_at()
    }
    /// C# member: `P:LibreMetaverse.AgentManager.HomePosition`.
    ///
    /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.AgentManager.HomePosition`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn home_position(&self) -> libremetaverse_types::Vector3 {
        /* reviewed native compatibility body */
        self.native_movement_runtime().home_position()
    }
    /// C# member: `P:LibreMetaverse.AgentManager.HomeRegionHandle`.
    ///
    /// C# signature: `System.UInt64 LibreMetaverse.AgentManager.HomeRegionHandle`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn home_region_handle(&self) -> u64 {
        /* reviewed native compatibility body */
        self.native_home_region_handle()
    }
    /// C# member: `P:LibreMetaverse.AgentManager.HoverHeight`.
    ///
    /// C# signature: `System.Single LibreMetaverse.AgentManager.HoverHeight`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn hover_height(&self) -> f32 {
        /* reviewed native compatibility body */
        self.native_hover_height()
    }
    /// Setter for C# member: `P:LibreMetaverse.AgentManager.HoverHeight`.
    pub fn set_hover_height(&mut self, value: f32) {
        /* reviewed native compatibility body */
        self.native_set_hover_height(value)
    }
    /// C# member: `P:LibreMetaverse.AgentManager.LastName`.
    ///
    /// C# signature: `System.String LibreMetaverse.AgentManager.LastName`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn last_name(&self) -> String {
        /* reviewed native compatibility body */
        self.native_last_name()
    }
    /// Setter for C# member: `P:LibreMetaverse.AgentManager.LastName`.
    pub fn set_last_name(&mut self, value: String) {
        /* reviewed native compatibility body */
        self.native_set_last_name(value)
    }
    /// C# member: `P:LibreMetaverse.AgentManager.LastNavMeshStatus`.
    ///
    /// C# signature: `LibreMetaverse.Messages.Linden.NavMeshStatusUpdateMessage LibreMetaverse.AgentManager.LastNavMeshStatus`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn last_nav_mesh_status(
        &self,
    ) -> Option<libremetaverse::messages::linden::NavMeshStatusUpdateMessage> {
        /* reviewed native compatibility body */
        self.native_last_nav_mesh_status()
    }
    /// Setter for C# member: `P:LibreMetaverse.AgentManager.LastNavMeshStatus`.
    pub fn set_last_nav_mesh_status(
        &mut self,
        value: Option<libremetaverse::messages::linden::NavMeshStatusUpdateMessage>,
    ) {
        /* reviewed native compatibility body */
        self.native_set_last_nav_mesh_status(value)
    }
    /// C# member: `P:LibreMetaverse.AgentManager.LastPositionUpdate`.
    ///
    /// C# signature: `System.DateTime LibreMetaverse.AgentManager.LastPositionUpdate`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn last_position_update(&self) -> std::time::SystemTime {
        /* reviewed native compatibility body */
        self.native_movement_runtime().last_position_update()
    }
    /// Setter for C# member: `P:LibreMetaverse.AgentManager.LastPositionUpdate`.
    pub fn set_last_position_update(&mut self, value: std::time::SystemTime) {
        /* reviewed native compatibility body */
        self.native_movement_runtime()
            .set_last_position_update(value)
    }
    /// C# member: `P:LibreMetaverse.AgentManager.LastRegionExperiences`.
    ///
    /// C# signature: `LibreMetaverse.Messages.Linden.RegionExperiencesMessage LibreMetaverse.AgentManager.LastRegionExperiences`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn last_region_experiences(
        &self,
    ) -> Option<libremetaverse::messages::linden::RegionExperiencesMessage> {
        /* reviewed native compatibility body */
        self.native_last_region_experiences()
    }
    /// Setter for C# member: `P:LibreMetaverse.AgentManager.LastRegionExperiences`.
    pub fn set_last_region_experiences(
        &mut self,
        value: Option<libremetaverse::messages::linden::RegionExperiencesMessage>,
    ) {
        /* reviewed native compatibility body */
        self.native_set_last_region_experiences(value)
    }
    /// C# member: `P:LibreMetaverse.AgentManager.LocalID`.
    ///
    /// C# signature: `System.UInt32 LibreMetaverse.AgentManager.LocalID`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn local_id(&self) -> u32 {
        /* reviewed native compatibility body */
        self.native_local_id()
    }
    /// C# member: `P:LibreMetaverse.AgentManager.LookAt`.
    ///
    /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.AgentManager.LookAt`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn look_at(&self) -> libremetaverse_types::Vector3 {
        /* reviewed native compatibility body */
        self.native_look_at()
    }
    /// Setter for C# member: `P:LibreMetaverse.AgentManager.LookAt`.
    pub fn set_look_at(&mut self, value: libremetaverse_types::Vector3) {
        /* reviewed native compatibility body */
        self.native_set_look_at(value)
    }
    /// C# member: `P:LibreMetaverse.AgentManager.Name`.
    ///
    /// C# signature: `System.String LibreMetaverse.AgentManager.Name`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn name(&self) -> String {
        /* reviewed native compatibility body */
        self.native_name()
    }
    /// C# member: `P:LibreMetaverse.AgentManager.ProductInfo`.
    ///
    /// C# signature: `LibreMetaverse.Messages.Linden.ProductInfoRequestMessage LibreMetaverse.AgentManager.ProductInfo`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn product_info(
        &self,
    ) -> Option<libremetaverse::messages::linden::ProductInfoRequestMessage> {
        /* reviewed native compatibility body */
        self.native_product_info()
    }
    /// Setter for C# member: `P:LibreMetaverse.AgentManager.ProductInfo`.
    pub fn set_product_info(
        &mut self,
        value: Option<libremetaverse::messages::linden::ProductInfoRequestMessage>,
    ) {
        /* reviewed native compatibility body */
        self.native_set_product_info(value)
    }
    /// C# member: `P:LibreMetaverse.AgentManager.RelativePosition`.
    ///
    /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.AgentManager.RelativePosition`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn relative_position(&self) -> libremetaverse_types::Vector3 {
        /* reviewed native compatibility body */
        self.native_movement_runtime().relative_position()
    }
    /// Setter for C# member: `P:LibreMetaverse.AgentManager.RelativePosition`.
    pub fn set_relative_position(&mut self, value: libremetaverse_types::Vector3) {
        /* reviewed native compatibility body */
        self.native_movement_runtime().set_relative_position(value)
    }
    /// C# member: `P:LibreMetaverse.AgentManager.RelativePositionEstimate`.
    ///
    /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.AgentManager.RelativePositionEstimate`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn relative_position_estimate(&self) -> libremetaverse_types::Vector3 {
        /* reviewed native compatibility body */
        self.native_movement_runtime().relative_position_estimate()
    }
    /// Setter for C# member: `P:LibreMetaverse.AgentManager.RelativePositionEstimate`.
    pub fn set_relative_position_estimate(&mut self, value: libremetaverse_types::Vector3) {
        /* reviewed native compatibility body */
        self.native_movement_runtime().set_relative_position(value)
    }
    /// C# member: `P:LibreMetaverse.AgentManager.RelativeRotation`.
    ///
    /// C# signature: `LibreMetaverse.Quaternion LibreMetaverse.AgentManager.RelativeRotation`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn relative_rotation(&self) -> libremetaverse_types::Quaternion {
        /* reviewed native compatibility body */
        self.native_movement_runtime().relative_rotation()
    }
    /// Setter for C# member: `P:LibreMetaverse.AgentManager.RelativeRotation`.
    pub fn set_relative_rotation(&mut self, value: libremetaverse_types::Quaternion) {
        /* reviewed native compatibility body */
        self.native_movement_runtime().set_relative_rotation(value)
    }
    /// C# member: `P:LibreMetaverse.AgentManager.SecureSessionID`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.AgentManager.SecureSessionID`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn secure_session_id(&self) -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        self.native_secure_session_id()
    }
    /// Setter for C# member: `P:LibreMetaverse.AgentManager.SecureSessionID`.
    pub fn set_secure_session_id(&mut self, value: libremetaverse_types::UUID) {
        /* reviewed native compatibility body */
        self.native_set_secure_session_id(value)
    }
    /// C# member: `P:LibreMetaverse.AgentManager.SessionID`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.AgentManager.SessionID`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn session_id(&self) -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        self.native_session_id()
    }
    /// Setter for C# member: `P:LibreMetaverse.AgentManager.SessionID`.
    pub fn set_session_id(&mut self, value: libremetaverse_types::UUID) {
        /* reviewed native compatibility body */
        self.native_set_session_id(value)
    }
    /// C# member: `P:LibreMetaverse.AgentManager.SimPosition`.
    ///
    /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.AgentManager.SimPosition`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn sim_position(&self) -> libremetaverse_types::Vector3 {
        /* reviewed native compatibility body */
        self.native_movement_runtime().sim_position()
    }
    /// C# member: `P:LibreMetaverse.AgentManager.SimRotation`.
    ///
    /// C# signature: `LibreMetaverse.Quaternion LibreMetaverse.AgentManager.SimRotation`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn sim_rotation(&self) -> libremetaverse_types::Quaternion {
        /* reviewed native compatibility body */
        self.native_movement_runtime().sim_rotation()
    }
    /// C# member: `P:LibreMetaverse.AgentManager.SittingOn`.
    ///
    /// C# signature: `System.UInt32 LibreMetaverse.AgentManager.SittingOn`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn sitting_on(&self) -> u32 {
        /* reviewed native compatibility body */
        self.native_movement_runtime().sitting_on()
    }
    /// C# member: `P:LibreMetaverse.AgentManager.StartLocation`.
    ///
    /// C# signature: `System.String LibreMetaverse.AgentManager.StartLocation`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn start_location(&self) -> String {
        /* reviewed native compatibility body */
        self.native_start_location()
    }
    /// Setter for C# member: `P:LibreMetaverse.AgentManager.StartLocation`.
    pub fn set_start_location(&mut self, value: String) {
        /* reviewed native compatibility body */
        self.native_set_start_location(value)
    }
    /// C# member: `P:LibreMetaverse.AgentManager.TeleportMessage`.
    ///
    /// C# signature: `System.String LibreMetaverse.AgentManager.TeleportMessage`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn teleport_message(&self) -> String {
        /* reviewed native compatibility body */
        self.native_movement_runtime().teleport_message()
    }
    /// Setter for C# member: `P:LibreMetaverse.AgentManager.TeleportMessage`.
    pub fn set_teleport_message(&mut self, value: String) {
        /* reviewed native compatibility body */
        self.native_movement_runtime().set_teleport_message(value)
    }
    /// C# member: `P:LibreMetaverse.AgentManager.Velocity`.
    ///
    /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.AgentManager.Velocity`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn velocity(&self) -> libremetaverse_types::Vector3 {
        /* reviewed native compatibility body */
        self.native_movement_runtime().velocity()
    }
    /// C# member: `P:LibreMetaverse.AgentManager.ViewerBenefits`.
    ///
    /// C# signature: `LibreMetaverse.Messages.Linden.ViewerBenefitsMessage LibreMetaverse.AgentManager.ViewerBenefits`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn viewer_benefits(
        &self,
    ) -> Option<libremetaverse::messages::linden::ViewerBenefitsMessage> {
        /* reviewed native compatibility body */
        self.native_viewer_benefits()
    }
    /// Setter for C# member: `P:LibreMetaverse.AgentManager.ViewerBenefits`.
    pub fn set_viewer_benefits(
        &mut self,
        value: Option<libremetaverse::messages::linden::ViewerBenefitsMessage>,
    ) {
        /* reviewed native compatibility body */
        self.native_set_viewer_benefits(value)
    }
}

/// C# type: `T:LibreMetaverse.AgentManager.AgentMovement`.
///
/// Native Rust mapping of C# `LibreMetaverse.AgentManager.AgentMovement` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `F:LibreMetaverse.AgentManager.AgentMovement.BodyRotation`.
///
/// C# signature: `LibreMetaverse.Quaternion LibreMetaverse.AgentManager.AgentMovement.BodyRotation`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.AgentManager.AgentMovement.Camera`.
///
/// C# signature: `LibreMetaverse.AgentManager.AgentMovement.AgentCamera LibreMetaverse.AgentManager.AgentMovement.Camera`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.AgentManager.AgentMovement.Flags`.
///
/// C# signature: `LibreMetaverse.AgentFlags LibreMetaverse.AgentManager.AgentMovement.Flags`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.AgentManager.AgentMovement.HeadRotation`.
///
/// C# signature: `LibreMetaverse.Quaternion LibreMetaverse.AgentManager.AgentMovement.HeadRotation`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.AgentManager.AgentMovement.State`.
///
/// C# signature: `LibreMetaverse.AgentState LibreMetaverse.AgentManager.AgentMovement.State`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `M:LibreMetaverse.AgentManager.AgentMovement.#ctor(LibreMetaverse.GridClient)`.
///
/// C# signature: `LibreMetaverse.AgentManager.AgentMovement(LibreMetaverse.GridClient client)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.AgentManager.AgentMovement.ResetControlFlags`.
///
/// C# signature: `System.Void LibreMetaverse.AgentManager.AgentMovement.ResetControlFlags()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.AgentManager.AgentMovement.SendManualUpdate(LibreMetaverse.AgentManager.ControlFlags,LibreMetaverse.Vector3,LibreMetaverse.Vector3,LibreMetaverse.Vector3,LibreMetaverse.Vector3,LibreMetaverse.Quaternion,LibreMetaverse.Quaternion,System.Single,LibreMetaverse.AgentFlags,LibreMetaverse.AgentState,System.Boolean)`.
///
/// C# signature: `System.Void LibreMetaverse.AgentManager.AgentMovement.SendManualUpdate(LibreMetaverse.AgentManager.ControlFlags controlFlags, LibreMetaverse.Vector3 position, LibreMetaverse.Vector3 forwardAxis, LibreMetaverse.Vector3 leftAxis, LibreMetaverse.Vector3 upAxis, LibreMetaverse.Quaternion bodyRotation, LibreMetaverse.Quaternion headRotation, System.Single farClip, LibreMetaverse.AgentFlags flags, LibreMetaverse.AgentState state, System.Boolean reliable)`.
/// Mapping contract: ownership `shared_self,owned,owned,owned,owned,owned,owned,owned,owned,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.AgentManager.AgentMovement.SendUpdate(System.Boolean)`.
///
/// C# signature: `System.Void LibreMetaverse.AgentManager.AgentMovement.SendUpdate(System.Boolean reliable = default)`.
/// Mapping contract: ownership `shared_self,optional_owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.AgentManager.AgentMovement.SendUpdate(System.Boolean,LibreMetaverse.Simulator)`.
///
/// C# signature: `System.Void LibreMetaverse.AgentManager.AgentMovement.SendUpdate(System.Boolean reliable, LibreMetaverse.Simulator simulator)`.
/// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.AgentManager.AgentMovement.SetFOVVerticalAngle(System.Single)`.
///
/// C# signature: `System.Void LibreMetaverse.AgentManager.AgentMovement.SetFOVVerticalAngle(System.Single angle)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.AgentManager.AgentMovement.TurnToward(LibreMetaverse.Vector3,System.Boolean)`.
///
/// C# signature: `System.Boolean LibreMetaverse.AgentManager.AgentMovement.TurnToward(LibreMetaverse.Vector3 target, System.Boolean sendUpdate = default)`.
/// Mapping contract: ownership `shared_self,owned,optional_owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.AgentManager.AgentMovement.UpdateFromHeading(System.Double,System.Boolean)`.
///
/// C# signature: `System.Void LibreMetaverse.AgentManager.AgentMovement.UpdateFromHeading(System.Double heading, System.Boolean reliable)`.
/// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.AgentManager.AgentMovement.AgentControls`.
///
/// C# signature: `System.UInt32 LibreMetaverse.AgentManager.AgentMovement.AgentControls`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AgentManager.AgentMovement.AlwaysRun`.
///
/// C# signature: `System.Boolean LibreMetaverse.AgentManager.AgentMovement.AlwaysRun`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AgentManager.AgentMovement.AtNeg`.
///
/// C# signature: `System.Boolean LibreMetaverse.AgentManager.AgentMovement.AtNeg`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AgentManager.AgentMovement.AtPos`.
///
/// C# signature: `System.Boolean LibreMetaverse.AgentManager.AgentMovement.AtPos`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AgentManager.AgentMovement.AutoResetControls`.
///
/// C# signature: `System.Boolean LibreMetaverse.AgentManager.AgentMovement.AutoResetControls`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AgentManager.AgentMovement.Away`.
///
/// C# signature: `System.Boolean LibreMetaverse.AgentManager.AgentMovement.Away`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AgentManager.AgentMovement.FastAt`.
///
/// C# signature: `System.Boolean LibreMetaverse.AgentManager.AgentMovement.FastAt`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AgentManager.AgentMovement.FastLeft`.
///
/// C# signature: `System.Boolean LibreMetaverse.AgentManager.AgentMovement.FastLeft`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AgentManager.AgentMovement.FastUp`.
///
/// C# signature: `System.Boolean LibreMetaverse.AgentManager.AgentMovement.FastUp`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AgentManager.AgentMovement.FinishAnim`.
///
/// C# signature: `System.Boolean LibreMetaverse.AgentManager.AgentMovement.FinishAnim`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AgentManager.AgentMovement.Fly`.
///
/// C# signature: `System.Boolean LibreMetaverse.AgentManager.AgentMovement.Fly`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AgentManager.AgentMovement.LButtonDown`.
///
/// C# signature: `System.Boolean LibreMetaverse.AgentManager.AgentMovement.LButtonDown`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AgentManager.AgentMovement.LButtonUp`.
///
/// C# signature: `System.Boolean LibreMetaverse.AgentManager.AgentMovement.LButtonUp`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AgentManager.AgentMovement.LeftNeg`.
///
/// C# signature: `System.Boolean LibreMetaverse.AgentManager.AgentMovement.LeftNeg`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AgentManager.AgentMovement.LeftPos`.
///
/// C# signature: `System.Boolean LibreMetaverse.AgentManager.AgentMovement.LeftPos`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AgentManager.AgentMovement.MLButtonDown`.
///
/// C# signature: `System.Boolean LibreMetaverse.AgentManager.AgentMovement.MLButtonDown`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AgentManager.AgentMovement.MLButtonUp`.
///
/// C# signature: `System.Boolean LibreMetaverse.AgentManager.AgentMovement.MLButtonUp`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AgentManager.AgentMovement.Mouselook`.
///
/// C# signature: `System.Boolean LibreMetaverse.AgentManager.AgentMovement.Mouselook`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AgentManager.AgentMovement.NudgeAtNeg`.
///
/// C# signature: `System.Boolean LibreMetaverse.AgentManager.AgentMovement.NudgeAtNeg`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AgentManager.AgentMovement.NudgeAtPos`.
///
/// C# signature: `System.Boolean LibreMetaverse.AgentManager.AgentMovement.NudgeAtPos`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AgentManager.AgentMovement.NudgeLeftNeg`.
///
/// C# signature: `System.Boolean LibreMetaverse.AgentManager.AgentMovement.NudgeLeftNeg`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AgentManager.AgentMovement.NudgeLeftPos`.
///
/// C# signature: `System.Boolean LibreMetaverse.AgentManager.AgentMovement.NudgeLeftPos`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AgentManager.AgentMovement.NudgeUpNeg`.
///
/// C# signature: `System.Boolean LibreMetaverse.AgentManager.AgentMovement.NudgeUpNeg`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AgentManager.AgentMovement.NudgeUpPos`.
///
/// C# signature: `System.Boolean LibreMetaverse.AgentManager.AgentMovement.NudgeUpPos`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AgentManager.AgentMovement.PitchNeg`.
///
/// C# signature: `System.Boolean LibreMetaverse.AgentManager.AgentMovement.PitchNeg`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AgentManager.AgentMovement.PitchPos`.
///
/// C# signature: `System.Boolean LibreMetaverse.AgentManager.AgentMovement.PitchPos`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AgentManager.AgentMovement.SitOnGround`.
///
/// C# signature: `System.Boolean LibreMetaverse.AgentManager.AgentMovement.SitOnGround`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AgentManager.AgentMovement.StandUp`.
///
/// C# signature: `System.Boolean LibreMetaverse.AgentManager.AgentMovement.StandUp`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AgentManager.AgentMovement.Stop`.
///
/// C# signature: `System.Boolean LibreMetaverse.AgentManager.AgentMovement.Stop`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AgentManager.AgentMovement.TurnLeft`.
///
/// C# signature: `System.Boolean LibreMetaverse.AgentManager.AgentMovement.TurnLeft`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AgentManager.AgentMovement.TurnRight`.
///
/// C# signature: `System.Boolean LibreMetaverse.AgentManager.AgentMovement.TurnRight`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AgentManager.AgentMovement.UpNeg`.
///
/// C# signature: `System.Boolean LibreMetaverse.AgentManager.AgentMovement.UpNeg`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AgentManager.AgentMovement.UpPos`.
///
/// C# signature: `System.Boolean LibreMetaverse.AgentManager.AgentMovement.UpPos`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AgentManager.AgentMovement.UpdateEnabled`.
///
/// C# signature: `System.Boolean LibreMetaverse.AgentManager.AgentMovement.UpdateEnabled`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AgentManager.AgentMovement.UpdateInterval`.
///
/// C# signature: `System.Int32 LibreMetaverse.AgentManager.AgentMovement.UpdateInterval`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AgentManager.AgentMovement.YawNeg`.
///
/// C# signature: `System.Boolean LibreMetaverse.AgentManager.AgentMovement.YawNeg`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AgentManager.AgentMovement.YawPos`.
///
/// C# signature: `System.Boolean LibreMetaverse.AgentManager.AgentMovement.YawPos`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::agent_movement::AgentManagerAgentMovement;

/// C# type: `T:LibreMetaverse.AgentManager.AgentMovement.AgentCamera`.
///
/// Native Rust mapping of C# `LibreMetaverse.AgentManager.AgentMovement.AgentCamera` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `F:LibreMetaverse.AgentManager.AgentMovement.AgentCamera.Far`.
///
/// C# signature: `System.Single LibreMetaverse.AgentManager.AgentMovement.AgentCamera.Far`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `M:LibreMetaverse.AgentManager.AgentMovement.AgentCamera.#ctor`.
///
/// C# signature: `LibreMetaverse.AgentManager.AgentMovement.AgentCamera()`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.AgentManager.AgentMovement.AgentCamera.LookAt(LibreMetaverse.Vector3,LibreMetaverse.Vector3)`.
///
/// C# signature: `System.Void LibreMetaverse.AgentManager.AgentMovement.AgentCamera.LookAt(LibreMetaverse.Vector3 position, LibreMetaverse.Vector3 target)`.
/// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.AgentManager.AgentMovement.AgentCamera.LookAt(LibreMetaverse.Vector3,LibreMetaverse.Vector3,LibreMetaverse.Vector3)`.
///
/// C# signature: `System.Void LibreMetaverse.AgentManager.AgentMovement.AgentCamera.LookAt(LibreMetaverse.Vector3 position, LibreMetaverse.Vector3 target, LibreMetaverse.Vector3 upDirection)`.
/// Mapping contract: ownership `shared_self,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.AgentManager.AgentMovement.AgentCamera.LookDirection(LibreMetaverse.Vector3)`.
///
/// C# signature: `System.Void LibreMetaverse.AgentManager.AgentMovement.AgentCamera.LookDirection(LibreMetaverse.Vector3 target)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.AgentManager.AgentMovement.AgentCamera.LookDirection(LibreMetaverse.Vector3,LibreMetaverse.Vector3)`.
///
/// C# signature: `System.Void LibreMetaverse.AgentManager.AgentMovement.AgentCamera.LookDirection(LibreMetaverse.Vector3 target, LibreMetaverse.Vector3 upDirection)`.
/// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.AgentManager.AgentMovement.AgentCamera.LookDirection(System.Double)`.
///
/// C# signature: `System.Void LibreMetaverse.AgentManager.AgentMovement.AgentCamera.LookDirection(System.Double heading)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.AgentManager.AgentMovement.AgentCamera.Pitch(System.Single)`.
///
/// C# signature: `System.Void LibreMetaverse.AgentManager.AgentMovement.AgentCamera.Pitch(System.Single angle)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.AgentManager.AgentMovement.AgentCamera.Roll(System.Single)`.
///
/// C# signature: `System.Void LibreMetaverse.AgentManager.AgentMovement.AgentCamera.Roll(System.Single angle)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.AgentManager.AgentMovement.AgentCamera.SetPositionOrientation(LibreMetaverse.Vector3,System.Single,System.Single,System.Single)`.
///
/// C# signature: `System.Void LibreMetaverse.AgentManager.AgentMovement.AgentCamera.SetPositionOrientation(LibreMetaverse.Vector3 position, System.Single roll, System.Single pitch, System.Single yaw)`.
/// Mapping contract: ownership `shared_self,owned,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.AgentManager.AgentMovement.AgentCamera.Yaw(System.Single)`.
///
/// C# signature: `System.Void LibreMetaverse.AgentManager.AgentMovement.AgentCamera.Yaw(System.Single angle)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.AgentManager.AgentMovement.AgentCamera.AtAxis`.
///
/// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.AgentManager.AgentMovement.AgentCamera.AtAxis`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AgentManager.AgentMovement.AgentCamera.LeftAxis`.
///
/// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.AgentManager.AgentMovement.AgentCamera.LeftAxis`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AgentManager.AgentMovement.AgentCamera.Position`.
///
/// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.AgentManager.AgentMovement.AgentCamera.Position`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AgentManager.AgentMovement.AgentCamera.UpAxis`.
///
/// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.AgentManager.AgentMovement.AgentCamera.UpAxis`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::agent_movement::AgentManagerAgentMovementAgentCamera;

/// C# type: `T:LibreMetaverse.AgentManager.ControlFlags`.
///
/// Native Rust mapping of C# `LibreMetaverse.AgentManager.ControlFlags` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(transparent)]
pub struct AgentManagerControlFlags(pub i32);
impl AgentManagerControlFlags {
    /// C# member: `F:LibreMetaverse.AgentManager.ControlFlags.AGENT_CONTROL_AT_NEG`.
    ///
    /// C# signature: `LibreMetaverse.AgentManager.ControlFlags LibreMetaverse.AgentManager.ControlFlags.AGENT_CONTROL_AT_NEG`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const AGENT_CONTROL_AT_NEG: Self = Self(2);
    /// C# member: `F:LibreMetaverse.AgentManager.ControlFlags.AGENT_CONTROL_AT_POS`.
    ///
    /// C# signature: `LibreMetaverse.AgentManager.ControlFlags LibreMetaverse.AgentManager.ControlFlags.AGENT_CONTROL_AT_POS`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const AGENT_CONTROL_AT_POS: Self = Self(1);
    /// C# member: `F:LibreMetaverse.AgentManager.ControlFlags.AGENT_CONTROL_AWAY`.
    ///
    /// C# signature: `LibreMetaverse.AgentManager.ControlFlags LibreMetaverse.AgentManager.ControlFlags.AGENT_CONTROL_AWAY`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const AGENT_CONTROL_AWAY: Self = Self(134217728);
    /// C# member: `F:LibreMetaverse.AgentManager.ControlFlags.AGENT_CONTROL_FAST_AT`.
    ///
    /// C# signature: `LibreMetaverse.AgentManager.ControlFlags LibreMetaverse.AgentManager.ControlFlags.AGENT_CONTROL_FAST_AT`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const AGENT_CONTROL_FAST_AT: Self = Self(1024);
    /// C# member: `F:LibreMetaverse.AgentManager.ControlFlags.AGENT_CONTROL_FAST_LEFT`.
    ///
    /// C# signature: `LibreMetaverse.AgentManager.ControlFlags LibreMetaverse.AgentManager.ControlFlags.AGENT_CONTROL_FAST_LEFT`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const AGENT_CONTROL_FAST_LEFT: Self = Self(2048);
    /// C# member: `F:LibreMetaverse.AgentManager.ControlFlags.AGENT_CONTROL_FAST_UP`.
    ///
    /// C# signature: `LibreMetaverse.AgentManager.ControlFlags LibreMetaverse.AgentManager.ControlFlags.AGENT_CONTROL_FAST_UP`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const AGENT_CONTROL_FAST_UP: Self = Self(4096);
    /// C# member: `F:LibreMetaverse.AgentManager.ControlFlags.AGENT_CONTROL_FINISH_ANIM`.
    ///
    /// C# signature: `LibreMetaverse.AgentManager.ControlFlags LibreMetaverse.AgentManager.ControlFlags.AGENT_CONTROL_FINISH_ANIM`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const AGENT_CONTROL_FINISH_ANIM: Self = Self(32768);
    /// C# member: `F:LibreMetaverse.AgentManager.ControlFlags.AGENT_CONTROL_FLY`.
    ///
    /// C# signature: `LibreMetaverse.AgentManager.ControlFlags LibreMetaverse.AgentManager.ControlFlags.AGENT_CONTROL_FLY`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const AGENT_CONTROL_FLY: Self = Self(8192);
    /// C# member: `F:LibreMetaverse.AgentManager.ControlFlags.AGENT_CONTROL_LBUTTON_DOWN`.
    ///
    /// C# signature: `LibreMetaverse.AgentManager.ControlFlags LibreMetaverse.AgentManager.ControlFlags.AGENT_CONTROL_LBUTTON_DOWN`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const AGENT_CONTROL_LBUTTON_DOWN: Self = Self(268435456);
    /// C# member: `F:LibreMetaverse.AgentManager.ControlFlags.AGENT_CONTROL_LBUTTON_UP`.
    ///
    /// C# signature: `LibreMetaverse.AgentManager.ControlFlags LibreMetaverse.AgentManager.ControlFlags.AGENT_CONTROL_LBUTTON_UP`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const AGENT_CONTROL_LBUTTON_UP: Self = Self(536870912);
    /// C# member: `F:LibreMetaverse.AgentManager.ControlFlags.AGENT_CONTROL_LEFT_NEG`.
    ///
    /// C# signature: `LibreMetaverse.AgentManager.ControlFlags LibreMetaverse.AgentManager.ControlFlags.AGENT_CONTROL_LEFT_NEG`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const AGENT_CONTROL_LEFT_NEG: Self = Self(8);
    /// C# member: `F:LibreMetaverse.AgentManager.ControlFlags.AGENT_CONTROL_LEFT_POS`.
    ///
    /// C# signature: `LibreMetaverse.AgentManager.ControlFlags LibreMetaverse.AgentManager.ControlFlags.AGENT_CONTROL_LEFT_POS`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const AGENT_CONTROL_LEFT_POS: Self = Self(4);
    /// C# member: `F:LibreMetaverse.AgentManager.ControlFlags.AGENT_CONTROL_ML_LBUTTON_DOWN`.
    ///
    /// C# signature: `LibreMetaverse.AgentManager.ControlFlags LibreMetaverse.AgentManager.ControlFlags.AGENT_CONTROL_ML_LBUTTON_DOWN`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const AGENT_CONTROL_ML_LBUTTON_DOWN: Self = Self(1073741824);
    /// C# member: `F:LibreMetaverse.AgentManager.ControlFlags.AGENT_CONTROL_ML_LBUTTON_UP`.
    ///
    /// C# signature: `LibreMetaverse.AgentManager.ControlFlags LibreMetaverse.AgentManager.ControlFlags.AGENT_CONTROL_ML_LBUTTON_UP`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const AGENT_CONTROL_ML_LBUTTON_UP: Self = Self(-2147483648);
    /// C# member: `F:LibreMetaverse.AgentManager.ControlFlags.AGENT_CONTROL_MOUSELOOK`.
    ///
    /// C# signature: `LibreMetaverse.AgentManager.ControlFlags LibreMetaverse.AgentManager.ControlFlags.AGENT_CONTROL_MOUSELOOK`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const AGENT_CONTROL_MOUSELOOK: Self = Self(262144);
    /// C# member: `F:LibreMetaverse.AgentManager.ControlFlags.AGENT_CONTROL_NUDGE_AT_NEG`.
    ///
    /// C# signature: `LibreMetaverse.AgentManager.ControlFlags LibreMetaverse.AgentManager.ControlFlags.AGENT_CONTROL_NUDGE_AT_NEG`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const AGENT_CONTROL_NUDGE_AT_NEG: Self = Self(1048576);
    /// C# member: `F:LibreMetaverse.AgentManager.ControlFlags.AGENT_CONTROL_NUDGE_AT_POS`.
    ///
    /// C# signature: `LibreMetaverse.AgentManager.ControlFlags LibreMetaverse.AgentManager.ControlFlags.AGENT_CONTROL_NUDGE_AT_POS`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const AGENT_CONTROL_NUDGE_AT_POS: Self = Self(524288);
    /// C# member: `F:LibreMetaverse.AgentManager.ControlFlags.AGENT_CONTROL_NUDGE_LEFT_NEG`.
    ///
    /// C# signature: `LibreMetaverse.AgentManager.ControlFlags LibreMetaverse.AgentManager.ControlFlags.AGENT_CONTROL_NUDGE_LEFT_NEG`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const AGENT_CONTROL_NUDGE_LEFT_NEG: Self = Self(4194304);
    /// C# member: `F:LibreMetaverse.AgentManager.ControlFlags.AGENT_CONTROL_NUDGE_LEFT_POS`.
    ///
    /// C# signature: `LibreMetaverse.AgentManager.ControlFlags LibreMetaverse.AgentManager.ControlFlags.AGENT_CONTROL_NUDGE_LEFT_POS`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const AGENT_CONTROL_NUDGE_LEFT_POS: Self = Self(2097152);
    /// C# member: `F:LibreMetaverse.AgentManager.ControlFlags.AGENT_CONTROL_NUDGE_UP_NEG`.
    ///
    /// C# signature: `LibreMetaverse.AgentManager.ControlFlags LibreMetaverse.AgentManager.ControlFlags.AGENT_CONTROL_NUDGE_UP_NEG`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const AGENT_CONTROL_NUDGE_UP_NEG: Self = Self(16777216);
    /// C# member: `F:LibreMetaverse.AgentManager.ControlFlags.AGENT_CONTROL_NUDGE_UP_POS`.
    ///
    /// C# signature: `LibreMetaverse.AgentManager.ControlFlags LibreMetaverse.AgentManager.ControlFlags.AGENT_CONTROL_NUDGE_UP_POS`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const AGENT_CONTROL_NUDGE_UP_POS: Self = Self(8388608);
    /// C# member: `F:LibreMetaverse.AgentManager.ControlFlags.AGENT_CONTROL_PITCH_NEG`.
    ///
    /// C# signature: `LibreMetaverse.AgentManager.ControlFlags LibreMetaverse.AgentManager.ControlFlags.AGENT_CONTROL_PITCH_NEG`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const AGENT_CONTROL_PITCH_NEG: Self = Self(128);
    /// C# member: `F:LibreMetaverse.AgentManager.ControlFlags.AGENT_CONTROL_PITCH_POS`.
    ///
    /// C# signature: `LibreMetaverse.AgentManager.ControlFlags LibreMetaverse.AgentManager.ControlFlags.AGENT_CONTROL_PITCH_POS`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const AGENT_CONTROL_PITCH_POS: Self = Self(64);
    /// C# member: `F:LibreMetaverse.AgentManager.ControlFlags.AGENT_CONTROL_SIT_ON_GROUND`.
    ///
    /// C# signature: `LibreMetaverse.AgentManager.ControlFlags LibreMetaverse.AgentManager.ControlFlags.AGENT_CONTROL_SIT_ON_GROUND`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const AGENT_CONTROL_SIT_ON_GROUND: Self = Self(131072);
    /// C# member: `F:LibreMetaverse.AgentManager.ControlFlags.AGENT_CONTROL_STAND_UP`.
    ///
    /// C# signature: `LibreMetaverse.AgentManager.ControlFlags LibreMetaverse.AgentManager.ControlFlags.AGENT_CONTROL_STAND_UP`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const AGENT_CONTROL_STAND_UP: Self = Self(65536);
    /// C# member: `F:LibreMetaverse.AgentManager.ControlFlags.AGENT_CONTROL_STOP`.
    ///
    /// C# signature: `LibreMetaverse.AgentManager.ControlFlags LibreMetaverse.AgentManager.ControlFlags.AGENT_CONTROL_STOP`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const AGENT_CONTROL_STOP: Self = Self(16384);
    /// C# member: `F:LibreMetaverse.AgentManager.ControlFlags.AGENT_CONTROL_TURN_LEFT`.
    ///
    /// C# signature: `LibreMetaverse.AgentManager.ControlFlags LibreMetaverse.AgentManager.ControlFlags.AGENT_CONTROL_TURN_LEFT`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const AGENT_CONTROL_TURN_LEFT: Self = Self(33554432);
    /// C# member: `F:LibreMetaverse.AgentManager.ControlFlags.AGENT_CONTROL_TURN_RIGHT`.
    ///
    /// C# signature: `LibreMetaverse.AgentManager.ControlFlags LibreMetaverse.AgentManager.ControlFlags.AGENT_CONTROL_TURN_RIGHT`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const AGENT_CONTROL_TURN_RIGHT: Self = Self(67108864);
    /// C# member: `F:LibreMetaverse.AgentManager.ControlFlags.AGENT_CONTROL_UP_NEG`.
    ///
    /// C# signature: `LibreMetaverse.AgentManager.ControlFlags LibreMetaverse.AgentManager.ControlFlags.AGENT_CONTROL_UP_NEG`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const AGENT_CONTROL_UP_NEG: Self = Self(32);
    /// C# member: `F:LibreMetaverse.AgentManager.ControlFlags.AGENT_CONTROL_UP_POS`.
    ///
    /// C# signature: `LibreMetaverse.AgentManager.ControlFlags LibreMetaverse.AgentManager.ControlFlags.AGENT_CONTROL_UP_POS`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const AGENT_CONTROL_UP_POS: Self = Self(16);
    /// C# member: `F:LibreMetaverse.AgentManager.ControlFlags.AGENT_CONTROL_YAW_NEG`.
    ///
    /// C# signature: `LibreMetaverse.AgentManager.ControlFlags LibreMetaverse.AgentManager.ControlFlags.AGENT_CONTROL_YAW_NEG`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const AGENT_CONTROL_YAW_NEG: Self = Self(512);
    /// C# member: `F:LibreMetaverse.AgentManager.ControlFlags.AGENT_CONTROL_YAW_POS`.
    ///
    /// C# signature: `LibreMetaverse.AgentManager.ControlFlags LibreMetaverse.AgentManager.ControlFlags.AGENT_CONTROL_YAW_POS`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const AGENT_CONTROL_YAW_POS: Self = Self(256);
    /// C# member: `F:LibreMetaverse.AgentManager.ControlFlags.NONE`.
    ///
    /// C# signature: `LibreMetaverse.AgentManager.ControlFlags LibreMetaverse.AgentManager.ControlFlags.NONE`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const NONE: Self = Self(0);
}

/// C# type: `T:LibreMetaverse.AgentManager.CrossingFailureReason`.
///
/// Native Rust mapping of C# `LibreMetaverse.AgentManager.CrossingFailureReason` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(i32)]
pub enum AgentManagerCrossingFailureReason {
    /// C# member: `F:LibreMetaverse.AgentManager.CrossingFailureReason.ConnectionFailed`.
    ///
    /// C# signature: `LibreMetaverse.AgentManager.CrossingFailureReason LibreMetaverse.AgentManager.CrossingFailureReason.ConnectionFailed`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    ConnectionFailed = 1,
    /// C# member: `F:LibreMetaverse.AgentManager.CrossingFailureReason.InvalidData`.
    ///
    /// C# signature: `LibreMetaverse.AgentManager.CrossingFailureReason LibreMetaverse.AgentManager.CrossingFailureReason.InvalidData`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    InvalidData = 6,
    /// C# member: `F:LibreMetaverse.AgentManager.CrossingFailureReason.MaxRetriesExceeded`.
    ///
    /// C# signature: `LibreMetaverse.AgentManager.CrossingFailureReason LibreMetaverse.AgentManager.CrossingFailureReason.MaxRetriesExceeded`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    MaxRetriesExceeded = 3,
    /// C# member: `F:LibreMetaverse.AgentManager.CrossingFailureReason.NetworkError`.
    ///
    /// C# signature: `LibreMetaverse.AgentManager.CrossingFailureReason LibreMetaverse.AgentManager.CrossingFailureReason.NetworkError`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    NetworkError = 5,
    /// C# member: `F:LibreMetaverse.AgentManager.CrossingFailureReason.SimulatorRejected`.
    ///
    /// C# signature: `LibreMetaverse.AgentManager.CrossingFailureReason LibreMetaverse.AgentManager.CrossingFailureReason.SimulatorRejected`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    SimulatorRejected = 4,
    /// C# member: `F:LibreMetaverse.AgentManager.CrossingFailureReason.Timeout`.
    ///
    /// C# signature: `LibreMetaverse.AgentManager.CrossingFailureReason LibreMetaverse.AgentManager.CrossingFailureReason.Timeout`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Timeout = 2,
    /// C# member: `F:LibreMetaverse.AgentManager.CrossingFailureReason.Unknown`.
    ///
    /// C# signature: `LibreMetaverse.AgentManager.CrossingFailureReason LibreMetaverse.AgentManager.CrossingFailureReason.Unknown`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Unknown = 0,
}

/// C# type: `T:LibreMetaverse.AgentManager.CrossingState`.
///
/// Native Rust mapping of C# `LibreMetaverse.AgentManager.CrossingState` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(i32)]
pub enum AgentManagerCrossingState {
    /// C# member: `F:LibreMetaverse.AgentManager.CrossingState.Completed`.
    ///
    /// C# signature: `LibreMetaverse.AgentManager.CrossingState LibreMetaverse.AgentManager.CrossingState.Completed`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Completed = 4,
    /// C# member: `F:LibreMetaverse.AgentManager.CrossingState.Connecting`.
    ///
    /// C# signature: `LibreMetaverse.AgentManager.CrossingState LibreMetaverse.AgentManager.CrossingState.Connecting`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Connecting = 2,
    /// C# member: `F:LibreMetaverse.AgentManager.CrossingState.Failed`.
    ///
    /// C# signature: `LibreMetaverse.AgentManager.CrossingState LibreMetaverse.AgentManager.CrossingState.Failed`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Failed = 5,
    /// C# member: `F:LibreMetaverse.AgentManager.CrossingState.Idle`.
    ///
    /// C# signature: `LibreMetaverse.AgentManager.CrossingState LibreMetaverse.AgentManager.CrossingState.Idle`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Idle = 0,
    /// C# member: `F:LibreMetaverse.AgentManager.CrossingState.PreparingCross`.
    ///
    /// C# signature: `LibreMetaverse.AgentManager.CrossingState LibreMetaverse.AgentManager.CrossingState.PreparingCross`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    PreparingCross = 1,
    /// C# member: `F:LibreMetaverse.AgentManager.CrossingState.Recovering`.
    ///
    /// C# signature: `LibreMetaverse.AgentManager.CrossingState LibreMetaverse.AgentManager.CrossingState.Recovering`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Recovering = 6,
    /// C# member: `F:LibreMetaverse.AgentManager.CrossingState.WaitingForComplete`.
    ///
    /// C# signature: `LibreMetaverse.AgentManager.CrossingState LibreMetaverse.AgentManager.CrossingState.WaitingForComplete`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    WaitingForComplete = 3,
}

/// C# type: `T:LibreMetaverse.AgentPreferencesEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.AgentPreferencesEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.AgentPreferencesEventArgs.#ctor(LibreMetaverse.Messages.Linden.AgentPreferencesMessage)`.
///
/// C# signature: `LibreMetaverse.AgentPreferencesEventArgs(LibreMetaverse.Messages.Linden.AgentPreferencesMessage preferences)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.AgentPreferencesEventArgs.Preferences`.
///
/// C# signature: `LibreMetaverse.Messages.Linden.AgentPreferencesMessage LibreMetaverse.AgentPreferencesEventArgs.Preferences`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::agent_messages::AgentPreferencesEventArgs;

/// C# type: `T:LibreMetaverse.AgentSettings`.
///
/// Native Rust mapping of C# `LibreMetaverse.AgentSettings` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct AgentSettings {
    /// C# member: `F:LibreMetaverse.AgentSettings.DisableUpdateDuplicateCheck`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.AgentSettings.DisableUpdateDuplicateCheck`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub disable_update_duplicate_check: bool,
    /// C# member: `F:LibreMetaverse.AgentSettings.MultipleSims`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.AgentSettings.MultipleSims`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub multiple_sims: bool,
    /// C# member: `F:LibreMetaverse.AgentSettings.SendAppearance`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.AgentSettings.SendAppearance`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub send_appearance: bool,
    /// C# member: `F:LibreMetaverse.AgentSettings.SendThrottle`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.AgentSettings.SendThrottle`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub send_throttle: bool,
    /// C# member: `F:LibreMetaverse.AgentSettings.SendUpdates`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.AgentSettings.SendUpdates`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub send_updates: bool,
    /// C# member: `F:LibreMetaverse.AgentSettings.SendUpdatesRegularly`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.AgentSettings.SendUpdatesRegularly`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub send_updates_regularly: bool,
}
impl AgentSettings {
    /// C# member: `M:LibreMetaverse.AgentSettings.#ctor`.
    ///
    /// C# signature: `LibreMetaverse.AgentSettings()`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn new() -> Result<Self, crate::Error> {
        /* native client-core implementation */
        Ok(crate::client_core::agent_settings_defaults())
    }
}

/// C# type: `T:LibreMetaverse.AgentState`.
///
/// Native Rust mapping of C# `LibreMetaverse.AgentState` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(transparent)]
pub struct AgentState(pub u8);
impl AgentState {
    /// C# member: `F:LibreMetaverse.AgentState.Editing`.
    ///
    /// C# signature: `LibreMetaverse.AgentState LibreMetaverse.AgentState.Editing`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const EDITING: Self = Self(16);
    /// C# member: `F:LibreMetaverse.AgentState.None`.
    ///
    /// C# signature: `LibreMetaverse.AgentState LibreMetaverse.AgentState.None`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const NONE: Self = Self(0);
    /// C# member: `F:LibreMetaverse.AgentState.Typing`.
    ///
    /// C# signature: `LibreMetaverse.AgentState LibreMetaverse.AgentState.Typing`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const TYPING: Self = Self(4);
}

/// C# type: `T:LibreMetaverse.AgentThrottle`.
///
/// Native Rust mapping of C# `LibreMetaverse.AgentThrottle` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.AgentThrottle.#ctor(LibreMetaverse.GridClient)`.
///
/// C# signature: `LibreMetaverse.AgentThrottle(LibreMetaverse.GridClient client)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.AgentThrottle.#ctor(System.Byte[],System.Int32)`.
///
/// C# signature: `LibreMetaverse.AgentThrottle(System.Byte[] data, System.Int32 pos)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.AgentThrottle.Set`.
///
/// C# signature: `System.Void LibreMetaverse.AgentThrottle.Set()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.AgentThrottle.Set(LibreMetaverse.Simulator)`.
///
/// C# signature: `System.Void LibreMetaverse.AgentThrottle.Set(LibreMetaverse.Simulator simulator)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.AgentThrottle.ToBytes`.
///
/// C# signature: `System.Byte[] LibreMetaverse.AgentThrottle.ToBytes()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.AgentThrottle.Asset`.
///
/// C# signature: `System.Single LibreMetaverse.AgentThrottle.Asset`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AgentThrottle.Cloud`.
///
/// C# signature: `System.Single LibreMetaverse.AgentThrottle.Cloud`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AgentThrottle.Land`.
///
/// C# signature: `System.Single LibreMetaverse.AgentThrottle.Land`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AgentThrottle.Resend`.
///
/// C# signature: `System.Single LibreMetaverse.AgentThrottle.Resend`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AgentThrottle.Task`.
///
/// C# signature: `System.Single LibreMetaverse.AgentThrottle.Task`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AgentThrottle.Texture`.
///
/// C# signature: `System.Single LibreMetaverse.AgentThrottle.Texture`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AgentThrottle.Total`.
///
/// C# signature: `System.Single LibreMetaverse.AgentThrottle.Total`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AgentThrottle.Wind`.
///
/// C# signature: `System.Single LibreMetaverse.AgentThrottle.Wind`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::udp_transport::AgentThrottle;

/// C# type: `T:LibreMetaverse.AgentWearablesReplyEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.AgentWearablesReplyEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Default)]
pub struct AgentWearablesReplyEventArgs;
impl AgentWearablesReplyEventArgs {
    /// C# member: `M:LibreMetaverse.AgentWearablesReplyEventArgs.#ctor`.
    ///
    /// C# signature: `LibreMetaverse.AgentWearablesReplyEventArgs()`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn new() -> Result<Self, crate::Error> {
        Ok(/* complete payload-free catalog type */ Self)
    }
}

/// C# type: `T:LibreMetaverse.AlertMessageEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.AlertMessageEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone)]
pub struct AlertMessageEventArgs {
    property_0: Option<libremetaverse_structured_data::OSDMap>,
    property_1: String,
    property_2: Option<String>,
}
impl AlertMessageEventArgs {
    /// C# member: `M:LibreMetaverse.AlertMessageEventArgs.#ctor(System.String,System.String,LibreMetaverse.StructuredData.OSDMap)`.
    ///
    /// C# signature: `LibreMetaverse.AlertMessageEventArgs(System.String message, System.String notificationid, LibreMetaverse.StructuredData.OSDMap extraparams)`.
    /// Mapping contract: ownership `owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn new(
        message: String,
        notificationid: Option<String>,
        extraparams: Option<libremetaverse_structured_data::OSDMap>,
    ) -> Result<Self, crate::Error> {
        /* complete generated data model */
        Ok(Self {
            property_0: extraparams,
            property_1: message,
            property_2: notificationid,
        })
    }
    /// C# member: `P:LibreMetaverse.AlertMessageEventArgs.ExtraParams`.
    ///
    /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.AlertMessageEventArgs.ExtraParams`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn extra_params(&self) -> Option<libremetaverse_structured_data::OSDMap> {
        /* complete generated data model */
        self.property_0.clone()
    }
    /// C# member: `P:LibreMetaverse.AlertMessageEventArgs.Message`.
    ///
    /// C# signature: `System.String LibreMetaverse.AlertMessageEventArgs.Message`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn message(&self) -> String {
        /* complete generated data model */
        self.property_1.clone()
    }
    /// C# member: `P:LibreMetaverse.AlertMessageEventArgs.NotificationId`.
    ///
    /// C# signature: `System.String LibreMetaverse.AlertMessageEventArgs.NotificationId`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn notification_id(&self) -> Option<String> {
        /* complete generated data model */
        self.property_2.clone()
    }
}

/// C# type: `T:LibreMetaverse.Animation`.
///
/// Native Rust mapping of C# `LibreMetaverse.Animation` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
pub use crate::avatar_manager::Animation;
/// C# member: `F:LibreMetaverse.Animation.AnimationID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animation.AnimationID`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Animation.AnimationSequence`.
///
/// C# signature: `System.Int32 LibreMetaverse.Animation.AnimationSequence`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Animation.AnimationSourceObjectID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animation.AnimationSourceObjectID`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
impl Animation {}

/// C# type: `T:LibreMetaverse.Animations`.
///
/// Native Rust mapping of C# `LibreMetaverse.Animations` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
pub struct Animations;
impl Animations {
    /// C# member: `F:LibreMetaverse.Animations.AFRAID`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.AFRAID`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn afraid() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("AFRAID")
    }
    /// C# member: `F:LibreMetaverse.Animations.AIM_BAZOOKA_R`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.AIM_BAZOOKA_R`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn aim_bazooka_r() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("AIM_BAZOOKA_R")
    }
    /// C# member: `F:LibreMetaverse.Animations.AIM_BOW_L`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.AIM_BOW_L`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn aim_bow_l() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("AIM_BOW_L")
    }
    /// C# member: `F:LibreMetaverse.Animations.AIM_HANDGUN_R`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.AIM_HANDGUN_R`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn aim_handgun_r() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("AIM_HANDGUN_R")
    }
    /// C# member: `F:LibreMetaverse.Animations.AIM_RIFLE_R`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.AIM_RIFLE_R`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn aim_rifle_r() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("AIM_RIFLE_R")
    }
    /// C# member: `F:LibreMetaverse.Animations.ANGRY`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.ANGRY`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn angry() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("ANGRY")
    }
    /// C# member: `F:LibreMetaverse.Animations.AWAY`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.AWAY`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn away() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("AWAY")
    }
    /// C# member: `F:LibreMetaverse.Animations.BACKFLIP`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.BACKFLIP`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn backflip() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("BACKFLIP")
    }
    /// C# member: `F:LibreMetaverse.Animations.BELLY_LAUGH`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.BELLY_LAUGH`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn belly_laugh() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("BELLY_LAUGH")
    }
    /// C# member: `F:LibreMetaverse.Animations.BLOW_KISS`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.BLOW_KISS`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn blow_kiss() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("BLOW_KISS")
    }
    /// C# member: `F:LibreMetaverse.Animations.BORED`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.BORED`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn bored() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("BORED")
    }
    /// C# member: `F:LibreMetaverse.Animations.BOW`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.BOW`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn bow() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("BOW")
    }
    /// C# member: `F:LibreMetaverse.Animations.BRUSH`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.BRUSH`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn brush() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("BRUSH")
    }
    /// C# member: `F:LibreMetaverse.Animations.BUSY`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.BUSY`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn busy() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("BUSY")
    }
    /// C# member: `F:LibreMetaverse.Animations.CLAP`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.CLAP`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn clap() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("CLAP")
    }
    /// C# member: `F:LibreMetaverse.Animations.COURTBOW`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.COURTBOW`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn courtbow() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("COURTBOW")
    }
    /// C# member: `F:LibreMetaverse.Animations.CROUCH`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.CROUCH`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn crouch() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("CROUCH")
    }
    /// C# member: `F:LibreMetaverse.Animations.CROUCHWALK`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.CROUCHWALK`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn crouchwalk() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("CROUCHWALK")
    }
    /// C# member: `F:LibreMetaverse.Animations.CRY`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.CRY`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn cry() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("CRY")
    }
    /// C# member: `F:LibreMetaverse.Animations.CUSTOMIZE`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.CUSTOMIZE`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn customize() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("CUSTOMIZE")
    }
    /// C# member: `F:LibreMetaverse.Animations.CUSTOMIZE_DONE`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.CUSTOMIZE_DONE`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn customize_done() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("CUSTOMIZE_DONE")
    }
    /// C# member: `F:LibreMetaverse.Animations.DANCE1`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.DANCE1`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn dance1() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::dance1()
    }
    /// C# member: `F:LibreMetaverse.Animations.DANCE2`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.DANCE2`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn dance2() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("DANCE2")
    }
    /// C# member: `F:LibreMetaverse.Animations.DANCE3`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.DANCE3`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn dance3() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("DANCE3")
    }
    /// C# member: `F:LibreMetaverse.Animations.DANCE4`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.DANCE4`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn dance4() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("DANCE4")
    }
    /// C# member: `F:LibreMetaverse.Animations.DANCE5`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.DANCE5`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn dance5() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("DANCE5")
    }
    /// C# member: `F:LibreMetaverse.Animations.DANCE6`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.DANCE6`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn dance6() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("DANCE6")
    }
    /// C# member: `F:LibreMetaverse.Animations.DANCE7`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.DANCE7`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn dance7() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("DANCE7")
    }
    /// C# member: `F:LibreMetaverse.Animations.DANCE8`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.DANCE8`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn dance8() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("DANCE8")
    }
    /// C# member: `F:LibreMetaverse.Animations.DEAD`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.DEAD`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn dead() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("DEAD")
    }
    /// C# member: `F:LibreMetaverse.Animations.DRINK`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.DRINK`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn drink() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("DRINK")
    }
    /// C# member: `F:LibreMetaverse.Animations.EMBARRASSED`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.EMBARRASSED`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn embarrassed() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("EMBARRASSED")
    }
    /// C# member: `F:LibreMetaverse.Animations.EXPRESS_AFRAID`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.EXPRESS_AFRAID`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn express_afraid() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("EXPRESS_AFRAID")
    }
    /// C# member: `F:LibreMetaverse.Animations.EXPRESS_ANGER`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.EXPRESS_ANGER`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn express_anger() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("EXPRESS_ANGER")
    }
    /// C# member: `F:LibreMetaverse.Animations.EXPRESS_BORED`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.EXPRESS_BORED`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn express_bored() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("EXPRESS_BORED")
    }
    /// C# member: `F:LibreMetaverse.Animations.EXPRESS_CRY`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.EXPRESS_CRY`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn express_cry() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("EXPRESS_CRY")
    }
    /// C# member: `F:LibreMetaverse.Animations.EXPRESS_DISDAIN`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.EXPRESS_DISDAIN`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn express_disdain() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("EXPRESS_DISDAIN")
    }
    /// C# member: `F:LibreMetaverse.Animations.EXPRESS_EMBARRASSED`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.EXPRESS_EMBARRASSED`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn express_embarrassed() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("EXPRESS_EMBARRASSED")
    }
    /// C# member: `F:LibreMetaverse.Animations.EXPRESS_FROWN`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.EXPRESS_FROWN`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn express_frown() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("EXPRESS_FROWN")
    }
    /// C# member: `F:LibreMetaverse.Animations.EXPRESS_KISS`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.EXPRESS_KISS`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn express_kiss() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("EXPRESS_KISS")
    }
    /// C# member: `F:LibreMetaverse.Animations.EXPRESS_LAUGH`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.EXPRESS_LAUGH`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn express_laugh() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("EXPRESS_LAUGH")
    }
    /// C# member: `F:LibreMetaverse.Animations.EXPRESS_OPEN_MOUTH`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.EXPRESS_OPEN_MOUTH`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn express_open_mouth() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("EXPRESS_OPEN_MOUTH")
    }
    /// C# member: `F:LibreMetaverse.Animations.EXPRESS_REPULSED`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.EXPRESS_REPULSED`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn express_repulsed() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("EXPRESS_REPULSED")
    }
    /// C# member: `F:LibreMetaverse.Animations.EXPRESS_SAD`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.EXPRESS_SAD`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn express_sad() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("EXPRESS_SAD")
    }
    /// C# member: `F:LibreMetaverse.Animations.EXPRESS_SHRUG`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.EXPRESS_SHRUG`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn express_shrug() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("EXPRESS_SHRUG")
    }
    /// C# member: `F:LibreMetaverse.Animations.EXPRESS_SMILE`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.EXPRESS_SMILE`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn express_smile() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("EXPRESS_SMILE")
    }
    /// C# member: `F:LibreMetaverse.Animations.EXPRESS_SURPRISE`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.EXPRESS_SURPRISE`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn express_surprise() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("EXPRESS_SURPRISE")
    }
    /// C# member: `F:LibreMetaverse.Animations.EXPRESS_TONGUE_OUT`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.EXPRESS_TONGUE_OUT`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn express_tongue_out() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("EXPRESS_TONGUE_OUT")
    }
    /// C# member: `F:LibreMetaverse.Animations.EXPRESS_TOOTHSMILE`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.EXPRESS_TOOTHSMILE`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn express_toothsmile() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("EXPRESS_TOOTHSMILE")
    }
    /// C# member: `F:LibreMetaverse.Animations.EXPRESS_WINK`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.EXPRESS_WINK`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn express_wink() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("EXPRESS_WINK")
    }
    /// C# member: `F:LibreMetaverse.Animations.EXPRESS_WORRY`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.EXPRESS_WORRY`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn express_worry() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("EXPRESS_WORRY")
    }
    /// C# member: `F:LibreMetaverse.Animations.FALLDOWN`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.FALLDOWN`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn falldown() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("FALLDOWN")
    }
    /// C# member: `F:LibreMetaverse.Animations.FEMALE_WALK`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.FEMALE_WALK`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn female_walk() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("FEMALE_WALK")
    }
    /// C# member: `F:LibreMetaverse.Animations.FINGER_WAG`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.FINGER_WAG`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn finger_wag() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("FINGER_WAG")
    }
    /// C# member: `F:LibreMetaverse.Animations.FIST_PUMP`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.FIST_PUMP`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn fist_pump() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("FIST_PUMP")
    }
    /// C# member: `F:LibreMetaverse.Animations.FLY`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.FLY`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn fly() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("FLY")
    }
    /// C# member: `F:LibreMetaverse.Animations.FLYSLOW`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.FLYSLOW`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn flyslow() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("FLYSLOW")
    }
    /// C# member: `F:LibreMetaverse.Animations.HELLO`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.HELLO`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn hello() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("HELLO")
    }
    /// C# member: `F:LibreMetaverse.Animations.HOLD_BAZOOKA_R`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.HOLD_BAZOOKA_R`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn hold_bazooka_r() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("HOLD_BAZOOKA_R")
    }
    /// C# member: `F:LibreMetaverse.Animations.HOLD_BOW_L`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.HOLD_BOW_L`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn hold_bow_l() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("HOLD_BOW_L")
    }
    /// C# member: `F:LibreMetaverse.Animations.HOLD_HANDGUN_R`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.HOLD_HANDGUN_R`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn hold_handgun_r() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("HOLD_HANDGUN_R")
    }
    /// C# member: `F:LibreMetaverse.Animations.HOLD_RIFLE_R`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.HOLD_RIFLE_R`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn hold_rifle_r() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("HOLD_RIFLE_R")
    }
    /// C# member: `F:LibreMetaverse.Animations.HOLD_THROW_R`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.HOLD_THROW_R`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn hold_throw_r() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("HOLD_THROW_R")
    }
    /// C# member: `F:LibreMetaverse.Animations.HOVER`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.HOVER`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn hover() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("HOVER")
    }
    /// C# member: `F:LibreMetaverse.Animations.HOVER_DOWN`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.HOVER_DOWN`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn hover_down() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("HOVER_DOWN")
    }
    /// C# member: `F:LibreMetaverse.Animations.HOVER_UP`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.HOVER_UP`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn hover_up() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("HOVER_UP")
    }
    /// C# member: `F:LibreMetaverse.Animations.IMPATIENT`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.IMPATIENT`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn impatient() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("IMPATIENT")
    }
    /// C# member: `F:LibreMetaverse.Animations.JUMP`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.JUMP`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn jump() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("JUMP")
    }
    /// C# member: `F:LibreMetaverse.Animations.JUMP_FOR_JOY`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.JUMP_FOR_JOY`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn jump_for_joy() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("JUMP_FOR_JOY")
    }
    /// C# member: `F:LibreMetaverse.Animations.KISS_MY_BUTT`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.KISS_MY_BUTT`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn kiss_my_butt() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("KISS_MY_BUTT")
    }
    /// C# member: `F:LibreMetaverse.Animations.LAND`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.LAND`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn land() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("LAND")
    }
    /// C# member: `F:LibreMetaverse.Animations.LAUGH_SHORT`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.LAUGH_SHORT`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn laugh_short() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("LAUGH_SHORT")
    }
    /// C# member: `F:LibreMetaverse.Animations.MEDIUM_LAND`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.MEDIUM_LAND`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn medium_land() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("MEDIUM_LAND")
    }
    /// C# member: `F:LibreMetaverse.Animations.MOTORCYCLE_SIT`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.MOTORCYCLE_SIT`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn motorcycle_sit() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("MOTORCYCLE_SIT")
    }
    /// C# member: `F:LibreMetaverse.Animations.MUSCLE_BEACH`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.MUSCLE_BEACH`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn muscle_beach() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("MUSCLE_BEACH")
    }
    /// C# member: `F:LibreMetaverse.Animations.NO`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.NO`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn no() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("NO")
    }
    /// C# member: `F:LibreMetaverse.Animations.NO_UNHAPPY`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.NO_UNHAPPY`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn no_unhappy() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("NO_UNHAPPY")
    }
    /// C# member: `F:LibreMetaverse.Animations.NYAH_NYAH`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.NYAH_NYAH`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn nyah_nyah() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("NYAH_NYAH")
    }
    /// C# member: `F:LibreMetaverse.Animations.ONETWO_PUNCH`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.ONETWO_PUNCH`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn onetwo_punch() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("ONETWO_PUNCH")
    }
    /// C# member: `F:LibreMetaverse.Animations.PEACE`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.PEACE`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn peace() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("PEACE")
    }
    /// C# member: `F:LibreMetaverse.Animations.POINT_ME`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.POINT_ME`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn point_me() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("POINT_ME")
    }
    /// C# member: `F:LibreMetaverse.Animations.POINT_YOU`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.POINT_YOU`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn point_you() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("POINT_YOU")
    }
    /// C# member: `F:LibreMetaverse.Animations.PRE_JUMP`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.PRE_JUMP`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn pre_jump() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("PRE_JUMP")
    }
    /// C# member: `F:LibreMetaverse.Animations.PUNCH_LEFT`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.PUNCH_LEFT`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn punch_left() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("PUNCH_LEFT")
    }
    /// C# member: `F:LibreMetaverse.Animations.PUNCH_RIGHT`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.PUNCH_RIGHT`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn punch_right() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("PUNCH_RIGHT")
    }
    /// C# member: `F:LibreMetaverse.Animations.REPULSED`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.REPULSED`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn repulsed() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("REPULSED")
    }
    /// C# member: `F:LibreMetaverse.Animations.ROUNDHOUSE_KICK`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.ROUNDHOUSE_KICK`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn roundhouse_kick() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("ROUNDHOUSE_KICK")
    }
    /// C# member: `F:LibreMetaverse.Animations.RPS_COUNTDOWN`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.RPS_COUNTDOWN`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn rps_countdown() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("RPS_COUNTDOWN")
    }
    /// C# member: `F:LibreMetaverse.Animations.RPS_PAPER`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.RPS_PAPER`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn rps_paper() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("RPS_PAPER")
    }
    /// C# member: `F:LibreMetaverse.Animations.RPS_ROCK`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.RPS_ROCK`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn rps_rock() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("RPS_ROCK")
    }
    /// C# member: `F:LibreMetaverse.Animations.RPS_SCISSORS`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.RPS_SCISSORS`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn rps_scissors() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("RPS_SCISSORS")
    }
    /// C# member: `F:LibreMetaverse.Animations.RUN`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.RUN`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn run() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("RUN")
    }
    /// C# member: `F:LibreMetaverse.Animations.SAD`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.SAD`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn sad() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("SAD")
    }
    /// C# member: `F:LibreMetaverse.Animations.SALUTE`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.SALUTE`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn salute() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("SALUTE")
    }
    /// C# member: `F:LibreMetaverse.Animations.SHOOT_BOW_L`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.SHOOT_BOW_L`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn shoot_bow_l() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("SHOOT_BOW_L")
    }
    /// C# member: `F:LibreMetaverse.Animations.SHOUT`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.SHOUT`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn shout() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("SHOUT")
    }
    /// C# member: `F:LibreMetaverse.Animations.SHRUG`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.SHRUG`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn shrug() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("SHRUG")
    }
    /// C# member: `F:LibreMetaverse.Animations.SIT`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.SIT`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn sit() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("SIT")
    }
    /// C# member: `F:LibreMetaverse.Animations.SIT_FEMALE`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.SIT_FEMALE`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn sit_female() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("SIT_FEMALE")
    }
    /// C# member: `F:LibreMetaverse.Animations.SIT_GENERIC`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.SIT_GENERIC`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn sit_generic() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("SIT_GENERIC")
    }
    /// C# member: `F:LibreMetaverse.Animations.SIT_GROUND`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.SIT_GROUND`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn sit_ground() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("SIT_GROUND")
    }
    /// C# member: `F:LibreMetaverse.Animations.SIT_GROUND_staticRAINED`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.SIT_GROUND_staticRAINED`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn sit_ground_static_rained() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("SIT_GROUND_staticRAINED")
    }
    /// C# member: `F:LibreMetaverse.Animations.SIT_TO_STAND`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.SIT_TO_STAND`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn sit_to_stand() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("SIT_TO_STAND")
    }
    /// C# member: `F:LibreMetaverse.Animations.SLEEP`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.SLEEP`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn sleep() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("SLEEP")
    }
    /// C# member: `F:LibreMetaverse.Animations.SMOKE_IDLE`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.SMOKE_IDLE`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn smoke_idle() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("SMOKE_IDLE")
    }
    /// C# member: `F:LibreMetaverse.Animations.SMOKE_INHALE`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.SMOKE_INHALE`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn smoke_inhale() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("SMOKE_INHALE")
    }
    /// C# member: `F:LibreMetaverse.Animations.SMOKE_THROW_DOWN`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.SMOKE_THROW_DOWN`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn smoke_throw_down() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("SMOKE_THROW_DOWN")
    }
    /// C# member: `F:LibreMetaverse.Animations.SNAPSHOT`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.SNAPSHOT`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn snapshot() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("SNAPSHOT")
    }
    /// C# member: `F:LibreMetaverse.Animations.STAND`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.STAND`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn stand() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("STAND")
    }
    /// C# member: `F:LibreMetaverse.Animations.STANDUP`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.STANDUP`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn standup() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("STANDUP")
    }
    /// C# member: `F:LibreMetaverse.Animations.STAND_1`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.STAND_1`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn stand_1() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("STAND_1")
    }
    /// C# member: `F:LibreMetaverse.Animations.STAND_2`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.STAND_2`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn stand_2() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("STAND_2")
    }
    /// C# member: `F:LibreMetaverse.Animations.STAND_3`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.STAND_3`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn stand_3() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("STAND_3")
    }
    /// C# member: `F:LibreMetaverse.Animations.STAND_4`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.STAND_4`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn stand_4() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("STAND_4")
    }
    /// C# member: `F:LibreMetaverse.Animations.STRETCH`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.STRETCH`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn stretch() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("STRETCH")
    }
    /// C# member: `F:LibreMetaverse.Animations.STRIDE`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.STRIDE`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn stride() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("STRIDE")
    }
    /// C# member: `F:LibreMetaverse.Animations.SURF`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.SURF`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn surf() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("SURF")
    }
    /// C# member: `F:LibreMetaverse.Animations.SURPRISE`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.SURPRISE`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn surprise() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("SURPRISE")
    }
    /// C# member: `F:LibreMetaverse.Animations.SWORD_STRIKE`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.SWORD_STRIKE`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn sword_strike() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("SWORD_STRIKE")
    }
    /// C# member: `F:LibreMetaverse.Animations.TALK`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.TALK`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn talk() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("TALK")
    }
    /// C# member: `F:LibreMetaverse.Animations.TANTRUM`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.TANTRUM`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn tantrum() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("TANTRUM")
    }
    /// C# member: `F:LibreMetaverse.Animations.THROW_R`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.THROW_R`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn throw_r() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("THROW_R")
    }
    /// C# member: `F:LibreMetaverse.Animations.TRYON_SHIRT`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.TRYON_SHIRT`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn tryon_shirt() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("TRYON_SHIRT")
    }
    /// C# member: `F:LibreMetaverse.Animations.TURNLEFT`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.TURNLEFT`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn turnleft() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("TURNLEFT")
    }
    /// C# member: `F:LibreMetaverse.Animations.TURNRIGHT`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.TURNRIGHT`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn turnright() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("TURNRIGHT")
    }
    /// C# member: `F:LibreMetaverse.Animations.TYPE`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.TYPE`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn type_() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("TYPE")
    }
    /// C# member: `F:LibreMetaverse.Animations.WALK`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.WALK`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn walk() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("WALK")
    }
    /// C# member: `F:LibreMetaverse.Animations.WHISPER`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.WHISPER`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn whisper() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("WHISPER")
    }
    /// C# member: `F:LibreMetaverse.Animations.WHISTLE`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.WHISTLE`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn whistle() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("WHISTLE")
    }
    /// C# member: `F:LibreMetaverse.Animations.WINK`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.WINK`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn wink() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("WINK")
    }
    /// C# member: `F:LibreMetaverse.Animations.WINK_HOLLYWOOD`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.WINK_HOLLYWOOD`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn wink_hollywood() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("WINK_HOLLYWOOD")
    }
    /// C# member: `F:LibreMetaverse.Animations.WORRY`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.WORRY`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn worry() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("WORRY")
    }
    /// C# member: `F:LibreMetaverse.Animations.YES`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.YES`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn yes() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("YES")
    }
    /// C# member: `F:LibreMetaverse.Animations.YES_HAPPY`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.YES_HAPPY`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn yes_happy() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("YES_HAPPY")
    }
    /// C# member: `F:LibreMetaverse.Animations.YOGA_FLOAT`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animations.YOGA_FLOAT`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn yoga_float() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::animation::builtin_animation("YOGA_FLOAT")
    }
    /// C# member: `M:LibreMetaverse.Animations.ToDictionary`.
    ///
    /// C# signature: `System.Collections.Frozen.FrozenDictionary<LibreMetaverse.UUID, System.String> LibreMetaverse.Animations.ToDictionary()`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn to_dictionary() -> Result<
        libremetaverse_types::compat::FrozenDictionary<libremetaverse_types::UUID, String>,
        crate::Error,
    > {
        /* reviewed native compatibility body */
        Ok(libremetaverse_types::compat::FrozenDictionary(
            crate::animation::builtin_animations(),
        ))
    }
}

/// C# type: `T:LibreMetaverse.AnimationsChangedEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.AnimationsChangedEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.AnimationsChangedEventArgs.#ctor(System.Collections.Generic.IReadOnlyDictionary{LibreMetaverse.UUID,System.Int32})`.
///
/// C# signature: `LibreMetaverse.AnimationsChangedEventArgs(System.Collections.Generic.IReadOnlyDictionary<LibreMetaverse.UUID, System.Int32> agentAnimations)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.AnimationsChangedEventArgs.Animations`.
///
/// C# signature: `System.Collections.Generic.IReadOnlyDictionary<LibreMetaverse.UUID, System.Int32> LibreMetaverse.AnimationsChangedEventArgs.Animations`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::agent_messages::AnimationsChangedEventArgs;

/// C# type: `T:LibreMetaverse.AnimeshSkinning`.
///
/// Native Rust mapping of C# `LibreMetaverse.AnimeshSkinning` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
pub use crate::animesh_skinning::AnimeshSkinning;
impl AnimeshSkinning {
    /// C# member: `M:LibreMetaverse.AnimeshSkinning.ComputeSkinningMatrices(System.Collections.Generic.Dictionary{System.String,LibreMetaverse.Animesh.JointPose},LibreMetaverse.Rendering.LindenSkeleton,LibreMetaverse.Rendering.MeshSkinData)`.
    ///
    /// C# signature: `LibreMetaverse.Matrix4[] LibreMetaverse.AnimeshSkinning.ComputeSkinningMatrices(System.Collections.Generic.Dictionary<System.String, LibreMetaverse.Animesh.JointPose> pose, LibreMetaverse.Rendering.LindenSkeleton skeleton, LibreMetaverse.Rendering.MeshSkinData skinData)`.
    /// Mapping contract: ownership `optional_owned,optional_owned,optional_owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn compute_skinning_matrices(
        pose: Option<std::collections::HashMap<String, libremetaverse::animesh::JointPose>>,
        skeleton: Option<libremetaverse::rendering::LindenSkeleton>,
        skin_data: Option<libremetaverse::rendering::MeshSkinData>,
    ) -> Result<Vec<libremetaverse_types::Matrix4>, crate::Error> {
        /* reviewed native compatibility body */
        crate::animesh_skinning::AnimeshSkinning::native_compute_skinning_matrices(
            pose, skeleton, skin_data,
        )
    }
    /// C# member: `M:LibreMetaverse.AnimeshSkinning.DeformVertices(LibreMetaverse.Rendering.Face,LibreMetaverse.Matrix4[],LibreMetaverse.Matrix4,System.Span{LibreMetaverse.Vector3},System.Span{LibreMetaverse.Vector3})`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AnimeshSkinning.DeformVertices(LibreMetaverse.Rendering.Face face, LibreMetaverse.Matrix4[] skinningMatrices, LibreMetaverse.Matrix4 bindShapeMatrix, System.Span<LibreMetaverse.Vector3> outPositions, System.Span<LibreMetaverse.Vector3> outNormals = default)`.
    /// Mapping contract: ownership `owned,owned,owned,mutable_borrow,optional_mutable_borrow`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn deform_vertices(
        face: libremetaverse::rendering::Face,
        skinning_matrices: Vec<libremetaverse_types::Matrix4>,
        bind_shape_matrix: libremetaverse_types::Matrix4,
        out_positions: &mut [libremetaverse_types::Vector3],
        out_normals: Option<&mut [libremetaverse_types::Vector3]>,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        crate::animesh_skinning::AnimeshSkinning::native_deform_vertices(
            face,
            skinning_matrices,
            bind_shape_matrix,
            out_positions,
            out_normals,
        )
    }
}

/// C# type: `T:LibreMetaverse.AppearanceFlags`.
///
/// Native Rust mapping of C# `LibreMetaverse.AppearanceFlags` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(transparent)]
pub struct AppearanceFlags(pub u32);
impl AppearanceFlags {
    /// C# member: `F:LibreMetaverse.AppearanceFlags.None`.
    ///
    /// C# signature: `LibreMetaverse.AppearanceFlags LibreMetaverse.AppearanceFlags.None`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const NONE: Self = Self(0);
}

/// C# type: `T:LibreMetaverse.AppearanceManager`.
///
/// Native Rust mapping of C# `LibreMetaverse.AppearanceManager` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
pub use crate::appearance_manager::AppearanceManager;
/// C# member: `F:LibreMetaverse.AppearanceManager.MyTextures`.
///
/// C# signature: `LibreMetaverse.Primitive.TextureEntry LibreMetaverse.AppearanceManager.MyTextures`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.AppearanceManager.MyVisualParameters`.
///
/// C# signature: `System.Byte[] LibreMetaverse.AppearanceManager.MyVisualParameters`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
impl AppearanceManager {
    /// C# member: `E:LibreMetaverse.AppearanceManager.AgentWearablesReply`.
    ///
    /// C# signature: `System.EventHandler<LibreMetaverse.AgentWearablesReplyEventArgs> LibreMetaverse.AppearanceManager.AgentWearablesReply`.
    /// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
    pub fn subscribe_agent_wearables_reply(
        &self,
        handler: libremetaverse_types::compat::EventHandler<
            libremetaverse::AgentWearablesReplyEventArgs,
        >,
    ) -> libremetaverse_types::compat::Subscription {
        /* reviewed native compatibility body */
        self.native_subscribe_agent_wearables_reply(handler)
    }
    /// C# member: `E:LibreMetaverse.AppearanceManager.AppearanceSet`.
    ///
    /// C# signature: `System.EventHandler<LibreMetaverse.AppearanceSetEventArgs> LibreMetaverse.AppearanceManager.AppearanceSet`.
    /// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
    pub fn subscribe_appearance_set(
        &self,
        handler: libremetaverse_types::compat::EventHandler<libremetaverse::AppearanceSetEventArgs>,
    ) -> libremetaverse_types::compat::Subscription {
        /* reviewed native compatibility body */
        self.native_subscribe_appearance_set(handler)
    }
    /// C# member: `E:LibreMetaverse.AppearanceManager.CachedBakesReply`.
    ///
    /// C# signature: `System.EventHandler<LibreMetaverse.AgentCachedBakesReplyEventArgs> LibreMetaverse.AppearanceManager.CachedBakesReply`.
    /// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
    pub fn subscribe_cached_bakes_reply(
        &self,
        handler: libremetaverse_types::compat::EventHandler<
            libremetaverse::AgentCachedBakesReplyEventArgs,
        >,
    ) -> libremetaverse_types::compat::Subscription {
        /* reviewed native compatibility body */
        self.native_subscribe_cached_bakes_reply(handler)
    }
    /// C# member: `E:LibreMetaverse.AppearanceManager.RebakeAvatarRequested`.
    ///
    /// C# signature: `System.EventHandler<LibreMetaverse.RebakeAvatarTexturesEventArgs> LibreMetaverse.AppearanceManager.RebakeAvatarRequested`.
    /// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
    pub fn subscribe_rebake_avatar_requested(
        &self,
        handler: libremetaverse_types::compat::EventHandler<
            libremetaverse::RebakeAvatarTexturesEventArgs,
        >,
    ) -> libremetaverse_types::compat::Subscription {
        /* reviewed native compatibility body */
        self.native_subscribe_rebake_avatar_requested(handler)
    }
    /// C# member: `F:LibreMetaverse.AppearanceManager.ATTACHMENT_ADD`.
    ///
    /// C# signature: `System.Byte LibreMetaverse.AppearanceManager.ATTACHMENT_ADD`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn attachment_add() -> u8 {
        /* reviewed native compatibility body */
        crate::appearance_manager::ATTACHMENT_ADD
    }
    /// C# member: `F:LibreMetaverse.AppearanceManager.BAKED_TEXTURE_COUNT`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.AppearanceManager.BAKED_TEXTURE_COUNT`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const BAKED_TEXTURE_COUNT: i32 = 11;
    /// C# member: `F:LibreMetaverse.AppearanceManager.BAKED_TEXTURE_HASH`.
    ///
    /// C# signature: `LibreMetaverse.UUID[] LibreMetaverse.AppearanceManager.BAKED_TEXTURE_HASH`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn baked_texture_hash() -> Vec<libremetaverse_types::UUID> {
        /* reviewed native compatibility body */
        crate::appearance_manager::baked_texture_hash()
    }
    /// C# member: `F:LibreMetaverse.AppearanceManager.BakeIndexToTextureIndex`.
    ///
    /// C# signature: `System.Byte[] LibreMetaverse.AppearanceManager.BakeIndexToTextureIndex`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn bake_index_to_texture_index() -> Vec<u8> {
        /* reviewed native compatibility body */
        crate::appearance_manager::bake_index_to_texture_index()
    }
    /// C# member: `F:LibreMetaverse.AppearanceManager.DEFAULT_AVATAR_TEXTURE`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.AppearanceManager.DEFAULT_AVATAR_TEXTURE`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn default_avatar_texture() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::appearance_manager::default_avatar_texture()
    }
    /// C# member: `F:LibreMetaverse.AppearanceManager.IMG_USE_BAKED_AUX1`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.AppearanceManager.IMG_USE_BAKED_AUX1`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn img_use_baked_aux1() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::appearance_manager::img_use_baked(crate::BakeType::BakedAux1)
    }
    /// C# member: `F:LibreMetaverse.AppearanceManager.IMG_USE_BAKED_AUX2`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.AppearanceManager.IMG_USE_BAKED_AUX2`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn img_use_baked_aux2() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::appearance_manager::img_use_baked(crate::BakeType::BakedAux2)
    }
    /// C# member: `F:LibreMetaverse.AppearanceManager.IMG_USE_BAKED_AUX3`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.AppearanceManager.IMG_USE_BAKED_AUX3`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn img_use_baked_aux3() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::appearance_manager::img_use_baked(crate::BakeType::BakedAux3)
    }
    /// C# member: `F:LibreMetaverse.AppearanceManager.IMG_USE_BAKED_EYES`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.AppearanceManager.IMG_USE_BAKED_EYES`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn img_use_baked_eyes() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::appearance_manager::img_use_baked(crate::BakeType::Eyes)
    }
    /// C# member: `F:LibreMetaverse.AppearanceManager.IMG_USE_BAKED_HAIR`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.AppearanceManager.IMG_USE_BAKED_HAIR`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn img_use_baked_hair() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::appearance_manager::img_use_baked(crate::BakeType::Hair)
    }
    /// C# member: `F:LibreMetaverse.AppearanceManager.IMG_USE_BAKED_HEAD`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.AppearanceManager.IMG_USE_BAKED_HEAD`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn img_use_baked_head() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::appearance_manager::img_use_baked(crate::BakeType::Head)
    }
    /// C# member: `F:LibreMetaverse.AppearanceManager.IMG_USE_BAKED_INDICES`.
    ///
    /// C# signature: `System.Collections.Frozen.FrozenDictionary<LibreMetaverse.UUID, LibreMetaverse.AvatarTextureIndex> LibreMetaverse.AppearanceManager.IMG_USE_BAKED_INDICES`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn img_use_baked_indices() -> libremetaverse_types::compat::FrozenDictionary<
        libremetaverse_types::UUID,
        libremetaverse::AvatarTextureIndex,
    > {
        /* reviewed native compatibility body */
        crate::appearance_manager::img_use_baked_indices()
    }
    /// C# member: `F:LibreMetaverse.AppearanceManager.IMG_USE_BAKED_LEFTARM`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.AppearanceManager.IMG_USE_BAKED_LEFTARM`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn img_use_baked_leftarm() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::appearance_manager::img_use_baked(crate::BakeType::BakedLeftArm)
    }
    /// C# member: `F:LibreMetaverse.AppearanceManager.IMG_USE_BAKED_LEFTLEG`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.AppearanceManager.IMG_USE_BAKED_LEFTLEG`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn img_use_baked_leftleg() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::appearance_manager::img_use_baked(crate::BakeType::BakedLeftLeg)
    }
    /// C# member: `F:LibreMetaverse.AppearanceManager.IMG_USE_BAKED_LOWER`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.AppearanceManager.IMG_USE_BAKED_LOWER`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn img_use_baked_lower() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::appearance_manager::img_use_baked(crate::BakeType::LowerBody)
    }
    /// C# member: `F:LibreMetaverse.AppearanceManager.IMG_USE_BAKED_SKIRT`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.AppearanceManager.IMG_USE_BAKED_SKIRT`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn img_use_baked_skirt() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::appearance_manager::img_use_baked(crate::BakeType::Skirt)
    }
    /// C# member: `F:LibreMetaverse.AppearanceManager.IMG_USE_BAKED_UPPER`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.AppearanceManager.IMG_USE_BAKED_UPPER`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn img_use_baked_upper() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::appearance_manager::img_use_baked(crate::BakeType::UpperBody)
    }
    /// C# member: `F:LibreMetaverse.AppearanceManager.WEARABLES_PER_LAYER`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.AppearanceManager.WEARABLES_PER_LAYER`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const WEARABLES_PER_LAYER: i32 = 9;
    /// C# member: `F:LibreMetaverse.AppearanceManager.WEARABLE_BAKE_MAP`.
    ///
    /// C# signature: `LibreMetaverse.WearableType[][] LibreMetaverse.AppearanceManager.WEARABLE_BAKE_MAP`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn wearable_bake_map() -> Vec<Vec<libremetaverse_types::WearableType>> {
        /* reviewed native compatibility body */
        crate::appearance_manager::wearable_bake_map()
    }
    /// C# member: `F:LibreMetaverse.AppearanceManager.WEARABLE_COUNT`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.AppearanceManager.WEARABLE_COUNT`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const WEARABLE_COUNT: i32 = 16;
    /// C# member: `F:LibreMetaverse.AppearanceManager.WEARABLE_COUNT_MAX`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.AppearanceManager.WEARABLE_COUNT_MAX`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const WEARABLE_COUNT_MAX: i32 = 60;
    /// C# member: `M:LibreMetaverse.AppearanceManager.#ctor(LibreMetaverse.GridClient)`.
    ///
    /// C# signature: `LibreMetaverse.AppearanceManager(LibreMetaverse.GridClient client)`.
    /// Mapping contract: ownership `optional_shared`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn new(
        client: Option<std::sync::Arc<libremetaverse::GridClient>>,
    ) -> Result<Self, crate::Error> {
        /* reviewed native compatibility body */
        crate::appearance_manager::AppearanceManager::native_new(client)
    }
    /// C# member: `M:LibreMetaverse.AppearanceManager.AddAttachments(System.Collections.Generic.List{LibreMetaverse.InventoryItem},System.Boolean,System.Boolean)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AppearanceManager.AddAttachments(System.Collections.Generic.List<LibreMetaverse.InventoryItem> attachments, System.Boolean removeExistingFirst, System.Boolean replace = default)`.
    /// Mapping contract: ownership `shared_self,owned,owned,optional_owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn add_attachments(
        &self,
        attachments: Vec<libremetaverse::InventoryItem>,
        remove_existing_first: bool,
        replace: Option<bool>,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_add_attachments(attachments, remove_existing_first, replace.unwrap_or(false))
    }
    /// C# member: `M:LibreMetaverse.AppearanceManager.AddToOutfit(LibreMetaverse.InventoryItem,System.Boolean)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AppearanceManager.AddToOutfit(LibreMetaverse.InventoryItem wearableItem, System.Boolean replace = default)`.
    /// Mapping contract: ownership `shared_self,owned,optional_owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub fn add_to_outfit_with_inventory_item_boolean(
        &self,
        wearable_item: libremetaverse::InventoryItem,
        replace: Option<bool>,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_add_to_outfit(vec![wearable_item], replace.unwrap_or(false))
    }
    /// C# member: `M:LibreMetaverse.AppearanceManager.AddToOutfit(System.Collections.Generic.List{LibreMetaverse.InventoryItem},System.Boolean)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AppearanceManager.AddToOutfit(System.Collections.Generic.List<LibreMetaverse.InventoryItem> wearableItems, System.Boolean replace = default)`.
    /// Mapping contract: ownership `shared_self,owned,optional_owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub fn add_to_outfit_with_list_boolean(
        &self,
        wearable_items: Vec<libremetaverse::InventoryItem>,
        replace: Option<bool>,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_add_to_outfit(wearable_items, replace.unwrap_or(false))
    }
    /// C# member: `M:LibreMetaverse.AppearanceManager.ApplyArchetype(LibreMetaverse.GenepoolArchetype)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task LibreMetaverse.AppearanceManager.ApplyArchetype(LibreMetaverse.GenepoolArchetype archetype)`.
    /// Mapping contract: ownership `shared_self,owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn apply_archetype(
        &self,
        archetype: libremetaverse::GenepoolArchetype,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_apply_archetype(archetype).await
    }
    /// C# member: `M:LibreMetaverse.AppearanceManager.Attach(LibreMetaverse.InventoryItem,LibreMetaverse.AttachmentPoint,System.Boolean)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AppearanceManager.Attach(LibreMetaverse.InventoryItem item, LibreMetaverse.AttachmentPoint attachPoint, System.Boolean replace = default)`.
    /// Mapping contract: ownership `shared_self,owned,owned,optional_owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub fn attach_with_inventory_item_attachment_point_boolean(
        &self,
        item: libremetaverse::InventoryItem,
        attach_point: libremetaverse_types::AttachmentPoint,
        replace: Option<bool>,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_attach(item, attach_point, replace.unwrap_or(false))
    }
    /// C# member: `M:LibreMetaverse.AppearanceManager.Attach(LibreMetaverse.UUID,LibreMetaverse.UUID,System.String,System.String,LibreMetaverse.Permissions,System.UInt32,LibreMetaverse.AttachmentPoint,System.Boolean)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AppearanceManager.Attach(LibreMetaverse.UUID itemID, LibreMetaverse.UUID ownerID, System.String name, System.String description, LibreMetaverse.Permissions perms, System.UInt32 itemFlags, LibreMetaverse.AttachmentPoint attachPoint, System.Boolean replace = default)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,owned,owned,owned,owned,optional_owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub fn attach_with_uuid_uuid_string_string_permissions_u_int32_attachment_point_boolean(
        &self,
        item_id: libremetaverse_types::UUID,
        owner_id: libremetaverse_types::UUID,
        name: String,
        description: String,
        perms: libremetaverse::Permissions,
        item_flags: u32,
        attach_point: libremetaverse_types::AttachmentPoint,
        replace: Option<bool>,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_attach_fields(
            item_id,
            owner_id,
            name,
            description,
            perms,
            item_flags,
            attach_point,
            replace.unwrap_or(false),
        )
    }
    /// C# member: `M:LibreMetaverse.AppearanceManager.BakeTypeToAgentTextureIndex(LibreMetaverse.BakeType)`.
    ///
    /// C# signature: `LibreMetaverse.AvatarTextureIndex LibreMetaverse.AppearanceManager.BakeTypeToAgentTextureIndex(LibreMetaverse.BakeType index)`.
    /// Mapping contract: ownership `owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn bake_type_to_agent_texture_index(
        index: libremetaverse::BakeType,
    ) -> Result<libremetaverse::AvatarTextureIndex, crate::Error> {
        /* reviewed native compatibility body */
        Ok(crate::appearance_manager::bake_type_to_agent_texture_index(
            index,
        ))
    }
    /// C# member: `M:LibreMetaverse.AppearanceManager.BakeTypeToTextures(LibreMetaverse.BakeType)`.
    ///
    /// C# signature: `System.Collections.Generic.List<LibreMetaverse.AvatarTextureIndex> LibreMetaverse.AppearanceManager.BakeTypeToTextures(LibreMetaverse.BakeType bakeType)`.
    /// Mapping contract: ownership `owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn bake_type_to_textures(
        bake_type: libremetaverse::BakeType,
    ) -> Result<Vec<libremetaverse::AvatarTextureIndex>, crate::Error> {
        /* reviewed native compatibility body */
        Ok(crate::appearance_manager::bake_type_to_textures(bake_type))
    }
    /// C# member: `M:LibreMetaverse.AppearanceManager.BlendToArchetype(LibreMetaverse.GenepoolArchetype,System.Single)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task LibreMetaverse.AppearanceManager.BlendToArchetype(LibreMetaverse.GenepoolArchetype archetype, System.Single t)`.
    /// Mapping contract: ownership `shared_self,owned,owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn blend_to_archetype(
        &self,
        archetype: libremetaverse::GenepoolArchetype,
        t: f32,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_blend_to_archetype(archetype, t).await
    }
    /// C# member: `M:LibreMetaverse.AppearanceManager.DecodeWearableParams(LibreMetaverse.AppearanceManager.WearableData,LibreMetaverse.AppearanceManager.TextureData[]@)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AppearanceManager.DecodeWearableParams(LibreMetaverse.AppearanceManager.WearableData wearable, ref LibreMetaverse.AppearanceManager.TextureData[]& textures)`.
    /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn decode_wearable_params(
        wearable: libremetaverse::AppearanceManagerWearableData,
        textures: &mut Vec<libremetaverse::AppearanceManagerTextureData>,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        crate::appearance_manager::decode_wearable_params(wearable, textures)
    }
    /// C# member: `M:LibreMetaverse.AppearanceManager.Detach(LibreMetaverse.InventoryItem)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AppearanceManager.Detach(LibreMetaverse.InventoryItem item)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub fn detach_with_inventory_item(
        &self,
        item: libremetaverse::InventoryItem,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_detach(item.base.uuid())
    }
    /// C# member: `M:LibreMetaverse.AppearanceManager.Detach(LibreMetaverse.UUID)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AppearanceManager.Detach(LibreMetaverse.UUID itemID)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub fn detach_with_uuid(
        &self,
        item_id: libremetaverse_types::UUID,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_detach(item_id)
    }
    /// C# member: `M:LibreMetaverse.AppearanceManager.Dispose`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AppearanceManager.Dispose()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn dispose(&self) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_dispose()
    }
    /// C# member: `M:LibreMetaverse.AppearanceManager.GetAttachments`.
    ///
    /// C# signature: `System.Collections.Generic.IEnumerable<LibreMetaverse.InventoryItem> LibreMetaverse.AppearanceManager.GetAttachments()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn get_attachments(
        &self,
    ) -> Result<Box<dyn Iterator<Item = libremetaverse::InventoryItem>>, crate::Error> {
        /* reviewed native compatibility body */
        self.native_get_attachments()
    }
    /// C# member: `M:LibreMetaverse.AppearanceManager.GetAttachmentsByAttachmentPointAsync(System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<LibreMetaverse.MultiValueDictionary<LibreMetaverse.AttachmentPoint, LibreMetaverse.InventoryItem>> LibreMetaverse.AppearanceManager.GetAttachmentsByAttachmentPointAsync(System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn get_attachments_by_attachment_point(
        &self,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<
        libremetaverse_types::MultiValueDictionary<
            libremetaverse_types::AttachmentPoint,
            libremetaverse::InventoryItem,
        >,
        crate::Error,
    > {
        /* reviewed native compatibility body */
        self.native_get_attachments_by_point(cancellation_token)
            .await
    }
    /// C# member: `M:LibreMetaverse.AppearanceManager.GetAttachmentsByInventoryItem`.
    ///
    /// C# signature: `System.Collections.Generic.Dictionary<LibreMetaverse.InventoryItem, LibreMetaverse.AttachmentPoint> LibreMetaverse.AppearanceManager.GetAttachmentsByInventoryItem()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn get_attachments_by_inventory_item(
        &self,
    ) -> Result<
        std::collections::HashMap<
            libremetaverse::InventoryItem,
            libremetaverse_types::AttachmentPoint,
        >,
        crate::Error,
    > {
        /* reviewed native compatibility body */
        self.native_get_attachments_by_item()
    }
    /// C# member: `M:LibreMetaverse.AppearanceManager.GetAttachmentsByItemId`.
    ///
    /// C# signature: `System.Collections.Generic.Dictionary<LibreMetaverse.UUID, LibreMetaverse.AttachmentPoint> LibreMetaverse.AppearanceManager.GetAttachmentsByItemId()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn get_attachments_by_item_id(
        &self,
    ) -> Result<
        std::collections::HashMap<
            libremetaverse_types::UUID,
            libremetaverse_types::AttachmentPoint,
        >,
        crate::Error,
    > {
        /* reviewed native compatibility body */
        self.native_get_attachments_by_id()
    }
    /// C# member: `M:LibreMetaverse.AppearanceManager.GetColorFromParams(System.Collections.Generic.List{LibreMetaverse.AppearanceManager.ColorParamInfo})`.
    ///
    /// C# signature: `LibreMetaverse.Color4 LibreMetaverse.AppearanceManager.GetColorFromParams(System.Collections.Generic.List<LibreMetaverse.AppearanceManager.ColorParamInfo> param)`.
    /// Mapping contract: ownership `owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn get_color_from_params(
        param: Vec<libremetaverse::AppearanceManagerColorParamInfo>,
    ) -> Result<libremetaverse_types::Color4, crate::Error> {
        /* reviewed native compatibility body */
        crate::appearance_manager::color_from_params(param)
    }
    /// C# member: `M:LibreMetaverse.AppearanceManager.GetCurrentOutfitFolderAsync(System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<LibreMetaverse.InventoryFolder> LibreMetaverse.AppearanceManager.GetCurrentOutfitFolderAsync(System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn get_current_outfit_folder(
        &self,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<Option<libremetaverse::InventoryFolder>, crate::Error> {
        /* reviewed native compatibility body */
        self.native_get_current_outfit_folder(cancellation_token)
            .await
    }
    /// C# member: `M:LibreMetaverse.AppearanceManager.GetCurrentParamValues`.
    ///
    /// C# signature: `System.Collections.Generic.Dictionary<System.Int32, System.Single> LibreMetaverse.AppearanceManager.GetCurrentParamValues()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn get_current_param_values(
        &self,
    ) -> Result<std::collections::HashMap<i32, f32>, crate::Error> {
        /* reviewed native compatibility body */
        self.native_get_current_param_values()
    }
    /// C# member: `M:LibreMetaverse.AppearanceManager.GetFolderWearablesAsync(LibreMetaverse.UUID,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<System.ValueTuple<System.Boolean, System.Collections.Generic.List<LibreMetaverse.InventoryWearable>, System.Collections.Generic.List<LibreMetaverse.InventoryItem>>> LibreMetaverse.AppearanceManager.GetFolderWearablesAsync(LibreMetaverse.UUID folder, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn get_folder_wearables(
        &self,
        folder: libremetaverse_types::UUID,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<
        (
            bool,
            Vec<libremetaverse::InventoryWearable>,
            Vec<libremetaverse::InventoryItem>,
        ),
        crate::Error,
    > {
        /* reviewed native compatibility body */
        self.native_get_folder_wearables(folder, cancellation_token)
            .await
    }
    /// C# member: `M:LibreMetaverse.AppearanceManager.GetWearableAssets(LibreMetaverse.WearableType)`.
    ///
    /// C# signature: `System.Collections.Generic.IEnumerable<LibreMetaverse.UUID> LibreMetaverse.AppearanceManager.GetWearableAssets(LibreMetaverse.WearableType type)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn get_wearable_assets(
        &self,
        type_: libremetaverse_types::WearableType,
    ) -> Result<Box<dyn Iterator<Item = libremetaverse_types::UUID>>, crate::Error> {
        /* reviewed native compatibility body */
        self.native_get_wearable_assets(type_)
    }
    /// C# member: `M:LibreMetaverse.AppearanceManager.GetWearables`.
    ///
    /// C# signature: `System.Collections.Generic.IEnumerable<LibreMetaverse.AppearanceManager.WearableData> LibreMetaverse.AppearanceManager.GetWearables()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn get_wearables(
        &self,
    ) -> Result<Box<dyn Iterator<Item = libremetaverse::AppearanceManagerWearableData>>, crate::Error>
    {
        /* reviewed native compatibility body */
        self.native_get_wearables()
    }
    /// C# member: `M:LibreMetaverse.AppearanceManager.GetWearablesByType`.
    ///
    /// C# signature: `LibreMetaverse.MultiValueDictionary<LibreMetaverse.WearableType, LibreMetaverse.AppearanceManager.WearableData> LibreMetaverse.AppearanceManager.GetWearablesByType()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn get_wearables_by_type(
        &self,
    ) -> Result<
        libremetaverse_types::MultiValueDictionary<
            libremetaverse_types::WearableType,
            libremetaverse::AppearanceManagerWearableData,
        >,
        crate::Error,
    > {
        /* reviewed native compatibility body */
        self.native_get_wearables_by_type()
    }
    /// C# member: `M:LibreMetaverse.AppearanceManager.IsItemWorn(LibreMetaverse.InventoryItem)`.
    ///
    /// C# signature: `LibreMetaverse.WearableType LibreMetaverse.AppearanceManager.IsItemWorn(LibreMetaverse.InventoryItem item)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub fn is_item_worn_with_inventory_item(
        &self,
        item: libremetaverse::InventoryItem,
    ) -> Result<libremetaverse_types::WearableType, crate::Error> {
        /* reviewed native compatibility body */
        self.native_is_item_worn(item.base.uuid())
    }
    /// C# member: `M:LibreMetaverse.AppearanceManager.IsItemWorn(LibreMetaverse.UUID)`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.AppearanceManager.IsItemWorn(LibreMetaverse.UUID itemId)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub fn is_item_worn_with_uuid(
        &self,
        item_id: libremetaverse_types::UUID,
    ) -> Result<bool, crate::Error> {
        /* reviewed native compatibility body */
        Ok(self.native_is_item_worn(item_id)? != libremetaverse_types::WearableType::Invalid)
    }
    /// C# member: `M:LibreMetaverse.AppearanceManager.MakeAppearancePacket`.
    ///
    /// C# signature: `LibreMetaverse.Packets.AgentSetAppearancePacket LibreMetaverse.AppearanceManager.MakeAppearancePacket()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn make_appearance_packet(
        &self,
    ) -> Result<libremetaverse::packets::AgentSetAppearancePacket, crate::Error> {
        /* reviewed native compatibility body */
        self.native_make_appearance_packet()
    }
    /// C# member: `M:LibreMetaverse.AppearanceManager.MorphLayerForBakeType(LibreMetaverse.BakeType)`.
    ///
    /// C# signature: `LibreMetaverse.AvatarTextureIndex LibreMetaverse.AppearanceManager.MorphLayerForBakeType(LibreMetaverse.BakeType bakeType)`.
    /// Mapping contract: ownership `owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn morph_layer_for_bake_type(
        bake_type: libremetaverse::BakeType,
    ) -> Result<libremetaverse::AvatarTextureIndex, crate::Error> {
        /* reviewed native compatibility body */
        Ok(crate::appearance_manager::morph_layer_for_bake_type(
            bake_type,
        ))
    }
    /// C# member: `M:LibreMetaverse.AppearanceManager.RandomizeAppearance(System.Random)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task LibreMetaverse.AppearanceManager.RandomizeAppearance(System.Random rng = default)`.
    /// Mapping contract: ownership `shared_self,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn randomize_appearance(
        &self,
        rng: Option<libremetaverse_types::compat::RandomSource>,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_randomize_appearance(rng).await
    }
    /// C# member: `M:LibreMetaverse.AppearanceManager.RemoveFromOutfit(LibreMetaverse.InventoryItem)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AppearanceManager.RemoveFromOutfit(LibreMetaverse.InventoryItem wearableItem)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub fn remove_from_outfit_with_inventory_item(
        &self,
        wearable_item: libremetaverse::InventoryItem,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_remove_from_outfit(vec![wearable_item])
    }
    /// C# member: `M:LibreMetaverse.AppearanceManager.RemoveFromOutfit(System.Collections.Generic.List{LibreMetaverse.InventoryItem})`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AppearanceManager.RemoveFromOutfit(System.Collections.Generic.List<LibreMetaverse.InventoryItem> wearableItems)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub fn remove_from_outfit_with_list(
        &self,
        wearable_items: Vec<libremetaverse::InventoryItem>,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_remove_from_outfit(wearable_items)
    }
    /// C# member: `M:LibreMetaverse.AppearanceManager.ReplaceOutfitAsync(System.Collections.Generic.List{LibreMetaverse.InventoryItem})`.
    ///
    /// C# signature: `System.Threading.Tasks.Task LibreMetaverse.AppearanceManager.ReplaceOutfitAsync(System.Collections.Generic.List<LibreMetaverse.InventoryItem> wearableItems)`.
    /// Mapping contract: ownership `shared_self,owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub async fn replace_outfit_with_list(
        &self,
        wearable_items: Vec<libremetaverse::InventoryItem>,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_replace_outfit(wearable_items, false).await
    }
    /// C# member: `M:LibreMetaverse.AppearanceManager.ReplaceOutfitAsync(System.Collections.Generic.List{LibreMetaverse.InventoryItem},System.Boolean)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task LibreMetaverse.AppearanceManager.ReplaceOutfitAsync(System.Collections.Generic.List<LibreMetaverse.InventoryItem> wearableItems, System.Boolean safe)`.
    /// Mapping contract: ownership `shared_self,owned,owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub async fn replace_outfit_with_list_boolean(
        &self,
        wearable_items: Vec<libremetaverse::InventoryItem>,
        safe: bool,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_replace_outfit(wearable_items, safe).await
    }
    /// C# member: `M:LibreMetaverse.AppearanceManager.RequestAgentWornAsync(System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<System.Collections.Generic.List<LibreMetaverse.InventoryBase>> LibreMetaverse.AppearanceManager.RequestAgentWornAsync(System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn request_agent_worn(
        &self,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<Vec<libremetaverse::InventoryBase>, crate::Error> {
        /* reviewed native compatibility body */
        self.native_request_agent_worn(cancellation_token).await
    }
    /// C# member: `M:LibreMetaverse.AppearanceManager.RequestCachedBakes`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AppearanceManager.RequestCachedBakes()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn request_cached_bakes(&self) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_request_cached_bakes()
    }
    /// C# member: `M:LibreMetaverse.AppearanceManager.RequestSetAppearance(System.Boolean)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task LibreMetaverse.AppearanceManager.RequestSetAppearance(System.Boolean forceRebake = default)`.
    /// Mapping contract: ownership `shared_self,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn request_set_appearance(
        &self,
        force_rebake: Option<bool>,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_request_set_appearance(force_rebake.unwrap_or(false))
            .await
    }
    /// C# member: `M:LibreMetaverse.AppearanceManager.SendOutfitToCurrentSimulatorAsync(System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task LibreMetaverse.AppearanceManager.SendOutfitToCurrentSimulatorAsync(System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn send_outfit_to_current_simulator(
        &self,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_send_outfit(cancellation_token).await
    }
    /// C# member: `M:LibreMetaverse.AppearanceManager.ServerBakingRegion`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.AppearanceManager.ServerBakingRegion()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn server_baking_region(&self) -> Result<bool, crate::Error> {
        /* reviewed native compatibility body */
        self.native_server_baking_region()
    }
    /// C# member: `M:LibreMetaverse.AppearanceManager.UpdateLastReceivedCOFVersion(System.Int32)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AppearanceManager.UpdateLastReceivedCOFVersion(System.Int32 cofVersion)`.
    /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn update_last_received_cof_version(
        &mut self,
        cof_version: i32,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_update_cof_version(cof_version)
    }
    /// C# member: `M:LibreMetaverse.AppearanceManager.WearOutfitAsync(System.Collections.Generic.List{LibreMetaverse.InventoryBase},System.Boolean)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task LibreMetaverse.AppearanceManager.WearOutfitAsync(System.Collections.Generic.List<LibreMetaverse.InventoryBase> wearables, System.Boolean replaceItems)`.
    /// Mapping contract: ownership `shared_self,owned,owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn wear_outfit(
        &self,
        wearables: Vec<libremetaverse::InventoryBase>,
        replace_items: bool,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_wear_outfit(wearables, replace_items).await
    }
    /// C# member: `M:LibreMetaverse.AppearanceManager.WearableTypeToAssetType(LibreMetaverse.WearableType)`.
    ///
    /// C# signature: `LibreMetaverse.AssetType LibreMetaverse.AppearanceManager.WearableTypeToAssetType(LibreMetaverse.WearableType type)`.
    /// Mapping contract: ownership `owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn wearable_type_to_asset_type(
        type_: libremetaverse_types::WearableType,
    ) -> Result<libremetaverse_types::AssetType, crate::Error> {
        /* reviewed native compatibility body */
        Ok(crate::appearance_manager::wearable_type_to_asset_type(
            type_,
        ))
    }
    /// C# member: `M:LibreMetaverse.AppearanceManager.isItemAttached(LibreMetaverse.InventoryItem)`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.AppearanceManager.isItemAttached(LibreMetaverse.InventoryItem item)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub fn is_item_attached_with_inventory_item(
        &self,
        item: libremetaverse::InventoryItem,
    ) -> Result<bool, crate::Error> {
        /* reviewed native compatibility body */
        Ok(self.native_is_item_attached(item.base.uuid()))
    }
    /// C# member: `M:LibreMetaverse.AppearanceManager.isItemAttached(LibreMetaverse.UUID)`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.AppearanceManager.isItemAttached(LibreMetaverse.UUID key)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub fn is_item_attached_with_uuid(
        &self,
        key: libremetaverse_types::UUID,
    ) -> Result<bool, crate::Error> {
        /* reviewed native compatibility body */
        Ok(self.native_is_item_attached(key))
    }
    /// C# member: `P:LibreMetaverse.AppearanceManager.LastUpdateReceivedCOFVersion`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.AppearanceManager.LastUpdateReceivedCOFVersion`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn last_update_received_cof_version(&self) -> i32 {
        /* reviewed native compatibility body */
        self.native_last_cof_version()
    }
    /// C# member: `P:LibreMetaverse.AppearanceManager.ManagerBusy`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.AppearanceManager.ManagerBusy`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn manager_busy(&self) -> bool {
        /* reviewed native compatibility body */
        self.native_manager_busy()
    }
    /// C# member: `P:LibreMetaverse.AppearanceManager.TextureProvider`.
    ///
    /// C# signature: `LibreMetaverse.IBakingTextureProvider LibreMetaverse.AppearanceManager.TextureProvider`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn texture_provider(&self) -> std::sync::Arc<dyn libremetaverse::IBakingTextureProvider> {
        /* reviewed native compatibility body */
        self.native_texture_provider()
    }
    /// Setter for C# member: `P:LibreMetaverse.AppearanceManager.TextureProvider`.
    pub fn set_texture_provider(
        &mut self,
        value: std::sync::Arc<dyn libremetaverse::IBakingTextureProvider>,
    ) {
        /* reviewed native compatibility body */
        self.native_set_texture_provider(value)
    }
}

/// C# type: `T:LibreMetaverse.AppearanceManager.ColorParamInfo`.
///
/// Native Rust mapping of C# `LibreMetaverse.AppearanceManager.ColorParamInfo` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
pub struct AppearanceManagerColorParamInfo {
    /// C# member: `F:LibreMetaverse.AppearanceManager.ColorParamInfo.Value`.
    ///
    /// C# signature: `System.Single LibreMetaverse.AppearanceManager.ColorParamInfo.Value`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub value: f32,
    /// C# member: `F:LibreMetaverse.AppearanceManager.ColorParamInfo.VisualColorParam`.
    ///
    /// C# signature: `LibreMetaverse.VisualColorParam LibreMetaverse.AppearanceManager.ColorParamInfo.VisualColorParam`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub visual_color_param: libremetaverse::VisualColorParam,
    /// C# member: `F:LibreMetaverse.AppearanceManager.ColorParamInfo.VisualParam`.
    ///
    /// C# signature: `LibreMetaverse.VisualParam LibreMetaverse.AppearanceManager.ColorParamInfo.VisualParam`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub visual_param: libremetaverse::VisualParam,
    /// C# member: `F:LibreMetaverse.AppearanceManager.ColorParamInfo.WearableType`.
    ///
    /// C# signature: `LibreMetaverse.WearableType LibreMetaverse.AppearanceManager.ColorParamInfo.WearableType`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub wearable_type: libremetaverse_types::WearableType,
}
impl AppearanceManagerColorParamInfo {}

/// C# type: `T:LibreMetaverse.AppearanceManager.TextureData`.
///
/// Native Rust mapping of C# `LibreMetaverse.AppearanceManager.TextureData` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
pub struct AppearanceManagerTextureData {
    /// C# member: `F:LibreMetaverse.AppearanceManager.TextureData.AlphaMasks`.
    ///
    /// C# signature: `System.Collections.Generic.Dictionary<LibreMetaverse.VisualAlphaParam, System.Single> LibreMetaverse.AppearanceManager.TextureData.AlphaMasks`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub alpha_masks: std::collections::HashMap<libremetaverse::VisualAlphaParam, f32>,
    /// C# member: `F:LibreMetaverse.AppearanceManager.TextureData.Color`.
    ///
    /// C# signature: `LibreMetaverse.Color4 LibreMetaverse.AppearanceManager.TextureData.Color`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub color: libremetaverse_types::Color4,
    /// C# member: `F:LibreMetaverse.AppearanceManager.TextureData.Texture`.
    ///
    /// C# signature: `LibreMetaverse.Assets.AssetTexture LibreMetaverse.AppearanceManager.TextureData.Texture`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub texture: Option<libremetaverse::assets::AssetTexture>,
    /// C# member: `F:LibreMetaverse.AppearanceManager.TextureData.TextureID`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.AppearanceManager.TextureData.TextureID`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub texture_id: libremetaverse_types::UUID,
    /// C# member: `F:LibreMetaverse.AppearanceManager.TextureData.TextureIndex`.
    ///
    /// C# signature: `LibreMetaverse.AvatarTextureIndex LibreMetaverse.AppearanceManager.TextureData.TextureIndex`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub texture_index: libremetaverse::AvatarTextureIndex,
}
impl AppearanceManagerTextureData {
    /// C# member: `M:LibreMetaverse.AppearanceManager.TextureData.#ctor`.
    ///
    /// C# signature: `LibreMetaverse.AppearanceManager.TextureData()`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn new() -> Result<Self, crate::Error> {
        /* reviewed native compatibility body */
        crate::appearance_manager::texture_data_defaults()
    }
    /// C# member: `M:LibreMetaverse.AppearanceManager.TextureData.ToString`.
    ///
    /// C# signature: `System.String LibreMetaverse.AppearanceManager.TextureData.ToString()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
    pub fn to_string(&self) -> String {
        /* reviewed native compatibility body */
        crate::appearance_manager::texture_data_to_string(self)
    }
}

/// C# type: `T:LibreMetaverse.AppearanceManager.WearableData`.
///
/// Native Rust mapping of C# `LibreMetaverse.AppearanceManager.WearableData` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Debug)]
pub struct AppearanceManagerWearableData {
    /// C# member: `F:LibreMetaverse.AppearanceManager.WearableData.Asset`.
    ///
    /// C# signature: `LibreMetaverse.Assets.AssetWearable LibreMetaverse.AppearanceManager.WearableData.Asset`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub asset: Option<libremetaverse::assets::AssetWearable>,
    /// C# member: `F:LibreMetaverse.AppearanceManager.WearableData.AssetID`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.AppearanceManager.WearableData.AssetID`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub asset_id: libremetaverse_types::UUID,
    /// C# member: `F:LibreMetaverse.AppearanceManager.WearableData.AssetType`.
    ///
    /// C# signature: `LibreMetaverse.AssetType LibreMetaverse.AppearanceManager.WearableData.AssetType`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub asset_type: libremetaverse_types::AssetType,
    /// C# member: `F:LibreMetaverse.AppearanceManager.WearableData.ItemID`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.AppearanceManager.WearableData.ItemID`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub item_id: libremetaverse_types::UUID,
    /// C# member: `F:LibreMetaverse.AppearanceManager.WearableData.WearableType`.
    ///
    /// C# signature: `LibreMetaverse.WearableType LibreMetaverse.AppearanceManager.WearableData.WearableType`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub wearable_type: libremetaverse_types::WearableType,
}
impl AppearanceManagerWearableData {
    /// C# member: `M:LibreMetaverse.AppearanceManager.WearableData.#ctor`.
    ///
    /// C# signature: `LibreMetaverse.AppearanceManager.WearableData()`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn new() -> Result<Self, crate::Error> {
        /* reviewed native compatibility body */
        crate::appearance_manager::wearable_data_defaults()
    }
    /// C# member: `M:LibreMetaverse.AppearanceManager.WearableData.ToString`.
    ///
    /// C# signature: `System.String LibreMetaverse.AppearanceManager.WearableData.ToString()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
    pub fn to_string(&self) -> String {
        /* reviewed native compatibility body */
        crate::appearance_manager::wearable_data_to_string(self)
    }
}

/// C# type: `T:LibreMetaverse.AppearanceManagerException`.
///
/// Native Rust mapping of C# `LibreMetaverse.AppearanceManagerException` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.AppearanceManagerException.#ctor(System.String)`.
///
/// C# signature: `LibreMetaverse.AppearanceManagerException(System.String message)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
pub use crate::port_errors::AppearanceManagerException;

/// C# type: `T:LibreMetaverse.AppearanceSetEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.AppearanceSetEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
pub use crate::appearance_manager::AppearanceSetEventArgs;
impl AppearanceSetEventArgs {
    /// C# member: `M:LibreMetaverse.AppearanceSetEventArgs.#ctor(System.Boolean)`.
    ///
    /// C# signature: `LibreMetaverse.AppearanceSetEventArgs(System.Boolean success)`.
    /// Mapping contract: ownership `owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn new(success: bool) -> Result<Self, crate::Error> {
        /* reviewed native compatibility body */
        Ok(crate::appearance_manager::AppearanceSetEventArgs::native_new(success))
    }
    /// C# member: `P:LibreMetaverse.AppearanceSetEventArgs.Success`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.AppearanceSetEventArgs.Success`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn success(&self) -> bool {
        /* reviewed native compatibility body */
        self.native_success()
    }
}

/// C# type: `T:LibreMetaverse.ArchetypeParam`.
///
/// Native Rust mapping of C# `LibreMetaverse.ArchetypeParam` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `P:LibreMetaverse.ArchetypeParam.Id`.
///
/// C# signature: `System.Int32 LibreMetaverse.ArchetypeParam.Id`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.ArchetypeParam.Name`.
///
/// C# signature: `System.String LibreMetaverse.ArchetypeParam.Name`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.ArchetypeParam.Value`.
///
/// C# signature: `System.Single LibreMetaverse.ArchetypeParam.Value`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::genepool_catalog::ArchetypeParam;

/// C# type: `T:LibreMetaverse.AssetCache`.
///
/// Native Rust mapping of C# `LibreMetaverse.AssetCache` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `F:LibreMetaverse.AssetCache.ComputeAssetCacheFilename`.
///
/// C# signature: `LibreMetaverse.AssetCache.ComputeAssetCacheFilenameDelegate LibreMetaverse.AssetCache.ComputeAssetCacheFilename`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `M:LibreMetaverse.AssetCache.#ctor(LibreMetaverse.GridClient)`.
///
/// C# signature: `LibreMetaverse.AssetCache(LibreMetaverse.GridClient client)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.AssetCache.AssetFileName(LibreMetaverse.UUID)`.
///
/// C# signature: `System.String LibreMetaverse.AssetCache.AssetFileName(LibreMetaverse.UUID assetID)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.AssetCache.BeginPrune`.
///
/// C# signature: `System.Void LibreMetaverse.AssetCache.BeginPrune()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.AssetCache.Clear`.
///
/// C# signature: `System.Void LibreMetaverse.AssetCache.Clear()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.AssetCache.Dispose`.
///
/// C# signature: `System.Void LibreMetaverse.AssetCache.Dispose()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.AssetCache.GetCachedAssetBytes(LibreMetaverse.UUID)`.
///
/// C# signature: `System.Byte[] LibreMetaverse.AssetCache.GetCachedAssetBytes(LibreMetaverse.UUID assetID)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.AssetCache.GetCachedAssetBytesAsync(LibreMetaverse.UUID,System.Threading.CancellationToken)`.
///
/// C# signature: `System.Threading.Tasks.Task<System.Byte[]> LibreMetaverse.AssetCache.GetCachedAssetBytesAsync(LibreMetaverse.UUID assetID, System.Threading.CancellationToken cancellationToken = default)`.
/// Mapping contract: ownership `shared_self,owned,optional_owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.AssetCache.GetCachedImage(LibreMetaverse.UUID)`.
///
/// C# signature: `LibreMetaverse.ImageDownload LibreMetaverse.AssetCache.GetCachedImage(LibreMetaverse.UUID imageID)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.AssetCache.HasAsset(LibreMetaverse.UUID)`.
///
/// C# signature: `System.Boolean LibreMetaverse.AssetCache.HasAsset(LibreMetaverse.UUID assetID)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.AssetCache.PruneAsync(System.Threading.CancellationToken)`.
///
/// C# signature: `System.Threading.Tasks.Task LibreMetaverse.AssetCache.PruneAsync(System.Threading.CancellationToken cancellationToken = default)`.
/// Mapping contract: ownership `shared_self,optional_owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.AssetCache.SaveAssetToCache(LibreMetaverse.UUID,System.Byte[])`.
///
/// C# signature: `System.Boolean LibreMetaverse.AssetCache.SaveAssetToCache(LibreMetaverse.UUID assetID, System.Byte[] assetData)`.
/// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.AssetCache.SaveAssetToCacheAsync(LibreMetaverse.UUID,System.Byte[],System.Threading.CancellationToken)`.
///
/// C# signature: `System.Threading.Tasks.Task<System.Boolean> LibreMetaverse.AssetCache.SaveAssetToCacheAsync(LibreMetaverse.UUID assetID, System.Byte[] assetData, System.Threading.CancellationToken cancellationToken = default)`.
/// Mapping contract: ownership `shared_self,owned,owned,optional_owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.AssetCache.TryGetCachedAssetBytes(LibreMetaverse.UUID,System.Byte[]@)`.
///
/// C# signature: `System.Boolean LibreMetaverse.AssetCache.TryGetCachedAssetBytes(LibreMetaverse.UUID assetID, out System.Byte[]& data)`.
/// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
/// errors `infallible_placeholder`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.AssetCache.TryGetCachedAssetBytesAsync(LibreMetaverse.UUID,System.Threading.CancellationToken)`.
///
/// C# signature: `System.Threading.Tasks.Task<System.ValueTuple<System.Boolean, System.Byte[]>> LibreMetaverse.AssetCache.TryGetCachedAssetBytesAsync(LibreMetaverse.UUID assetID, System.Threading.CancellationToken cancellationToken = default)`.
/// Mapping contract: ownership `shared_self,owned,optional_owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `P:LibreMetaverse.AssetCache.AutoPruneEnabled`.
///
/// C# signature: `System.Boolean LibreMetaverse.AssetCache.AutoPruneEnabled`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AssetCache.AutoPruneInterval`.
///
/// C# signature: `System.Double LibreMetaverse.AssetCache.AutoPruneInterval`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::asset_cache::AssetCache;

/// C# type: `T:LibreMetaverse.AssetCache.ComputeAssetCacheFilenameDelegate`.
///
/// Native Rust mapping of C# `LibreMetaverse.AssetCache.ComputeAssetCacheFilenameDelegate` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.AssetCache.ComputeAssetCacheFilenameDelegate.#ctor(System.Object,System.IntPtr)`.
///
/// C# signature: `LibreMetaverse.AssetCache.ComputeAssetCacheFilenameDelegate(System.Object object, System.IntPtr method)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.AssetCache.ComputeAssetCacheFilenameDelegate.BeginInvoke(System.String,LibreMetaverse.UUID,System.AsyncCallback,System.Object)`.
///
/// C# signature: `System.IAsyncResult LibreMetaverse.AssetCache.ComputeAssetCacheFilenameDelegate.BeginInvoke(System.String cacheDir, LibreMetaverse.UUID assetID, System.AsyncCallback callback, System.Object object)`.
/// Mapping contract: ownership `shared_self,owned,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `native_callback_replaces_delegate_apm`.
/// C# member: `M:LibreMetaverse.AssetCache.ComputeAssetCacheFilenameDelegate.EndInvoke(System.IAsyncResult)`.
///
/// C# signature: `System.String LibreMetaverse.AssetCache.ComputeAssetCacheFilenameDelegate.EndInvoke(System.IAsyncResult result)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `native_callback_replaces_delegate_apm`.
/// C# member: `M:LibreMetaverse.AssetCache.ComputeAssetCacheFilenameDelegate.Invoke(System.String,LibreMetaverse.UUID)`.
///
/// C# signature: `System.String LibreMetaverse.AssetCache.ComputeAssetCacheFilenameDelegate.Invoke(System.String cacheDir, LibreMetaverse.UUID assetID)`.
/// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
pub use crate::asset_cache::AssetCacheComputeAssetCacheFilenameDelegate;

/// C# type: `T:LibreMetaverse.AssetCacheSettings`.
///
/// Native Rust mapping of C# `LibreMetaverse.AssetCacheSettings` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct AssetCacheSettings {
    /// C# member: `F:LibreMetaverse.AssetCacheSettings.Dir`.
    ///
    /// C# signature: `System.String LibreMetaverse.AssetCacheSettings.Dir`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub dir: String,
    /// C# member: `F:LibreMetaverse.AssetCacheSettings.Enabled`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.AssetCacheSettings.Enabled`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub enabled: bool,
    /// C# member: `F:LibreMetaverse.AssetCacheSettings.MaxSize`.
    ///
    /// C# signature: `System.Int64 LibreMetaverse.AssetCacheSettings.MaxSize`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub max_size: i64,
}
impl AssetCacheSettings {
    /// C# member: `M:LibreMetaverse.AssetCacheSettings.#ctor`.
    ///
    /// C# signature: `LibreMetaverse.AssetCacheSettings()`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn new() -> Result<Self, crate::Error> {
        /* native client-core implementation */
        Ok(crate::client_core::asset_cache_settings_defaults())
    }
}

/// C# type: `T:LibreMetaverse.AssetDownload`.
///
/// Native Rust mapping of C# `LibreMetaverse.AssetDownload` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `F:LibreMetaverse.AssetDownload.AssetID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.AssetDownload.AssetID`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.AssetDownload.Channel`.
///
/// C# signature: `LibreMetaverse.ChannelType LibreMetaverse.AssetDownload.Channel`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.AssetDownload.Priority`.
///
/// C# signature: `System.Single LibreMetaverse.AssetDownload.Priority`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.AssetDownload.Simulator`.
///
/// C# signature: `LibreMetaverse.Simulator LibreMetaverse.AssetDownload.Simulator`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.AssetDownload.Source`.
///
/// C# signature: `LibreMetaverse.SourceType LibreMetaverse.AssetDownload.Source`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.AssetDownload.Status`.
///
/// C# signature: `LibreMetaverse.StatusCode LibreMetaverse.AssetDownload.Status`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.AssetDownload.Target`.
///
/// C# signature: `LibreMetaverse.TargetType LibreMetaverse.AssetDownload.Target`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.AssetDownload.nextPacket`.
///
/// C# signature: `System.Int32 LibreMetaverse.AssetDownload.nextPacket`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.AssetDownload.outOfOrderPackets`.
///
/// C# signature: `System.Collections.Concurrent.ConcurrentDictionary<System.Int32, System.Byte[]> LibreMetaverse.AssetDownload.outOfOrderPackets`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `M:LibreMetaverse.AssetDownload.#ctor`.
///
/// C# signature: `LibreMetaverse.AssetDownload()`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
pub use crate::transfers::AssetDownload;

/// C# type: `T:LibreMetaverse.AssetManager`.
///
/// Native Rust mapping of C# `LibreMetaverse.AssetManager` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `E:LibreMetaverse.AssetManager.AssetUploaded`.
///
/// C# signature: `System.EventHandler<LibreMetaverse.AssetUploadEventArgs> LibreMetaverse.AssetManager.AssetUploaded`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `E:LibreMetaverse.AssetManager.ImageReceiveProgress`.
///
/// C# signature: `System.EventHandler<LibreMetaverse.ImageReceiveProgressEventArgs> LibreMetaverse.AssetManager.ImageReceiveProgress`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `E:LibreMetaverse.AssetManager.InitiateDownload`.
///
/// C# signature: `System.EventHandler<LibreMetaverse.InitiateDownloadEventArgs> LibreMetaverse.AssetManager.InitiateDownload`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `E:LibreMetaverse.AssetManager.UploadProgress`.
///
/// C# signature: `System.EventHandler<LibreMetaverse.AssetUploadEventArgs> LibreMetaverse.AssetManager.UploadProgress`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `E:LibreMetaverse.AssetManager.XferReceived`.
///
/// C# signature: `System.EventHandler<LibreMetaverse.XferReceivedEventArgs> LibreMetaverse.AssetManager.XferReceived`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `F:LibreMetaverse.AssetManager.Cache`.
///
/// C# signature: `LibreMetaverse.AssetCache LibreMetaverse.AssetManager.Cache`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `M:LibreMetaverse.AssetManager.#ctor(LibreMetaverse.GridClient)`.
///
/// C# signature: `LibreMetaverse.AssetManager(LibreMetaverse.GridClient client)`.
/// Mapping contract: ownership `optional_owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.AssetManager.AssetTypeToString(LibreMetaverse.AssetType)`.
///
/// C# signature: `System.String LibreMetaverse.AssetManager.AssetTypeToString(LibreMetaverse.AssetType assetType)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.AssetManager.CreateAssetWrapper(LibreMetaverse.AssetType)`.
///
/// C# signature: `LibreMetaverse.Assets.Asset LibreMetaverse.AssetManager.CreateAssetWrapper(LibreMetaverse.AssetType type)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.AssetManager.GetTextureUploadCost(System.Int32)`.
///
/// C# signature: `System.Int32 LibreMetaverse.AssetManager.GetTextureUploadCost(System.Int32 widthPixels)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.AssetManager.RequestAssetAsync(LibreMetaverse.UUID,LibreMetaverse.AssetType,System.Boolean,LibreMetaverse.SourceType,System.Threading.CancellationToken)`.
///
/// C# signature: `System.Threading.Tasks.Task<LibreMetaverse.Assets.Asset> LibreMetaverse.AssetManager.RequestAssetAsync(LibreMetaverse.UUID assetID, LibreMetaverse.AssetType type, System.Boolean priority, LibreMetaverse.SourceType sourceType, System.Threading.CancellationToken cancellationToken = default)`.
/// Mapping contract: ownership `shared_self,owned,owned,owned,owned,optional_owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.AssetManager.RequestAssetAsync(LibreMetaverse.UUID,LibreMetaverse.AssetType,System.Boolean,System.Threading.CancellationToken)`.
///
/// C# signature: `System.Threading.Tasks.Task<LibreMetaverse.Assets.Asset> LibreMetaverse.AssetManager.RequestAssetAsync(LibreMetaverse.UUID assetID, LibreMetaverse.AssetType type, System.Boolean priority, System.Threading.CancellationToken cancellationToken = default)`.
/// Mapping contract: ownership `shared_self,owned,owned,owned,optional_owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.AssetManager.RequestAssetAsync(LibreMetaverse.UUID,LibreMetaverse.UUID,LibreMetaverse.UUID,LibreMetaverse.AssetType,System.Boolean,LibreMetaverse.SourceType,LibreMetaverse.UUID,System.Threading.CancellationToken)`.
///
/// C# signature: `System.Threading.Tasks.Task<LibreMetaverse.Assets.Asset> LibreMetaverse.AssetManager.RequestAssetAsync(LibreMetaverse.UUID assetID, LibreMetaverse.UUID itemID, LibreMetaverse.UUID taskID, LibreMetaverse.AssetType assetType, System.Boolean priority, LibreMetaverse.SourceType sourceType, LibreMetaverse.UUID transactionID, System.Threading.CancellationToken cancellationToken = default)`.
/// Mapping contract: ownership `shared_self,owned,owned,owned,owned,owned,owned,owned,optional_owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.AssetManager.RequestAssetXfer(System.String,System.Boolean,System.Boolean,LibreMetaverse.UUID,LibreMetaverse.AssetType,System.Boolean)`.
///
/// C# signature: `System.UInt64 LibreMetaverse.AssetManager.RequestAssetXfer(System.String filename, System.Boolean deleteOnCompletion, System.Boolean useBigPackets, LibreMetaverse.UUID vFileID, LibreMetaverse.AssetType vFileType, System.Boolean fromCache)`.
/// Mapping contract: ownership `shared_self,owned,owned,owned,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.AssetManager.RequestEstateAsset(LibreMetaverse.AssetDownload,LibreMetaverse.EstateAssetType)`.
///
/// C# signature: `System.Void LibreMetaverse.AssetManager.RequestEstateAsset(LibreMetaverse.AssetDownload transfer, LibreMetaverse.EstateAssetType eat)`.
/// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.AssetManager.RequestImageAsync(LibreMetaverse.UUID,LibreMetaverse.ImageType,System.Threading.CancellationToken)`.
///
/// C# signature: `System.Threading.Tasks.Task<LibreMetaverse.Assets.AssetTexture> LibreMetaverse.AssetManager.RequestImageAsync(LibreMetaverse.UUID textureID, LibreMetaverse.ImageType imageType = default, System.Threading.CancellationToken cancellationToken = default)`.
/// Mapping contract: ownership `shared_self,owned,optional_owned,optional_owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.AssetManager.RequestImageCancel(LibreMetaverse.UUID)`.
///
/// C# signature: `System.Void LibreMetaverse.AssetManager.RequestImageCancel(LibreMetaverse.UUID textureID)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.AssetManager.RequestInventoryAssetAsync(LibreMetaverse.InventoryItem,System.Boolean,LibreMetaverse.UUID,System.Threading.CancellationToken)`.
///
/// C# signature: `System.Threading.Tasks.Task<LibreMetaverse.Assets.Asset> LibreMetaverse.AssetManager.RequestInventoryAssetAsync(LibreMetaverse.InventoryItem item, System.Boolean priority, LibreMetaverse.UUID transferID, System.Threading.CancellationToken cancellationToken = default)`.
/// Mapping contract: ownership `shared_self,owned,owned,owned,optional_owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.AssetManager.RequestInventoryAssetAsync(LibreMetaverse.UUID,LibreMetaverse.UUID,LibreMetaverse.UUID,LibreMetaverse.UUID,LibreMetaverse.AssetType,System.Boolean,LibreMetaverse.UUID,System.Threading.CancellationToken)`.
///
/// C# signature: `System.Threading.Tasks.Task<LibreMetaverse.Assets.Asset> LibreMetaverse.AssetManager.RequestInventoryAssetAsync(LibreMetaverse.UUID assetID, LibreMetaverse.UUID itemID, LibreMetaverse.UUID taskID, LibreMetaverse.UUID ownerID, LibreMetaverse.AssetType assetType, System.Boolean priority, LibreMetaverse.UUID transferID, System.Threading.CancellationToken cancellationToken = default)`.
/// Mapping contract: ownership `shared_self,owned,owned,owned,owned,owned,owned,owned,optional_owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.AssetManager.RequestMeshAsync(LibreMetaverse.UUID,System.Threading.CancellationToken)`.
///
/// C# signature: `System.Threading.Tasks.Task<LibreMetaverse.Assets.AssetMesh> LibreMetaverse.AssetManager.RequestMeshAsync(LibreMetaverse.UUID meshID, System.Threading.CancellationToken cancellationToken = default)`.
/// Mapping contract: ownership `shared_self,owned,optional_owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.AssetManager.RequestServerBakedImageAsync(LibreMetaverse.UUID,LibreMetaverse.UUID,System.String,System.Threading.CancellationToken)`.
///
/// C# signature: `System.Threading.Tasks.Task<LibreMetaverse.Assets.AssetTexture> LibreMetaverse.AssetManager.RequestServerBakedImageAsync(LibreMetaverse.UUID avatarID, LibreMetaverse.UUID textureID, System.String bakeName, System.Threading.CancellationToken cancellationToken = default)`.
/// Mapping contract: ownership `shared_self,owned,owned,owned,optional_owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.AssetManager.RequestUpload(LibreMetaverse.UUID@,LibreMetaverse.AssetType,System.Byte[],System.Boolean,LibreMetaverse.UUID)`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.AssetManager.RequestUpload(out LibreMetaverse.UUID& assetID, LibreMetaverse.AssetType type, System.Byte[] data, System.Boolean storeLocal, LibreMetaverse.UUID transactionID)`.
/// Mapping contract: ownership `shared_self,mutable_output,owned,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.AssetManager.RequestUploadAsync(LibreMetaverse.AssetType,System.Byte[],System.Boolean,LibreMetaverse.UUID,System.Threading.CancellationToken)`.
///
/// C# signature: `System.Threading.Tasks.Task<LibreMetaverse.UUID> LibreMetaverse.AssetManager.RequestUploadAsync(LibreMetaverse.AssetType type, System.Byte[] data, System.Boolean storeLocal, LibreMetaverse.UUID transactionID, System.Threading.CancellationToken cancellationToken = default)`.
/// Mapping contract: ownership `shared_self,owned,owned,owned,owned,optional_owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.AssetManager.RequestUploadBakedTextureAsync(System.Byte[],System.Threading.CancellationToken)`.
///
/// C# signature: `System.Threading.Tasks.Task<LibreMetaverse.UUID> LibreMetaverse.AssetManager.RequestUploadBakedTextureAsync(System.Byte[] textureData, System.Threading.CancellationToken cancellationToken = default)`.
/// Mapping contract: ownership `shared_self,owned,optional_owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.AssetManager.RequestUploadLargeTextureAsync(System.Byte[],System.Int32,System.Threading.CancellationToken)`.
///
/// C# signature: `System.Threading.Tasks.Task<LibreMetaverse.UUID> LibreMetaverse.AssetManager.RequestUploadLargeTextureAsync(System.Byte[] data, System.Int32 widthPixels, System.Threading.CancellationToken cancellationToken = default)`.
/// Mapping contract: ownership `shared_self,owned,owned,optional_owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.AssetManager.HttpDownloadManager`.
///
/// C# signature: `LibreMetaverse.Http.DownloadManager LibreMetaverse.AssetManager.HttpDownloadManager`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::asset_manager::AssetManager;

/// C# type: `T:LibreMetaverse.AssetUpload`.
///
/// Native Rust mapping of C# `LibreMetaverse.AssetUpload` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `F:LibreMetaverse.AssetUpload.AssetID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.AssetUpload.AssetID`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.AssetUpload.PacketNum`.
///
/// C# signature: `System.UInt32 LibreMetaverse.AssetUpload.PacketNum`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.AssetUpload.Type`.
///
/// C# signature: `LibreMetaverse.AssetType LibreMetaverse.AssetUpload.Type`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.AssetUpload.XferID`.
///
/// C# signature: `System.UInt64 LibreMetaverse.AssetUpload.XferID`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `M:LibreMetaverse.AssetUpload.#ctor`.
///
/// C# signature: `LibreMetaverse.AssetUpload()`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
pub use crate::transfers::AssetUpload;

/// C# type: `T:LibreMetaverse.AssetUploadEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.AssetUploadEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.AssetUploadEventArgs.#ctor(LibreMetaverse.AssetUpload)`.
///
/// C# signature: `LibreMetaverse.AssetUploadEventArgs(LibreMetaverse.AssetUpload upload)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.AssetUploadEventArgs.Upload`.
///
/// C# signature: `LibreMetaverse.AssetUpload LibreMetaverse.AssetUploadEventArgs.Upload`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::transfers::AssetUploadEventArgs;

/// C# type: `T:LibreMetaverse.AttachedSoundEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.AttachedSoundEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.AttachedSoundEventArgs.#ctor(LibreMetaverse.Simulator,LibreMetaverse.UUID,LibreMetaverse.UUID,LibreMetaverse.UUID,System.Single,LibreMetaverse.SoundFlags)`.
///
/// C# signature: `LibreMetaverse.AttachedSoundEventArgs(LibreMetaverse.Simulator sim, LibreMetaverse.UUID soundID, LibreMetaverse.UUID ownerID, LibreMetaverse.UUID objectID, System.Single gain, LibreMetaverse.SoundFlags flags)`.
/// Mapping contract: ownership `owned,owned,owned,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.AttachedSoundEventArgs.Flags`.
///
/// C# signature: `LibreMetaverse.SoundFlags LibreMetaverse.AttachedSoundEventArgs.Flags`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AttachedSoundEventArgs.Gain`.
///
/// C# signature: `System.Single LibreMetaverse.AttachedSoundEventArgs.Gain`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AttachedSoundEventArgs.ObjectID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.AttachedSoundEventArgs.ObjectID`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AttachedSoundEventArgs.OwnerID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.AttachedSoundEventArgs.OwnerID`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AttachedSoundEventArgs.Simulator`.
///
/// C# signature: `LibreMetaverse.Simulator LibreMetaverse.AttachedSoundEventArgs.Simulator`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AttachedSoundEventArgs.SoundID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.AttachedSoundEventArgs.SoundID`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::sound_manager::AttachedSoundEventArgs;

/// C# type: `T:LibreMetaverse.AttachedSoundGainChangeEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.AttachedSoundGainChangeEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.AttachedSoundGainChangeEventArgs.#ctor(LibreMetaverse.Simulator,LibreMetaverse.UUID,System.Single)`.
///
/// C# signature: `LibreMetaverse.AttachedSoundGainChangeEventArgs(LibreMetaverse.Simulator sim, LibreMetaverse.UUID objectID, System.Single gain)`.
/// Mapping contract: ownership `owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.AttachedSoundGainChangeEventArgs.Gain`.
///
/// C# signature: `System.Single LibreMetaverse.AttachedSoundGainChangeEventArgs.Gain`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AttachedSoundGainChangeEventArgs.ObjectID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.AttachedSoundGainChangeEventArgs.ObjectID`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AttachedSoundGainChangeEventArgs.Simulator`.
///
/// C# signature: `LibreMetaverse.Simulator LibreMetaverse.AttachedSoundGainChangeEventArgs.Simulator`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::sound_manager::AttachedSoundGainChangeEventArgs;

/// C# type: `T:LibreMetaverse.AttentionData`.
///
/// Native Rust mapping of C# `LibreMetaverse.AttentionData` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `P:LibreMetaverse.AttentionData.Priority`.
///
/// C# signature: `System.Single LibreMetaverse.AttentionData.Priority`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AttentionData.Timeout`.
///
/// C# signature: `System.Single LibreMetaverse.AttentionData.Timeout`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::attention_catalog::AttentionData;

/// C# type: `T:LibreMetaverse.AttentionSet`.
///
/// Native Rust mapping of C# `LibreMetaverse.AttentionSet` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.AttentionSet.Get(LibreMetaverse.LookAtType)`.
///
/// C# signature: `LibreMetaverse.AttentionData& LibreMetaverse.AttentionSet.Get(LibreMetaverse.LookAtType type)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.AttentionSet.Entries`.
///
/// C# signature: `LibreMetaverse.AttentionData[] LibreMetaverse.AttentionSet.Entries`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AttentionSet.Name`.
///
/// C# signature: `System.String LibreMetaverse.AttentionSet.Name`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::attention_catalog::AttentionSet;

/// C# type: `T:LibreMetaverse.Avatar`.
///
/// Native Rust mapping of C# `LibreMetaverse.Avatar` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `F:LibreMetaverse.Avatar.Animations`.
///
/// C# signature: `System.Collections.Generic.List<LibreMetaverse.Animation> LibreMetaverse.Avatar.Animations`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Avatar.AppearanceFlags`.
///
/// C# signature: `LibreMetaverse.AppearanceFlags LibreMetaverse.Avatar.AppearanceFlags`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Avatar.AppearanceVersion`.
///
/// C# signature: `System.Byte LibreMetaverse.Avatar.AppearanceVersion`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Avatar.Attachments`.
///
/// C# signature: `System.Collections.Generic.List<LibreMetaverse.Avatar.Attachment> LibreMetaverse.Avatar.Attachments`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Avatar.COFVersion`.
///
/// C# signature: `System.Int32 LibreMetaverse.Avatar.COFVersion`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Avatar.ControlFlags`.
///
/// C# signature: `LibreMetaverse.AgentManager.ControlFlags LibreMetaverse.Avatar.ControlFlags`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Avatar.Groups`.
///
/// C# signature: `System.Collections.Generic.List<LibreMetaverse.UUID> LibreMetaverse.Avatar.Groups`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Avatar.HoverHeight`.
///
/// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Avatar.HoverHeight`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Avatar.ProfileInterests`.
///
/// C# signature: `LibreMetaverse.Avatar.Interests LibreMetaverse.Avatar.ProfileInterests`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Avatar.ProfileProperties`.
///
/// C# signature: `LibreMetaverse.Avatar.AvatarProperties LibreMetaverse.Avatar.ProfileProperties`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Avatar.ProfileStatistics`.
///
/// C# signature: `LibreMetaverse.Avatar.Statistics LibreMetaverse.Avatar.ProfileStatistics`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Avatar.VisualParameters`.
///
/// C# signature: `System.Byte[] LibreMetaverse.Avatar.VisualParameters`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `M:LibreMetaverse.Avatar.#ctor`.
///
/// C# signature: `LibreMetaverse.Avatar()`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Avatar.DecodeVisualParams`.
///
/// C# signature: `System.Collections.Generic.IReadOnlyDictionary<System.Int32, System.Single> LibreMetaverse.Avatar.DecodeVisualParams()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Avatar.FromOSD(LibreMetaverse.StructuredData.OSD)`.
///
/// C# signature: `LibreMetaverse.Avatar LibreMetaverse.Avatar.FromOSD(LibreMetaverse.StructuredData.OSD O)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Avatar.GetOSD`.
///
/// C# signature: `LibreMetaverse.StructuredData.OSD LibreMetaverse.Avatar.GetOSD()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.Avatar.FirstName`.
///
/// C# signature: `System.String LibreMetaverse.Avatar.FirstName`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.Avatar.GroupName`.
///
/// C# signature: `System.String LibreMetaverse.Avatar.GroupName`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.Avatar.LastName`.
///
/// C# signature: `System.String LibreMetaverse.Avatar.LastName`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.Avatar.Name`.
///
/// C# signature: `System.String LibreMetaverse.Avatar.Name`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::avatar_model::Avatar;

/// C# type: `T:LibreMetaverse.Avatar.Attachment`.
///
/// Native Rust mapping of C# `LibreMetaverse.Avatar.Attachment` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Debug, Eq, Hash, PartialEq)]
pub struct AvatarAttachment {
    /// C# member: `F:LibreMetaverse.Avatar.Attachment.AttachmentID`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Avatar.Attachment.AttachmentID`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub attachment_id: libremetaverse_types::UUID,
    /// C# member: `F:LibreMetaverse.Avatar.Attachment.AttachmentPoint`.
    ///
    /// C# signature: `System.Byte LibreMetaverse.Avatar.Attachment.AttachmentPoint`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub attachment_point: u8,
}
impl AvatarAttachment {
    /// C# member: `M:LibreMetaverse.Avatar.Attachment.Equals(LibreMetaverse.Avatar.Attachment)`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.Avatar.Attachment.Equals(LibreMetaverse.Avatar.Attachment other)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `infallible_placeholder`; overload `descriptive_overload_name`; kind `method`.
    pub fn equals_with_attachment(&self, other: libremetaverse::AvatarAttachment) -> bool {
        /* reviewed native compatibility body */
        self.attachment_point == other.attachment_point && self.attachment_id == other.attachment_id
    }
    /// C# member: `M:LibreMetaverse.Avatar.Attachment.Equals(System.Object)`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.Avatar.Attachment.Equals(System.Object obj)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `infallible_placeholder`; overload `descriptive_overload_name`; kind `method`.
    pub fn equals_with_object(&self, obj: Option<libremetaverse_types::compat::Object>) -> bool {
        /* reviewed native compatibility body */
        obj.as_ref()
            .and_then(|value| value.downcast_ref::<libremetaverse::AvatarAttachment>())
            .is_some_and(|other| {
                self.attachment_point == other.attachment_point
                    && self.attachment_id == other.attachment_id
            })
    }
    /// C# member: `M:LibreMetaverse.Avatar.Attachment.GetHashCode`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.Avatar.Attachment.GetHashCode()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
    pub fn get_hash_code(&self) -> i32 {
        /* reviewed native compatibility body */
        i32::from(self.attachment_point).wrapping_mul(397) ^ self.attachment_id.get_hash_code()
    }
}

/// C# type: `T:LibreMetaverse.Avatar.AvatarProperties`.
///
/// Native Rust mapping of C# `LibreMetaverse.Avatar.AvatarProperties` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone)]
pub struct AvatarAvatarProperties {
    /// C# member: `F:LibreMetaverse.Avatar.AvatarProperties.AboutText`.
    ///
    /// C# signature: `System.String LibreMetaverse.Avatar.AvatarProperties.AboutText`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub about_text: String,
    /// C# member: `F:LibreMetaverse.Avatar.AvatarProperties.BornOn`.
    ///
    /// C# signature: `System.String LibreMetaverse.Avatar.AvatarProperties.BornOn`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub born_on: String,
    /// C# member: `F:LibreMetaverse.Avatar.AvatarProperties.CharterMember`.
    ///
    /// C# signature: `System.String LibreMetaverse.Avatar.AvatarProperties.CharterMember`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub charter_member: String,
    /// C# member: `F:LibreMetaverse.Avatar.AvatarProperties.FirstLifeImage`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Avatar.AvatarProperties.FirstLifeImage`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub first_life_image: libremetaverse_types::UUID,
    /// C# member: `F:LibreMetaverse.Avatar.AvatarProperties.FirstLifeText`.
    ///
    /// C# signature: `System.String LibreMetaverse.Avatar.AvatarProperties.FirstLifeText`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub first_life_text: String,
    /// C# member: `F:LibreMetaverse.Avatar.AvatarProperties.Flags`.
    ///
    /// C# signature: `LibreMetaverse.ProfileFlags LibreMetaverse.Avatar.AvatarProperties.Flags`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub flags: libremetaverse::ProfileFlags,
    /// C# member: `F:LibreMetaverse.Avatar.AvatarProperties.Partner`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Avatar.AvatarProperties.Partner`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub partner: libremetaverse_types::UUID,
    /// C# member: `F:LibreMetaverse.Avatar.AvatarProperties.ProfileImage`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Avatar.AvatarProperties.ProfileImage`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub profile_image: libremetaverse_types::UUID,
    /// C# member: `F:LibreMetaverse.Avatar.AvatarProperties.ProfileURL`.
    ///
    /// C# signature: `System.String LibreMetaverse.Avatar.AvatarProperties.ProfileURL`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub profile_url: String,
}
impl AvatarAvatarProperties {
    /// C# member: `M:LibreMetaverse.Avatar.AvatarProperties.FromOSD(LibreMetaverse.StructuredData.OSD)`.
    ///
    /// C# signature: `LibreMetaverse.Avatar.AvatarProperties LibreMetaverse.Avatar.AvatarProperties.FromOSD(LibreMetaverse.StructuredData.OSD O)`.
    /// Mapping contract: ownership `owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn from_osd(
        o: libremetaverse_structured_data::OSD,
    ) -> Result<libremetaverse::AvatarAvatarProperties, crate::Error> {
        /* reviewed native compatibility body */
        crate::agent_messages::avatar_properties_from_osd(o)
    }
    /// C# member: `M:LibreMetaverse.Avatar.AvatarProperties.GetOSD`.
    ///
    /// C# signature: `LibreMetaverse.StructuredData.OSD LibreMetaverse.Avatar.AvatarProperties.GetOSD()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn get_osd(&self) -> Result<libremetaverse_structured_data::OSD, crate::Error> {
        /* reviewed native compatibility body */
        crate::agent_messages::avatar_properties_get_osd(self)
    }
    /// C# member: `P:LibreMetaverse.Avatar.AvatarProperties.AllowPublish`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.Avatar.AvatarProperties.AllowPublish`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn allow_publish(&self) -> bool {
        /* reviewed native compatibility body */
        self.flags.0 & crate::ProfileFlags::ALLOW_PUBLISH.0 != 0
    }
    /// Setter for C# member: `P:LibreMetaverse.Avatar.AvatarProperties.AllowPublish`.
    pub fn set_allow_publish(&mut self, value: bool) {
        /* reviewed native compatibility body */
        if value {
            self.flags.0 |= crate::ProfileFlags::ALLOW_PUBLISH.0
        } else {
            self.flags.0 &= !crate::ProfileFlags::ALLOW_PUBLISH.0
        }
    }
    /// C# member: `P:LibreMetaverse.Avatar.AvatarProperties.Identified`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.Avatar.AvatarProperties.Identified`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn identified(&self) -> bool {
        /* reviewed native compatibility body */
        self.flags.0 & crate::ProfileFlags::IDENTIFIED.0 != 0
    }
    /// Setter for C# member: `P:LibreMetaverse.Avatar.AvatarProperties.Identified`.
    pub fn set_identified(&mut self, value: bool) {
        /* reviewed native compatibility body */
        if value {
            self.flags.0 |= crate::ProfileFlags::IDENTIFIED.0
        } else {
            self.flags.0 &= !crate::ProfileFlags::IDENTIFIED.0
        }
    }
    /// C# member: `P:LibreMetaverse.Avatar.AvatarProperties.MaturePublish`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.Avatar.AvatarProperties.MaturePublish`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn mature_publish(&self) -> bool {
        /* reviewed native compatibility body */
        self.flags.0 & crate::ProfileFlags::MATURE_PUBLISH.0 != 0
    }
    /// Setter for C# member: `P:LibreMetaverse.Avatar.AvatarProperties.MaturePublish`.
    pub fn set_mature_publish(&mut self, value: bool) {
        /* reviewed native compatibility body */
        if value {
            self.flags.0 |= crate::ProfileFlags::MATURE_PUBLISH.0
        } else {
            self.flags.0 &= !crate::ProfileFlags::MATURE_PUBLISH.0
        }
    }
    /// C# member: `P:LibreMetaverse.Avatar.AvatarProperties.Online`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.Avatar.AvatarProperties.Online`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn online(&self) -> bool {
        /* reviewed native compatibility body */
        self.flags.0 & crate::ProfileFlags::ONLINE.0 != 0
    }
    /// Setter for C# member: `P:LibreMetaverse.Avatar.AvatarProperties.Online`.
    pub fn set_online(&mut self, value: bool) {
        /* reviewed native compatibility body */
        if value {
            self.flags.0 |= crate::ProfileFlags::ONLINE.0
        } else {
            self.flags.0 &= !crate::ProfileFlags::ONLINE.0
        }
    }
    /// C# member: `P:LibreMetaverse.Avatar.AvatarProperties.Transacted`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.Avatar.AvatarProperties.Transacted`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn transacted(&self) -> bool {
        /* reviewed native compatibility body */
        self.flags.0 & crate::ProfileFlags::TRANSACTED.0 != 0
    }
    /// Setter for C# member: `P:LibreMetaverse.Avatar.AvatarProperties.Transacted`.
    pub fn set_transacted(&mut self, value: bool) {
        /* reviewed native compatibility body */
        if value {
            self.flags.0 |= crate::ProfileFlags::TRANSACTED.0
        } else {
            self.flags.0 &= !crate::ProfileFlags::TRANSACTED.0
        }
    }
}

/// C# type: `T:LibreMetaverse.Avatar.Interests`.
///
/// Native Rust mapping of C# `LibreMetaverse.Avatar.Interests` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone)]
pub struct AvatarInterests {
    /// C# member: `F:LibreMetaverse.Avatar.Interests.LanguagesText`.
    ///
    /// C# signature: `System.String LibreMetaverse.Avatar.Interests.LanguagesText`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub languages_text: String,
    /// C# member: `F:LibreMetaverse.Avatar.Interests.SkillsMask`.
    ///
    /// C# signature: `System.UInt32 LibreMetaverse.Avatar.Interests.SkillsMask`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub skills_mask: u32,
    /// C# member: `F:LibreMetaverse.Avatar.Interests.SkillsText`.
    ///
    /// C# signature: `System.String LibreMetaverse.Avatar.Interests.SkillsText`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub skills_text: String,
    /// C# member: `F:LibreMetaverse.Avatar.Interests.WantToMask`.
    ///
    /// C# signature: `System.UInt32 LibreMetaverse.Avatar.Interests.WantToMask`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub want_to_mask: u32,
    /// C# member: `F:LibreMetaverse.Avatar.Interests.WantToText`.
    ///
    /// C# signature: `System.String LibreMetaverse.Avatar.Interests.WantToText`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub want_to_text: String,
}
impl AvatarInterests {
    /// C# member: `M:LibreMetaverse.Avatar.Interests.FromOSD(LibreMetaverse.StructuredData.OSD)`.
    ///
    /// C# signature: `LibreMetaverse.Avatar.Interests LibreMetaverse.Avatar.Interests.FromOSD(LibreMetaverse.StructuredData.OSD O)`.
    /// Mapping contract: ownership `owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn from_osd(
        o: libremetaverse_structured_data::OSD,
    ) -> Result<libremetaverse::AvatarInterests, crate::Error> {
        /* reviewed native compatibility body */
        crate::agent_messages::avatar_interests_from_osd(o)
    }
    /// C# member: `M:LibreMetaverse.Avatar.Interests.GetOSD`.
    ///
    /// C# signature: `LibreMetaverse.StructuredData.OSD LibreMetaverse.Avatar.Interests.GetOSD()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn get_osd(&self) -> Result<libremetaverse_structured_data::OSD, crate::Error> {
        /* reviewed native compatibility body */
        crate::agent_messages::avatar_interests_get_osd(self)
    }
}

/// C# type: `T:LibreMetaverse.Avatar.Statistics`.
///
/// Native Rust mapping of C# `LibreMetaverse.Avatar.Statistics` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone)]
pub struct AvatarStatistics {
    /// C# member: `F:LibreMetaverse.Avatar.Statistics.AppearanceNegative`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.Avatar.Statistics.AppearanceNegative`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub appearance_negative: i32,
    /// C# member: `F:LibreMetaverse.Avatar.Statistics.AppearancePositive`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.Avatar.Statistics.AppearancePositive`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub appearance_positive: i32,
    /// C# member: `F:LibreMetaverse.Avatar.Statistics.BehaviorNegative`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.Avatar.Statistics.BehaviorNegative`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub behavior_negative: i32,
    /// C# member: `F:LibreMetaverse.Avatar.Statistics.BehaviorPositive`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.Avatar.Statistics.BehaviorPositive`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub behavior_positive: i32,
    /// C# member: `F:LibreMetaverse.Avatar.Statistics.BuildingNegative`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.Avatar.Statistics.BuildingNegative`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub building_negative: i32,
    /// C# member: `F:LibreMetaverse.Avatar.Statistics.BuildingPositive`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.Avatar.Statistics.BuildingPositive`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub building_positive: i32,
    /// C# member: `F:LibreMetaverse.Avatar.Statistics.GivenNegative`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.Avatar.Statistics.GivenNegative`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub given_negative: i32,
    /// C# member: `F:LibreMetaverse.Avatar.Statistics.GivenPositive`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.Avatar.Statistics.GivenPositive`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub given_positive: i32,
}
impl AvatarStatistics {
    /// C# member: `M:LibreMetaverse.Avatar.Statistics.FromOSD(LibreMetaverse.StructuredData.OSD)`.
    ///
    /// C# signature: `LibreMetaverse.Avatar.Statistics LibreMetaverse.Avatar.Statistics.FromOSD(LibreMetaverse.StructuredData.OSD O)`.
    /// Mapping contract: ownership `owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn from_osd(
        o: libremetaverse_structured_data::OSD,
    ) -> Result<libremetaverse::AvatarStatistics, crate::Error> {
        /* reviewed native compatibility body */
        crate::avatar_model::statistics_from_osd(o)
    }
    /// C# member: `M:LibreMetaverse.Avatar.Statistics.GetOSD`.
    ///
    /// C# signature: `LibreMetaverse.StructuredData.OSD LibreMetaverse.Avatar.Statistics.GetOSD()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn get_osd(&self) -> Result<libremetaverse_structured_data::OSD, crate::Error> {
        /* reviewed native compatibility body */
        crate::avatar_model::statistics_get_osd(self)
    }
}

/// C# type: `T:LibreMetaverse.AvatarAnimationEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.AvatarAnimationEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
pub use crate::avatar_manager::AvatarAnimationEventArgs;
impl AvatarAnimationEventArgs {
    /// C# member: `M:LibreMetaverse.AvatarAnimationEventArgs.#ctor(LibreMetaverse.UUID,System.Collections.Generic.List{LibreMetaverse.Animation})`.
    ///
    /// C# signature: `LibreMetaverse.AvatarAnimationEventArgs(LibreMetaverse.UUID avatarID, System.Collections.Generic.List<LibreMetaverse.Animation> anims)`.
    /// Mapping contract: ownership `owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn new(
        avatar_id: libremetaverse_types::UUID,
        anims: Vec<libremetaverse::Animation>,
    ) -> Result<Self, crate::Error> {
        /* reviewed native compatibility body */
        crate::avatar_manager::AvatarAnimationEventArgs::native_new(avatar_id, anims)
    }
    /// C# member: `P:LibreMetaverse.AvatarAnimationEventArgs.Animations`.
    ///
    /// C# signature: `System.Collections.Generic.List<LibreMetaverse.Animation> LibreMetaverse.AvatarAnimationEventArgs.Animations`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn animations(&self) -> Vec<libremetaverse::Animation> {
        /* reviewed native compatibility body */
        self.native_animations()
    }
    /// C# member: `P:LibreMetaverse.AvatarAnimationEventArgs.AvatarID`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.AvatarAnimationEventArgs.AvatarID`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn avatar_id(&self) -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        self.native_avatar_id()
    }
}

/// C# type: `T:LibreMetaverse.AvatarAppearanceEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.AvatarAppearanceEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
pub struct AvatarAppearanceEventArgs {
    stored_appearance_flags: crate::AppearanceFlags,
    stored_appearance_version: u8,
    stored_avatar_id: libremetaverse_types::UUID,
    stored_cof_version: i32,
    stored_child_count: i32,
    stored_default_texture: crate::PrimitiveTextureEntryFace,
    stored_face_textures: Vec<crate::PrimitiveTextureEntryFace>,
    stored_is_trial: bool,
    stored_simulator: Option<crate::Simulator>,
    stored_visual_params: Vec<u8>,
}
impl AvatarAppearanceEventArgs {
    /// C# member: `M:LibreMetaverse.AvatarAppearanceEventArgs.#ctor(LibreMetaverse.Simulator,LibreMetaverse.UUID,System.Boolean,LibreMetaverse.Primitive.TextureEntryFace,LibreMetaverse.Primitive.TextureEntryFace[],System.Collections.Generic.List{System.Byte},System.Byte,System.Int32,LibreMetaverse.AppearanceFlags,System.Int32)`.
    ///
    /// C# signature: `LibreMetaverse.AvatarAppearanceEventArgs(LibreMetaverse.Simulator sim, LibreMetaverse.UUID avatarID, System.Boolean isTrial, LibreMetaverse.Primitive.TextureEntryFace defaultTexture, LibreMetaverse.Primitive.TextureEntryFace[] faceTextures, System.Collections.Generic.List<System.Byte> visualParams, System.Byte appearanceVersion, System.Int32 COFVersion, LibreMetaverse.AppearanceFlags appearanceFlags, System.Int32 childCount)`.
    /// Mapping contract: ownership `optional_owned,owned,owned,owned,owned,owned,owned,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn new(
        sim: Option<libremetaverse::Simulator>,
        avatar_id: libremetaverse_types::UUID,
        is_trial: bool,
        default_texture: libremetaverse::PrimitiveTextureEntryFace,
        face_textures: Vec<libremetaverse::PrimitiveTextureEntryFace>,
        visual_params: Vec<u8>,
        appearance_version: u8,
        cof_version: i32,
        appearance_flags: libremetaverse::AppearanceFlags,
        child_count: i32,
    ) -> Result<Self, crate::Error> {
        /* reviewed native compatibility body */
        Ok(Self {
            stored_appearance_flags: appearance_flags,
            stored_appearance_version: appearance_version,
            stored_avatar_id: avatar_id,
            stored_cof_version: cof_version,
            stored_child_count: child_count,
            stored_default_texture: default_texture,
            stored_face_textures: face_textures,
            stored_is_trial: is_trial,
            stored_simulator: sim,
            stored_visual_params: visual_params,
        })
    }
    /// C# member: `M:LibreMetaverse.AvatarAppearanceEventArgs.DecodeVisualParams`.
    ///
    /// C# signature: `System.Collections.Generic.IReadOnlyDictionary<System.Int32, System.Single> LibreMetaverse.AvatarAppearanceEventArgs.DecodeVisualParams()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn decode_visual_params(
        &self,
    ) -> Result<std::collections::HashMap<i32, f32>, crate::Error> {
        /* reviewed native compatibility body */
        Ok(crate::visual_catalog::decode_visual_params(
            &self.stored_visual_params,
        ))
    }
    /// C# member: `P:LibreMetaverse.AvatarAppearanceEventArgs.AppearanceFlags`.
    ///
    /// C# signature: `LibreMetaverse.AppearanceFlags LibreMetaverse.AvatarAppearanceEventArgs.AppearanceFlags`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn appearance_flags(&self) -> libremetaverse::AppearanceFlags {
        /* reviewed native compatibility body */
        self.stored_appearance_flags
    }
    /// C# member: `P:LibreMetaverse.AvatarAppearanceEventArgs.AppearanceVersion`.
    ///
    /// C# signature: `System.Byte LibreMetaverse.AvatarAppearanceEventArgs.AppearanceVersion`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn appearance_version(&self) -> u8 {
        /* reviewed native compatibility body */
        self.stored_appearance_version
    }
    /// C# member: `P:LibreMetaverse.AvatarAppearanceEventArgs.AvatarID`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.AvatarAppearanceEventArgs.AvatarID`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn avatar_id(&self) -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        self.stored_avatar_id
    }
    /// C# member: `P:LibreMetaverse.AvatarAppearanceEventArgs.COFVersion`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.AvatarAppearanceEventArgs.COFVersion`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn cof_version(&self) -> i32 {
        /* reviewed native compatibility body */
        self.stored_cof_version
    }
    /// C# member: `P:LibreMetaverse.AvatarAppearanceEventArgs.ChildCount`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.AvatarAppearanceEventArgs.ChildCount`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn child_count(&self) -> i32 {
        /* reviewed native compatibility body */
        self.stored_child_count
    }
    /// C# member: `P:LibreMetaverse.AvatarAppearanceEventArgs.DefaultTexture`.
    ///
    /// C# signature: `LibreMetaverse.Primitive.TextureEntryFace LibreMetaverse.AvatarAppearanceEventArgs.DefaultTexture`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn default_texture(&self) -> libremetaverse::PrimitiveTextureEntryFace {
        /* reviewed native compatibility body */
        Clone::clone(&self.stored_default_texture)
    }
    /// C# member: `P:LibreMetaverse.AvatarAppearanceEventArgs.FaceTextures`.
    ///
    /// C# signature: `LibreMetaverse.Primitive.TextureEntryFace[] LibreMetaverse.AvatarAppearanceEventArgs.FaceTextures`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn face_textures(&self) -> Vec<libremetaverse::PrimitiveTextureEntryFace> {
        /* reviewed native compatibility body */
        self.stored_face_textures.clone()
    }
    /// C# member: `P:LibreMetaverse.AvatarAppearanceEventArgs.IsTrial`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.AvatarAppearanceEventArgs.IsTrial`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn is_trial(&self) -> bool {
        /* reviewed native compatibility body */
        self.stored_is_trial
    }
    /// C# member: `P:LibreMetaverse.AvatarAppearanceEventArgs.Simulator`.
    ///
    /// C# signature: `LibreMetaverse.Simulator LibreMetaverse.AvatarAppearanceEventArgs.Simulator`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn simulator(&self) -> libremetaverse::Simulator {
        /* reviewed native compatibility body */
        self.stored_simulator
            .clone()
            .expect("AvatarAppearanceEventArgs requires a simulator")
    }
    /// C# member: `P:LibreMetaverse.AvatarAppearanceEventArgs.VisualParams`.
    ///
    /// C# signature: `System.Collections.Generic.List<System.Byte> LibreMetaverse.AvatarAppearanceEventArgs.VisualParams`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn visual_params(&self) -> Vec<u8> {
        /* reviewed native compatibility body */
        self.stored_visual_params.clone()
    }
}

/// C# type: `T:LibreMetaverse.AvatarClassifiedReplyEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.AvatarClassifiedReplyEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
pub struct AvatarClassifiedReplyEventArgs {
    property_0: libremetaverse_types::UUID,
    property_1: std::collections::HashMap<libremetaverse_types::UUID, String>,
}
impl AvatarClassifiedReplyEventArgs {
    /// C# member: `M:LibreMetaverse.AvatarClassifiedReplyEventArgs.#ctor(LibreMetaverse.UUID,System.Collections.Generic.Dictionary{LibreMetaverse.UUID,System.String})`.
    ///
    /// C# signature: `LibreMetaverse.AvatarClassifiedReplyEventArgs(LibreMetaverse.UUID avatarid, System.Collections.Generic.Dictionary<LibreMetaverse.UUID, System.String> classifieds)`.
    /// Mapping contract: ownership `owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn new(
        avatarid: libremetaverse_types::UUID,
        classifieds: std::collections::HashMap<libremetaverse_types::UUID, String>,
    ) -> Result<Self, crate::Error> {
        /* complete generated data model */
        Ok(Self {
            property_0: avatarid,
            property_1: classifieds,
        })
    }
    /// C# member: `P:LibreMetaverse.AvatarClassifiedReplyEventArgs.AvatarID`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.AvatarClassifiedReplyEventArgs.AvatarID`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn avatar_id(&self) -> libremetaverse_types::UUID {
        /* complete generated data model */
        self.property_0.clone()
    }
    /// C# member: `P:LibreMetaverse.AvatarClassifiedReplyEventArgs.Classifieds`.
    ///
    /// C# signature: `System.Collections.Generic.Dictionary<LibreMetaverse.UUID, System.String> LibreMetaverse.AvatarClassifiedReplyEventArgs.Classifieds`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn classifieds(&self) -> std::collections::HashMap<libremetaverse_types::UUID, String> {
        /* complete generated data model */
        self.property_1.clone()
    }
}

/// C# type: `T:LibreMetaverse.AvatarGroup`.
///
/// Native Rust mapping of C# `LibreMetaverse.AvatarGroup` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone)]
pub struct AvatarGroup {
    /// C# member: `F:LibreMetaverse.AvatarGroup.AcceptNotices`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.AvatarGroup.AcceptNotices`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub accept_notices: bool,
    /// C# member: `F:LibreMetaverse.AvatarGroup.GroupID`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.AvatarGroup.GroupID`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub group_id: libremetaverse_types::UUID,
    /// C# member: `F:LibreMetaverse.AvatarGroup.GroupInsigniaID`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.AvatarGroup.GroupInsigniaID`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub group_insignia_id: libremetaverse_types::UUID,
    /// C# member: `F:LibreMetaverse.AvatarGroup.GroupName`.
    ///
    /// C# signature: `System.String LibreMetaverse.AvatarGroup.GroupName`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub group_name: String,
    /// C# member: `F:LibreMetaverse.AvatarGroup.GroupPowers`.
    ///
    /// C# signature: `LibreMetaverse.GroupPowers LibreMetaverse.AvatarGroup.GroupPowers`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub group_powers: libremetaverse::GroupPowers,
    /// C# member: `F:LibreMetaverse.AvatarGroup.GroupTitle`.
    ///
    /// C# signature: `System.String LibreMetaverse.AvatarGroup.GroupTitle`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub group_title: String,
    /// C# member: `F:LibreMetaverse.AvatarGroup.ListInProfile`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.AvatarGroup.ListInProfile`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub list_in_profile: bool,
}
impl AvatarGroup {}

/// C# type: `T:LibreMetaverse.AvatarGroupsReplyEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.AvatarGroupsReplyEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
pub struct AvatarGroupsReplyEventArgs {
    property_0: libremetaverse_types::UUID,
    property_1: Vec<libremetaverse::AvatarGroup>,
}
impl AvatarGroupsReplyEventArgs {
    /// C# member: `M:LibreMetaverse.AvatarGroupsReplyEventArgs.#ctor(LibreMetaverse.UUID,System.Collections.Generic.List{LibreMetaverse.AvatarGroup})`.
    ///
    /// C# signature: `LibreMetaverse.AvatarGroupsReplyEventArgs(LibreMetaverse.UUID avatarID, System.Collections.Generic.List<LibreMetaverse.AvatarGroup> avatarGroups)`.
    /// Mapping contract: ownership `owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn new(
        avatar_id: libremetaverse_types::UUID,
        avatar_groups: Vec<libremetaverse::AvatarGroup>,
    ) -> Result<Self, crate::Error> {
        /* complete generated data model */
        Ok(Self {
            property_0: avatar_id,
            property_1: avatar_groups,
        })
    }
    /// C# member: `P:LibreMetaverse.AvatarGroupsReplyEventArgs.AvatarID`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.AvatarGroupsReplyEventArgs.AvatarID`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn avatar_id(&self) -> libremetaverse_types::UUID {
        /* complete generated data model */
        self.property_0.clone()
    }
    /// C# member: `P:LibreMetaverse.AvatarGroupsReplyEventArgs.Groups`.
    ///
    /// C# signature: `System.Collections.Generic.List<LibreMetaverse.AvatarGroup> LibreMetaverse.AvatarGroupsReplyEventArgs.Groups`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn groups(&self) -> Vec<libremetaverse::AvatarGroup> {
        /* complete generated data model */
        self.property_1.clone()
    }
}

/// C# type: `T:LibreMetaverse.AvatarInterestsReplyEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.AvatarInterestsReplyEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
pub struct AvatarInterestsReplyEventArgs {
    property_0: libremetaverse_types::UUID,
    property_1: libremetaverse::AvatarInterests,
}
impl AvatarInterestsReplyEventArgs {
    /// C# member: `M:LibreMetaverse.AvatarInterestsReplyEventArgs.#ctor(LibreMetaverse.UUID,LibreMetaverse.Avatar.Interests)`.
    ///
    /// C# signature: `LibreMetaverse.AvatarInterestsReplyEventArgs(LibreMetaverse.UUID avatarID, LibreMetaverse.Avatar.Interests interests)`.
    /// Mapping contract: ownership `owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn new(
        avatar_id: libremetaverse_types::UUID,
        interests: libremetaverse::AvatarInterests,
    ) -> Result<Self, crate::Error> {
        /* complete generated data model */
        Ok(Self {
            property_0: avatar_id,
            property_1: interests,
        })
    }
    /// C# member: `P:LibreMetaverse.AvatarInterestsReplyEventArgs.AvatarID`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.AvatarInterestsReplyEventArgs.AvatarID`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn avatar_id(&self) -> libremetaverse_types::UUID {
        /* complete generated data model */
        self.property_0.clone()
    }
    /// C# member: `P:LibreMetaverse.AvatarInterestsReplyEventArgs.Interests`.
    ///
    /// C# signature: `LibreMetaverse.Avatar.Interests LibreMetaverse.AvatarInterestsReplyEventArgs.Interests`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn interests(&self) -> libremetaverse::AvatarInterests {
        /* complete generated data model */
        self.property_1.clone()
    }
}

/// C# type: `T:LibreMetaverse.AvatarManager`.
///
/// Native Rust mapping of C# `LibreMetaverse.AvatarManager` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
pub use crate::avatar_manager::AvatarManager;
impl AvatarManager {
    /// C# member: `E:LibreMetaverse.AvatarManager.AvatarAnimation`.
    ///
    /// C# signature: `System.EventHandler<LibreMetaverse.AvatarAnimationEventArgs> LibreMetaverse.AvatarManager.AvatarAnimation`.
    /// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
    pub fn subscribe_avatar_animation(
        &self,
        handler: libremetaverse_types::compat::EventHandler<
            libremetaverse::AvatarAnimationEventArgs,
        >,
    ) -> libremetaverse_types::compat::Subscription {
        /* reviewed native compatibility body */
        self.native_subscribe_avatar_animation(handler)
    }
    /// C# member: `E:LibreMetaverse.AvatarManager.AvatarAppearance`.
    ///
    /// C# signature: `System.EventHandler<LibreMetaverse.AvatarAppearanceEventArgs> LibreMetaverse.AvatarManager.AvatarAppearance`.
    /// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
    pub fn subscribe_avatar_appearance(
        &self,
        handler: libremetaverse_types::compat::EventHandler<
            libremetaverse::AvatarAppearanceEventArgs,
        >,
    ) -> libremetaverse_types::compat::Subscription {
        /* reviewed native compatibility body */
        self.native_subscribe_avatar_appearance(handler)
    }
    /// C# member: `E:LibreMetaverse.AvatarManager.AvatarClassifiedReply`.
    ///
    /// C# signature: `System.EventHandler<LibreMetaverse.AvatarClassifiedReplyEventArgs> LibreMetaverse.AvatarManager.AvatarClassifiedReply`.
    /// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
    pub fn subscribe_avatar_classified_reply(
        &self,
        handler: libremetaverse_types::compat::EventHandler<
            libremetaverse::AvatarClassifiedReplyEventArgs,
        >,
    ) -> libremetaverse_types::compat::Subscription {
        /* reviewed native compatibility body */
        self.native_subscribe_avatar_classified_reply(handler)
    }
    /// C# member: `E:LibreMetaverse.AvatarManager.AvatarGroupsReply`.
    ///
    /// C# signature: `System.EventHandler<LibreMetaverse.AvatarGroupsReplyEventArgs> LibreMetaverse.AvatarManager.AvatarGroupsReply`.
    /// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
    pub fn subscribe_avatar_groups_reply(
        &self,
        handler: libremetaverse_types::compat::EventHandler<
            libremetaverse::AvatarGroupsReplyEventArgs,
        >,
    ) -> libremetaverse_types::compat::Subscription {
        /* reviewed native compatibility body */
        self.native_subscribe_avatar_groups_reply(handler)
    }
    /// C# member: `E:LibreMetaverse.AvatarManager.AvatarInterestsReply`.
    ///
    /// C# signature: `System.EventHandler<LibreMetaverse.AvatarInterestsReplyEventArgs> LibreMetaverse.AvatarManager.AvatarInterestsReply`.
    /// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
    pub fn subscribe_avatar_interests_reply(
        &self,
        handler: libremetaverse_types::compat::EventHandler<
            libremetaverse::AvatarInterestsReplyEventArgs,
        >,
    ) -> libremetaverse_types::compat::Subscription {
        /* reviewed native compatibility body */
        self.native_subscribe_avatar_interests_reply(handler)
    }
    /// C# member: `E:LibreMetaverse.AvatarManager.AvatarNotesReply`.
    ///
    /// C# signature: `System.EventHandler<LibreMetaverse.AvatarNotesReplyEventArgs> LibreMetaverse.AvatarManager.AvatarNotesReply`.
    /// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
    pub fn subscribe_avatar_notes_reply(
        &self,
        handler: libremetaverse_types::compat::EventHandler<
            libremetaverse::AvatarNotesReplyEventArgs,
        >,
    ) -> libremetaverse_types::compat::Subscription {
        /* reviewed native compatibility body */
        self.native_subscribe_avatar_notes_reply(handler)
    }
    /// C# member: `E:LibreMetaverse.AvatarManager.AvatarPickerReply`.
    ///
    /// C# signature: `System.EventHandler<LibreMetaverse.AvatarPickerReplyEventArgs> LibreMetaverse.AvatarManager.AvatarPickerReply`.
    /// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
    pub fn subscribe_avatar_picker_reply(
        &self,
        handler: libremetaverse_types::compat::EventHandler<
            libremetaverse::AvatarPickerReplyEventArgs,
        >,
    ) -> libremetaverse_types::compat::Subscription {
        /* reviewed native compatibility body */
        self.native_subscribe_avatar_picker_reply(handler)
    }
    /// C# member: `E:LibreMetaverse.AvatarManager.AvatarPicksReply`.
    ///
    /// C# signature: `System.EventHandler<LibreMetaverse.AvatarPicksReplyEventArgs> LibreMetaverse.AvatarManager.AvatarPicksReply`.
    /// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
    pub fn subscribe_avatar_picks_reply(
        &self,
        handler: libremetaverse_types::compat::EventHandler<
            libremetaverse::AvatarPicksReplyEventArgs,
        >,
    ) -> libremetaverse_types::compat::Subscription {
        /* reviewed native compatibility body */
        self.native_subscribe_avatar_picks_reply(handler)
    }
    /// C# member: `E:LibreMetaverse.AvatarManager.AvatarPropertiesReply`.
    ///
    /// C# signature: `System.EventHandler<LibreMetaverse.AvatarPropertiesReplyEventArgs> LibreMetaverse.AvatarManager.AvatarPropertiesReply`.
    /// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
    pub fn subscribe_avatar_properties_reply(
        &self,
        handler: libremetaverse_types::compat::EventHandler<
            libremetaverse::AvatarPropertiesReplyEventArgs,
        >,
    ) -> libremetaverse_types::compat::Subscription {
        /* reviewed native compatibility body */
        self.native_subscribe_avatar_properties_reply(handler)
    }
    /// C# member: `E:LibreMetaverse.AvatarManager.ClassifiedInfoReply`.
    ///
    /// C# signature: `System.EventHandler<LibreMetaverse.ClassifiedInfoReplyEventArgs> LibreMetaverse.AvatarManager.ClassifiedInfoReply`.
    /// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
    pub fn subscribe_classified_info_reply(
        &self,
        handler: libremetaverse_types::compat::EventHandler<
            libremetaverse::ClassifiedInfoReplyEventArgs,
        >,
    ) -> libremetaverse_types::compat::Subscription {
        /* reviewed native compatibility body */
        self.native_subscribe_classified_info_reply(handler)
    }
    /// C# member: `E:LibreMetaverse.AvatarManager.DisplayNameUpdate`.
    ///
    /// C# signature: `System.EventHandler<LibreMetaverse.DisplayNameUpdateEventArgs> LibreMetaverse.AvatarManager.DisplayNameUpdate`.
    /// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
    pub fn subscribe_display_name_update(
        &self,
        handler: libremetaverse_types::compat::EventHandler<
            libremetaverse::DisplayNameUpdateEventArgs,
        >,
    ) -> libremetaverse_types::compat::Subscription {
        /* reviewed native compatibility body */
        self.native_subscribe_display_name_update(handler)
    }
    /// C# member: `E:LibreMetaverse.AvatarManager.PickInfoReply`.
    ///
    /// C# signature: `System.EventHandler<LibreMetaverse.PickInfoReplyEventArgs> LibreMetaverse.AvatarManager.PickInfoReply`.
    /// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
    pub fn subscribe_pick_info_reply(
        &self,
        handler: libremetaverse_types::compat::EventHandler<libremetaverse::PickInfoReplyEventArgs>,
    ) -> libremetaverse_types::compat::Subscription {
        /* reviewed native compatibility body */
        self.native_subscribe_pick_info_reply(handler)
    }
    /// C# member: `E:LibreMetaverse.AvatarManager.UUIDNameReply`.
    ///
    /// C# signature: `System.EventHandler<LibreMetaverse.UUIDNameReplyEventArgs> LibreMetaverse.AvatarManager.UUIDNameReply`.
    /// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
    pub fn subscribe_uuid_name_reply(
        &self,
        handler: libremetaverse_types::compat::EventHandler<libremetaverse::UUIDNameReplyEventArgs>,
    ) -> libremetaverse_types::compat::Subscription {
        /* reviewed native compatibility body */
        self.native_subscribe_uuid_name_reply(handler)
    }
    /// C# member: `E:LibreMetaverse.AvatarManager.ViewerEffect`.
    ///
    /// C# signature: `System.EventHandler<LibreMetaverse.ViewerEffectEventArgs> LibreMetaverse.AvatarManager.ViewerEffect`.
    /// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
    pub fn subscribe_viewer_effect(
        &self,
        handler: libremetaverse_types::compat::EventHandler<libremetaverse::ViewerEffectEventArgs>,
    ) -> libremetaverse_types::compat::Subscription {
        /* reviewed native compatibility body */
        self.native_subscribe_viewer_effect(handler)
    }
    /// C# member: `E:LibreMetaverse.AvatarManager.ViewerEffectLookAt`.
    ///
    /// C# signature: `System.EventHandler<LibreMetaverse.ViewerEffectLookAtEventArgs> LibreMetaverse.AvatarManager.ViewerEffectLookAt`.
    /// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
    pub fn subscribe_viewer_effect_look_at(
        &self,
        handler: libremetaverse_types::compat::EventHandler<
            libremetaverse::ViewerEffectLookAtEventArgs,
        >,
    ) -> libremetaverse_types::compat::Subscription {
        /* reviewed native compatibility body */
        self.native_subscribe_viewer_effect_look_at(handler)
    }
    /// C# member: `E:LibreMetaverse.AvatarManager.ViewerEffectPointAt`.
    ///
    /// C# signature: `System.EventHandler<LibreMetaverse.ViewerEffectPointAtEventArgs> LibreMetaverse.AvatarManager.ViewerEffectPointAt`.
    /// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
    pub fn subscribe_viewer_effect_point_at(
        &self,
        handler: libremetaverse_types::compat::EventHandler<
            libremetaverse::ViewerEffectPointAtEventArgs,
        >,
    ) -> libremetaverse_types::compat::Subscription {
        /* reviewed native compatibility body */
        self.native_subscribe_viewer_effect_point_at(handler)
    }
    /// C# member: `M:LibreMetaverse.AvatarManager.#ctor(LibreMetaverse.GridClient)`.
    ///
    /// C# signature: `LibreMetaverse.AvatarManager(LibreMetaverse.GridClient client)`.
    /// Mapping contract: ownership `optional_shared`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn new(
        client: Option<std::sync::Arc<libremetaverse::GridClient>>,
    ) -> Result<Self, crate::Error> {
        /* reviewed native compatibility body */
        crate::avatar_manager::AvatarManager::native_new(client)
    }
    /// C# member: `M:LibreMetaverse.AvatarManager.AgentProfileAvailable`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.AvatarManager.AgentProfileAvailable()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn agent_profile_available(&self) -> Result<bool, crate::Error> {
        /* reviewed native compatibility body */
        self.native_capability_available("AgentProfile")
    }
    /// C# member: `M:LibreMetaverse.AvatarManager.DisplayNamesAvailable`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.AvatarManager.DisplayNamesAvailable()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn display_names_available(&self) -> Result<bool, crate::Error> {
        /* reviewed native compatibility body */
        self.native_capability_available("GetDisplayNames")
    }
    /// C# member: `M:LibreMetaverse.AvatarManager.Dispose`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AvatarManager.Dispose()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn dispose(&self) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_dispose()
    }
    /// C# member: `M:LibreMetaverse.AvatarManager.GetDisplayNamesAsync(System.Collections.Generic.List{LibreMetaverse.UUID},System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<System.ValueTuple<System.Boolean, LibreMetaverse.AgentDisplayName[], LibreMetaverse.UUID[]>> LibreMetaverse.AvatarManager.GetDisplayNamesAsync(System.Collections.Generic.List<LibreMetaverse.UUID> ids, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn get_display_names(
        &self,
        ids: Vec<libremetaverse_types::UUID>,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<
        (
            bool,
            Option<Vec<libremetaverse::AgentDisplayName>>,
            Option<Vec<libremetaverse_types::UUID>>,
        ),
        crate::Error,
    > {
        /* reviewed native compatibility body */
        self.native_get_display_names(ids, cancellation_token).await
    }
    /// C# member: `M:LibreMetaverse.AvatarManager.RequestAgentProfileAsync(LibreMetaverse.UUID,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<System.ValueTuple<System.Boolean, LibreMetaverse.Messages.Linden.AgentProfileMessage>> LibreMetaverse.AvatarManager.RequestAgentProfileAsync(LibreMetaverse.UUID avatarid, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn request_agent_profile(
        &self,
        avatarid: libremetaverse_types::UUID,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<
        (
            bool,
            Option<libremetaverse::messages::linden::AgentProfileMessage>,
        ),
        crate::Error,
    > {
        /* reviewed native compatibility body */
        self.native_request_agent_profile(avatarid, cancellation_token)
            .await
    }
    /// C# member: `M:LibreMetaverse.AvatarManager.RequestAvatarClassified(LibreMetaverse.UUID)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AvatarManager.RequestAvatarClassified(LibreMetaverse.UUID avatarid)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn request_avatar_classified(
        &self,
        avatarid: libremetaverse_types::UUID,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_request_generic("avatarclassifiedsrequest", &[avatarid])
    }
    /// C# member: `M:LibreMetaverse.AvatarManager.RequestAvatarName(LibreMetaverse.UUID)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AvatarManager.RequestAvatarName(LibreMetaverse.UUID id)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn request_avatar_name(&self, id: libremetaverse_types::UUID) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_request_avatar_names(&[id])
    }
    /// C# member: `M:LibreMetaverse.AvatarManager.RequestAvatarNameSearch(System.String,LibreMetaverse.UUID)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AvatarManager.RequestAvatarNameSearch(System.String name, LibreMetaverse.UUID queryID)`.
    /// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn request_avatar_name_search(
        &self,
        name: String,
        query_id: libremetaverse_types::UUID,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_request_avatar_name_search(name, query_id)
    }
    /// C# member: `M:LibreMetaverse.AvatarManager.RequestAvatarNames(System.Collections.Generic.List{LibreMetaverse.UUID})`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AvatarManager.RequestAvatarNames(System.Collections.Generic.List<LibreMetaverse.UUID> ids)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn request_avatar_names(
        &self,
        ids: Vec<libremetaverse_types::UUID>,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_request_avatar_names(&ids)
    }
    /// C# member: `M:LibreMetaverse.AvatarManager.RequestAvatarNotes(LibreMetaverse.UUID)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AvatarManager.RequestAvatarNotes(LibreMetaverse.UUID avatarid)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn request_avatar_notes(
        &self,
        avatarid: libremetaverse_types::UUID,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_request_generic("avatarnotesrequest", &[avatarid])
    }
    /// C# member: `M:LibreMetaverse.AvatarManager.RequestAvatarPicks(LibreMetaverse.UUID)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AvatarManager.RequestAvatarPicks(LibreMetaverse.UUID avatarid)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn request_avatar_picks(
        &self,
        avatarid: libremetaverse_types::UUID,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_request_generic("avatarpicksrequest", &[avatarid])
    }
    /// C# member: `M:LibreMetaverse.AvatarManager.RequestAvatarProperties(LibreMetaverse.UUID)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AvatarManager.RequestAvatarProperties(LibreMetaverse.UUID avatarid)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn request_avatar_properties(
        &self,
        avatarid: libremetaverse_types::UUID,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_request_avatar_properties(avatarid)
    }
    /// C# member: `M:LibreMetaverse.AvatarManager.RequestClassifiedInfo(LibreMetaverse.UUID)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AvatarManager.RequestClassifiedInfo(LibreMetaverse.UUID classifiedid)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn request_classified_info(
        &self,
        classifiedid: libremetaverse_types::UUID,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_request_classified_info(classifiedid)
    }
    /// C# member: `M:LibreMetaverse.AvatarManager.RequestOwnAvatarTextures`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AvatarManager.RequestOwnAvatarTextures()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn request_own_avatar_textures(&self) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_request_own_avatar_textures()
    }
    /// C# member: `M:LibreMetaverse.AvatarManager.RequestPickInfo(LibreMetaverse.UUID,LibreMetaverse.UUID)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AvatarManager.RequestPickInfo(LibreMetaverse.UUID avatarid, LibreMetaverse.UUID pickid)`.
    /// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn request_pick_info(
        &self,
        avatarid: libremetaverse_types::UUID,
        pickid: libremetaverse_types::UUID,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_request_generic("pickinforequest", &[avatarid, pickid])
    }
    /// C# member: `M:LibreMetaverse.AvatarManager.RequestTrackAgent(LibreMetaverse.UUID)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AvatarManager.RequestTrackAgent(LibreMetaverse.UUID preyID)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn request_track_agent(
        &self,
        prey_id: libremetaverse_types::UUID,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_request_track_agent(prey_id)
    }
}

/// C# type: `T:LibreMetaverse.AvatarNotesReplyEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.AvatarNotesReplyEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
pub struct AvatarNotesReplyEventArgs {
    property_0: libremetaverse_types::UUID,
    property_1: String,
}
impl AvatarNotesReplyEventArgs {
    /// C# member: `M:LibreMetaverse.AvatarNotesReplyEventArgs.#ctor(LibreMetaverse.UUID,System.String)`.
    ///
    /// C# signature: `LibreMetaverse.AvatarNotesReplyEventArgs(LibreMetaverse.UUID avatarID, System.String notes)`.
    /// Mapping contract: ownership `owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn new(avatar_id: libremetaverse_types::UUID, notes: String) -> Result<Self, crate::Error> {
        /* complete generated data model */
        Ok(Self {
            property_0: avatar_id,
            property_1: notes,
        })
    }
    /// C# member: `P:LibreMetaverse.AvatarNotesReplyEventArgs.AvatarID`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.AvatarNotesReplyEventArgs.AvatarID`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn avatar_id(&self) -> libremetaverse_types::UUID {
        /* complete generated data model */
        self.property_0.clone()
    }
    /// C# member: `P:LibreMetaverse.AvatarNotesReplyEventArgs.Notes`.
    ///
    /// C# signature: `System.String LibreMetaverse.AvatarNotesReplyEventArgs.Notes`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn notes(&self) -> String {
        /* complete generated data model */
        self.property_1.clone()
    }
}

/// C# type: `T:LibreMetaverse.AvatarPickerReplyEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.AvatarPickerReplyEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
pub struct AvatarPickerReplyEventArgs {
    property_0: std::collections::HashMap<libremetaverse_types::UUID, String>,
    property_1: libremetaverse_types::UUID,
}
impl AvatarPickerReplyEventArgs {
    /// C# member: `M:LibreMetaverse.AvatarPickerReplyEventArgs.#ctor(LibreMetaverse.UUID,System.Collections.Generic.Dictionary{LibreMetaverse.UUID,System.String})`.
    ///
    /// C# signature: `LibreMetaverse.AvatarPickerReplyEventArgs(LibreMetaverse.UUID queryID, System.Collections.Generic.Dictionary<LibreMetaverse.UUID, System.String> avatars)`.
    /// Mapping contract: ownership `owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn new(
        query_id: libremetaverse_types::UUID,
        avatars: std::collections::HashMap<libremetaverse_types::UUID, String>,
    ) -> Result<Self, crate::Error> {
        /* complete generated data model */
        Ok(Self {
            property_0: avatars,
            property_1: query_id,
        })
    }
    /// C# member: `P:LibreMetaverse.AvatarPickerReplyEventArgs.Avatars`.
    ///
    /// C# signature: `System.Collections.Generic.Dictionary<LibreMetaverse.UUID, System.String> LibreMetaverse.AvatarPickerReplyEventArgs.Avatars`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn avatars(&self) -> std::collections::HashMap<libremetaverse_types::UUID, String> {
        /* complete generated data model */
        self.property_0.clone()
    }
    /// C# member: `P:LibreMetaverse.AvatarPickerReplyEventArgs.QueryID`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.AvatarPickerReplyEventArgs.QueryID`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn query_id(&self) -> libremetaverse_types::UUID {
        /* complete generated data model */
        self.property_1.clone()
    }
}

/// C# type: `T:LibreMetaverse.AvatarPicksReplyEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.AvatarPicksReplyEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
pub struct AvatarPicksReplyEventArgs {
    property_0: libremetaverse_types::UUID,
    property_1: std::collections::HashMap<libremetaverse_types::UUID, String>,
}
impl AvatarPicksReplyEventArgs {
    /// C# member: `M:LibreMetaverse.AvatarPicksReplyEventArgs.#ctor(LibreMetaverse.UUID,System.Collections.Generic.Dictionary{LibreMetaverse.UUID,System.String})`.
    ///
    /// C# signature: `LibreMetaverse.AvatarPicksReplyEventArgs(LibreMetaverse.UUID avatarid, System.Collections.Generic.Dictionary<LibreMetaverse.UUID, System.String> picks)`.
    /// Mapping contract: ownership `owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn new(
        avatarid: libremetaverse_types::UUID,
        picks: std::collections::HashMap<libremetaverse_types::UUID, String>,
    ) -> Result<Self, crate::Error> {
        /* complete generated data model */
        Ok(Self {
            property_0: avatarid,
            property_1: picks,
        })
    }
    /// C# member: `P:LibreMetaverse.AvatarPicksReplyEventArgs.AvatarID`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.AvatarPicksReplyEventArgs.AvatarID`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn avatar_id(&self) -> libremetaverse_types::UUID {
        /* complete generated data model */
        self.property_0.clone()
    }
    /// C# member: `P:LibreMetaverse.AvatarPicksReplyEventArgs.Picks`.
    ///
    /// C# signature: `System.Collections.Generic.Dictionary<LibreMetaverse.UUID, System.String> LibreMetaverse.AvatarPicksReplyEventArgs.Picks`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn picks(&self) -> std::collections::HashMap<libremetaverse_types::UUID, String> {
        /* complete generated data model */
        self.property_1.clone()
    }
}

/// C# type: `T:LibreMetaverse.AvatarPropertiesReplyEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.AvatarPropertiesReplyEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
pub struct AvatarPropertiesReplyEventArgs {
    property_0: libremetaverse_types::UUID,
    property_1: libremetaverse::AvatarAvatarProperties,
}
impl AvatarPropertiesReplyEventArgs {
    /// C# member: `M:LibreMetaverse.AvatarPropertiesReplyEventArgs.#ctor(LibreMetaverse.UUID,LibreMetaverse.Avatar.AvatarProperties)`.
    ///
    /// C# signature: `LibreMetaverse.AvatarPropertiesReplyEventArgs(LibreMetaverse.UUID avatarID, LibreMetaverse.Avatar.AvatarProperties properties)`.
    /// Mapping contract: ownership `owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn new(
        avatar_id: libremetaverse_types::UUID,
        properties: libremetaverse::AvatarAvatarProperties,
    ) -> Result<Self, crate::Error> {
        /* complete generated data model */
        Ok(Self {
            property_0: avatar_id,
            property_1: properties,
        })
    }
    /// C# member: `P:LibreMetaverse.AvatarPropertiesReplyEventArgs.AvatarID`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.AvatarPropertiesReplyEventArgs.AvatarID`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn avatar_id(&self) -> libremetaverse_types::UUID {
        /* complete generated data model */
        self.property_0.clone()
    }
    /// C# member: `P:LibreMetaverse.AvatarPropertiesReplyEventArgs.Properties`.
    ///
    /// C# signature: `LibreMetaverse.Avatar.AvatarProperties LibreMetaverse.AvatarPropertiesReplyEventArgs.Properties`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn properties(&self) -> libremetaverse::AvatarAvatarProperties {
        /* complete generated data model */
        self.property_1.clone()
    }
}

/// C# type: `T:LibreMetaverse.AvatarRenderInfoEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.AvatarRenderInfoEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.AvatarRenderInfoEventArgs.#ctor(LibreMetaverse.Messages.Linden.AvatarRenderInfoMessage)`.
///
/// C# signature: `LibreMetaverse.AvatarRenderInfoEventArgs(LibreMetaverse.Messages.Linden.AvatarRenderInfoMessage renderInfo)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.AvatarRenderInfoEventArgs.RenderInfo`.
///
/// C# signature: `LibreMetaverse.Messages.Linden.AvatarRenderInfoMessage LibreMetaverse.AvatarRenderInfoEventArgs.RenderInfo`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::agent_messages::AvatarRenderInfoEventArgs;

/// C# type: `T:LibreMetaverse.AvatarSitChangedEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.AvatarSitChangedEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.AvatarSitChangedEventArgs.#ctor(LibreMetaverse.Simulator,LibreMetaverse.Avatar,System.UInt32,System.UInt32)`.
///
/// C# signature: `LibreMetaverse.AvatarSitChangedEventArgs(LibreMetaverse.Simulator simulator, LibreMetaverse.Avatar avatar, System.UInt32 sittingOn, System.UInt32 oldSeat)`.
/// Mapping contract: ownership `owned,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.AvatarSitChangedEventArgs.Avatar`.
///
/// C# signature: `LibreMetaverse.Avatar LibreMetaverse.AvatarSitChangedEventArgs.Avatar`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AvatarSitChangedEventArgs.OldSeat`.
///
/// C# signature: `System.UInt32 LibreMetaverse.AvatarSitChangedEventArgs.OldSeat`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AvatarSitChangedEventArgs.Simulator`.
///
/// C# signature: `LibreMetaverse.Simulator LibreMetaverse.AvatarSitChangedEventArgs.Simulator`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AvatarSitChangedEventArgs.SittingOn`.
///
/// C# signature: `System.UInt32 LibreMetaverse.AvatarSitChangedEventArgs.SittingOn`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::object_manager::AvatarSitChangedEventArgs;

/// C# type: `T:LibreMetaverse.AvatarSitResponseEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.AvatarSitResponseEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.AvatarSitResponseEventArgs.#ctor(LibreMetaverse.UUID,System.Boolean,LibreMetaverse.Vector3,LibreMetaverse.Vector3,System.Boolean,LibreMetaverse.Vector3,LibreMetaverse.Quaternion)`.
///
/// C# signature: `LibreMetaverse.AvatarSitResponseEventArgs(LibreMetaverse.UUID objectID, System.Boolean autoPilot, LibreMetaverse.Vector3 cameraAtOffset, LibreMetaverse.Vector3 cameraEyeOffset, System.Boolean forceMouselook, LibreMetaverse.Vector3 sitPosition, LibreMetaverse.Quaternion sitRotation)`.
/// Mapping contract: ownership `owned,owned,owned,owned,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.AvatarSitResponseEventArgs.Autopilot`.
///
/// C# signature: `System.Boolean LibreMetaverse.AvatarSitResponseEventArgs.Autopilot`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AvatarSitResponseEventArgs.CameraAtOffset`.
///
/// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.AvatarSitResponseEventArgs.CameraAtOffset`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AvatarSitResponseEventArgs.CameraEyeOffset`.
///
/// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.AvatarSitResponseEventArgs.CameraEyeOffset`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AvatarSitResponseEventArgs.ForceMouselook`.
///
/// C# signature: `System.Boolean LibreMetaverse.AvatarSitResponseEventArgs.ForceMouselook`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AvatarSitResponseEventArgs.ObjectID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.AvatarSitResponseEventArgs.ObjectID`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AvatarSitResponseEventArgs.SitPosition`.
///
/// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.AvatarSitResponseEventArgs.SitPosition`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AvatarSitResponseEventArgs.SitRotation`.
///
/// C# signature: `LibreMetaverse.Quaternion LibreMetaverse.AvatarSitResponseEventArgs.SitRotation`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::agent_movement::AvatarSitResponseEventArgs;

/// C# type: `T:LibreMetaverse.AvatarTextureIndex`.
///
/// Native Rust mapping of C# `LibreMetaverse.AvatarTextureIndex` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(i32)]
pub enum AvatarTextureIndex {
    /// C# member: `F:LibreMetaverse.AvatarTextureIndex.Aux1Baked`.
    ///
    /// C# signature: `LibreMetaverse.AvatarTextureIndex LibreMetaverse.AvatarTextureIndex.Aux1Baked`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Aux1Baked = 42,
    /// C# member: `F:LibreMetaverse.AvatarTextureIndex.Aux1Tattoo`.
    ///
    /// C# signature: `LibreMetaverse.AvatarTextureIndex LibreMetaverse.AvatarTextureIndex.Aux1Tattoo`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Aux1Tattoo = 37,
    /// C# member: `F:LibreMetaverse.AvatarTextureIndex.Aux2Baked`.
    ///
    /// C# signature: `LibreMetaverse.AvatarTextureIndex LibreMetaverse.AvatarTextureIndex.Aux2Baked`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Aux2Baked = 43,
    /// C# member: `F:LibreMetaverse.AvatarTextureIndex.Aux2Tattoo`.
    ///
    /// C# signature: `LibreMetaverse.AvatarTextureIndex LibreMetaverse.AvatarTextureIndex.Aux2Tattoo`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Aux2Tattoo = 38,
    /// C# member: `F:LibreMetaverse.AvatarTextureIndex.Aux3Baked`.
    ///
    /// C# signature: `LibreMetaverse.AvatarTextureIndex LibreMetaverse.AvatarTextureIndex.Aux3Baked`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Aux3Baked = 44,
    /// C# member: `F:LibreMetaverse.AvatarTextureIndex.Aux3Tattoo`.
    ///
    /// C# signature: `LibreMetaverse.AvatarTextureIndex LibreMetaverse.AvatarTextureIndex.Aux3Tattoo`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Aux3Tattoo = 39,
    /// C# member: `F:LibreMetaverse.AvatarTextureIndex.EyesAlpha`.
    ///
    /// C# signature: `LibreMetaverse.AvatarTextureIndex LibreMetaverse.AvatarTextureIndex.EyesAlpha`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    EyesAlpha = 24,
    /// C# member: `F:LibreMetaverse.AvatarTextureIndex.EyesBaked`.
    ///
    /// C# signature: `LibreMetaverse.AvatarTextureIndex LibreMetaverse.AvatarTextureIndex.EyesBaked`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    EyesBaked = 11,
    /// C# member: `F:LibreMetaverse.AvatarTextureIndex.EyesIris`.
    ///
    /// C# signature: `LibreMetaverse.AvatarTextureIndex LibreMetaverse.AvatarTextureIndex.EyesIris`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    EyesIris = 3,
    /// C# member: `F:LibreMetaverse.AvatarTextureIndex.EyesTattoo`.
    ///
    /// C# signature: `LibreMetaverse.AvatarTextureIndex LibreMetaverse.AvatarTextureIndex.EyesTattoo`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    EyesTattoo = 34,
    /// C# member: `F:LibreMetaverse.AvatarTextureIndex.Hair`.
    ///
    /// C# signature: `LibreMetaverse.AvatarTextureIndex LibreMetaverse.AvatarTextureIndex.Hair`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Hair = 4,
    /// C# member: `F:LibreMetaverse.AvatarTextureIndex.HairAlpha`.
    ///
    /// C# signature: `LibreMetaverse.AvatarTextureIndex LibreMetaverse.AvatarTextureIndex.HairAlpha`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    HairAlpha = 25,
    /// C# member: `F:LibreMetaverse.AvatarTextureIndex.HairBaked`.
    ///
    /// C# signature: `LibreMetaverse.AvatarTextureIndex LibreMetaverse.AvatarTextureIndex.HairBaked`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    HairBaked = 20,
    /// C# member: `F:LibreMetaverse.AvatarTextureIndex.HairTattoo`.
    ///
    /// C# signature: `LibreMetaverse.AvatarTextureIndex LibreMetaverse.AvatarTextureIndex.HairTattoo`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    HairTattoo = 33,
    /// C# member: `F:LibreMetaverse.AvatarTextureIndex.HeadAlpha`.
    ///
    /// C# signature: `LibreMetaverse.AvatarTextureIndex LibreMetaverse.AvatarTextureIndex.HeadAlpha`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    HeadAlpha = 23,
    /// C# member: `F:LibreMetaverse.AvatarTextureIndex.HeadBaked`.
    ///
    /// C# signature: `LibreMetaverse.AvatarTextureIndex LibreMetaverse.AvatarTextureIndex.HeadBaked`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    HeadBaked = 8,
    /// C# member: `F:LibreMetaverse.AvatarTextureIndex.HeadBodypaint`.
    ///
    /// C# signature: `LibreMetaverse.AvatarTextureIndex LibreMetaverse.AvatarTextureIndex.HeadBodypaint`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    HeadBodypaint = 0,
    /// C# member: `F:LibreMetaverse.AvatarTextureIndex.HeadTattoo`.
    ///
    /// C# signature: `LibreMetaverse.AvatarTextureIndex LibreMetaverse.AvatarTextureIndex.HeadTattoo`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    HeadTattoo = 26,
    /// C# member: `F:LibreMetaverse.AvatarTextureIndex.HeadUniversalTattoo`.
    ///
    /// C# signature: `LibreMetaverse.AvatarTextureIndex LibreMetaverse.AvatarTextureIndex.HeadUniversalTattoo`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    HeadUniversalTattoo = 29,
    /// C# member: `F:LibreMetaverse.AvatarTextureIndex.LeftArmBaked`.
    ///
    /// C# signature: `LibreMetaverse.AvatarTextureIndex LibreMetaverse.AvatarTextureIndex.LeftArmBaked`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    LeftArmBaked = 40,
    /// C# member: `F:LibreMetaverse.AvatarTextureIndex.LeftArmTattoo`.
    ///
    /// C# signature: `LibreMetaverse.AvatarTextureIndex LibreMetaverse.AvatarTextureIndex.LeftArmTattoo`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    LeftArmTattoo = 35,
    /// C# member: `F:LibreMetaverse.AvatarTextureIndex.LeftLegTattoo`.
    ///
    /// C# signature: `LibreMetaverse.AvatarTextureIndex LibreMetaverse.AvatarTextureIndex.LeftLegTattoo`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    LeftLegTattoo = 36,
    /// C# member: `F:LibreMetaverse.AvatarTextureIndex.LegLegBaked`.
    ///
    /// C# signature: `LibreMetaverse.AvatarTextureIndex LibreMetaverse.AvatarTextureIndex.LegLegBaked`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    LegLegBaked = 41,
    /// C# member: `F:LibreMetaverse.AvatarTextureIndex.LowerAlpha`.
    ///
    /// C# signature: `LibreMetaverse.AvatarTextureIndex LibreMetaverse.AvatarTextureIndex.LowerAlpha`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    LowerAlpha = 21,
    /// C# member: `F:LibreMetaverse.AvatarTextureIndex.LowerBaked`.
    ///
    /// C# signature: `LibreMetaverse.AvatarTextureIndex LibreMetaverse.AvatarTextureIndex.LowerBaked`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    LowerBaked = 10,
    /// C# member: `F:LibreMetaverse.AvatarTextureIndex.LowerBodypaint`.
    ///
    /// C# signature: `LibreMetaverse.AvatarTextureIndex LibreMetaverse.AvatarTextureIndex.LowerBodypaint`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    LowerBodypaint = 6,
    /// C# member: `F:LibreMetaverse.AvatarTextureIndex.LowerJacket`.
    ///
    /// C# signature: `LibreMetaverse.AvatarTextureIndex LibreMetaverse.AvatarTextureIndex.LowerJacket`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    LowerJacket = 14,
    /// C# member: `F:LibreMetaverse.AvatarTextureIndex.LowerPants`.
    ///
    /// C# signature: `LibreMetaverse.AvatarTextureIndex LibreMetaverse.AvatarTextureIndex.LowerPants`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    LowerPants = 2,
    /// C# member: `F:LibreMetaverse.AvatarTextureIndex.LowerShoes`.
    ///
    /// C# signature: `LibreMetaverse.AvatarTextureIndex LibreMetaverse.AvatarTextureIndex.LowerShoes`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    LowerShoes = 7,
    /// C# member: `F:LibreMetaverse.AvatarTextureIndex.LowerSocks`.
    ///
    /// C# signature: `LibreMetaverse.AvatarTextureIndex LibreMetaverse.AvatarTextureIndex.LowerSocks`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    LowerSocks = 12,
    /// C# member: `F:LibreMetaverse.AvatarTextureIndex.LowerTattoo`.
    ///
    /// C# signature: `LibreMetaverse.AvatarTextureIndex LibreMetaverse.AvatarTextureIndex.LowerTattoo`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    LowerTattoo = 28,
    /// C# member: `F:LibreMetaverse.AvatarTextureIndex.LowerUnderpants`.
    ///
    /// C# signature: `LibreMetaverse.AvatarTextureIndex LibreMetaverse.AvatarTextureIndex.LowerUnderpants`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    LowerUnderpants = 17,
    /// C# member: `F:LibreMetaverse.AvatarTextureIndex.LowerUniversalTattoo`.
    ///
    /// C# signature: `LibreMetaverse.AvatarTextureIndex LibreMetaverse.AvatarTextureIndex.LowerUniversalTattoo`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    LowerUniversalTattoo = 31,
    /// C# member: `F:LibreMetaverse.AvatarTextureIndex.NumberOfEntries`.
    ///
    /// C# signature: `LibreMetaverse.AvatarTextureIndex LibreMetaverse.AvatarTextureIndex.NumberOfEntries`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    NumberOfEntries = 45,
    /// C# member: `F:LibreMetaverse.AvatarTextureIndex.Skirt`.
    ///
    /// C# signature: `LibreMetaverse.AvatarTextureIndex LibreMetaverse.AvatarTextureIndex.Skirt`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Skirt = 18,
    /// C# member: `F:LibreMetaverse.AvatarTextureIndex.SkirtBaked`.
    ///
    /// C# signature: `LibreMetaverse.AvatarTextureIndex LibreMetaverse.AvatarTextureIndex.SkirtBaked`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    SkirtBaked = 19,
    /// C# member: `F:LibreMetaverse.AvatarTextureIndex.SkirtTattoo`.
    ///
    /// C# signature: `LibreMetaverse.AvatarTextureIndex LibreMetaverse.AvatarTextureIndex.SkirtTattoo`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    SkirtTattoo = 32,
    /// C# member: `F:LibreMetaverse.AvatarTextureIndex.Unknown`.
    ///
    /// C# signature: `LibreMetaverse.AvatarTextureIndex LibreMetaverse.AvatarTextureIndex.Unknown`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Unknown = -1,
    /// C# member: `F:LibreMetaverse.AvatarTextureIndex.UpperAlpha`.
    ///
    /// C# signature: `LibreMetaverse.AvatarTextureIndex LibreMetaverse.AvatarTextureIndex.UpperAlpha`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    UpperAlpha = 22,
    /// C# member: `F:LibreMetaverse.AvatarTextureIndex.UpperBaked`.
    ///
    /// C# signature: `LibreMetaverse.AvatarTextureIndex LibreMetaverse.AvatarTextureIndex.UpperBaked`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    UpperBaked = 9,
    /// C# member: `F:LibreMetaverse.AvatarTextureIndex.UpperBodypaint`.
    ///
    /// C# signature: `LibreMetaverse.AvatarTextureIndex LibreMetaverse.AvatarTextureIndex.UpperBodypaint`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    UpperBodypaint = 5,
    /// C# member: `F:LibreMetaverse.AvatarTextureIndex.UpperGloves`.
    ///
    /// C# signature: `LibreMetaverse.AvatarTextureIndex LibreMetaverse.AvatarTextureIndex.UpperGloves`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    UpperGloves = 15,
    /// C# member: `F:LibreMetaverse.AvatarTextureIndex.UpperJacket`.
    ///
    /// C# signature: `LibreMetaverse.AvatarTextureIndex LibreMetaverse.AvatarTextureIndex.UpperJacket`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    UpperJacket = 13,
    /// C# member: `F:LibreMetaverse.AvatarTextureIndex.UpperShirt`.
    ///
    /// C# signature: `LibreMetaverse.AvatarTextureIndex LibreMetaverse.AvatarTextureIndex.UpperShirt`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    UpperShirt = 1,
    /// C# member: `F:LibreMetaverse.AvatarTextureIndex.UpperTattoo`.
    ///
    /// C# signature: `LibreMetaverse.AvatarTextureIndex LibreMetaverse.AvatarTextureIndex.UpperTattoo`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    UpperTattoo = 27,
    /// C# member: `F:LibreMetaverse.AvatarTextureIndex.UpperUndershirt`.
    ///
    /// C# signature: `LibreMetaverse.AvatarTextureIndex LibreMetaverse.AvatarTextureIndex.UpperUndershirt`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    UpperUndershirt = 16,
    /// C# member: `F:LibreMetaverse.AvatarTextureIndex.UpperUniversalTattoo`.
    ///
    /// C# signature: `LibreMetaverse.AvatarTextureIndex LibreMetaverse.AvatarTextureIndex.UpperUniversalTattoo`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    UpperUniversalTattoo = 30,
}

/// C# type: `T:LibreMetaverse.AvatarUpdateEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.AvatarUpdateEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.AvatarUpdateEventArgs.#ctor(LibreMetaverse.Simulator,LibreMetaverse.Avatar,System.UInt16,System.Boolean)`.
///
/// C# signature: `LibreMetaverse.AvatarUpdateEventArgs(LibreMetaverse.Simulator simulator, LibreMetaverse.Avatar avatar, System.UInt16 timeDilation, System.Boolean isNew)`.
/// Mapping contract: ownership `owned,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.AvatarUpdateEventArgs.Avatar`.
///
/// C# signature: `LibreMetaverse.Avatar LibreMetaverse.AvatarUpdateEventArgs.Avatar`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AvatarUpdateEventArgs.IsNew`.
///
/// C# signature: `System.Boolean LibreMetaverse.AvatarUpdateEventArgs.IsNew`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AvatarUpdateEventArgs.Simulator`.
///
/// C# signature: `LibreMetaverse.Simulator LibreMetaverse.AvatarUpdateEventArgs.Simulator`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.AvatarUpdateEventArgs.TimeDilation`.
///
/// C# signature: `System.UInt16 LibreMetaverse.AvatarUpdateEventArgs.TimeDilation`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::object_manager::AvatarUpdateEventArgs;

/// C# type: `T:LibreMetaverse.BakeType`.
///
/// Native Rust mapping of C# `LibreMetaverse.BakeType` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(transparent)]
pub struct BakeType(pub i32);
#[allow(non_upper_case_globals)]
impl BakeType {
    /// C# member: `F:LibreMetaverse.BakeType.BakedAux1`.
    ///
    /// C# signature: `LibreMetaverse.BakeType LibreMetaverse.BakeType.BakedAux1`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const BakedAux1: Self = Self(8);
    /// C# member: `F:LibreMetaverse.BakeType.BakedAux2`.
    ///
    /// C# signature: `LibreMetaverse.BakeType LibreMetaverse.BakeType.BakedAux2`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const BakedAux2: Self = Self(9);
    /// C# member: `F:LibreMetaverse.BakeType.BakedAux3`.
    ///
    /// C# signature: `LibreMetaverse.BakeType LibreMetaverse.BakeType.BakedAux3`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const BakedAux3: Self = Self(10);
    /// C# member: `F:LibreMetaverse.BakeType.BakedLeftArm`.
    ///
    /// C# signature: `LibreMetaverse.BakeType LibreMetaverse.BakeType.BakedLeftArm`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const BakedLeftArm: Self = Self(6);
    /// C# member: `F:LibreMetaverse.BakeType.BakedLeftLeg`.
    ///
    /// C# signature: `LibreMetaverse.BakeType LibreMetaverse.BakeType.BakedLeftLeg`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const BakedLeftLeg: Self = Self(7);
    /// C# member: `F:LibreMetaverse.BakeType.Eyes`.
    ///
    /// C# signature: `LibreMetaverse.BakeType LibreMetaverse.BakeType.Eyes`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const Eyes: Self = Self(3);
    /// C# member: `F:LibreMetaverse.BakeType.Hair`.
    ///
    /// C# signature: `LibreMetaverse.BakeType LibreMetaverse.BakeType.Hair`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const Hair: Self = Self(5);
    /// C# member: `F:LibreMetaverse.BakeType.Head`.
    ///
    /// C# signature: `LibreMetaverse.BakeType LibreMetaverse.BakeType.Head`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const Head: Self = Self(0);
    /// C# member: `F:LibreMetaverse.BakeType.LowerBody`.
    ///
    /// C# signature: `LibreMetaverse.BakeType LibreMetaverse.BakeType.LowerBody`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const LowerBody: Self = Self(2);
    /// C# member: `F:LibreMetaverse.BakeType.Skirt`.
    ///
    /// C# signature: `LibreMetaverse.BakeType LibreMetaverse.BakeType.Skirt`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const Skirt: Self = Self(4);
    /// C# member: `F:LibreMetaverse.BakeType.Unknown`.
    ///
    /// C# signature: `LibreMetaverse.BakeType LibreMetaverse.BakeType.Unknown`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const Unknown: Self = Self(-1);
    /// C# member: `F:LibreMetaverse.BakeType.UpperBody`.
    ///
    /// C# signature: `LibreMetaverse.BakeType LibreMetaverse.BakeType.UpperBody`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const UpperBody: Self = Self(1);
}

/// C# type: `T:LibreMetaverse.BalanceEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.BalanceEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.BalanceEventArgs.#ctor(System.Int32)`.
///
/// C# signature: `LibreMetaverse.BalanceEventArgs(System.Int32 balance)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.BalanceEventArgs.Balance`.
///
/// C# signature: `System.Int32 LibreMetaverse.BalanceEventArgs.Balance`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::agent_messages::BalanceEventArgs;

/// C# type: `T:LibreMetaverse.BannedAgentsEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.BannedAgentsEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.BannedAgentsEventArgs.#ctor(LibreMetaverse.UUID,System.Boolean,System.Collections.Generic.Dictionary{LibreMetaverse.UUID,System.DateTime})`.
///
/// C# signature: `LibreMetaverse.BannedAgentsEventArgs(LibreMetaverse.UUID groupID, System.Boolean success, System.Collections.Generic.Dictionary<LibreMetaverse.UUID, System.DateTime> bannedAgents)`.
/// Mapping contract: ownership `owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.BannedAgentsEventArgs.BannedAgents`.
///
/// C# signature: `System.Collections.Generic.Dictionary<LibreMetaverse.UUID, System.DateTime> LibreMetaverse.BannedAgentsEventArgs.BannedAgents`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.BannedAgentsEventArgs.GroupID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.BannedAgentsEventArgs.GroupID`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.BannedAgentsEventArgs.Success`.
///
/// C# signature: `System.Boolean LibreMetaverse.BannedAgentsEventArgs.Success`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::group_manager::BannedAgentsEventArgs;

/// C# type: `T:LibreMetaverse.BinBVHAnimationReader`.
///
/// Native Rust mapping of C# `LibreMetaverse.BinBVHAnimationReader` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
pub use crate::animation::BinBVHAnimationReader;
/// C# member: `F:LibreMetaverse.BinBVHAnimationReader.EaseInTime`.
///
/// C# signature: `System.Single LibreMetaverse.BinBVHAnimationReader.EaseInTime`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.BinBVHAnimationReader.EaseOutTime`.
///
/// C# signature: `System.Single LibreMetaverse.BinBVHAnimationReader.EaseOutTime`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.BinBVHAnimationReader.ExpressionName`.
///
/// C# signature: `System.String LibreMetaverse.BinBVHAnimationReader.ExpressionName`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.BinBVHAnimationReader.HandPose`.
///
/// C# signature: `System.UInt32 LibreMetaverse.BinBVHAnimationReader.HandPose`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.BinBVHAnimationReader.InPoint`.
///
/// C# signature: `System.Single LibreMetaverse.BinBVHAnimationReader.InPoint`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.BinBVHAnimationReader.JointCount`.
///
/// C# signature: `System.UInt32 LibreMetaverse.BinBVHAnimationReader.JointCount`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.BinBVHAnimationReader.Length`.
///
/// C# signature: `System.Single LibreMetaverse.BinBVHAnimationReader.Length`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.BinBVHAnimationReader.Loop`.
///
/// C# signature: `System.Boolean LibreMetaverse.BinBVHAnimationReader.Loop`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.BinBVHAnimationReader.OutPoint`.
///
/// C# signature: `System.Single LibreMetaverse.BinBVHAnimationReader.OutPoint`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.BinBVHAnimationReader.Priority`.
///
/// C# signature: `System.Int32 LibreMetaverse.BinBVHAnimationReader.Priority`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.BinBVHAnimationReader.joints`.
///
/// C# signature: `LibreMetaverse.binBVHJoint[] LibreMetaverse.BinBVHAnimationReader.joints`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.BinBVHAnimationReader.unknown0`.
///
/// C# signature: `System.UInt16 LibreMetaverse.BinBVHAnimationReader.unknown0`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.BinBVHAnimationReader.unknown1`.
///
/// C# signature: `System.UInt16 LibreMetaverse.BinBVHAnimationReader.unknown1`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
impl BinBVHAnimationReader {
    /// C# member: `M:LibreMetaverse.BinBVHAnimationReader.#ctor(System.Byte[])`.
    ///
    /// C# signature: `LibreMetaverse.BinBVHAnimationReader(System.Byte[] animationdata)`.
    /// Mapping contract: ownership `owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn new(animationdata: Vec<u8>) -> Result<Self, crate::Error> {
        /* reviewed native compatibility body */
        crate::animation::BinBVHAnimationReader::native_new(animationdata)
    }
    /// C# member: `M:LibreMetaverse.BinBVHAnimationReader.Equals(LibreMetaverse.BinBVHAnimationReader)`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.BinBVHAnimationReader.Equals(LibreMetaverse.BinBVHAnimationReader other)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `infallible_placeholder`; overload `descriptive_overload_name`; kind `method`.
    pub fn equals_with_bin_bvh_animation_reader(
        &self,
        other: Option<libremetaverse::BinBVHAnimationReader>,
    ) -> bool {
        /* reviewed native compatibility body */
        self.native_equals(other.as_ref())
    }
    /// C# member: `M:LibreMetaverse.BinBVHAnimationReader.Equals(LibreMetaverse.binBVHJoint[],LibreMetaverse.binBVHJoint[])`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.BinBVHAnimationReader.Equals(LibreMetaverse.binBVHJoint[] arr1, LibreMetaverse.binBVHJoint[] arr2)`.
    /// Mapping contract: ownership `owned,owned`; async `sync`;
    /// errors `infallible_placeholder`; overload `descriptive_overload_name`; kind `method`.
    pub fn equals_with_bin_bvh_joint_array_bin_bvh_joint_array(
        arr1: Vec<libremetaverse::BinBVHJoint>,
        arr2: Vec<libremetaverse::BinBVHJoint>,
    ) -> bool {
        /* reviewed native compatibility body */
        crate::animation::joints_equal(&arr1, &arr2)
    }
    /// C# member: `M:LibreMetaverse.BinBVHAnimationReader.Equals(System.Object)`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.BinBVHAnimationReader.Equals(System.Object obj)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `infallible_placeholder`; overload `descriptive_overload_name`; kind `method`.
    pub fn equals_with_object(&self, obj: Option<libremetaverse_types::compat::Object>) -> bool {
        /* reviewed native compatibility body */
        obj.as_ref()
            .and_then(|value| value.downcast_ref::<crate::animation::BinBVHAnimationReader>())
            .is_some_and(|other| self.native_equals(Some(other)))
    }
    /// C# member: `M:LibreMetaverse.BinBVHAnimationReader.GetHashCode`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.BinBVHAnimationReader.GetHashCode()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
    pub fn get_hash_code(&self) -> i32 {
        /* reviewed native compatibility body */
        self.native_get_hash_code()
    }
    /// C# member: `M:LibreMetaverse.BinBVHAnimationReader.ReadBytesUntilNull(System.Byte[],System.Int32@)`.
    ///
    /// C# signature: `System.String LibreMetaverse.BinBVHAnimationReader.ReadBytesUntilNull(System.Byte[] data, ref System.Int32& i)`.
    /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn read_bytes_until_null(
        &self,
        data: Vec<u8>,
        i: &mut i32,
    ) -> Result<String, crate::Error> {
        /* reviewed native compatibility body */
        self.native_read_bytes_until_null(data, i)
    }
    /// C# member: `M:LibreMetaverse.BinBVHAnimationReader.readJoint(System.Byte[],System.Int32@)`.
    ///
    /// C# signature: `LibreMetaverse.binBVHJoint LibreMetaverse.BinBVHAnimationReader.readJoint(System.Byte[] data, ref System.Int32& i)`.
    /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn read_joint(
        &self,
        data: Vec<u8>,
        i: &mut i32,
    ) -> Result<libremetaverse::BinBVHJoint, crate::Error> {
        /* reviewed native compatibility body */
        self.native_read_joint(data, i)
    }
    /// C# member: `M:LibreMetaverse.BinBVHAnimationReader.readKeys(System.Byte[],System.Int32@,System.Int32,System.Single,System.Single)`.
    ///
    /// C# signature: `LibreMetaverse.binBVHJointKey[] LibreMetaverse.BinBVHAnimationReader.readKeys(System.Byte[] data, ref System.Int32& i, System.Int32 keycount, System.Single min, System.Single max)`.
    /// Mapping contract: ownership `shared_self,owned,mutable_borrow,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn read_keys(
        &self,
        data: Vec<u8>,
        i: &mut i32,
        keycount: i32,
        min: f32,
        max: f32,
    ) -> Result<Vec<libremetaverse::BinBVHJointKey>, crate::Error> {
        /* reviewed native compatibility body */
        self.native_read_keys(data, i, keycount, min, max)
    }
}

/// C# type: `T:LibreMetaverse.BitPack`.
///
/// Native Rust mapping of C# `LibreMetaverse.BitPack` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `F:LibreMetaverse.BitPack.Data`.
///
/// C# signature: `System.Byte[] LibreMetaverse.BitPack.Data`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `M:LibreMetaverse.BitPack.#ctor(System.Byte[],System.Int32)`.
///
/// C# signature: `LibreMetaverse.BitPack(System.Byte[] data, System.Int32 pos)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.BitPack.PackBit(System.Boolean)`.
///
/// C# signature: `System.Void LibreMetaverse.BitPack.PackBit(System.Boolean bit)`.
/// Mapping contract: ownership `mutable_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.BitPack.PackBits(System.Int32,System.Int32)`.
///
/// C# signature: `System.Void LibreMetaverse.BitPack.PackBits(System.Int32 data, System.Int32 totalCount)`.
/// Mapping contract: ownership `mutable_self,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.BitPack.PackBits(System.UInt32,System.Int32)`.
///
/// C# signature: `System.Void LibreMetaverse.BitPack.PackBits(System.UInt32 data, System.Int32 totalCount)`.
/// Mapping contract: ownership `mutable_self,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.BitPack.PackColor(LibreMetaverse.Color4)`.
///
/// C# signature: `System.Void LibreMetaverse.BitPack.PackColor(LibreMetaverse.Color4 data)`.
/// Mapping contract: ownership `mutable_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.BitPack.PackFixed(System.Single,System.Boolean,System.Int32,System.Int32)`.
///
/// C# signature: `System.Void LibreMetaverse.BitPack.PackFixed(System.Single data, System.Boolean isSigned, System.Int32 intBits, System.Int32 fracBits)`.
/// Mapping contract: ownership `mutable_self,owned,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.BitPack.PackFloat(System.Single)`.
///
/// C# signature: `System.Void LibreMetaverse.BitPack.PackFloat(System.Single data)`.
/// Mapping contract: ownership `mutable_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.BitPack.PackUUID(LibreMetaverse.UUID)`.
///
/// C# signature: `System.Void LibreMetaverse.BitPack.PackUUID(LibreMetaverse.UUID data)`.
/// Mapping contract: ownership `mutable_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.BitPack.UnpackBits(System.Int32)`.
///
/// C# signature: `System.Int32 LibreMetaverse.BitPack.UnpackBits(System.Int32 totalCount)`.
/// Mapping contract: ownership `mutable_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.BitPack.UnpackByte`.
///
/// C# signature: `System.Byte LibreMetaverse.BitPack.UnpackByte()`.
/// Mapping contract: ownership `mutable_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.BitPack.UnpackFixed(System.Boolean,System.Int32,System.Int32)`.
///
/// C# signature: `System.Single LibreMetaverse.BitPack.UnpackFixed(System.Boolean signed, System.Int32 intBits, System.Int32 fracBits)`.
/// Mapping contract: ownership `mutable_self,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.BitPack.UnpackFloat`.
///
/// C# signature: `System.Single LibreMetaverse.BitPack.UnpackFloat()`.
/// Mapping contract: ownership `mutable_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.BitPack.UnpackInt`.
///
/// C# signature: `System.Int32 LibreMetaverse.BitPack.UnpackInt()`.
/// Mapping contract: ownership `mutable_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.BitPack.UnpackShort`.
///
/// C# signature: `System.Int16 LibreMetaverse.BitPack.UnpackShort()`.
/// Mapping contract: ownership `mutable_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.BitPack.UnpackString(System.Int32)`.
///
/// C# signature: `System.String LibreMetaverse.BitPack.UnpackString(System.Int32 size)`.
/// Mapping contract: ownership `mutable_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.BitPack.UnpackUBits(System.Int32)`.
///
/// C# signature: `System.UInt32 LibreMetaverse.BitPack.UnpackUBits(System.Int32 totalCount)`.
/// Mapping contract: ownership `mutable_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.BitPack.UnpackUInt`.
///
/// C# signature: `System.UInt32 LibreMetaverse.BitPack.UnpackUInt()`.
/// Mapping contract: ownership `mutable_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.BitPack.UnpackUShort`.
///
/// C# signature: `System.UInt16 LibreMetaverse.BitPack.UnpackUShort()`.
/// Mapping contract: ownership `mutable_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.BitPack.UnpackUUID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.BitPack.UnpackUUID()`.
/// Mapping contract: ownership `mutable_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.BitPack.BitPos`.
///
/// C# signature: `System.Int32 LibreMetaverse.BitPack.BitPos`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.BitPack.BytePos`.
///
/// C# signature: `System.Int32 LibreMetaverse.BitPack.BytePos`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::bit_pack::BitPack;

/// C# type: `T:LibreMetaverse.BorderCrossingDirection`.
///
/// Native Rust mapping of C# `LibreMetaverse.BorderCrossingDirection` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(i32)]
pub enum BorderCrossingDirection {
    /// C# member: `F:LibreMetaverse.BorderCrossingDirection.East`.
    ///
    /// C# signature: `LibreMetaverse.BorderCrossingDirection LibreMetaverse.BorderCrossingDirection.East`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    East = 3,
    /// C# member: `F:LibreMetaverse.BorderCrossingDirection.North`.
    ///
    /// C# signature: `LibreMetaverse.BorderCrossingDirection LibreMetaverse.BorderCrossingDirection.North`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    North = 1,
    /// C# member: `F:LibreMetaverse.BorderCrossingDirection.South`.
    ///
    /// C# signature: `LibreMetaverse.BorderCrossingDirection LibreMetaverse.BorderCrossingDirection.South`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    South = 2,
    /// C# member: `F:LibreMetaverse.BorderCrossingDirection.Unknown`.
    ///
    /// C# signature: `LibreMetaverse.BorderCrossingDirection LibreMetaverse.BorderCrossingDirection.Unknown`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Unknown = 0,
    /// C# member: `F:LibreMetaverse.BorderCrossingDirection.West`.
    ///
    /// C# signature: `LibreMetaverse.BorderCrossingDirection LibreMetaverse.BorderCrossingDirection.West`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    West = 4,
}

/// C# type: `T:LibreMetaverse.BuddyListEntry`.
///
/// Native Rust mapping of C# `LibreMetaverse.BuddyListEntry` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct BuddyListEntry {
    /// C# member: `F:LibreMetaverse.BuddyListEntry.BuddyId`.
    ///
    /// C# signature: `System.String LibreMetaverse.BuddyListEntry.BuddyId`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub buddy_id: String,
    /// C# member: `F:LibreMetaverse.BuddyListEntry.BuddyRightsGiven`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.BuddyListEntry.BuddyRightsGiven`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub buddy_rights_given: i32,
    /// C# member: `F:LibreMetaverse.BuddyListEntry.BuddyRightsHas`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.BuddyListEntry.BuddyRightsHas`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub buddy_rights_has: i32,
}
impl BuddyListEntry {}

/// C# type: `T:LibreMetaverse.Bumpiness`.
///
/// Native Rust mapping of C# `LibreMetaverse.Bumpiness` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(u8)]
pub enum Bumpiness {
    /// C# member: `F:LibreMetaverse.Bumpiness.Bark`.
    ///
    /// C# signature: `LibreMetaverse.Bumpiness LibreMetaverse.Bumpiness.Bark`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Bark = 4,
    /// C# member: `F:LibreMetaverse.Bumpiness.Bricks`.
    ///
    /// C# signature: `LibreMetaverse.Bumpiness LibreMetaverse.Bumpiness.Bricks`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Bricks = 5,
    /// C# member: `F:LibreMetaverse.Bumpiness.Brightness`.
    ///
    /// C# signature: `LibreMetaverse.Bumpiness LibreMetaverse.Bumpiness.Brightness`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Brightness = 1,
    /// C# member: `F:LibreMetaverse.Bumpiness.Checker`.
    ///
    /// C# signature: `LibreMetaverse.Bumpiness LibreMetaverse.Bumpiness.Checker`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Checker = 6,
    /// C# member: `F:LibreMetaverse.Bumpiness.Concrete`.
    ///
    /// C# signature: `LibreMetaverse.Bumpiness LibreMetaverse.Bumpiness.Concrete`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Concrete = 7,
    /// C# member: `F:LibreMetaverse.Bumpiness.Crustytile`.
    ///
    /// C# signature: `LibreMetaverse.Bumpiness LibreMetaverse.Bumpiness.Crustytile`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Crustytile = 8,
    /// C# member: `F:LibreMetaverse.Bumpiness.Cutstone`.
    ///
    /// C# signature: `LibreMetaverse.Bumpiness LibreMetaverse.Bumpiness.Cutstone`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Cutstone = 9,
    /// C# member: `F:LibreMetaverse.Bumpiness.Darkness`.
    ///
    /// C# signature: `LibreMetaverse.Bumpiness LibreMetaverse.Bumpiness.Darkness`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Darkness = 2,
    /// C# member: `F:LibreMetaverse.Bumpiness.Discs`.
    ///
    /// C# signature: `LibreMetaverse.Bumpiness LibreMetaverse.Bumpiness.Discs`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Discs = 10,
    /// C# member: `F:LibreMetaverse.Bumpiness.Gravel`.
    ///
    /// C# signature: `LibreMetaverse.Bumpiness LibreMetaverse.Bumpiness.Gravel`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Gravel = 11,
    /// C# member: `F:LibreMetaverse.Bumpiness.None`.
    ///
    /// C# signature: `LibreMetaverse.Bumpiness LibreMetaverse.Bumpiness.None`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    None = 0,
    /// C# member: `F:LibreMetaverse.Bumpiness.Petridish`.
    ///
    /// C# signature: `LibreMetaverse.Bumpiness LibreMetaverse.Bumpiness.Petridish`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Petridish = 12,
    /// C# member: `F:LibreMetaverse.Bumpiness.Siding`.
    ///
    /// C# signature: `LibreMetaverse.Bumpiness LibreMetaverse.Bumpiness.Siding`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Siding = 13,
    /// C# member: `F:LibreMetaverse.Bumpiness.Stonetile`.
    ///
    /// C# signature: `LibreMetaverse.Bumpiness LibreMetaverse.Bumpiness.Stonetile`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Stonetile = 14,
    /// C# member: `F:LibreMetaverse.Bumpiness.Stucco`.
    ///
    /// C# signature: `LibreMetaverse.Bumpiness LibreMetaverse.Bumpiness.Stucco`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Stucco = 15,
    /// C# member: `F:LibreMetaverse.Bumpiness.Suction`.
    ///
    /// C# signature: `LibreMetaverse.Bumpiness LibreMetaverse.Bumpiness.Suction`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Suction = 16,
    /// C# member: `F:LibreMetaverse.Bumpiness.Weave`.
    ///
    /// C# signature: `LibreMetaverse.Bumpiness LibreMetaverse.Bumpiness.Weave`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Weave = 17,
    /// C# member: `F:LibreMetaverse.Bumpiness.Woodgrain`.
    ///
    /// C# signature: `LibreMetaverse.Bumpiness LibreMetaverse.Bumpiness.Woodgrain`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Woodgrain = 3,
}

/// C# type: `T:LibreMetaverse.CallingCardOfferedEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.CallingCardOfferedEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.CallingCardOfferedEventArgs.#ctor(LibreMetaverse.UUID,System.String,LibreMetaverse.UUID)`.
///
/// C# signature: `LibreMetaverse.CallingCardOfferedEventArgs(LibreMetaverse.UUID agentID, System.String agentName, LibreMetaverse.UUID transactionID)`.
/// Mapping contract: ownership `owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.CallingCardOfferedEventArgs.AgentID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.CallingCardOfferedEventArgs.AgentID`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.CallingCardOfferedEventArgs.AgentName`.
///
/// C# signature: `System.String LibreMetaverse.CallingCardOfferedEventArgs.AgentName`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.CallingCardOfferedEventArgs.TransactionID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.CallingCardOfferedEventArgs.TransactionID`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::friends_manager::CallingCardOfferedEventArgs;

/// C# type: `T:LibreMetaverse.CameraConstraintEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.CameraConstraintEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.CameraConstraintEventArgs.#ctor(LibreMetaverse.Vector4)`.
///
/// C# signature: `LibreMetaverse.CameraConstraintEventArgs(LibreMetaverse.Vector4 collidePlane)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.CameraConstraintEventArgs.CollidePlane`.
///
/// C# signature: `LibreMetaverse.Vector4 LibreMetaverse.CameraConstraintEventArgs.CollidePlane`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::agent_movement::CameraConstraintEventArgs;

/// C# type: `T:LibreMetaverse.CapabilitiesReceivedEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.CapabilitiesReceivedEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.CapabilitiesReceivedEventArgs.#ctor(LibreMetaverse.Simulator)`.
///
/// C# signature: `LibreMetaverse.CapabilitiesReceivedEventArgs(LibreMetaverse.Simulator simulator)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.CapabilitiesReceivedEventArgs.Simulator`.
///
/// C# signature: `LibreMetaverse.Simulator LibreMetaverse.CapabilitiesReceivedEventArgs.Simulator`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::caps::CapabilitiesReceivedEventArgs;

/// C# type: `T:LibreMetaverse.Caps`.
///
/// Native Rust mapping of C# `LibreMetaverse.Caps` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `E:LibreMetaverse.Caps.CapabilitiesReceived`.
///
/// C# signature: `System.EventHandler<LibreMetaverse.CapabilitiesReceivedEventArgs> LibreMetaverse.Caps.CapabilitiesReceived`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `F:LibreMetaverse.Caps.AllCapabilities`.
///
/// C# signature: `LibreMetaverse.StructuredData.OSDArray LibreMetaverse.Caps.AllCapabilities`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
/// C# member: `F:LibreMetaverse.Caps.Simulator`.
///
/// C# signature: `LibreMetaverse.Simulator LibreMetaverse.Caps.Simulator`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `M:LibreMetaverse.Caps.Capabilities`.
///
/// C# signature: `System.Collections.Generic.Dictionary<TKey, TValue>.KeyCollection LibreMetaverse.Caps.Capabilities()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Caps.CapabilityNameFromURI(System.Uri)`.
///
/// C# signature: `System.String LibreMetaverse.Caps.CapabilityNameFromURI(System.Uri cap)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Caps.CapabilityURI(System.String)`.
///
/// C# signature: `System.Uri LibreMetaverse.Caps.CapabilityURI(System.String capability)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Caps.Disconnect(System.Boolean)`.
///
/// C# signature: `System.Void LibreMetaverse.Caps.Disconnect(System.Boolean immediate)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Caps.GetMeshCapURI`.
///
/// C# signature: `System.Uri LibreMetaverse.Caps.GetMeshCapURI()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Caps.GetTextureCapURI`.
///
/// C# signature: `System.Uri LibreMetaverse.Caps.GetTextureCapURI()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.Caps.EventQueue`.
///
/// C# signature: `LibreMetaverse.Http.EventQueueClient LibreMetaverse.Caps.EventQueue`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.Caps.IsEventQueueRunning`.
///
/// C# signature: `System.Boolean LibreMetaverse.Caps.IsEventQueueRunning`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.Caps.SeedCapsURI`.
///
/// C# signature: `System.Uri LibreMetaverse.Caps.SeedCapsURI`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::caps::Caps;

/// C# type: `T:LibreMetaverse.Caps.EventQueueCallback`.
///
/// Native Rust mapping of C# `LibreMetaverse.Caps.EventQueueCallback` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.Caps.EventQueueCallback.#ctor(System.Object,System.IntPtr)`.
///
/// C# signature: `LibreMetaverse.Caps.EventQueueCallback(System.Object object, System.IntPtr method)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Caps.EventQueueCallback.BeginInvoke(System.String,LibreMetaverse.Interfaces.IMessage,LibreMetaverse.Simulator,System.AsyncCallback,System.Object)`.
///
/// C# signature: `System.IAsyncResult LibreMetaverse.Caps.EventQueueCallback.BeginInvoke(System.String capsKey, LibreMetaverse.Interfaces.IMessage message, LibreMetaverse.Simulator simulator, System.AsyncCallback callback, System.Object object)`.
/// Mapping contract: ownership `shared_self,owned,owned,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `native_callback_replaces_delegate_apm`.
/// C# member: `M:LibreMetaverse.Caps.EventQueueCallback.EndInvoke(System.IAsyncResult)`.
///
/// C# signature: `System.Void LibreMetaverse.Caps.EventQueueCallback.EndInvoke(System.IAsyncResult result)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `native_callback_replaces_delegate_apm`.
/// C# member: `M:LibreMetaverse.Caps.EventQueueCallback.Invoke(System.String,LibreMetaverse.Interfaces.IMessage,LibreMetaverse.Simulator)`.
///
/// C# signature: `System.Void LibreMetaverse.Caps.EventQueueCallback.Invoke(System.String capsKey, LibreMetaverse.Interfaces.IMessage message, LibreMetaverse.Simulator simulator)`.
/// Mapping contract: ownership `shared_self,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
pub use crate::network_manager::CapsEventQueueCallback;

/// C# type: `T:LibreMetaverse.CapsCategory`.
///
/// Native Rust mapping of C# `LibreMetaverse.CapsCategory` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(i32)]
pub enum CapsCategory {
    /// C# member: `F:LibreMetaverse.CapsCategory.AssetFetch`.
    ///
    /// C# signature: `LibreMetaverse.CapsCategory LibreMetaverse.CapsCategory.AssetFetch`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    AssetFetch = 2,
    /// C# member: `F:LibreMetaverse.CapsCategory.AssetUpload`.
    ///
    /// C# signature: `LibreMetaverse.CapsCategory LibreMetaverse.CapsCategory.AssetUpload`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    AssetUpload = 3,
    /// C# member: `F:LibreMetaverse.CapsCategory.Default`.
    ///
    /// C# signature: `LibreMetaverse.CapsCategory LibreMetaverse.CapsCategory.Default`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Default = 0,
    /// C# member: `F:LibreMetaverse.CapsCategory.DisplayName`.
    ///
    /// C# signature: `LibreMetaverse.CapsCategory LibreMetaverse.CapsCategory.DisplayName`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    DisplayName = 6,
    /// C# member: `F:LibreMetaverse.CapsCategory.EventQueue`.
    ///
    /// C# signature: `LibreMetaverse.CapsCategory LibreMetaverse.CapsCategory.EventQueue`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    EventQueue = 5,
    /// C# member: `F:LibreMetaverse.CapsCategory.Inventory`.
    ///
    /// C# signature: `LibreMetaverse.CapsCategory LibreMetaverse.CapsCategory.Inventory`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Inventory = 4,
    /// C# member: `F:LibreMetaverse.CapsCategory.RenderMaterials`.
    ///
    /// C# signature: `LibreMetaverse.CapsCategory LibreMetaverse.CapsCategory.RenderMaterials`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    RenderMaterials = 1,
    /// C# member: `F:LibreMetaverse.CapsCategory.Voice`.
    ///
    /// C# signature: `LibreMetaverse.CapsCategory LibreMetaverse.CapsCategory.Voice`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Voice = 7,
}

/// C# type: `T:LibreMetaverse.CapsEventDictionary`.
///
/// Native Rust mapping of C# `LibreMetaverse.CapsEventDictionary` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `F:LibreMetaverse.CapsEventDictionary.Client`.
///
/// C# signature: `LibreMetaverse.GridClient LibreMetaverse.CapsEventDictionary.Client`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `M:LibreMetaverse.CapsEventDictionary.#ctor(LibreMetaverse.GridClient)`.
///
/// C# signature: `LibreMetaverse.CapsEventDictionary(LibreMetaverse.GridClient client)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.CapsEventDictionary.RegisterEvent(System.String,LibreMetaverse.Caps.EventQueueCallback)`.
///
/// C# signature: `System.Void LibreMetaverse.CapsEventDictionary.RegisterEvent(System.String capsEvent, LibreMetaverse.Caps.EventQueueCallback eventHandler)`.
/// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.CapsEventDictionary.UnregisterEvent(System.String,LibreMetaverse.Caps.EventQueueCallback)`.
///
/// C# signature: `System.Void LibreMetaverse.CapsEventDictionary.UnregisterEvent(System.String capsEvent, LibreMetaverse.Caps.EventQueueCallback eventHandler)`.
/// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
pub use crate::network_manager::CapsEventDictionary;

/// C# type: `T:LibreMetaverse.CapsRateLimiter`.
///
/// Native Rust mapping of C# `LibreMetaverse.CapsRateLimiter` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.CapsRateLimiter.#ctor`.
///
/// C# signature: `LibreMetaverse.CapsRateLimiter()`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.CapsRateLimiter.#ctor(System.Collections.Generic.IReadOnlyDictionary{LibreMetaverse.CapsCategory,LibreMetaverse.CapsRateLimiterOptions})`.
///
/// C# signature: `LibreMetaverse.CapsRateLimiter(System.Collections.Generic.IReadOnlyDictionary<LibreMetaverse.CapsCategory, LibreMetaverse.CapsRateLimiterOptions> overrides)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.CapsRateLimiter.AcquireAsync(System.Uri,System.Threading.CancellationToken)`.
///
/// C# signature: `System.Threading.Tasks.ValueTask<System.Threading.RateLimiting.RateLimitLease> LibreMetaverse.CapsRateLimiter.AcquireAsync(System.Uri uri, System.Threading.CancellationToken cancellationToken = default)`.
/// Mapping contract: ownership `shared_self,owned,optional_owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.CapsRateLimiter.Dispose`.
///
/// C# signature: `System.Void LibreMetaverse.CapsRateLimiter.Dispose()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.CapsRateLimiter.RegisterCapUri(System.String,System.Uri)`.
///
/// C# signature: `System.Void LibreMetaverse.CapsRateLimiter.RegisterCapUri(System.String capName, System.Uri uri)`.
/// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
pub use crate::caps_http::CapsRateLimiter;

/// C# type: `T:LibreMetaverse.CapsRateLimiterOptions`.
///
/// Native Rust mapping of C# `LibreMetaverse.CapsRateLimiterOptions` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.CapsRateLimiterOptions.#ctor`.
///
/// C# signature: `LibreMetaverse.CapsRateLimiterOptions()`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.CapsRateLimiterOptions.QueueLimit`.
///
/// C# signature: `System.Int32 LibreMetaverse.CapsRateLimiterOptions.QueueLimit`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.CapsRateLimiterOptions.ReplenishmentPeriod`.
///
/// C# signature: `System.TimeSpan LibreMetaverse.CapsRateLimiterOptions.ReplenishmentPeriod`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.CapsRateLimiterOptions.TokenLimit`.
///
/// C# signature: `System.Int32 LibreMetaverse.CapsRateLimiterOptions.TokenLimit`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.CapsRateLimiterOptions.TokensPerPeriod`.
///
/// C# signature: `System.Int32 LibreMetaverse.CapsRateLimiterOptions.TokensPerPeriod`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::caps_http::CapsRateLimiterOptions;

/// C# type: `T:LibreMetaverse.ChannelType`.
///
/// Native Rust mapping of C# `LibreMetaverse.ChannelType` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(i32)]
pub enum ChannelType {
    /// C# member: `F:LibreMetaverse.ChannelType.Asset`.
    ///
    /// C# signature: `LibreMetaverse.ChannelType LibreMetaverse.ChannelType.Asset`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Asset = 2,
    /// C# member: `F:LibreMetaverse.ChannelType.Misc`.
    ///
    /// C# signature: `LibreMetaverse.ChannelType LibreMetaverse.ChannelType.Misc`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Misc = 1,
    /// C# member: `F:LibreMetaverse.ChannelType.Unknown`.
    ///
    /// C# signature: `LibreMetaverse.ChannelType LibreMetaverse.ChannelType.Unknown`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Unknown = 0,
}

/// C# type: `T:LibreMetaverse.ChatAudibleLevel`.
///
/// Native Rust mapping of C# `LibreMetaverse.ChatAudibleLevel` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(i8)]
pub enum ChatAudibleLevel {
    /// C# member: `F:LibreMetaverse.ChatAudibleLevel.Barely`.
    ///
    /// C# signature: `LibreMetaverse.ChatAudibleLevel LibreMetaverse.ChatAudibleLevel.Barely`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Barely = 0,
    /// C# member: `F:LibreMetaverse.ChatAudibleLevel.Fully`.
    ///
    /// C# signature: `LibreMetaverse.ChatAudibleLevel LibreMetaverse.ChatAudibleLevel.Fully`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Fully = 1,
    /// C# member: `F:LibreMetaverse.ChatAudibleLevel.Not`.
    ///
    /// C# signature: `LibreMetaverse.ChatAudibleLevel LibreMetaverse.ChatAudibleLevel.Not`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Not = -1,
}

/// C# type: `T:LibreMetaverse.ChatEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.ChatEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.ChatEventArgs.#ctor(LibreMetaverse.Simulator,System.String,LibreMetaverse.ChatAudibleLevel,LibreMetaverse.ChatType,LibreMetaverse.ChatSourceType,System.String,LibreMetaverse.UUID,LibreMetaverse.UUID,LibreMetaverse.Vector3)`.
///
/// C# signature: `LibreMetaverse.ChatEventArgs(LibreMetaverse.Simulator simulator, System.String message, LibreMetaverse.ChatAudibleLevel audible, LibreMetaverse.ChatType type, LibreMetaverse.ChatSourceType sourceType, System.String fromName, LibreMetaverse.UUID sourceId, LibreMetaverse.UUID ownerid, LibreMetaverse.Vector3 position)`.
/// Mapping contract: ownership `owned,owned,owned,owned,owned,owned,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.ChatEventArgs.ToString`.
///
/// C# signature: `System.String LibreMetaverse.ChatEventArgs.ToString()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.ChatEventArgs.AudibleLevel`.
///
/// C# signature: `LibreMetaverse.ChatAudibleLevel LibreMetaverse.ChatEventArgs.AudibleLevel`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.ChatEventArgs.FromName`.
///
/// C# signature: `System.String LibreMetaverse.ChatEventArgs.FromName`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.ChatEventArgs.Message`.
///
/// C# signature: `System.String LibreMetaverse.ChatEventArgs.Message`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.ChatEventArgs.OwnerID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.ChatEventArgs.OwnerID`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.ChatEventArgs.Position`.
///
/// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.ChatEventArgs.Position`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.ChatEventArgs.Simulator`.
///
/// C# signature: `LibreMetaverse.Simulator LibreMetaverse.ChatEventArgs.Simulator`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.ChatEventArgs.SourceID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.ChatEventArgs.SourceID`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.ChatEventArgs.SourceType`.
///
/// C# signature: `LibreMetaverse.ChatSourceType LibreMetaverse.ChatEventArgs.SourceType`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.ChatEventArgs.Type`.
///
/// C# signature: `LibreMetaverse.ChatType LibreMetaverse.ChatEventArgs.Type`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::agent_messages::ChatEventArgs;

/// C# type: `T:LibreMetaverse.ChatSessionMember`.
///
/// Native Rust mapping of C# `LibreMetaverse.ChatSessionMember` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `F:LibreMetaverse.ChatSessionMember.AvatarKey`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.ChatSessionMember.AvatarKey`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.ChatSessionMember.CanVoiceChat`.
///
/// C# signature: `System.Boolean LibreMetaverse.ChatSessionMember.CanVoiceChat`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.ChatSessionMember.IsModerator`.
///
/// C# signature: `System.Boolean LibreMetaverse.ChatSessionMember.IsModerator`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.ChatSessionMember.MuteText`.
///
/// C# signature: `System.Boolean LibreMetaverse.ChatSessionMember.MuteText`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.ChatSessionMember.MuteVoice`.
///
/// C# signature: `System.Boolean LibreMetaverse.ChatSessionMember.MuteVoice`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `M:LibreMetaverse.ChatSessionMember.Equals(LibreMetaverse.ChatSessionMember)`.
///
/// C# signature: `System.Boolean LibreMetaverse.ChatSessionMember.Equals(LibreMetaverse.ChatSessionMember other)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `infallible_placeholder`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.ChatSessionMember.Equals(System.Object)`.
///
/// C# signature: `System.Boolean LibreMetaverse.ChatSessionMember.Equals(System.Object obj)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `infallible_placeholder`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.ChatSessionMember.GetHashCode`.
///
/// C# signature: `System.Int32 LibreMetaverse.ChatSessionMember.GetHashCode()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
pub use crate::agent_messages::ChatSessionMember;

/// C# type: `T:LibreMetaverse.ChatSessionMemberAddedEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.ChatSessionMemberAddedEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.ChatSessionMemberAddedEventArgs.#ctor(LibreMetaverse.UUID,LibreMetaverse.UUID)`.
///
/// C# signature: `LibreMetaverse.ChatSessionMemberAddedEventArgs(LibreMetaverse.UUID sessionID, LibreMetaverse.UUID agentID)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.ChatSessionMemberAddedEventArgs.AgentID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.ChatSessionMemberAddedEventArgs.AgentID`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.ChatSessionMemberAddedEventArgs.SessionID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.ChatSessionMemberAddedEventArgs.SessionID`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::agent_messages::ChatSessionMemberAddedEventArgs;

/// C# type: `T:LibreMetaverse.ChatSessionMemberLeftEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.ChatSessionMemberLeftEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.ChatSessionMemberLeftEventArgs.#ctor(LibreMetaverse.UUID,LibreMetaverse.UUID)`.
///
/// C# signature: `LibreMetaverse.ChatSessionMemberLeftEventArgs(LibreMetaverse.UUID sessionID, LibreMetaverse.UUID agentID)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.ChatSessionMemberLeftEventArgs.AgentID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.ChatSessionMemberLeftEventArgs.AgentID`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.ChatSessionMemberLeftEventArgs.SessionID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.ChatSessionMemberLeftEventArgs.SessionID`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::agent_messages::ChatSessionMemberLeftEventArgs;

/// C# type: `T:LibreMetaverse.ChatSourceType`.
///
/// Native Rust mapping of C# `LibreMetaverse.ChatSourceType` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(u8)]
pub enum ChatSourceType {
    /// C# member: `F:LibreMetaverse.ChatSourceType.Agent`.
    ///
    /// C# signature: `LibreMetaverse.ChatSourceType LibreMetaverse.ChatSourceType.Agent`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Agent = 1,
    /// C# member: `F:LibreMetaverse.ChatSourceType.Object`.
    ///
    /// C# signature: `LibreMetaverse.ChatSourceType LibreMetaverse.ChatSourceType.Object`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Object = 2,
    /// C# member: `F:LibreMetaverse.ChatSourceType.System`.
    ///
    /// C# signature: `LibreMetaverse.ChatSourceType LibreMetaverse.ChatSourceType.System`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    System = 0,
}

/// C# type: `T:LibreMetaverse.ChatType`.
///
/// Native Rust mapping of C# `LibreMetaverse.ChatType` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(u8)]
pub enum ChatType {
    /// C# member: `F:LibreMetaverse.ChatType.Debug`.
    ///
    /// C# signature: `LibreMetaverse.ChatType LibreMetaverse.ChatType.Debug`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Debug = 6,
    /// C# member: `F:LibreMetaverse.ChatType.Normal`.
    ///
    /// C# signature: `LibreMetaverse.ChatType LibreMetaverse.ChatType.Normal`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Normal = 1,
    /// C# member: `F:LibreMetaverse.ChatType.OwnerSay`.
    ///
    /// C# signature: `LibreMetaverse.ChatType LibreMetaverse.ChatType.OwnerSay`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    OwnerSay = 8,
    /// C# member: `F:LibreMetaverse.ChatType.RegionSay`.
    ///
    /// C# signature: `LibreMetaverse.ChatType LibreMetaverse.ChatType.RegionSay`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    RegionSay = 255,
    /// C# member: `F:LibreMetaverse.ChatType.RegionSayTo`.
    ///
    /// C# signature: `LibreMetaverse.ChatType LibreMetaverse.ChatType.RegionSayTo`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    RegionSayTo = 9,
    /// C# member: `F:LibreMetaverse.ChatType.Shout`.
    ///
    /// C# signature: `LibreMetaverse.ChatType LibreMetaverse.ChatType.Shout`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Shout = 2,
    /// C# member: `F:LibreMetaverse.ChatType.StartTyping`.
    ///
    /// C# signature: `LibreMetaverse.ChatType LibreMetaverse.ChatType.StartTyping`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    StartTyping = 4,
    /// C# member: `F:LibreMetaverse.ChatType.StopTyping`.
    ///
    /// C# signature: `LibreMetaverse.ChatType LibreMetaverse.ChatType.StopTyping`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    StopTyping = 5,
    /// C# member: `F:LibreMetaverse.ChatType.Whisper`.
    ///
    /// C# signature: `LibreMetaverse.ChatType LibreMetaverse.ChatType.Whisper`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Whisper = 0,
}

/// C# type: `T:LibreMetaverse.ClassifiedAd`.
///
/// Native Rust mapping of C# `LibreMetaverse.ClassifiedAd` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone)]
pub struct ClassifiedAd {
    /// C# member: `F:LibreMetaverse.ClassifiedAd.Category`.
    ///
    /// C# signature: `System.UInt32 LibreMetaverse.ClassifiedAd.Category`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub category: u32,
    /// C# member: `F:LibreMetaverse.ClassifiedAd.ClassifiedFlags`.
    ///
    /// C# signature: `System.Byte LibreMetaverse.ClassifiedAd.ClassifiedFlags`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub classified_flags: u8,
    /// C# member: `F:LibreMetaverse.ClassifiedAd.ClassifiedID`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.ClassifiedAd.ClassifiedID`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub classified_id: libremetaverse_types::UUID,
    /// C# member: `F:LibreMetaverse.ClassifiedAd.CreationDate`.
    ///
    /// C# signature: `System.UInt32 LibreMetaverse.ClassifiedAd.CreationDate`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub creation_date: u32,
    /// C# member: `F:LibreMetaverse.ClassifiedAd.CreatorID`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.ClassifiedAd.CreatorID`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub creator_id: libremetaverse_types::UUID,
    /// C# member: `F:LibreMetaverse.ClassifiedAd.Desc`.
    ///
    /// C# signature: `System.String LibreMetaverse.ClassifiedAd.Desc`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub desc: String,
    /// C# member: `F:LibreMetaverse.ClassifiedAd.ExpirationDate`.
    ///
    /// C# signature: `System.UInt32 LibreMetaverse.ClassifiedAd.ExpirationDate`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub expiration_date: u32,
    /// C# member: `F:LibreMetaverse.ClassifiedAd.Name`.
    ///
    /// C# signature: `System.String LibreMetaverse.ClassifiedAd.Name`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub name: String,
    /// C# member: `F:LibreMetaverse.ClassifiedAd.ParcelID`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.ClassifiedAd.ParcelID`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub parcel_id: libremetaverse_types::UUID,
    /// C# member: `F:LibreMetaverse.ClassifiedAd.ParcelName`.
    ///
    /// C# signature: `System.String LibreMetaverse.ClassifiedAd.ParcelName`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub parcel_name: String,
    /// C# member: `F:LibreMetaverse.ClassifiedAd.ParentEstate`.
    ///
    /// C# signature: `System.UInt32 LibreMetaverse.ClassifiedAd.ParentEstate`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub parent_estate: u32,
    /// C# member: `F:LibreMetaverse.ClassifiedAd.Position`.
    ///
    /// C# signature: `LibreMetaverse.Vector3d LibreMetaverse.ClassifiedAd.Position`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub position: libremetaverse_types::Vector3d,
    /// C# member: `F:LibreMetaverse.ClassifiedAd.Price`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.ClassifiedAd.Price`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub price: i32,
    /// C# member: `F:LibreMetaverse.ClassifiedAd.SimName`.
    ///
    /// C# signature: `System.String LibreMetaverse.ClassifiedAd.SimName`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub sim_name: String,
    /// C# member: `F:LibreMetaverse.ClassifiedAd.SnapShotID`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.ClassifiedAd.SnapShotID`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub snap_shot_id: libremetaverse_types::UUID,
}
impl ClassifiedAd {}

/// C# type: `T:LibreMetaverse.ClassifiedInfoReplyEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.ClassifiedInfoReplyEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
pub struct ClassifiedInfoReplyEventArgs {
    property_0: libremetaverse::ClassifiedAd,
    property_1: libremetaverse_types::UUID,
}
impl ClassifiedInfoReplyEventArgs {
    /// C# member: `M:LibreMetaverse.ClassifiedInfoReplyEventArgs.#ctor(LibreMetaverse.UUID,LibreMetaverse.ClassifiedAd)`.
    ///
    /// C# signature: `LibreMetaverse.ClassifiedInfoReplyEventArgs(LibreMetaverse.UUID classifiedID, LibreMetaverse.ClassifiedAd Classified)`.
    /// Mapping contract: ownership `owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn new(
        classified_id: libremetaverse_types::UUID,
        classified: libremetaverse::ClassifiedAd,
    ) -> Result<Self, crate::Error> {
        /* complete generated data model */
        Ok(Self {
            property_0: classified,
            property_1: classified_id,
        })
    }
    /// C# member: `P:LibreMetaverse.ClassifiedInfoReplyEventArgs.Classified`.
    ///
    /// C# signature: `LibreMetaverse.ClassifiedAd LibreMetaverse.ClassifiedInfoReplyEventArgs.Classified`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn classified(&self) -> libremetaverse::ClassifiedAd {
        /* complete generated data model */
        self.property_0.clone()
    }
    /// C# member: `P:LibreMetaverse.ClassifiedInfoReplyEventArgs.ClassifiedID`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.ClassifiedInfoReplyEventArgs.ClassifiedID`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn classified_id(&self) -> libremetaverse_types::UUID {
        /* complete generated data model */
        self.property_1.clone()
    }
}

/// C# type: `T:LibreMetaverse.CoarseLocationUpdateEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.CoarseLocationUpdateEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.CoarseLocationUpdateEventArgs.#ctor(LibreMetaverse.Simulator,System.Collections.Generic.IReadOnlyDictionary{LibreMetaverse.UUID,LibreMetaverse.Vector3},System.Collections.Generic.ICollection{LibreMetaverse.UUID},System.Collections.Generic.ICollection{LibreMetaverse.UUID})`.
///
/// C# signature: `LibreMetaverse.CoarseLocationUpdateEventArgs(LibreMetaverse.Simulator simulator, System.Collections.Generic.IReadOnlyDictionary<LibreMetaverse.UUID, LibreMetaverse.Vector3> positions, System.Collections.Generic.ICollection<LibreMetaverse.UUID> newEntries, System.Collections.Generic.ICollection<LibreMetaverse.UUID> removedEntries)`.
/// Mapping contract: ownership `owned,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.CoarseLocationUpdateEventArgs.NewEntries`.
///
/// C# signature: `System.Collections.Generic.ICollection<LibreMetaverse.UUID> LibreMetaverse.CoarseLocationUpdateEventArgs.NewEntries`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.CoarseLocationUpdateEventArgs.Positions`.
///
/// C# signature: `System.Collections.Generic.IReadOnlyDictionary<LibreMetaverse.UUID, LibreMetaverse.Vector3> LibreMetaverse.CoarseLocationUpdateEventArgs.Positions`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.CoarseLocationUpdateEventArgs.RemovedEntries`.
///
/// C# signature: `System.Collections.Generic.ICollection<LibreMetaverse.UUID> LibreMetaverse.CoarseLocationUpdateEventArgs.RemovedEntries`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.CoarseLocationUpdateEventArgs.Simulator`.
///
/// C# signature: `LibreMetaverse.Simulator LibreMetaverse.CoarseLocationUpdateEventArgs.Simulator`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::grid_manager::CoarseLocationUpdateEventArgs;

/// C# type: `T:LibreMetaverse.CompressedFlags`.
///
/// Native Rust mapping of C# `LibreMetaverse.CompressedFlags` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(transparent)]
pub struct CompressedFlags(pub u32);
impl CompressedFlags {
    /// C# member: `F:LibreMetaverse.CompressedFlags.HasAngularVelocity`.
    ///
    /// C# signature: `LibreMetaverse.CompressedFlags LibreMetaverse.CompressedFlags.HasAngularVelocity`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const HAS_ANGULAR_VELOCITY: Self = Self(128);
    /// C# member: `F:LibreMetaverse.CompressedFlags.HasNameValues`.
    ///
    /// C# signature: `LibreMetaverse.CompressedFlags LibreMetaverse.CompressedFlags.HasNameValues`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const HAS_NAME_VALUES: Self = Self(256);
    /// C# member: `F:LibreMetaverse.CompressedFlags.HasParent`.
    ///
    /// C# signature: `LibreMetaverse.CompressedFlags LibreMetaverse.CompressedFlags.HasParent`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const HAS_PARENT: Self = Self(32);
    /// C# member: `F:LibreMetaverse.CompressedFlags.HasParticles`.
    ///
    /// C# signature: `LibreMetaverse.CompressedFlags LibreMetaverse.CompressedFlags.HasParticles`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const HAS_PARTICLES: Self = Self(8);
    /// C# member: `F:LibreMetaverse.CompressedFlags.HasParticlesNew`.
    ///
    /// C# signature: `LibreMetaverse.CompressedFlags LibreMetaverse.CompressedFlags.HasParticlesNew`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const HAS_PARTICLES_NEW: Self = Self(1024);
    /// C# member: `F:LibreMetaverse.CompressedFlags.HasSound`.
    ///
    /// C# signature: `LibreMetaverse.CompressedFlags LibreMetaverse.CompressedFlags.HasSound`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const HAS_SOUND: Self = Self(16);
    /// C# member: `F:LibreMetaverse.CompressedFlags.HasText`.
    ///
    /// C# signature: `LibreMetaverse.CompressedFlags LibreMetaverse.CompressedFlags.HasText`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const HAS_TEXT: Self = Self(4);
    /// C# member: `F:LibreMetaverse.CompressedFlags.MediaURL`.
    ///
    /// C# signature: `LibreMetaverse.CompressedFlags LibreMetaverse.CompressedFlags.MediaURL`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const MEDIA_URL: Self = Self(512);
    /// C# member: `F:LibreMetaverse.CompressedFlags.None`.
    ///
    /// C# signature: `LibreMetaverse.CompressedFlags LibreMetaverse.CompressedFlags.None`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const NONE: Self = Self(0);
    /// C# member: `F:LibreMetaverse.CompressedFlags.ScratchPad`.
    ///
    /// C# signature: `LibreMetaverse.CompressedFlags LibreMetaverse.CompressedFlags.ScratchPad`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const SCRATCH_PAD: Self = Self(1);
    /// C# member: `F:LibreMetaverse.CompressedFlags.TextureAnimation`.
    ///
    /// C# signature: `LibreMetaverse.CompressedFlags LibreMetaverse.CompressedFlags.TextureAnimation`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const TEXTURE_ANIMATION: Self = Self(64);
    /// C# member: `F:LibreMetaverse.CompressedFlags.Tree`.
    ///
    /// C# signature: `LibreMetaverse.CompressedFlags LibreMetaverse.CompressedFlags.Tree`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const TREE: Self = Self(2);
}

/// C# type: `T:LibreMetaverse.ConnectionSettings`.
///
/// Native Rust mapping of C# `LibreMetaverse.ConnectionSettings` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Eq, PartialEq)]
pub struct ConnectionSettings {
    /// C# member: `F:LibreMetaverse.ConnectionSettings.LoginServer`.
    ///
    /// C# signature: `System.String LibreMetaverse.ConnectionSettings.LoginServer`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub login_server: String,
    /// C# member: `F:LibreMetaverse.ConnectionSettings.MfaEnabled`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.ConnectionSettings.MfaEnabled`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub mfa_enabled: bool,
}
impl ConnectionSettings {
    /// C# member: `M:LibreMetaverse.ConnectionSettings.#ctor`.
    ///
    /// C# signature: `LibreMetaverse.ConnectionSettings()`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn new() -> Result<Self, crate::Error> {
        /* native client-core implementation */
        Ok(crate::client_core::connection_settings_defaults())
    }
}

/// C# type: `T:LibreMetaverse.CoordinateFrame`.
///
/// Native Rust mapping of C# `LibreMetaverse.CoordinateFrame` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `F:LibreMetaverse.CoordinateFrame.X_AXIS`.
///
/// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.CoordinateFrame.X_AXIS`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `infallible_placeholder`; overload `descriptive_overload_name`; kind `static_field_accessor`.
/// C# member: `F:LibreMetaverse.CoordinateFrame.Y_AXIS`.
///
/// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.CoordinateFrame.Y_AXIS`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `infallible_placeholder`; overload `descriptive_overload_name`; kind `static_field_accessor`.
/// C# member: `F:LibreMetaverse.CoordinateFrame.Z_AXIS`.
///
/// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.CoordinateFrame.Z_AXIS`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `infallible_placeholder`; overload `descriptive_overload_name`; kind `static_field_accessor`.
/// C# member: `M:LibreMetaverse.CoordinateFrame.#ctor(LibreMetaverse.Vector3)`.
///
/// C# signature: `LibreMetaverse.CoordinateFrame(LibreMetaverse.Vector3 origin)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.CoordinateFrame.#ctor(LibreMetaverse.Vector3,LibreMetaverse.Matrix4)`.
///
/// C# signature: `LibreMetaverse.CoordinateFrame(LibreMetaverse.Vector3 origin, LibreMetaverse.Matrix4 rotation)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.CoordinateFrame.#ctor(LibreMetaverse.Vector3,LibreMetaverse.Quaternion)`.
///
/// C# signature: `LibreMetaverse.CoordinateFrame(LibreMetaverse.Vector3 origin, LibreMetaverse.Quaternion rotation)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.CoordinateFrame.#ctor(LibreMetaverse.Vector3,LibreMetaverse.Vector3)`.
///
/// C# signature: `LibreMetaverse.CoordinateFrame(LibreMetaverse.Vector3 origin, LibreMetaverse.Vector3 direction)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.CoordinateFrame.#ctor(LibreMetaverse.Vector3,LibreMetaverse.Vector3,LibreMetaverse.Vector3,LibreMetaverse.Vector3)`.
///
/// C# signature: `LibreMetaverse.CoordinateFrame(LibreMetaverse.Vector3 origin, LibreMetaverse.Vector3 xAxis, LibreMetaverse.Vector3 yAxis, LibreMetaverse.Vector3 zAxis)`.
/// Mapping contract: ownership `owned,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.CoordinateFrame.LookAt(LibreMetaverse.Vector3,LibreMetaverse.Vector3)`.
///
/// C# signature: `System.Void LibreMetaverse.CoordinateFrame.LookAt(LibreMetaverse.Vector3 origin, LibreMetaverse.Vector3 target)`.
/// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.CoordinateFrame.LookAt(LibreMetaverse.Vector3,LibreMetaverse.Vector3,LibreMetaverse.Vector3)`.
///
/// C# signature: `System.Void LibreMetaverse.CoordinateFrame.LookAt(LibreMetaverse.Vector3 origin, LibreMetaverse.Vector3 target, LibreMetaverse.Vector3 upDirection)`.
/// Mapping contract: ownership `shared_self,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.CoordinateFrame.LookDirection(LibreMetaverse.Vector3)`.
///
/// C# signature: `System.Void LibreMetaverse.CoordinateFrame.LookDirection(LibreMetaverse.Vector3 at)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.CoordinateFrame.LookDirection(LibreMetaverse.Vector3,LibreMetaverse.Vector3)`.
///
/// C# signature: `System.Void LibreMetaverse.CoordinateFrame.LookDirection(LibreMetaverse.Vector3 at, LibreMetaverse.Vector3 upDirection)`.
/// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.CoordinateFrame.LookDirection(System.Double)`.
///
/// C# signature: `System.Void LibreMetaverse.CoordinateFrame.LookDirection(System.Double heading)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.CoordinateFrame.Pitch(System.Single)`.
///
/// C# signature: `System.Void LibreMetaverse.CoordinateFrame.Pitch(System.Single angle)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.CoordinateFrame.ResetAxes`.
///
/// C# signature: `System.Void LibreMetaverse.CoordinateFrame.ResetAxes()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.CoordinateFrame.Roll(System.Single)`.
///
/// C# signature: `System.Void LibreMetaverse.CoordinateFrame.Roll(System.Single angle)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.CoordinateFrame.Rotate(LibreMetaverse.Matrix4)`.
///
/// C# signature: `System.Void LibreMetaverse.CoordinateFrame.Rotate(LibreMetaverse.Matrix4 m)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.CoordinateFrame.Rotate(LibreMetaverse.Quaternion)`.
///
/// C# signature: `System.Void LibreMetaverse.CoordinateFrame.Rotate(LibreMetaverse.Quaternion q)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.CoordinateFrame.Rotate(System.Single,LibreMetaverse.Vector3)`.
///
/// C# signature: `System.Void LibreMetaverse.CoordinateFrame.Rotate(System.Single angle, LibreMetaverse.Vector3 rotationAxis)`.
/// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.CoordinateFrame.Yaw(System.Single)`.
///
/// C# signature: `System.Void LibreMetaverse.CoordinateFrame.Yaw(System.Single angle)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.CoordinateFrame.Origin`.
///
/// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.CoordinateFrame.Origin`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.CoordinateFrame.XAxis`.
///
/// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.CoordinateFrame.XAxis`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `descriptive_overload_name`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.CoordinateFrame.YAxis`.
///
/// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.CoordinateFrame.YAxis`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `descriptive_overload_name`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.CoordinateFrame.ZAxis`.
///
/// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.CoordinateFrame.ZAxis`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `descriptive_overload_name`; kind `accessor_methods`.
pub use crate::coordinate_frame::CoordinateFrame;

/// C# type: `T:LibreMetaverse.CurrentGroupsEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.CurrentGroupsEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.CurrentGroupsEventArgs.#ctor(System.Collections.Generic.Dictionary{LibreMetaverse.UUID,LibreMetaverse.Group})`.
///
/// C# signature: `LibreMetaverse.CurrentGroupsEventArgs(System.Collections.Generic.Dictionary<LibreMetaverse.UUID, LibreMetaverse.Group> groups)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.CurrentGroupsEventArgs.Groups`.
///
/// C# signature: `System.Collections.Generic.Dictionary<LibreMetaverse.UUID, LibreMetaverse.Group> LibreMetaverse.CurrentGroupsEventArgs.Groups`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::group_manager::CurrentGroupsEventArgs;

/// C# type: `T:LibreMetaverse.DeRezDestination`.
///
/// Native Rust mapping of C# `LibreMetaverse.DeRezDestination` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(u8)]
pub enum DeRezDestination {
    /// C# member: `F:LibreMetaverse.DeRezDestination.AgentInventoryCopy`.
    ///
    /// C# signature: `LibreMetaverse.DeRezDestination LibreMetaverse.DeRezDestination.AgentInventoryCopy`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    AgentInventoryCopy = 1,
    /// C# member: `F:LibreMetaverse.DeRezDestination.AgentInventorySave`.
    ///
    /// C# signature: `LibreMetaverse.DeRezDestination LibreMetaverse.DeRezDestination.AgentInventorySave`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    AgentInventorySave = 0,
    /// C# member: `F:LibreMetaverse.DeRezDestination.AgentInventoryTake`.
    ///
    /// C# signature: `LibreMetaverse.DeRezDestination LibreMetaverse.DeRezDestination.AgentInventoryTake`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    AgentInventoryTake = 4,
    /// C# member: `F:LibreMetaverse.DeRezDestination.Attachment`.
    ///
    /// C# signature: `LibreMetaverse.DeRezDestination LibreMetaverse.DeRezDestination.Attachment`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Attachment = 3,
    /// C# member: `F:LibreMetaverse.DeRezDestination.AttachmentExists`.
    ///
    /// C# signature: `LibreMetaverse.DeRezDestination LibreMetaverse.DeRezDestination.AttachmentExists`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    AttachmentExists = 8,
    /// C# member: `F:LibreMetaverse.DeRezDestination.AttachmentToInventory`.
    ///
    /// C# signature: `LibreMetaverse.DeRezDestination LibreMetaverse.DeRezDestination.AttachmentToInventory`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    AttachmentToInventory = 7,
    /// C# member: `F:LibreMetaverse.DeRezDestination.ForceToGodInventory`.
    ///
    /// C# signature: `LibreMetaverse.DeRezDestination LibreMetaverse.DeRezDestination.ForceToGodInventory`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    ForceToGodInventory = 5,
    /// C# member: `F:LibreMetaverse.DeRezDestination.ReturnToLastOwner`.
    ///
    /// C# signature: `LibreMetaverse.DeRezDestination LibreMetaverse.DeRezDestination.ReturnToLastOwner`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    ReturnToLastOwner = 10,
    /// C# member: `F:LibreMetaverse.DeRezDestination.ReturnToOwner`.
    ///
    /// C# signature: `LibreMetaverse.DeRezDestination LibreMetaverse.DeRezDestination.ReturnToOwner`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    ReturnToOwner = 9,
    /// C# member: `F:LibreMetaverse.DeRezDestination.TaskInventory`.
    ///
    /// C# signature: `LibreMetaverse.DeRezDestination LibreMetaverse.DeRezDestination.TaskInventory`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    TaskInventory = 2,
    /// C# member: `F:LibreMetaverse.DeRezDestination.TrashFolder`.
    ///
    /// C# signature: `LibreMetaverse.DeRezDestination LibreMetaverse.DeRezDestination.TrashFolder`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    TrashFolder = 6,
}

/// C# type: `T:LibreMetaverse.DictionaryChangeCallback`.
///
/// Native Rust mapping of C# `LibreMetaverse.DictionaryChangeCallback` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.DictionaryChangeCallback.#ctor(System.Object,System.IntPtr)`.
///
/// C# signature: `LibreMetaverse.DictionaryChangeCallback(System.Object object, System.IntPtr method)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.DictionaryChangeCallback.BeginInvoke(LibreMetaverse.DictionaryEventAction,System.Collections.DictionaryEntry,System.AsyncCallback,System.Object)`.
///
/// C# signature: `System.IAsyncResult LibreMetaverse.DictionaryChangeCallback.BeginInvoke(LibreMetaverse.DictionaryEventAction action, System.Collections.DictionaryEntry entry, System.AsyncCallback callback, System.Object object)`.
/// Mapping contract: ownership `shared_self,owned,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `native_callback_replaces_delegate_apm`.
/// C# member: `M:LibreMetaverse.DictionaryChangeCallback.EndInvoke(System.IAsyncResult)`.
///
/// C# signature: `System.Void LibreMetaverse.DictionaryChangeCallback.EndInvoke(System.IAsyncResult result)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `native_callback_replaces_delegate_apm`.
/// C# member: `M:LibreMetaverse.DictionaryChangeCallback.Invoke(LibreMetaverse.DictionaryEventAction,System.Collections.DictionaryEntry)`.
///
/// C# signature: `System.Void LibreMetaverse.DictionaryChangeCallback.Invoke(LibreMetaverse.DictionaryEventAction action, System.Collections.DictionaryEntry entry)`.
/// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
pub use crate::callback_runtime::DictionaryChangeCallback;

/// C# type: `T:LibreMetaverse.DictionaryEventAction`.
///
/// Native Rust mapping of C# `LibreMetaverse.DictionaryEventAction` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(i32)]
pub enum DictionaryEventAction {
    /// C# member: `F:LibreMetaverse.DictionaryEventAction.Add`.
    ///
    /// C# signature: `LibreMetaverse.DictionaryEventAction LibreMetaverse.DictionaryEventAction.Add`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Add = 0,
    /// C# member: `F:LibreMetaverse.DictionaryEventAction.Change`.
    ///
    /// C# signature: `LibreMetaverse.DictionaryEventAction LibreMetaverse.DictionaryEventAction.Change`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Change = 2,
    /// C# member: `F:LibreMetaverse.DictionaryEventAction.Remove`.
    ///
    /// C# signature: `LibreMetaverse.DictionaryEventAction LibreMetaverse.DictionaryEventAction.Remove`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Remove = 1,
}

/// C# type: `T:LibreMetaverse.DirClassifiedsReplyEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.DirClassifiedsReplyEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.DirClassifiedsReplyEventArgs.#ctor(System.Collections.Generic.List{LibreMetaverse.DirectoryManager.Classified})`.
///
/// C# signature: `LibreMetaverse.DirClassifiedsReplyEventArgs(System.Collections.Generic.List<LibreMetaverse.DirectoryManager.Classified> classifieds)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.DirClassifiedsReplyEventArgs.Classifieds`.
///
/// C# signature: `System.Collections.Generic.List<LibreMetaverse.DirectoryManager.Classified> LibreMetaverse.DirClassifiedsReplyEventArgs.Classifieds`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::directory_manager::DirClassifiedsReplyEventArgs;

/// C# type: `T:LibreMetaverse.DirEventsReplyEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.DirEventsReplyEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.DirEventsReplyEventArgs.#ctor(LibreMetaverse.UUID,System.Collections.Generic.List{LibreMetaverse.DirectoryManager.EventsSearchData})`.
///
/// C# signature: `LibreMetaverse.DirEventsReplyEventArgs(LibreMetaverse.UUID queryID, System.Collections.Generic.List<LibreMetaverse.DirectoryManager.EventsSearchData> matchedEvents)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.DirEventsReplyEventArgs.MatchedEvents`.
///
/// C# signature: `System.Collections.Generic.List<LibreMetaverse.DirectoryManager.EventsSearchData> LibreMetaverse.DirEventsReplyEventArgs.MatchedEvents`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.DirEventsReplyEventArgs.QueryID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.DirEventsReplyEventArgs.QueryID`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::directory_manager::DirEventsReplyEventArgs;

/// C# type: `T:LibreMetaverse.DirGroupsReplyEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.DirGroupsReplyEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.DirGroupsReplyEventArgs.#ctor(LibreMetaverse.UUID,System.Collections.Generic.List{LibreMetaverse.DirectoryManager.GroupSearchData})`.
///
/// C# signature: `LibreMetaverse.DirGroupsReplyEventArgs(LibreMetaverse.UUID queryID, System.Collections.Generic.List<LibreMetaverse.DirectoryManager.GroupSearchData> matchedGroups)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.DirGroupsReplyEventArgs.MatchedGroups`.
///
/// C# signature: `System.Collections.Generic.List<LibreMetaverse.DirectoryManager.GroupSearchData> LibreMetaverse.DirGroupsReplyEventArgs.MatchedGroups`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.DirGroupsReplyEventArgs.QueryID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.DirGroupsReplyEventArgs.QueryID`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::directory_manager::DirGroupsReplyEventArgs;

/// C# type: `T:LibreMetaverse.DirLandReplyEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.DirLandReplyEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.DirLandReplyEventArgs.#ctor(System.Collections.Generic.List{LibreMetaverse.DirectoryManager.DirectoryParcel})`.
///
/// C# signature: `LibreMetaverse.DirLandReplyEventArgs(System.Collections.Generic.List<LibreMetaverse.DirectoryManager.DirectoryParcel> dirParcels)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.DirLandReplyEventArgs.DirParcels`.
///
/// C# signature: `System.Collections.Generic.List<LibreMetaverse.DirectoryManager.DirectoryParcel> LibreMetaverse.DirLandReplyEventArgs.DirParcels`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::directory_manager::DirLandReplyEventArgs;

/// C# type: `T:LibreMetaverse.DirPeopleReplyEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.DirPeopleReplyEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.DirPeopleReplyEventArgs.#ctor(LibreMetaverse.UUID,System.Collections.Generic.List{LibreMetaverse.DirectoryManager.AgentSearchData})`.
///
/// C# signature: `LibreMetaverse.DirPeopleReplyEventArgs(LibreMetaverse.UUID queryID, System.Collections.Generic.List<LibreMetaverse.DirectoryManager.AgentSearchData> matchedPeople)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.DirPeopleReplyEventArgs.MatchedPeople`.
///
/// C# signature: `System.Collections.Generic.List<LibreMetaverse.DirectoryManager.AgentSearchData> LibreMetaverse.DirPeopleReplyEventArgs.MatchedPeople`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.DirPeopleReplyEventArgs.QueryID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.DirPeopleReplyEventArgs.QueryID`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::directory_manager::DirPeopleReplyEventArgs;

/// C# type: `T:LibreMetaverse.DirPlacesReplyEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.DirPlacesReplyEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.DirPlacesReplyEventArgs.#ctor(LibreMetaverse.UUID,System.Collections.Generic.List{LibreMetaverse.DirectoryManager.DirectoryParcel})`.
///
/// C# signature: `LibreMetaverse.DirPlacesReplyEventArgs(LibreMetaverse.UUID queryID, System.Collections.Generic.List<LibreMetaverse.DirectoryManager.DirectoryParcel> matchedParcels)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.DirPlacesReplyEventArgs.MatchedParcels`.
///
/// C# signature: `System.Collections.Generic.List<LibreMetaverse.DirectoryManager.DirectoryParcel> LibreMetaverse.DirPlacesReplyEventArgs.MatchedParcels`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.DirPlacesReplyEventArgs.QueryID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.DirPlacesReplyEventArgs.QueryID`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::directory_manager::DirPlacesReplyEventArgs;

/// C# type: `T:LibreMetaverse.DirectoryManager`.
///
/// Native Rust mapping of C# `LibreMetaverse.DirectoryManager` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `E:LibreMetaverse.DirectoryManager.DirClassifiedsReply`.
///
/// C# signature: `System.EventHandler<LibreMetaverse.DirClassifiedsReplyEventArgs> LibreMetaverse.DirectoryManager.DirClassifiedsReply`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `E:LibreMetaverse.DirectoryManager.DirEventsReply`.
///
/// C# signature: `System.EventHandler<LibreMetaverse.DirEventsReplyEventArgs> LibreMetaverse.DirectoryManager.DirEventsReply`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `E:LibreMetaverse.DirectoryManager.DirGroupsReply`.
///
/// C# signature: `System.EventHandler<LibreMetaverse.DirGroupsReplyEventArgs> LibreMetaverse.DirectoryManager.DirGroupsReply`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `E:LibreMetaverse.DirectoryManager.DirLandReply`.
///
/// C# signature: `System.EventHandler<LibreMetaverse.DirLandReplyEventArgs> LibreMetaverse.DirectoryManager.DirLandReply`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `E:LibreMetaverse.DirectoryManager.DirPeopleReply`.
///
/// C# signature: `System.EventHandler<LibreMetaverse.DirPeopleReplyEventArgs> LibreMetaverse.DirectoryManager.DirPeopleReply`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `E:LibreMetaverse.DirectoryManager.DirPlacesReply`.
///
/// C# signature: `System.EventHandler<LibreMetaverse.DirPlacesReplyEventArgs> LibreMetaverse.DirectoryManager.DirPlacesReply`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `E:LibreMetaverse.DirectoryManager.EventInfoReply`.
///
/// C# signature: `System.EventHandler<LibreMetaverse.EventInfoReplyEventArgs> LibreMetaverse.DirectoryManager.EventInfoReply`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `E:LibreMetaverse.DirectoryManager.PlacesReply`.
///
/// C# signature: `System.EventHandler<LibreMetaverse.PlacesReplyEventArgs> LibreMetaverse.DirectoryManager.PlacesReply`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `M:LibreMetaverse.DirectoryManager.#ctor(LibreMetaverse.GridClient)`.
///
/// C# signature: `LibreMetaverse.DirectoryManager(LibreMetaverse.GridClient client)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.DirectoryManager.Dispose`.
///
/// C# signature: `System.Void LibreMetaverse.DirectoryManager.Dispose()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.DirectoryManager.EventInfoRequest(System.UInt32)`.
///
/// C# signature: `System.Void LibreMetaverse.DirectoryManager.EventInfoRequest(System.UInt32 eventID)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.DirectoryManager.GetEventInfoAsync(System.UInt32,System.Threading.CancellationToken)`.
///
/// C# signature: `System.Threading.Tasks.Task<System.Nullable<LibreMetaverse.DirectoryManager.EventInfo>> LibreMetaverse.DirectoryManager.GetEventInfoAsync(System.UInt32 eventID, System.Threading.CancellationToken ct = default)`.
/// Mapping contract: ownership `shared_self,owned,optional_owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.DirectoryManager.SearchClassifiedsAsync(System.String,LibreMetaverse.DirectoryManager.ClassifiedCategories,LibreMetaverse.DirectoryManager.ClassifiedQueryFlags,System.Threading.CancellationToken)`.
///
/// C# signature: `System.Collections.Generic.IAsyncEnumerable<LibreMetaverse.DirectoryManager.Classified> LibreMetaverse.DirectoryManager.SearchClassifiedsAsync(System.String query, LibreMetaverse.DirectoryManager.ClassifiedCategories category = default, LibreMetaverse.DirectoryManager.ClassifiedQueryFlags flags = default, System.Threading.CancellationToken ct = default)`.
/// Mapping contract: ownership `shared_self,owned,optional_owned,optional_owned,optional_owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.DirectoryManager.SearchDirPlacesAsync(System.String,LibreMetaverse.DirectoryManager.DirFindFlags,LibreMetaverse.ParcelCategory,System.Threading.CancellationToken)`.
///
/// C# signature: `System.Collections.Generic.IAsyncEnumerable<LibreMetaverse.DirectoryManager.DirectoryParcel> LibreMetaverse.DirectoryManager.SearchDirPlacesAsync(System.String query, LibreMetaverse.DirectoryManager.DirFindFlags flags = default, LibreMetaverse.ParcelCategory category = default, System.Threading.CancellationToken ct = default)`.
/// Mapping contract: ownership `shared_self,owned,optional_owned,optional_owned,optional_owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.DirectoryManager.SearchEventsAsync(System.String,LibreMetaverse.DirectoryManager.DirFindFlags,System.String,LibreMetaverse.DirectoryManager.EventCategories,System.Threading.CancellationToken)`.
///
/// C# signature: `System.Collections.Generic.IAsyncEnumerable<LibreMetaverse.DirectoryManager.EventsSearchData> LibreMetaverse.DirectoryManager.SearchEventsAsync(System.String query, LibreMetaverse.DirectoryManager.DirFindFlags flags = default, System.String eventDay = default, LibreMetaverse.DirectoryManager.EventCategories category = default, System.Threading.CancellationToken ct = default)`.
/// Mapping contract: ownership `shared_self,owned,optional_owned,optional_owned,optional_owned,optional_owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.DirectoryManager.SearchGroupsAsync(System.String,LibreMetaverse.DirectoryManager.DirFindFlags,System.Threading.CancellationToken)`.
///
/// C# signature: `System.Collections.Generic.IAsyncEnumerable<LibreMetaverse.DirectoryManager.GroupSearchData> LibreMetaverse.DirectoryManager.SearchGroupsAsync(System.String query, LibreMetaverse.DirectoryManager.DirFindFlags flags = default, System.Threading.CancellationToken ct = default)`.
/// Mapping contract: ownership `shared_self,owned,optional_owned,optional_owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.DirectoryManager.SearchLandAsync(LibreMetaverse.DirectoryManager.SearchTypeFlags,LibreMetaverse.DirectoryManager.DirFindFlags,System.Int32,System.Int32,System.Threading.CancellationToken)`.
///
/// C# signature: `System.Collections.Generic.IAsyncEnumerable<LibreMetaverse.DirectoryManager.DirectoryParcel> LibreMetaverse.DirectoryManager.SearchLandAsync(LibreMetaverse.DirectoryManager.SearchTypeFlags typeFlags, LibreMetaverse.DirectoryManager.DirFindFlags findFlags = default, System.Int32 priceLimit = default, System.Int32 areaLimit = default, System.Threading.CancellationToken ct = default)`.
/// Mapping contract: ownership `shared_self,owned,optional_owned,optional_owned,optional_owned,optional_owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.DirectoryManager.SearchPeopleAsync(System.String,System.Threading.CancellationToken)`.
///
/// C# signature: `System.Collections.Generic.IAsyncEnumerable<LibreMetaverse.DirectoryManager.AgentSearchData> LibreMetaverse.DirectoryManager.SearchPeopleAsync(System.String name, System.Threading.CancellationToken ct = default)`.
/// Mapping contract: ownership `shared_self,owned,optional_owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.DirectoryManager.SearchPlacesAsync(LibreMetaverse.DirectoryManager.DirFindFlags,LibreMetaverse.ParcelCategory,System.String,System.String,LibreMetaverse.UUID,System.Threading.CancellationToken)`.
///
/// C# signature: `System.Collections.Generic.IAsyncEnumerable<LibreMetaverse.DirectoryManager.PlacesSearchData> LibreMetaverse.DirectoryManager.SearchPlacesAsync(LibreMetaverse.DirectoryManager.DirFindFlags findFlags, LibreMetaverse.ParcelCategory category, System.String query, System.String simulatorName = default, LibreMetaverse.UUID groupID = default, System.Threading.CancellationToken ct = default)`.
/// Mapping contract: ownership `shared_self,owned,owned,owned,optional_owned,optional_owned,optional_owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.DirectoryManager.StartClassifiedSearch(System.String)`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.DirectoryManager.StartClassifiedSearch(System.String searchText)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.DirectoryManager.StartClassifiedSearch(System.String,LibreMetaverse.DirectoryManager.ClassifiedCategories,LibreMetaverse.DirectoryManager.ClassifiedQueryFlags)`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.DirectoryManager.StartClassifiedSearch(System.String searchText, LibreMetaverse.DirectoryManager.ClassifiedCategories category, LibreMetaverse.DirectoryManager.ClassifiedQueryFlags queryFlags)`.
/// Mapping contract: ownership `shared_self,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.DirectoryManager.StartDirPlacesSearch(System.String,LibreMetaverse.DirectoryManager.DirFindFlags,LibreMetaverse.ParcelCategory,System.Int32)`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.DirectoryManager.StartDirPlacesSearch(System.String searchText, LibreMetaverse.DirectoryManager.DirFindFlags queryFlags, LibreMetaverse.ParcelCategory category, System.Int32 queryStart)`.
/// Mapping contract: ownership `shared_self,owned,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.DirectoryManager.StartDirPlacesSearch(System.String,System.Int32)`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.DirectoryManager.StartDirPlacesSearch(System.String searchText, System.Int32 queryStart)`.
/// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.DirectoryManager.StartEventsSearch(System.String,LibreMetaverse.DirectoryManager.DirFindFlags,System.String,System.UInt32,LibreMetaverse.DirectoryManager.EventCategories)`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.DirectoryManager.StartEventsSearch(System.String searchText, LibreMetaverse.DirectoryManager.DirFindFlags queryFlags, System.String eventDay, System.UInt32 queryStart, LibreMetaverse.DirectoryManager.EventCategories category)`.
/// Mapping contract: ownership `shared_self,owned,owned,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.DirectoryManager.StartEventsSearch(System.String,System.UInt32)`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.DirectoryManager.StartEventsSearch(System.String searchText, System.UInt32 queryStart)`.
/// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.DirectoryManager.StartGroupSearch(System.String,System.Int32)`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.DirectoryManager.StartGroupSearch(System.String searchText, System.Int32 queryStart)`.
/// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.DirectoryManager.StartGroupSearch(System.String,System.Int32,LibreMetaverse.DirectoryManager.DirFindFlags)`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.DirectoryManager.StartGroupSearch(System.String searchText, System.Int32 queryStart, LibreMetaverse.DirectoryManager.DirFindFlags flags)`.
/// Mapping contract: ownership `shared_self,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.DirectoryManager.StartLandSearch(LibreMetaverse.DirectoryManager.DirFindFlags,LibreMetaverse.DirectoryManager.SearchTypeFlags,System.Int32,System.Int32,System.Int32)`.
///
/// C# signature: `System.Void LibreMetaverse.DirectoryManager.StartLandSearch(LibreMetaverse.DirectoryManager.DirFindFlags findFlags, LibreMetaverse.DirectoryManager.SearchTypeFlags typeFlags, System.Int32 priceLimit, System.Int32 areaLimit, System.Int32 queryStart)`.
/// Mapping contract: ownership `shared_self,owned,owned,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.DirectoryManager.StartLandSearch(LibreMetaverse.DirectoryManager.SearchTypeFlags)`.
///
/// C# signature: `System.Void LibreMetaverse.DirectoryManager.StartLandSearch(LibreMetaverse.DirectoryManager.SearchTypeFlags typeFlags)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.DirectoryManager.StartLandSearch(LibreMetaverse.DirectoryManager.SearchTypeFlags,System.Int32,System.Int32,System.Int32)`.
///
/// C# signature: `System.Void LibreMetaverse.DirectoryManager.StartLandSearch(LibreMetaverse.DirectoryManager.SearchTypeFlags typeFlags, System.Int32 priceLimit, System.Int32 areaLimit, System.Int32 queryStart)`.
/// Mapping contract: ownership `shared_self,owned,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.DirectoryManager.StartPeopleSearch(System.String,System.Int32)`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.DirectoryManager.StartPeopleSearch(System.String searchText, System.Int32 queryStart)`.
/// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.DirectoryManager.StartPlacesSearch`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.DirectoryManager.StartPlacesSearch()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.DirectoryManager.StartPlacesSearch(LibreMetaverse.DirectoryManager.DirFindFlags,LibreMetaverse.ParcelCategory,System.String,System.String,LibreMetaverse.UUID,LibreMetaverse.UUID)`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.DirectoryManager.StartPlacesSearch(LibreMetaverse.DirectoryManager.DirFindFlags findFlags, LibreMetaverse.ParcelCategory searchCategory, System.String searchText, System.String simulatorName, LibreMetaverse.UUID groupID, LibreMetaverse.UUID transactionID)`.
/// Mapping contract: ownership `shared_self,owned,owned,owned,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.DirectoryManager.StartPlacesSearch(LibreMetaverse.UUID)`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.DirectoryManager.StartPlacesSearch(LibreMetaverse.UUID groupID)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.DirectoryManager.StartPlacesSearch(System.String)`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.DirectoryManager.StartPlacesSearch(System.String searchText)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
pub use crate::directory_manager::DirectoryManager;

/// C# type: `T:LibreMetaverse.DirectoryManager.AgentSearchData`.
///
/// Native Rust mapping of C# `LibreMetaverse.DirectoryManager.AgentSearchData` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `F:LibreMetaverse.DirectoryManager.AgentSearchData.AgentID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.DirectoryManager.AgentSearchData.AgentID`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.DirectoryManager.AgentSearchData.FirstName`.
///
/// C# signature: `System.String LibreMetaverse.DirectoryManager.AgentSearchData.FirstName`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.DirectoryManager.AgentSearchData.LastName`.
///
/// C# signature: `System.String LibreMetaverse.DirectoryManager.AgentSearchData.LastName`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.DirectoryManager.AgentSearchData.Online`.
///
/// C# signature: `System.Boolean LibreMetaverse.DirectoryManager.AgentSearchData.Online`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `M:LibreMetaverse.DirectoryManager.AgentSearchData.ToString`.
///
/// C# signature: `System.String LibreMetaverse.DirectoryManager.AgentSearchData.ToString()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
pub use crate::directory_manager::DirectoryManagerAgentSearchData;

/// C# type: `T:LibreMetaverse.DirectoryManager.Classified`.
///
/// Native Rust mapping of C# `LibreMetaverse.DirectoryManager.Classified` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `F:LibreMetaverse.DirectoryManager.Classified.CreationDate`.
///
/// C# signature: `System.DateTime LibreMetaverse.DirectoryManager.Classified.CreationDate`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.DirectoryManager.Classified.ExpirationDate`.
///
/// C# signature: `System.DateTime LibreMetaverse.DirectoryManager.Classified.ExpirationDate`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.DirectoryManager.Classified.Flags`.
///
/// C# signature: `LibreMetaverse.DirectoryManager.ClassifiedFlags LibreMetaverse.DirectoryManager.Classified.Flags`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.DirectoryManager.Classified.ID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.DirectoryManager.Classified.ID`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.DirectoryManager.Classified.Name`.
///
/// C# signature: `System.String LibreMetaverse.DirectoryManager.Classified.Name`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.DirectoryManager.Classified.Price`.
///
/// C# signature: `System.Int32 LibreMetaverse.DirectoryManager.Classified.Price`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `M:LibreMetaverse.DirectoryManager.Classified.ToString`.
///
/// C# signature: `System.String LibreMetaverse.DirectoryManager.Classified.ToString()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
pub use crate::directory_manager::DirectoryManagerClassified;

/// C# type: `T:LibreMetaverse.DirectoryManager.ClassifiedCategories`.
///
/// Native Rust mapping of C# `LibreMetaverse.DirectoryManager.ClassifiedCategories` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(i32)]
pub enum DirectoryManagerClassifiedCategories {
    /// C# member: `F:LibreMetaverse.DirectoryManager.ClassifiedCategories.Any`.
    ///
    /// C# signature: `LibreMetaverse.DirectoryManager.ClassifiedCategories LibreMetaverse.DirectoryManager.ClassifiedCategories.Any`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Any = 0,
    /// C# member: `F:LibreMetaverse.DirectoryManager.ClassifiedCategories.Employment`.
    ///
    /// C# signature: `LibreMetaverse.DirectoryManager.ClassifiedCategories LibreMetaverse.DirectoryManager.ClassifiedCategories.Employment`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Employment = 6,
    /// C# member: `F:LibreMetaverse.DirectoryManager.ClassifiedCategories.LandRental`.
    ///
    /// C# signature: `LibreMetaverse.DirectoryManager.ClassifiedCategories LibreMetaverse.DirectoryManager.ClassifiedCategories.LandRental`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    LandRental = 2,
    /// C# member: `F:LibreMetaverse.DirectoryManager.ClassifiedCategories.NewProducts`.
    ///
    /// C# signature: `LibreMetaverse.DirectoryManager.ClassifiedCategories LibreMetaverse.DirectoryManager.ClassifiedCategories.NewProducts`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    NewProducts = 5,
    /// C# member: `F:LibreMetaverse.DirectoryManager.ClassifiedCategories.Personal`.
    ///
    /// C# signature: `LibreMetaverse.DirectoryManager.ClassifiedCategories LibreMetaverse.DirectoryManager.ClassifiedCategories.Personal`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Personal = 9,
    /// C# member: `F:LibreMetaverse.DirectoryManager.ClassifiedCategories.PropertyRental`.
    ///
    /// C# signature: `LibreMetaverse.DirectoryManager.ClassifiedCategories LibreMetaverse.DirectoryManager.ClassifiedCategories.PropertyRental`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    PropertyRental = 3,
    /// C# member: `F:LibreMetaverse.DirectoryManager.ClassifiedCategories.Service`.
    ///
    /// C# signature: `LibreMetaverse.DirectoryManager.ClassifiedCategories LibreMetaverse.DirectoryManager.ClassifiedCategories.Service`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Service = 8,
    /// C# member: `F:LibreMetaverse.DirectoryManager.ClassifiedCategories.Shopping`.
    ///
    /// C# signature: `LibreMetaverse.DirectoryManager.ClassifiedCategories LibreMetaverse.DirectoryManager.ClassifiedCategories.Shopping`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Shopping = 1,
    /// C# member: `F:LibreMetaverse.DirectoryManager.ClassifiedCategories.SpecialAttraction`.
    ///
    /// C# signature: `LibreMetaverse.DirectoryManager.ClassifiedCategories LibreMetaverse.DirectoryManager.ClassifiedCategories.SpecialAttraction`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    SpecialAttraction = 4,
    /// C# member: `F:LibreMetaverse.DirectoryManager.ClassifiedCategories.Wanted`.
    ///
    /// C# signature: `LibreMetaverse.DirectoryManager.ClassifiedCategories LibreMetaverse.DirectoryManager.ClassifiedCategories.Wanted`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Wanted = 7,
}

/// C# type: `T:LibreMetaverse.DirectoryManager.ClassifiedFlags`.
///
/// Native Rust mapping of C# `LibreMetaverse.DirectoryManager.ClassifiedFlags` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(transparent)]
pub struct DirectoryManagerClassifiedFlags(pub u8);
impl DirectoryManagerClassifiedFlags {
    /// C# member: `F:LibreMetaverse.DirectoryManager.ClassifiedFlags.AutoRenew`.
    ///
    /// C# signature: `LibreMetaverse.DirectoryManager.ClassifiedFlags LibreMetaverse.DirectoryManager.ClassifiedFlags.AutoRenew`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const AUTO_RENEW: Self = Self(32);
    /// C# member: `F:LibreMetaverse.DirectoryManager.ClassifiedFlags.Enabled`.
    ///
    /// C# signature: `LibreMetaverse.DirectoryManager.ClassifiedFlags LibreMetaverse.DirectoryManager.ClassifiedFlags.Enabled`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const ENABLED: Self = Self(4);
    /// C# member: `F:LibreMetaverse.DirectoryManager.ClassifiedFlags.Mature`.
    ///
    /// C# signature: `LibreMetaverse.DirectoryManager.ClassifiedFlags LibreMetaverse.DirectoryManager.ClassifiedFlags.Mature`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const MATURE: Self = Self(2);
    /// C# member: `F:LibreMetaverse.DirectoryManager.ClassifiedFlags.None`.
    ///
    /// C# signature: `LibreMetaverse.DirectoryManager.ClassifiedFlags LibreMetaverse.DirectoryManager.ClassifiedFlags.None`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const NONE: Self = Self(1);
    /// C# member: `F:LibreMetaverse.DirectoryManager.ClassifiedFlags.UpdateTime`.
    ///
    /// C# signature: `LibreMetaverse.DirectoryManager.ClassifiedFlags LibreMetaverse.DirectoryManager.ClassifiedFlags.UpdateTime`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const UPDATE_TIME: Self = Self(16);
}

/// C# type: `T:LibreMetaverse.DirectoryManager.ClassifiedQueryFlags`.
///
/// Native Rust mapping of C# `LibreMetaverse.DirectoryManager.ClassifiedQueryFlags` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(transparent)]
pub struct DirectoryManagerClassifiedQueryFlags(pub i32);
impl DirectoryManagerClassifiedQueryFlags {
    /// C# member: `F:LibreMetaverse.DirectoryManager.ClassifiedQueryFlags.Adult`.
    ///
    /// C# signature: `LibreMetaverse.DirectoryManager.ClassifiedQueryFlags LibreMetaverse.DirectoryManager.ClassifiedQueryFlags.Adult`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const ADULT: Self = Self(64);
    /// C# member: `F:LibreMetaverse.DirectoryManager.ClassifiedQueryFlags.All`.
    ///
    /// C# signature: `LibreMetaverse.DirectoryManager.ClassifiedQueryFlags LibreMetaverse.DirectoryManager.ClassifiedQueryFlags.All`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const ALL: Self = Self(76);
    /// C# member: `F:LibreMetaverse.DirectoryManager.ClassifiedQueryFlags.Mature`.
    ///
    /// C# signature: `LibreMetaverse.DirectoryManager.ClassifiedQueryFlags LibreMetaverse.DirectoryManager.ClassifiedQueryFlags.Mature`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const MATURE: Self = Self(8);
    /// C# member: `F:LibreMetaverse.DirectoryManager.ClassifiedQueryFlags.PG`.
    ///
    /// C# signature: `LibreMetaverse.DirectoryManager.ClassifiedQueryFlags LibreMetaverse.DirectoryManager.ClassifiedQueryFlags.PG`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const PG: Self = Self(4);
}

/// C# type: `T:LibreMetaverse.DirectoryManager.DirFindFlags`.
///
/// Native Rust mapping of C# `LibreMetaverse.DirectoryManager.DirFindFlags` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(transparent)]
pub struct DirectoryManagerDirFindFlags(pub i32);
impl DirectoryManagerDirFindFlags {
    /// C# member: `F:LibreMetaverse.DirectoryManager.DirFindFlags.AdultOnly`.
    ///
    /// C# signature: `LibreMetaverse.DirectoryManager.DirFindFlags LibreMetaverse.DirectoryManager.DirFindFlags.AdultOnly`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const ADULT_ONLY: Self = Self(134217728);
    /// C# member: `F:LibreMetaverse.DirectoryManager.DirFindFlags.AgentOwned`.
    ///
    /// C# signature: `LibreMetaverse.DirectoryManager.DirFindFlags LibreMetaverse.DirectoryManager.DirFindFlags.AgentOwned`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const AGENT_OWNED: Self = Self(64);
    /// C# member: `F:LibreMetaverse.DirectoryManager.DirFindFlags.AreaSort`.
    ///
    /// C# signature: `LibreMetaverse.DirectoryManager.DirFindFlags LibreMetaverse.DirectoryManager.DirFindFlags.AreaSort`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const AREA_SORT: Self = Self(262144);
    /// C# member: `F:LibreMetaverse.DirectoryManager.DirFindFlags.DateEvents`.
    ///
    /// C# signature: `LibreMetaverse.DirectoryManager.DirFindFlags LibreMetaverse.DirectoryManager.DirFindFlags.DateEvents`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const DATE_EVENTS: Self = Self(32);
    /// C# member: `F:LibreMetaverse.DirectoryManager.DirFindFlags.DwellSort`.
    ///
    /// C# signature: `LibreMetaverse.DirectoryManager.DirFindFlags LibreMetaverse.DirectoryManager.DirFindFlags.DwellSort`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const DWELL_SORT: Self = Self(1024);
    /// C# member: `F:LibreMetaverse.DirectoryManager.DirFindFlags.Events`.
    ///
    /// C# signature: `LibreMetaverse.DirectoryManager.DirFindFlags LibreMetaverse.DirectoryManager.DirFindFlags.Events`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const EVENTS: Self = Self(8);
    /// C# member: `F:LibreMetaverse.DirectoryManager.DirFindFlags.FilterMature`.
    ///
    /// C# signature: `LibreMetaverse.DirectoryManager.DirFindFlags LibreMetaverse.DirectoryManager.DirFindFlags.FilterMature`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const FILTER_MATURE: Self = Self(4194304);
    /// C# member: `F:LibreMetaverse.DirectoryManager.DirFindFlags.ForSale`.
    ///
    /// C# signature: `LibreMetaverse.DirectoryManager.DirFindFlags LibreMetaverse.DirectoryManager.DirFindFlags.ForSale`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const FOR_SALE: Self = Self(128);
    /// C# member: `F:LibreMetaverse.DirectoryManager.DirFindFlags.GroupOwned`.
    ///
    /// C# signature: `LibreMetaverse.DirectoryManager.DirFindFlags LibreMetaverse.DirectoryManager.DirFindFlags.GroupOwned`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const GROUP_OWNED: Self = Self(256);
    /// C# member: `F:LibreMetaverse.DirectoryManager.DirFindFlags.Groups`.
    ///
    /// C# signature: `LibreMetaverse.DirectoryManager.DirFindFlags LibreMetaverse.DirectoryManager.DirFindFlags.Groups`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const GROUPS: Self = Self(16);
    /// C# member: `F:LibreMetaverse.DirectoryManager.DirFindFlags.IncludeAdult`.
    ///
    /// C# signature: `LibreMetaverse.DirectoryManager.DirFindFlags LibreMetaverse.DirectoryManager.DirFindFlags.IncludeAdult`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const INCLUDE_ADULT: Self = Self(67108864);
    /// C# member: `F:LibreMetaverse.DirectoryManager.DirFindFlags.IncludeMature`.
    ///
    /// C# signature: `LibreMetaverse.DirectoryManager.DirFindFlags LibreMetaverse.DirectoryManager.DirFindFlags.IncludeMature`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const INCLUDE_MATURE: Self = Self(33554432);
    /// C# member: `F:LibreMetaverse.DirectoryManager.DirFindFlags.IncludePG`.
    ///
    /// C# signature: `LibreMetaverse.DirectoryManager.DirFindFlags LibreMetaverse.DirectoryManager.DirFindFlags.IncludePG`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const INCLUDE_PG: Self = Self(16777216);
    /// C# member: `F:LibreMetaverse.DirectoryManager.DirFindFlags.LimitByArea`.
    ///
    /// C# signature: `LibreMetaverse.DirectoryManager.DirFindFlags LibreMetaverse.DirectoryManager.DirFindFlags.LimitByArea`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const LIMIT_BY_AREA: Self = Self(2097152);
    /// C# member: `F:LibreMetaverse.DirectoryManager.DirFindFlags.LimitByPrice`.
    ///
    /// C# signature: `LibreMetaverse.DirectoryManager.DirFindFlags LibreMetaverse.DirectoryManager.DirFindFlags.LimitByPrice`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const LIMIT_BY_PRICE: Self = Self(1048576);
    /// C# member: `F:LibreMetaverse.DirectoryManager.DirFindFlags.MatureSimsOnly`.
    ///
    /// C# signature: `LibreMetaverse.DirectoryManager.DirFindFlags LibreMetaverse.DirectoryManager.DirFindFlags.MatureSimsOnly`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const MATURE_SIMS_ONLY: Self = Self(16384);
    /// C# member: `F:LibreMetaverse.DirectoryManager.DirFindFlags.NameSort`.
    ///
    /// C# signature: `LibreMetaverse.DirectoryManager.DirFindFlags LibreMetaverse.DirectoryManager.DirFindFlags.NameSort`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const NAME_SORT: Self = Self(524288);
    /// C# member: `F:LibreMetaverse.DirectoryManager.DirFindFlags.Online`.
    ///
    /// C# signature: `LibreMetaverse.DirectoryManager.DirFindFlags LibreMetaverse.DirectoryManager.DirFindFlags.Online`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const ONLINE: Self = Self(2);
    /// C# member: `F:LibreMetaverse.DirectoryManager.DirFindFlags.PGOnly`.
    ///
    /// C# signature: `LibreMetaverse.DirectoryManager.DirFindFlags LibreMetaverse.DirectoryManager.DirFindFlags.PGOnly`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const PG_ONLY: Self = Self(8388608);
    /// C# member: `F:LibreMetaverse.DirectoryManager.DirFindFlags.People`.
    ///
    /// C# signature: `LibreMetaverse.DirectoryManager.DirFindFlags LibreMetaverse.DirectoryManager.DirFindFlags.People`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const PEOPLE: Self = Self(1);
    /// C# member: `F:LibreMetaverse.DirectoryManager.DirFindFlags.PerMeterSort`.
    ///
    /// C# signature: `LibreMetaverse.DirectoryManager.DirFindFlags LibreMetaverse.DirectoryManager.DirFindFlags.PerMeterSort`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const PER_METER_SORT: Self = Self(131072);
    /// C# member: `F:LibreMetaverse.DirectoryManager.DirFindFlags.PgEventsOnly`.
    ///
    /// C# signature: `LibreMetaverse.DirectoryManager.DirFindFlags LibreMetaverse.DirectoryManager.DirFindFlags.PgEventsOnly`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const PG_EVENTS_ONLY: Self = Self(8192);
    /// C# member: `F:LibreMetaverse.DirectoryManager.DirFindFlags.PgSimsOnly`.
    ///
    /// C# signature: `LibreMetaverse.DirectoryManager.DirFindFlags LibreMetaverse.DirectoryManager.DirFindFlags.PgSimsOnly`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const PG_SIMS_ONLY: Self = Self(2048);
    /// C# member: `F:LibreMetaverse.DirectoryManager.DirFindFlags.PicturesOnly`.
    ///
    /// C# signature: `LibreMetaverse.DirectoryManager.DirFindFlags LibreMetaverse.DirectoryManager.DirFindFlags.PicturesOnly`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const PICTURES_ONLY: Self = Self(4096);
    /// C# member: `F:LibreMetaverse.DirectoryManager.DirFindFlags.PricesSort`.
    ///
    /// C# signature: `LibreMetaverse.DirectoryManager.DirFindFlags LibreMetaverse.DirectoryManager.DirFindFlags.PricesSort`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const PRICES_SORT: Self = Self(65536);
    /// C# member: `F:LibreMetaverse.DirectoryManager.DirFindFlags.SortAsc`.
    ///
    /// C# signature: `LibreMetaverse.DirectoryManager.DirFindFlags LibreMetaverse.DirectoryManager.DirFindFlags.SortAsc`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const SORT_ASC: Self = Self(32768);
}

/// C# type: `T:LibreMetaverse.DirectoryManager.DirectoryParcel`.
///
/// Native Rust mapping of C# `LibreMetaverse.DirectoryManager.DirectoryParcel` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `F:LibreMetaverse.DirectoryManager.DirectoryParcel.ActualArea`.
///
/// C# signature: `System.Int32 LibreMetaverse.DirectoryManager.DirectoryParcel.ActualArea`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.DirectoryManager.DirectoryParcel.Auction`.
///
/// C# signature: `System.Boolean LibreMetaverse.DirectoryManager.DirectoryParcel.Auction`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.DirectoryManager.DirectoryParcel.Dwell`.
///
/// C# signature: `System.Single LibreMetaverse.DirectoryManager.DirectoryParcel.Dwell`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.DirectoryManager.DirectoryParcel.ForSale`.
///
/// C# signature: `System.Boolean LibreMetaverse.DirectoryManager.DirectoryParcel.ForSale`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.DirectoryManager.DirectoryParcel.ID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.DirectoryManager.DirectoryParcel.ID`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.DirectoryManager.DirectoryParcel.Name`.
///
/// C# signature: `System.String LibreMetaverse.DirectoryManager.DirectoryParcel.Name`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.DirectoryManager.DirectoryParcel.SalePrice`.
///
/// C# signature: `System.Int32 LibreMetaverse.DirectoryManager.DirectoryParcel.SalePrice`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `M:LibreMetaverse.DirectoryManager.DirectoryParcel.ToString`.
///
/// C# signature: `System.String LibreMetaverse.DirectoryManager.DirectoryParcel.ToString()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
pub use crate::directory_manager::DirectoryManagerDirectoryParcel;

/// C# type: `T:LibreMetaverse.DirectoryManager.EventCategories`.
///
/// Native Rust mapping of C# `LibreMetaverse.DirectoryManager.EventCategories` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(i32)]
pub enum DirectoryManagerEventCategories {
    /// C# member: `F:LibreMetaverse.DirectoryManager.EventCategories.All`.
    ///
    /// C# signature: `LibreMetaverse.DirectoryManager.EventCategories LibreMetaverse.DirectoryManager.EventCategories.All`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    All = 0,
    /// C# member: `F:LibreMetaverse.DirectoryManager.EventCategories.Arts`.
    ///
    /// C# signature: `LibreMetaverse.DirectoryManager.EventCategories LibreMetaverse.DirectoryManager.EventCategories.Arts`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Arts = 27,
    /// C# member: `F:LibreMetaverse.DirectoryManager.EventCategories.Charity`.
    ///
    /// C# signature: `LibreMetaverse.DirectoryManager.EventCategories LibreMetaverse.DirectoryManager.EventCategories.Charity`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Charity = 28,
    /// C# member: `F:LibreMetaverse.DirectoryManager.EventCategories.Commercial`.
    ///
    /// C# signature: `LibreMetaverse.DirectoryManager.EventCategories LibreMetaverse.DirectoryManager.EventCategories.Commercial`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Commercial = 22,
    /// C# member: `F:LibreMetaverse.DirectoryManager.EventCategories.Discussion`.
    ///
    /// C# signature: `LibreMetaverse.DirectoryManager.EventCategories LibreMetaverse.DirectoryManager.EventCategories.Discussion`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Discussion = 18,
    /// C# member: `F:LibreMetaverse.DirectoryManager.EventCategories.Education`.
    ///
    /// C# signature: `LibreMetaverse.DirectoryManager.EventCategories LibreMetaverse.DirectoryManager.EventCategories.Education`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Education = 26,
    /// C# member: `F:LibreMetaverse.DirectoryManager.EventCategories.Games`.
    ///
    /// C# signature: `LibreMetaverse.DirectoryManager.EventCategories LibreMetaverse.DirectoryManager.EventCategories.Games`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Games = 24,
    /// C# member: `F:LibreMetaverse.DirectoryManager.EventCategories.LiveMusic`.
    ///
    /// C# signature: `LibreMetaverse.DirectoryManager.EventCategories LibreMetaverse.DirectoryManager.EventCategories.LiveMusic`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    LiveMusic = 20,
    /// C# member: `F:LibreMetaverse.DirectoryManager.EventCategories.Miscellaneous`.
    ///
    /// C# signature: `LibreMetaverse.DirectoryManager.EventCategories LibreMetaverse.DirectoryManager.EventCategories.Miscellaneous`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Miscellaneous = 29,
    /// C# member: `F:LibreMetaverse.DirectoryManager.EventCategories.Nightlife`.
    ///
    /// C# signature: `LibreMetaverse.DirectoryManager.EventCategories LibreMetaverse.DirectoryManager.EventCategories.Nightlife`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Nightlife = 23,
    /// C# member: `F:LibreMetaverse.DirectoryManager.EventCategories.Pageants`.
    ///
    /// C# signature: `LibreMetaverse.DirectoryManager.EventCategories LibreMetaverse.DirectoryManager.EventCategories.Pageants`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Pageants = 25,
    /// C# member: `F:LibreMetaverse.DirectoryManager.EventCategories.Sports`.
    ///
    /// C# signature: `LibreMetaverse.DirectoryManager.EventCategories LibreMetaverse.DirectoryManager.EventCategories.Sports`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Sports = 19,
}

/// C# type: `T:LibreMetaverse.DirectoryManager.EventFlags`.
///
/// Native Rust mapping of C# `LibreMetaverse.DirectoryManager.EventFlags` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(i32)]
pub enum DirectoryManagerEventFlags {
    /// C# member: `F:LibreMetaverse.DirectoryManager.EventFlags.Adult`.
    ///
    /// C# signature: `LibreMetaverse.DirectoryManager.EventFlags LibreMetaverse.DirectoryManager.EventFlags.Adult`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Adult = 2,
    /// C# member: `F:LibreMetaverse.DirectoryManager.EventFlags.Mature`.
    ///
    /// C# signature: `LibreMetaverse.DirectoryManager.EventFlags LibreMetaverse.DirectoryManager.EventFlags.Mature`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Mature = 1,
    /// C# member: `F:LibreMetaverse.DirectoryManager.EventFlags.PG`.
    ///
    /// C# signature: `LibreMetaverse.DirectoryManager.EventFlags LibreMetaverse.DirectoryManager.EventFlags.PG`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    PG = 0,
}

/// C# type: `T:LibreMetaverse.DirectoryManager.EventInfo`.
///
/// Native Rust mapping of C# `LibreMetaverse.DirectoryManager.EventInfo` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `F:LibreMetaverse.DirectoryManager.EventInfo.Amount`.
///
/// C# signature: `System.UInt32 LibreMetaverse.DirectoryManager.EventInfo.Amount`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.DirectoryManager.EventInfo.Category`.
///
/// C# signature: `LibreMetaverse.DirectoryManager.EventCategories LibreMetaverse.DirectoryManager.EventInfo.Category`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.DirectoryManager.EventInfo.Cover`.
///
/// C# signature: `System.UInt32 LibreMetaverse.DirectoryManager.EventInfo.Cover`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.DirectoryManager.EventInfo.Creator`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.DirectoryManager.EventInfo.Creator`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.DirectoryManager.EventInfo.Date`.
///
/// C# signature: `System.String LibreMetaverse.DirectoryManager.EventInfo.Date`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.DirectoryManager.EventInfo.DateUTC`.
///
/// C# signature: `System.UInt32 LibreMetaverse.DirectoryManager.EventInfo.DateUTC`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.DirectoryManager.EventInfo.Desc`.
///
/// C# signature: `System.String LibreMetaverse.DirectoryManager.EventInfo.Desc`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.DirectoryManager.EventInfo.Duration`.
///
/// C# signature: `System.UInt32 LibreMetaverse.DirectoryManager.EventInfo.Duration`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.DirectoryManager.EventInfo.Flags`.
///
/// C# signature: `LibreMetaverse.DirectoryManager.EventFlags LibreMetaverse.DirectoryManager.EventInfo.Flags`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.DirectoryManager.EventInfo.GlobalPos`.
///
/// C# signature: `LibreMetaverse.Vector3d LibreMetaverse.DirectoryManager.EventInfo.GlobalPos`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.DirectoryManager.EventInfo.ID`.
///
/// C# signature: `System.UInt32 LibreMetaverse.DirectoryManager.EventInfo.ID`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.DirectoryManager.EventInfo.Name`.
///
/// C# signature: `System.String LibreMetaverse.DirectoryManager.EventInfo.Name`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.DirectoryManager.EventInfo.SimName`.
///
/// C# signature: `System.String LibreMetaverse.DirectoryManager.EventInfo.SimName`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `M:LibreMetaverse.DirectoryManager.EventInfo.ToSLurl`.
///
/// C# signature: `System.String LibreMetaverse.DirectoryManager.EventInfo.ToSLurl()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.DirectoryManager.EventInfo.ToString`.
///
/// C# signature: `System.String LibreMetaverse.DirectoryManager.EventInfo.ToString()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
pub use crate::directory_manager::DirectoryManagerEventInfo;

/// C# type: `T:LibreMetaverse.DirectoryManager.EventsSearchData`.
///
/// Native Rust mapping of C# `LibreMetaverse.DirectoryManager.EventsSearchData` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `F:LibreMetaverse.DirectoryManager.EventsSearchData.Date`.
///
/// C# signature: `System.String LibreMetaverse.DirectoryManager.EventsSearchData.Date`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.DirectoryManager.EventsSearchData.Flags`.
///
/// C# signature: `LibreMetaverse.DirectoryManager.EventFlags LibreMetaverse.DirectoryManager.EventsSearchData.Flags`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.DirectoryManager.EventsSearchData.ID`.
///
/// C# signature: `System.UInt32 LibreMetaverse.DirectoryManager.EventsSearchData.ID`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.DirectoryManager.EventsSearchData.Name`.
///
/// C# signature: `System.String LibreMetaverse.DirectoryManager.EventsSearchData.Name`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.DirectoryManager.EventsSearchData.Owner`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.DirectoryManager.EventsSearchData.Owner`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.DirectoryManager.EventsSearchData.Time`.
///
/// C# signature: `System.UInt32 LibreMetaverse.DirectoryManager.EventsSearchData.Time`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `M:LibreMetaverse.DirectoryManager.EventsSearchData.ToString`.
///
/// C# signature: `System.String LibreMetaverse.DirectoryManager.EventsSearchData.ToString()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
pub use crate::directory_manager::DirectoryManagerEventsSearchData;

/// C# type: `T:LibreMetaverse.DirectoryManager.GroupSearchData`.
///
/// Native Rust mapping of C# `LibreMetaverse.DirectoryManager.GroupSearchData` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `F:LibreMetaverse.DirectoryManager.GroupSearchData.GroupID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.DirectoryManager.GroupSearchData.GroupID`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.DirectoryManager.GroupSearchData.GroupName`.
///
/// C# signature: `System.String LibreMetaverse.DirectoryManager.GroupSearchData.GroupName`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.DirectoryManager.GroupSearchData.Members`.
///
/// C# signature: `System.Int32 LibreMetaverse.DirectoryManager.GroupSearchData.Members`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `M:LibreMetaverse.DirectoryManager.GroupSearchData.ToString`.
///
/// C# signature: `System.String LibreMetaverse.DirectoryManager.GroupSearchData.ToString()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
pub use crate::directory_manager::DirectoryManagerGroupSearchData;

/// C# type: `T:LibreMetaverse.DirectoryManager.PlacesFlags`.
///
/// Native Rust mapping of C# `LibreMetaverse.DirectoryManager.PlacesFlags` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(u8)]
pub enum DirectoryManagerPlacesFlags {
    /// C# member: `F:LibreMetaverse.DirectoryManager.PlacesFlags.ForSale`.
    ///
    /// C# signature: `LibreMetaverse.DirectoryManager.PlacesFlags LibreMetaverse.DirectoryManager.PlacesFlags.ForSale`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    ForSale = 128,
    /// C# member: `F:LibreMetaverse.DirectoryManager.PlacesFlags.NotForSale`.
    ///
    /// C# signature: `LibreMetaverse.DirectoryManager.PlacesFlags LibreMetaverse.DirectoryManager.PlacesFlags.NotForSale`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    NotForSale = 0,
}

/// C# type: `T:LibreMetaverse.DirectoryManager.PlacesSearchData`.
///
/// Native Rust mapping of C# `LibreMetaverse.DirectoryManager.PlacesSearchData` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `F:LibreMetaverse.DirectoryManager.PlacesSearchData.ActualArea`.
///
/// C# signature: `System.Int32 LibreMetaverse.DirectoryManager.PlacesSearchData.ActualArea`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.DirectoryManager.PlacesSearchData.BillableArea`.
///
/// C# signature: `System.Int32 LibreMetaverse.DirectoryManager.PlacesSearchData.BillableArea`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.DirectoryManager.PlacesSearchData.Desc`.
///
/// C# signature: `System.String LibreMetaverse.DirectoryManager.PlacesSearchData.Desc`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.DirectoryManager.PlacesSearchData.Dwell`.
///
/// C# signature: `System.Single LibreMetaverse.DirectoryManager.PlacesSearchData.Dwell`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.DirectoryManager.PlacesSearchData.Flags`.
///
/// C# signature: `LibreMetaverse.DirectoryManager.PlacesFlags LibreMetaverse.DirectoryManager.PlacesSearchData.Flags`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.DirectoryManager.PlacesSearchData.GlobalX`.
///
/// C# signature: `System.Single LibreMetaverse.DirectoryManager.PlacesSearchData.GlobalX`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.DirectoryManager.PlacesSearchData.GlobalY`.
///
/// C# signature: `System.Single LibreMetaverse.DirectoryManager.PlacesSearchData.GlobalY`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.DirectoryManager.PlacesSearchData.GlobalZ`.
///
/// C# signature: `System.Single LibreMetaverse.DirectoryManager.PlacesSearchData.GlobalZ`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.DirectoryManager.PlacesSearchData.Name`.
///
/// C# signature: `System.String LibreMetaverse.DirectoryManager.PlacesSearchData.Name`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.DirectoryManager.PlacesSearchData.OwnerID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.DirectoryManager.PlacesSearchData.OwnerID`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.DirectoryManager.PlacesSearchData.Price`.
///
/// C# signature: `System.Int32 LibreMetaverse.DirectoryManager.PlacesSearchData.Price`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.DirectoryManager.PlacesSearchData.SKU`.
///
/// C# signature: `System.String LibreMetaverse.DirectoryManager.PlacesSearchData.SKU`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.DirectoryManager.PlacesSearchData.SimName`.
///
/// C# signature: `System.String LibreMetaverse.DirectoryManager.PlacesSearchData.SimName`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.DirectoryManager.PlacesSearchData.SnapshotID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.DirectoryManager.PlacesSearchData.SnapshotID`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `M:LibreMetaverse.DirectoryManager.PlacesSearchData.ToSLurl`.
///
/// C# signature: `System.String LibreMetaverse.DirectoryManager.PlacesSearchData.ToSLurl()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.DirectoryManager.PlacesSearchData.ToString`.
///
/// C# signature: `System.String LibreMetaverse.DirectoryManager.PlacesSearchData.ToString()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
pub use crate::directory_manager::DirectoryManagerPlacesSearchData;

/// C# type: `T:LibreMetaverse.DirectoryManager.SearchTypeFlags`.
///
/// Native Rust mapping of C# `LibreMetaverse.DirectoryManager.SearchTypeFlags` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(transparent)]
pub struct DirectoryManagerSearchTypeFlags(pub i32);
impl DirectoryManagerSearchTypeFlags {
    /// C# member: `F:LibreMetaverse.DirectoryManager.SearchTypeFlags.Any`.
    ///
    /// C# signature: `LibreMetaverse.DirectoryManager.SearchTypeFlags LibreMetaverse.DirectoryManager.SearchTypeFlags.Any`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const ANY: Self = Self(-1);
    /// C# member: `F:LibreMetaverse.DirectoryManager.SearchTypeFlags.Auction`.
    ///
    /// C# signature: `LibreMetaverse.DirectoryManager.SearchTypeFlags LibreMetaverse.DirectoryManager.SearchTypeFlags.Auction`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const AUCTION: Self = Self(2);
    /// C# member: `F:LibreMetaverse.DirectoryManager.SearchTypeFlags.Estate`.
    ///
    /// C# signature: `LibreMetaverse.DirectoryManager.SearchTypeFlags LibreMetaverse.DirectoryManager.SearchTypeFlags.Estate`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const ESTATE: Self = Self(16);
    /// C# member: `F:LibreMetaverse.DirectoryManager.SearchTypeFlags.Mainland`.
    ///
    /// C# signature: `LibreMetaverse.DirectoryManager.SearchTypeFlags LibreMetaverse.DirectoryManager.SearchTypeFlags.Mainland`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const MAINLAND: Self = Self(8);
}

/// C# type: `T:LibreMetaverse.DisconnectedEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.DisconnectedEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.DisconnectedEventArgs.#ctor(LibreMetaverse.NetworkManager.DisconnectType,System.String)`.
///
/// C# signature: `LibreMetaverse.DisconnectedEventArgs(LibreMetaverse.NetworkManager.DisconnectType reason, System.String message)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.DisconnectedEventArgs.Message`.
///
/// C# signature: `System.String LibreMetaverse.DisconnectedEventArgs.Message`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.DisconnectedEventArgs.Reason`.
///
/// C# signature: `LibreMetaverse.NetworkManager.DisconnectType LibreMetaverse.DisconnectedEventArgs.Reason`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::network_manager::DisconnectedEventArgs;

/// C# type: `T:LibreMetaverse.DisplayNameUpdateEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.DisplayNameUpdateEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
pub struct DisplayNameUpdateEventArgs {
    property_0: libremetaverse::AgentDisplayName,
    property_1: String,
}
impl DisplayNameUpdateEventArgs {
    /// C# member: `M:LibreMetaverse.DisplayNameUpdateEventArgs.#ctor(System.String,LibreMetaverse.AgentDisplayName)`.
    ///
    /// C# signature: `LibreMetaverse.DisplayNameUpdateEventArgs(System.String oldDisplayName, LibreMetaverse.AgentDisplayName displayName)`.
    /// Mapping contract: ownership `owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn new(
        old_display_name: String,
        display_name: libremetaverse::AgentDisplayName,
    ) -> Result<Self, crate::Error> {
        /* complete generated data model */
        Ok(Self {
            property_0: display_name,
            property_1: old_display_name,
        })
    }
    /// C# member: `P:LibreMetaverse.DisplayNameUpdateEventArgs.DisplayName`.
    ///
    /// C# signature: `LibreMetaverse.AgentDisplayName LibreMetaverse.DisplayNameUpdateEventArgs.DisplayName`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn display_name(&self) -> libremetaverse::AgentDisplayName {
        /* complete generated data model */
        self.property_0.clone()
    }
    /// C# member: `P:LibreMetaverse.DisplayNameUpdateEventArgs.OldDisplayName`.
    ///
    /// C# signature: `System.String LibreMetaverse.DisplayNameUpdateEventArgs.OldDisplayName`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn old_display_name(&self) -> String {
        /* complete generated data model */
        self.property_1.clone()
    }
}

/// C# type: `T:LibreMetaverse.DisposalHelper`.
///
/// Native Rust mapping of C# `LibreMetaverse.DisposalHelper` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.DisposalHelper.SafeAction(System.Action,System.String,System.Action{System.String,System.Exception})`.
///
/// C# signature: `System.Void LibreMetaverse.DisposalHelper.SafeAction(System.Action action, System.String actionName = default, System.Action<System.String, System.Exception> logger = default)`.
/// Mapping contract: ownership `owned,optional_owned,optional_owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.DisposalHelper.SafeCancelAndDispose(System.Threading.CancellationTokenSource,System.Action{System.String,System.Exception})`.
///
/// C# signature: `System.Void LibreMetaverse.DisposalHelper.SafeCancelAndDispose(System.Threading.CancellationTokenSource cts, System.Action<System.String, System.Exception> logger = default)`.
/// Mapping contract: ownership `owned,optional_owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.DisposalHelper.SafeDispose(System.IDisposable,System.String,System.Action{System.String,System.Exception})`.
///
/// C# signature: `System.Void LibreMetaverse.DisposalHelper.SafeDispose(System.IDisposable resource, System.String resourceName = default, System.Action<System.String, System.Exception> logger = default)`.
/// Mapping contract: ownership `owned,optional_owned,optional_owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.DisposalHelper.SafeDisposeAll(System.Collections.Generic.IEnumerable{System.IDisposable},System.Action{System.String,System.Exception})`.
///
/// C# signature: `System.Void LibreMetaverse.DisposalHelper.SafeDisposeAll(System.Collections.Generic.IEnumerable<System.IDisposable> resources, System.Action<System.String, System.Exception> logger = default)`.
/// Mapping contract: ownership `owned,optional_owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.DisposalHelper.SafeDisposeClear``1(System.Collections.Generic.ICollection{``0},System.Action{System.String,System.Exception})`.
///
/// C# signature: `System.Void LibreMetaverse.DisposalHelper.SafeDisposeClear(System.Collections.Generic.ICollection<T> collection, System.Action<System.String, System.Exception> logger = default)`.
/// Mapping contract: ownership `owned,optional_owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.DisposalHelper.SafeJoinThread(System.Threading.Thread,System.TimeSpan,System.Action{System.String,System.Exception})`.
///
/// C# signature: `System.Boolean LibreMetaverse.DisposalHelper.SafeJoinThread(System.Threading.Thread thread, System.TimeSpan timeout, System.Action<System.String, System.Exception> logger = default)`.
/// Mapping contract: ownership `owned,owned,optional_owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.DisposalHelper.SafeWaitTask(System.Threading.Tasks.Task,System.TimeSpan,System.Action{System.String,System.Exception})`.
///
/// C# signature: `System.Boolean LibreMetaverse.DisposalHelper.SafeWaitTask(System.Threading.Tasks.Task task, System.TimeSpan timeout, System.Action<System.String, System.Exception> logger = default)`.
/// Mapping contract: ownership `owned,owned,optional_owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.DisposalHelper.SafeWaitTaskAsync(System.Threading.Tasks.Task,System.TimeSpan,System.Action{System.String,System.Exception})`.
///
/// C# signature: `System.Threading.Tasks.Task<System.Boolean> LibreMetaverse.DisposalHelper.SafeWaitTaskAsync(System.Threading.Tasks.Task task, System.TimeSpan timeout, System.Action<System.String, System.Exception> logger = default)`.
/// Mapping contract: ownership `owned,owned,optional_owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name_with_stable_id`; kind `method`.
/// C# member: `M:LibreMetaverse.DisposalHelper.UsingAsync``2(System.Func{``0},System.Func{``0,System.Threading.Tasks.Task{``1}})`.
///
/// C# signature: `System.Threading.Tasks.Task<TResult> LibreMetaverse.DisposalHelper.UsingAsync(System.Func<TDisposable> factory, System.Func<TDisposable, System.Threading.Tasks.Task<TResult>> action)`.
/// Mapping contract: ownership `owned,owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.DisposalHelper.Using``2(System.Func{``0},System.Func{``0,``1})`.
///
/// C# signature: `TResult LibreMetaverse.DisposalHelper.Using(System.Func<TDisposable> factory, System.Func<TDisposable, TResult> action)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name_with_stable_id`; kind `method`.
pub use crate::disposal_helper::DisposalHelper;

/// C# type: `T:LibreMetaverse.DisposalHelper.DisposalGuard`.
///
/// Native Rust mapping of C# `LibreMetaverse.DisposalHelper.DisposalGuard` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.DisposalHelper.DisposalGuard.#ctor(System.Action)`.
///
/// C# signature: `LibreMetaverse.DisposalHelper.DisposalGuard(System.Action onDispose)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.DisposalHelper.DisposalGuard.Dispose`.
///
/// C# signature: `System.Void LibreMetaverse.DisposalHelper.DisposalGuard.Dispose()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
pub use crate::disposal_helper::DisposalHelperDisposalGuard;

/// C# type: `T:LibreMetaverse.DrivenParamInfo`.
///
/// Native Rust mapping of C# `LibreMetaverse.DrivenParamInfo` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `F:LibreMetaverse.DrivenParamInfo.HasRange`.
///
/// C# signature: `System.Boolean LibreMetaverse.DrivenParamInfo.HasRange`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.DrivenParamInfo.Max1`.
///
/// C# signature: `System.Single LibreMetaverse.DrivenParamInfo.Max1`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.DrivenParamInfo.Max2`.
///
/// C# signature: `System.Single LibreMetaverse.DrivenParamInfo.Max2`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.DrivenParamInfo.Min1`.
///
/// C# signature: `System.Single LibreMetaverse.DrivenParamInfo.Min1`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.DrivenParamInfo.Min2`.
///
/// C# signature: `System.Single LibreMetaverse.DrivenParamInfo.Min2`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.DrivenParamInfo.ParamID`.
///
/// C# signature: `System.Int32 LibreMetaverse.DrivenParamInfo.ParamID`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `M:LibreMetaverse.DrivenParamInfo.#ctor(System.Int32,System.Single,System.Single,System.Single,System.Single,System.Boolean)`.
///
/// C# signature: `LibreMetaverse.DrivenParamInfo(System.Int32 paramID, System.Single min1, System.Single max1, System.Single max2, System.Single min2, System.Boolean hasRange)`.
/// Mapping contract: ownership `owned,owned,owned,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
pub use crate::visual_catalog::DrivenParamInfo;

/// C# type: `T:LibreMetaverse.EffectType`.
///
/// Native Rust mapping of C# `LibreMetaverse.EffectType` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(u8)]
pub enum EffectType {
    /// C# member: `F:LibreMetaverse.EffectType.AnimalControls`.
    ///
    /// C# signature: `LibreMetaverse.EffectType LibreMetaverse.EffectType.AnimalControls`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    AnimalControls = 4,
    /// C# member: `F:LibreMetaverse.EffectType.AnimationObject`.
    ///
    /// C# signature: `LibreMetaverse.EffectType LibreMetaverse.EffectType.AnimationObject`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    AnimationObject = 5,
    /// C# member: `F:LibreMetaverse.EffectType.Beam`.
    ///
    /// C# signature: `LibreMetaverse.EffectType LibreMetaverse.EffectType.Beam`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Beam = 7,
    /// C# member: `F:LibreMetaverse.EffectType.Cloth`.
    ///
    /// C# signature: `LibreMetaverse.EffectType LibreMetaverse.EffectType.Cloth`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Cloth = 6,
    /// C# member: `F:LibreMetaverse.EffectType.Connector`.
    ///
    /// C# signature: `LibreMetaverse.EffectType LibreMetaverse.EffectType.Connector`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Connector = 2,
    /// C# member: `F:LibreMetaverse.EffectType.Edit`.
    ///
    /// C# signature: `LibreMetaverse.EffectType LibreMetaverse.EffectType.Edit`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Edit = 13,
    /// C# member: `F:LibreMetaverse.EffectType.FlexibleObject`.
    ///
    /// C# signature: `LibreMetaverse.EffectType LibreMetaverse.EffectType.FlexibleObject`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    FlexibleObject = 3,
    /// C# member: `F:LibreMetaverse.EffectType.Glow`.
    ///
    /// C# signature: `LibreMetaverse.EffectType LibreMetaverse.EffectType.Glow`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Glow = 8,
    /// C# member: `F:LibreMetaverse.EffectType.Icon`.
    ///
    /// C# signature: `LibreMetaverse.EffectType LibreMetaverse.EffectType.Icon`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Icon = 1,
    /// C# member: `F:LibreMetaverse.EffectType.LookAt`.
    ///
    /// C# signature: `LibreMetaverse.EffectType LibreMetaverse.EffectType.LookAt`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    LookAt = 14,
    /// C# member: `F:LibreMetaverse.EffectType.Point`.
    ///
    /// C# signature: `LibreMetaverse.EffectType LibreMetaverse.EffectType.Point`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Point = 9,
    /// C# member: `F:LibreMetaverse.EffectType.PointAt`.
    ///
    /// C# signature: `LibreMetaverse.EffectType LibreMetaverse.EffectType.PointAt`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    PointAt = 15,
    /// C# member: `F:LibreMetaverse.EffectType.Sphere`.
    ///
    /// C# signature: `LibreMetaverse.EffectType LibreMetaverse.EffectType.Sphere`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Sphere = 11,
    /// C# member: `F:LibreMetaverse.EffectType.Spiral`.
    ///
    /// C# signature: `LibreMetaverse.EffectType LibreMetaverse.EffectType.Spiral`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Spiral = 12,
    /// C# member: `F:LibreMetaverse.EffectType.Text`.
    ///
    /// C# signature: `LibreMetaverse.EffectType LibreMetaverse.EffectType.Text`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Text = 0,
    /// C# member: `F:LibreMetaverse.EffectType.Trail`.
    ///
    /// C# signature: `LibreMetaverse.EffectType LibreMetaverse.EffectType.Trail`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Trail = 10,
}

/// C# type: `T:LibreMetaverse.EnvironmentManager`.
///
/// Native Rust mapping of C# `LibreMetaverse.EnvironmentManager` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `E:LibreMetaverse.EnvironmentManager.LegacyEnvironmentUpdated`.
///
/// C# signature: `System.EventHandler<LibreMetaverse.LegacyEnvironmentEventArgs> LibreMetaverse.EnvironmentManager.LegacyEnvironmentUpdated`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `E:LibreMetaverse.EnvironmentManager.ParcelEnvironmentUpdated`.
///
/// C# signature: `System.EventHandler<LibreMetaverse.ParcelEnvironmentEventArgs> LibreMetaverse.EnvironmentManager.ParcelEnvironmentUpdated`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `E:LibreMetaverse.EnvironmentManager.RegionEnvironmentUpdated`.
///
/// C# signature: `System.EventHandler<LibreMetaverse.RegionEnvironmentEventArgs> LibreMetaverse.EnvironmentManager.RegionEnvironmentUpdated`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `M:LibreMetaverse.EnvironmentManager.#ctor(LibreMetaverse.GridClient)`.
///
/// C# signature: `LibreMetaverse.EnvironmentManager(LibreMetaverse.GridClient client)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.EnvironmentManager.Dispose`.
///
/// C# signature: `System.Void LibreMetaverse.EnvironmentManager.Dispose()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.EnvironmentManager.GetLegacyEnvironmentAsync(System.Threading.CancellationToken)`.
///
/// C# signature: `System.Threading.Tasks.Task<LibreMetaverse.Messages.Linden.LegacyEnvironmentMessage> LibreMetaverse.EnvironmentManager.GetLegacyEnvironmentAsync(System.Threading.CancellationToken cancellationToken = default)`.
/// Mapping contract: ownership `shared_self,optional_owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.EnvironmentManager.GetParcelEnvironmentAsync(System.Int32,System.Threading.CancellationToken)`.
///
/// C# signature: `System.Threading.Tasks.Task<LibreMetaverse.Messages.Linden.ExtEnvironmentMessage> LibreMetaverse.EnvironmentManager.GetParcelEnvironmentAsync(System.Int32 parcelId, System.Threading.CancellationToken cancellationToken = default)`.
/// Mapping contract: ownership `shared_self,owned,optional_owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.EnvironmentManager.GetRegionEnvironmentAsync(System.Threading.CancellationToken)`.
///
/// C# signature: `System.Threading.Tasks.Task<LibreMetaverse.Messages.Linden.ExtEnvironmentMessage> LibreMetaverse.EnvironmentManager.GetRegionEnvironmentAsync(System.Threading.CancellationToken cancellationToken = default)`.
/// Mapping contract: ownership `shared_self,optional_owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.EnvironmentManager.ResetParcelEnvironmentAsync(System.Int32,System.Threading.CancellationToken)`.
///
/// C# signature: `System.Threading.Tasks.Task<System.Boolean> LibreMetaverse.EnvironmentManager.ResetParcelEnvironmentAsync(System.Int32 parcelId, System.Threading.CancellationToken cancellationToken = default)`.
/// Mapping contract: ownership `shared_self,owned,optional_owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.EnvironmentManager.ResetRegionEnvironmentAsync(System.Threading.CancellationToken)`.
///
/// C# signature: `System.Threading.Tasks.Task<System.Boolean> LibreMetaverse.EnvironmentManager.ResetRegionEnvironmentAsync(System.Threading.CancellationToken cancellationToken = default)`.
/// Mapping contract: ownership `shared_self,optional_owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.EnvironmentManager.SetLegacyEnvironmentAsync(LibreMetaverse.StructuredData.OSD,System.Threading.CancellationToken)`.
///
/// C# signature: `System.Threading.Tasks.Task<System.Boolean> LibreMetaverse.EnvironmentManager.SetLegacyEnvironmentAsync(LibreMetaverse.StructuredData.OSD settings, System.Threading.CancellationToken cancellationToken = default)`.
/// Mapping contract: ownership `shared_self,owned,optional_owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.EnvironmentManager.SetParcelEnvironmentAsync(System.Int32,LibreMetaverse.Messages.Linden.EnvironmentData,System.Threading.CancellationToken)`.
///
/// C# signature: `System.Threading.Tasks.Task<LibreMetaverse.Messages.Linden.ExtEnvironmentMessage> LibreMetaverse.EnvironmentManager.SetParcelEnvironmentAsync(System.Int32 parcelId, LibreMetaverse.Messages.Linden.EnvironmentData environment, System.Threading.CancellationToken cancellationToken = default)`.
/// Mapping contract: ownership `shared_self,owned,owned,optional_owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.EnvironmentManager.SetRegionEnvironmentAsync(LibreMetaverse.Messages.Linden.EnvironmentData,System.Threading.CancellationToken)`.
///
/// C# signature: `System.Threading.Tasks.Task<LibreMetaverse.Messages.Linden.ExtEnvironmentMessage> LibreMetaverse.EnvironmentManager.SetRegionEnvironmentAsync(LibreMetaverse.Messages.Linden.EnvironmentData environment, System.Threading.CancellationToken cancellationToken = default)`.
/// Mapping contract: ownership `shared_self,owned,optional_owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `P:LibreMetaverse.EnvironmentManager.LegacyEnvironment`.
///
/// C# signature: `LibreMetaverse.Messages.Linden.LegacyEnvironmentMessage LibreMetaverse.EnvironmentManager.LegacyEnvironment`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.EnvironmentManager.RegionEnvironment`.
///
/// C# signature: `LibreMetaverse.Messages.Linden.ExtEnvironmentMessage LibreMetaverse.EnvironmentManager.RegionEnvironment`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::environment_manager::EnvironmentManager;

/// C# type: `T:LibreMetaverse.EnvironmentTrack`.
///
/// Native Rust mapping of C# `LibreMetaverse.EnvironmentTrack` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(i32)]
pub enum EnvironmentTrack {
    /// C# member: `F:LibreMetaverse.EnvironmentTrack.Ground`.
    ///
    /// C# signature: `LibreMetaverse.EnvironmentTrack LibreMetaverse.EnvironmentTrack.Ground`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Ground = 1,
    /// C# member: `F:LibreMetaverse.EnvironmentTrack.High`.
    ///
    /// C# signature: `LibreMetaverse.EnvironmentTrack LibreMetaverse.EnvironmentTrack.High`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    High = 4,
    /// C# member: `F:LibreMetaverse.EnvironmentTrack.Low`.
    ///
    /// C# signature: `LibreMetaverse.EnvironmentTrack LibreMetaverse.EnvironmentTrack.Low`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Low = 2,
    /// C# member: `F:LibreMetaverse.EnvironmentTrack.Middle`.
    ///
    /// C# signature: `LibreMetaverse.EnvironmentTrack LibreMetaverse.EnvironmentTrack.Middle`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Middle = 3,
    /// C# member: `F:LibreMetaverse.EnvironmentTrack.Water`.
    ///
    /// C# signature: `LibreMetaverse.EnvironmentTrack LibreMetaverse.EnvironmentTrack.Water`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Water = 0,
}

/// C# type: `T:LibreMetaverse.EstateAssetType`.
///
/// Native Rust mapping of C# `LibreMetaverse.EstateAssetType` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(i32)]
pub enum EstateAssetType {
    /// C# member: `F:LibreMetaverse.EstateAssetType.Covenant`.
    ///
    /// C# signature: `LibreMetaverse.EstateAssetType LibreMetaverse.EstateAssetType.Covenant`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Covenant = 0,
    /// C# member: `F:LibreMetaverse.EstateAssetType.None`.
    ///
    /// C# signature: `LibreMetaverse.EstateAssetType LibreMetaverse.EstateAssetType.None`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    None = -1,
}

/// C# type: `T:LibreMetaverse.EstateBansReplyEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.EstateBansReplyEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.EstateBansReplyEventArgs.#ctor(System.UInt32,System.Int32,System.Collections.Generic.List{LibreMetaverse.UUID})`.
///
/// C# signature: `LibreMetaverse.EstateBansReplyEventArgs(System.UInt32 estateID, System.Int32 count, System.Collections.Generic.List<LibreMetaverse.UUID> banned)`.
/// Mapping contract: ownership `owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.EstateBansReplyEventArgs.Banned`.
///
/// C# signature: `System.Collections.Generic.List<LibreMetaverse.UUID> LibreMetaverse.EstateBansReplyEventArgs.Banned`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.EstateBansReplyEventArgs.Count`.
///
/// C# signature: `System.Int32 LibreMetaverse.EstateBansReplyEventArgs.Count`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.EstateBansReplyEventArgs.EstateID`.
///
/// C# signature: `System.UInt32 LibreMetaverse.EstateBansReplyEventArgs.EstateID`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::estate_tools::EstateBansReplyEventArgs;

/// C# type: `T:LibreMetaverse.EstateCovenantReplyEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.EstateCovenantReplyEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.EstateCovenantReplyEventArgs.#ctor(LibreMetaverse.UUID,System.Int64,System.String,LibreMetaverse.UUID)`.
///
/// C# signature: `LibreMetaverse.EstateCovenantReplyEventArgs(LibreMetaverse.UUID covenantID, System.Int64 timestamp, System.String estateName, LibreMetaverse.UUID estateOwnerID)`.
/// Mapping contract: ownership `owned,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.EstateCovenantReplyEventArgs.CovenantID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.EstateCovenantReplyEventArgs.CovenantID`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.EstateCovenantReplyEventArgs.EstateName`.
///
/// C# signature: `System.String LibreMetaverse.EstateCovenantReplyEventArgs.EstateName`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.EstateCovenantReplyEventArgs.EstateOwnerID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.EstateCovenantReplyEventArgs.EstateOwnerID`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.EstateCovenantReplyEventArgs.Timestamp`.
///
/// C# signature: `System.Int64 LibreMetaverse.EstateCovenantReplyEventArgs.Timestamp`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::estate_tools::EstateCovenantReplyEventArgs;

/// C# type: `T:LibreMetaverse.EstateExperienceReplyEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.EstateExperienceReplyEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.EstateExperienceReplyEventArgs.#ctor(System.Collections.Generic.List{LibreMetaverse.UUID},System.Collections.Generic.List{LibreMetaverse.UUID},System.Collections.Generic.List{LibreMetaverse.UUID})`.
///
/// C# signature: `LibreMetaverse.EstateExperienceReplyEventArgs(System.Collections.Generic.List<LibreMetaverse.UUID> blocked, System.Collections.Generic.List<LibreMetaverse.UUID> trusted, System.Collections.Generic.List<LibreMetaverse.UUID> allowed)`.
/// Mapping contract: ownership `owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.EstateExperienceReplyEventArgs.Allowed`.
///
/// C# signature: `System.Collections.Generic.List<LibreMetaverse.UUID> LibreMetaverse.EstateExperienceReplyEventArgs.Allowed`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.EstateExperienceReplyEventArgs.Blocked`.
///
/// C# signature: `System.Collections.Generic.List<LibreMetaverse.UUID> LibreMetaverse.EstateExperienceReplyEventArgs.Blocked`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.EstateExperienceReplyEventArgs.Trusted`.
///
/// C# signature: `System.Collections.Generic.List<LibreMetaverse.UUID> LibreMetaverse.EstateExperienceReplyEventArgs.Trusted`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::estate_tools::EstateExperienceReplyEventArgs;

/// C# type: `T:LibreMetaverse.EstateGroupsReplyEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.EstateGroupsReplyEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.EstateGroupsReplyEventArgs.#ctor(System.UInt32,System.Int32,System.Collections.Generic.List{LibreMetaverse.UUID})`.
///
/// C# signature: `LibreMetaverse.EstateGroupsReplyEventArgs(System.UInt32 estateID, System.Int32 count, System.Collections.Generic.List<LibreMetaverse.UUID> allowedGroups)`.
/// Mapping contract: ownership `owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.EstateGroupsReplyEventArgs.AllowedGroups`.
///
/// C# signature: `System.Collections.Generic.List<LibreMetaverse.UUID> LibreMetaverse.EstateGroupsReplyEventArgs.AllowedGroups`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.EstateGroupsReplyEventArgs.Count`.
///
/// C# signature: `System.Int32 LibreMetaverse.EstateGroupsReplyEventArgs.Count`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.EstateGroupsReplyEventArgs.EstateID`.
///
/// C# signature: `System.UInt32 LibreMetaverse.EstateGroupsReplyEventArgs.EstateID`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::estate_tools::EstateGroupsReplyEventArgs;

/// C# type: `T:LibreMetaverse.EstateManagersReplyEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.EstateManagersReplyEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.EstateManagersReplyEventArgs.#ctor(System.UInt32,System.Int32,System.Collections.Generic.List{LibreMetaverse.UUID})`.
///
/// C# signature: `LibreMetaverse.EstateManagersReplyEventArgs(System.UInt32 estateID, System.Int32 count, System.Collections.Generic.List<LibreMetaverse.UUID> managers)`.
/// Mapping contract: ownership `owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.EstateManagersReplyEventArgs.Count`.
///
/// C# signature: `System.Int32 LibreMetaverse.EstateManagersReplyEventArgs.Count`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.EstateManagersReplyEventArgs.EstateID`.
///
/// C# signature: `System.UInt32 LibreMetaverse.EstateManagersReplyEventArgs.EstateID`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.EstateManagersReplyEventArgs.Managers`.
///
/// C# signature: `System.Collections.Generic.List<LibreMetaverse.UUID> LibreMetaverse.EstateManagersReplyEventArgs.Managers`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::estate_tools::EstateManagersReplyEventArgs;

/// C# type: `T:LibreMetaverse.EstateTask`.
///
/// Native Rust mapping of C# `LibreMetaverse.EstateTask` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `F:LibreMetaverse.EstateTask.MonoScore`.
///
/// C# signature: `System.Single LibreMetaverse.EstateTask.MonoScore`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.EstateTask.OwnerName`.
///
/// C# signature: `System.String LibreMetaverse.EstateTask.OwnerName`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.EstateTask.Position`.
///
/// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.EstateTask.Position`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.EstateTask.Score`.
///
/// C# signature: `System.Single LibreMetaverse.EstateTask.Score`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.EstateTask.TaskID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.EstateTask.TaskID`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.EstateTask.TaskLocalID`.
///
/// C# signature: `System.UInt32 LibreMetaverse.EstateTask.TaskLocalID`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.EstateTask.TaskName`.
///
/// C# signature: `System.String LibreMetaverse.EstateTask.TaskName`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `M:LibreMetaverse.EstateTask.#ctor`.
///
/// C# signature: `LibreMetaverse.EstateTask()`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
pub use crate::estate_tools::EstateTask;

/// C# type: `T:LibreMetaverse.EstateTools`.
///
/// Native Rust mapping of C# `LibreMetaverse.EstateTools` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `E:LibreMetaverse.EstateTools.EstateBansReply`.
///
/// C# signature: `System.EventHandler<LibreMetaverse.EstateBansReplyEventArgs> LibreMetaverse.EstateTools.EstateBansReply`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `E:LibreMetaverse.EstateTools.EstateCovenantReply`.
///
/// C# signature: `System.EventHandler<LibreMetaverse.EstateCovenantReplyEventArgs> LibreMetaverse.EstateTools.EstateCovenantReply`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `E:LibreMetaverse.EstateTools.EstateExperienceReply`.
///
/// C# signature: `System.EventHandler<LibreMetaverse.EstateExperienceReplyEventArgs> LibreMetaverse.EstateTools.EstateExperienceReply`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `E:LibreMetaverse.EstateTools.EstateGroupsReply`.
///
/// C# signature: `System.EventHandler<LibreMetaverse.EstateGroupsReplyEventArgs> LibreMetaverse.EstateTools.EstateGroupsReply`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `E:LibreMetaverse.EstateTools.EstateManagersReply`.
///
/// C# signature: `System.EventHandler<LibreMetaverse.EstateManagersReplyEventArgs> LibreMetaverse.EstateTools.EstateManagersReply`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `E:LibreMetaverse.EstateTools.EstateUpdateInfoReply`.
///
/// C# signature: `System.EventHandler<LibreMetaverse.EstateUpdateInfoReplyEventArgs> LibreMetaverse.EstateTools.EstateUpdateInfoReply`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `E:LibreMetaverse.EstateTools.EstateUsersReply`.
///
/// C# signature: `System.EventHandler<LibreMetaverse.EstateUsersReplyEventArgs> LibreMetaverse.EstateTools.EstateUsersReply`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `E:LibreMetaverse.EstateTools.TopCollidersReply`.
///
/// C# signature: `System.EventHandler<LibreMetaverse.TopCollidersReplyEventArgs> LibreMetaverse.EstateTools.TopCollidersReply`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `E:LibreMetaverse.EstateTools.TopScriptsReply`.
///
/// C# signature: `System.EventHandler<LibreMetaverse.TopScriptsReplyEventArgs> LibreMetaverse.EstateTools.TopScriptsReply`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `F:LibreMetaverse.EstateTools.GroundTextureLimits`.
///
/// C# signature: `LibreMetaverse.EstateTools.GroundTextureHeightSettings LibreMetaverse.EstateTools.GroundTextureLimits`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.EstateTools.GroundTextures`.
///
/// C# signature: `LibreMetaverse.EstateTools.GroundTextureSettings LibreMetaverse.EstateTools.GroundTextures`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `M:LibreMetaverse.EstateTools.#ctor(LibreMetaverse.GridClient)`.
///
/// C# signature: `LibreMetaverse.EstateTools(LibreMetaverse.GridClient client)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.EstateTools.AddAllowedGroup(LibreMetaverse.UUID,System.Boolean)`.
///
/// C# signature: `System.Void LibreMetaverse.EstateTools.AddAllowedGroup(LibreMetaverse.UUID groupID, System.Boolean allEstates)`.
/// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.EstateTools.AddAllowedUser(LibreMetaverse.UUID,System.Boolean)`.
///
/// C# signature: `System.Void LibreMetaverse.EstateTools.AddAllowedUser(LibreMetaverse.UUID userID, System.Boolean allEstates)`.
/// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.EstateTools.AddEstateManager(LibreMetaverse.UUID,System.Boolean)`.
///
/// C# signature: `System.Void LibreMetaverse.EstateTools.AddEstateManager(LibreMetaverse.UUID userID, System.Boolean allEstates)`.
/// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.EstateTools.BanUser(LibreMetaverse.UUID,System.Boolean)`.
///
/// C# signature: `System.Void LibreMetaverse.EstateTools.BanUser(LibreMetaverse.UUID userID, System.Boolean allEstates)`.
/// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.EstateTools.CancelRestart`.
///
/// C# signature: `System.Void LibreMetaverse.EstateTools.CancelRestart()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.EstateTools.Dispose`.
///
/// C# signature: `System.Void LibreMetaverse.EstateTools.Dispose()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.EstateTools.EstateMessage(System.String)`.
///
/// C# signature: `System.Void LibreMetaverse.EstateTools.EstateMessage(System.String message)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.EstateTools.EstateOwnerMessage(System.String,System.Collections.Generic.List{System.String})`.
///
/// C# signature: `System.Void LibreMetaverse.EstateTools.EstateOwnerMessage(System.String method, System.Collections.Generic.List<System.String> listParams)`.
/// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.EstateTools.EstateOwnerMessage(System.String,System.String)`.
///
/// C# signature: `System.Void LibreMetaverse.EstateTools.EstateOwnerMessage(System.String method, System.String param)`.
/// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.EstateTools.GetRegionRestartScheduleAsync(System.Threading.CancellationToken)`.
///
/// C# signature: `System.Threading.Tasks.Task<LibreMetaverse.RegionRestartSchedule> LibreMetaverse.EstateTools.GetRegionRestartScheduleAsync(System.Threading.CancellationToken cancellationToken = default)`.
/// Mapping contract: ownership `shared_self,optional_owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.EstateTools.KickUser(LibreMetaverse.UUID)`.
///
/// C# signature: `System.Void LibreMetaverse.EstateTools.KickUser(LibreMetaverse.UUID userID)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.EstateTools.LandStatRequest(System.Int32,LibreMetaverse.EstateTools.LandStatReportType,System.UInt32,System.String)`.
///
/// C# signature: `System.Void LibreMetaverse.EstateTools.LandStatRequest(System.Int32 parcelLocalID, LibreMetaverse.EstateTools.LandStatReportType reportType, System.UInt32 requestFlags, System.String filter)`.
/// Mapping contract: ownership `shared_self,owned,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.EstateTools.RemoveAllowedGroup(LibreMetaverse.UUID,System.Boolean)`.
///
/// C# signature: `System.Void LibreMetaverse.EstateTools.RemoveAllowedGroup(LibreMetaverse.UUID groupID, System.Boolean allEstates)`.
/// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.EstateTools.RemoveAllowedUser(LibreMetaverse.UUID,System.Boolean)`.
///
/// C# signature: `System.Void LibreMetaverse.EstateTools.RemoveAllowedUser(LibreMetaverse.UUID userID, System.Boolean allEstates)`.
/// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.EstateTools.RemoveEstateManager(LibreMetaverse.UUID,System.Boolean)`.
///
/// C# signature: `System.Void LibreMetaverse.EstateTools.RemoveEstateManager(LibreMetaverse.UUID userID, System.Boolean allEstates)`.
/// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.EstateTools.RequestCovenant`.
///
/// C# signature: `System.Void LibreMetaverse.EstateTools.RequestCovenant()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.EstateTools.RequestCovenantNotecardAsync(LibreMetaverse.UUID,LibreMetaverse.Simulator,System.Threading.CancellationToken)`.
///
/// C# signature: `System.Threading.Tasks.Task<LibreMetaverse.Assets.Asset> LibreMetaverse.EstateTools.RequestCovenantNotecardAsync(LibreMetaverse.UUID covenantId, LibreMetaverse.Simulator simulator, System.Threading.CancellationToken cancellationToken = default)`.
/// Mapping contract: ownership `shared_self,owned,owned,optional_owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.EstateTools.RequestCovenantNotecardAsync(LibreMetaverse.UUID,System.Threading.CancellationToken)`.
///
/// C# signature: `System.Threading.Tasks.Task<LibreMetaverse.Assets.Asset> LibreMetaverse.EstateTools.RequestCovenantNotecardAsync(LibreMetaverse.UUID covenantId, System.Threading.CancellationToken cancellationToken = default)`.
/// Mapping contract: ownership `shared_self,owned,optional_owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.EstateTools.RequestInfo`.
///
/// C# signature: `System.Void LibreMetaverse.EstateTools.RequestInfo()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.EstateTools.RequestTopColliders`.
///
/// C# signature: `System.Void LibreMetaverse.EstateTools.RequestTopColliders()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.EstateTools.RequestTopScripts`.
///
/// C# signature: `System.Void LibreMetaverse.EstateTools.RequestTopScripts()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.EstateTools.RestartRegion`.
///
/// C# signature: `System.Void LibreMetaverse.EstateTools.RestartRegion()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.EstateTools.RestartRegion(System.Int32)`.
///
/// C# signature: `System.Void LibreMetaverse.EstateTools.RestartRegion(System.Int32 delay)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.EstateTools.SendEstateChangeInfoAsync(System.String,System.Single,LibreMetaverse.RegionFlags,System.Threading.CancellationToken)`.
///
/// C# signature: `System.Threading.Tasks.Task LibreMetaverse.EstateTools.SendEstateChangeInfoAsync(System.String estateName, System.Single sunHour, LibreMetaverse.RegionFlags flags, System.Threading.CancellationToken cancellationToken = default)`.
/// Mapping contract: ownership `shared_self,owned,owned,owned,optional_owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.EstateTools.SendEstateChangeInfoDataserver(System.String,System.Single,LibreMetaverse.RegionFlags)`.
///
/// C# signature: `System.Void LibreMetaverse.EstateTools.SendEstateChangeInfoDataserver(System.String estateName, System.Single sunHour, LibreMetaverse.RegionFlags flags)`.
/// Mapping contract: ownership `shared_self,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.EstateTools.SendSimConsoleCommandAsync(System.String,System.TimeSpan,System.Threading.CancellationToken)`.
///
/// C# signature: `System.Threading.Tasks.Task<System.String> LibreMetaverse.EstateTools.SendSimConsoleCommandAsync(System.String command, System.TimeSpan responseTimeout = default, System.Threading.CancellationToken cancellationToken = default)`.
/// Mapping contract: ownership `shared_self,owned,optional_owned,optional_owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.EstateTools.SetRegionDebug(System.Boolean,System.Boolean,System.Boolean)`.
///
/// C# signature: `System.Void LibreMetaverse.EstateTools.SetRegionDebug(System.Boolean disableScripts, System.Boolean disableCollisions, System.Boolean disablePhysics)`.
/// Mapping contract: ownership `shared_self,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.EstateTools.SetRegionInfoAsync(System.Boolean,System.Boolean,System.Boolean,System.Boolean,System.Boolean,System.Boolean,System.Boolean,System.Single,System.Single,System.Boolean,LibreMetaverse.EstateTools.RegionMaturity)`.
///
/// C# signature: `System.Threading.Tasks.Task LibreMetaverse.EstateTools.SetRegionInfoAsync(System.Boolean blockTerraform, System.Boolean blockFly, System.Boolean blockFlyOver, System.Boolean allowDamage, System.Boolean allowLandResell, System.Boolean restrictPushing, System.Boolean allowParcelJoinDivide, System.Single agentLimit, System.Single objectBonus, System.Boolean blockParcelSearch, LibreMetaverse.EstateTools.RegionMaturity maturity)`.
/// Mapping contract: ownership `shared_self,owned,owned,owned,owned,owned,owned,owned,owned,owned,owned,owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.EstateTools.SetRegionInfoUdp(System.Boolean,System.Boolean,System.Boolean,System.Boolean,System.Boolean,System.Boolean,System.Single,System.Single,LibreMetaverse.EstateTools.RegionMaturity)`.
///
/// C# signature: `System.Void LibreMetaverse.EstateTools.SetRegionInfoUdp(System.Boolean blockTerraform, System.Boolean blockFly, System.Boolean allowDamage, System.Boolean allowLandResell, System.Boolean restrictPushing, System.Boolean allowParcelJoinDivide, System.Single agentLimit, System.Single objectBonus, LibreMetaverse.EstateTools.RegionMaturity maturity)`.
/// Mapping contract: ownership `shared_self,owned,owned,owned,owned,owned,owned,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.EstateTools.SetRegionRestartScheduleAsync(LibreMetaverse.RegionRestartSchedule,System.Threading.CancellationToken)`.
///
/// C# signature: `System.Threading.Tasks.Task<System.Boolean> LibreMetaverse.EstateTools.SetRegionRestartScheduleAsync(LibreMetaverse.RegionRestartSchedule schedule, System.Threading.CancellationToken cancellationToken = default)`.
/// Mapping contract: ownership `shared_self,owned,optional_owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.EstateTools.SetRegionTerrain(LibreMetaverse.UUID,LibreMetaverse.UUID,LibreMetaverse.UUID,LibreMetaverse.UUID)`.
///
/// C# signature: `System.Void LibreMetaverse.EstateTools.SetRegionTerrain(LibreMetaverse.UUID low, LibreMetaverse.UUID midLow, LibreMetaverse.UUID midHigh, LibreMetaverse.UUID high)`.
/// Mapping contract: ownership `shared_self,owned,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.EstateTools.SetRegionTerrainHeights(System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single)`.
///
/// C# signature: `System.Void LibreMetaverse.EstateTools.SetRegionTerrainHeights(System.Single lowSW, System.Single highSW, System.Single lowNW, System.Single highNW, System.Single lowSE, System.Single highSE, System.Single lowNE, System.Single highNE)`.
/// Mapping contract: ownership `shared_self,owned,owned,owned,owned,owned,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.EstateTools.SetTerrainVariables(System.Single,System.Single,System.Single,System.Boolean,System.Boolean,System.Single)`.
///
/// C# signature: `System.Void LibreMetaverse.EstateTools.SetTerrainVariables(System.Single WaterHeight, System.Single TerrainRaiseLimit, System.Single TerrainLowerLimit, System.Boolean UseEstateSun, System.Boolean FixedSun, System.Single SunPosition)`.
/// Mapping contract: ownership `shared_self,owned,owned,owned,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.EstateTools.SimWideReturn(LibreMetaverse.UUID,LibreMetaverse.EstateTools.EstateReturnFlags,System.Boolean)`.
///
/// C# signature: `System.Void LibreMetaverse.EstateTools.SimWideReturn(LibreMetaverse.UUID Target, LibreMetaverse.EstateTools.EstateReturnFlags flag, System.Boolean EstateWide)`.
/// Mapping contract: ownership `shared_self,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.EstateTools.SimulatorMessage(System.String)`.
///
/// C# signature: `System.Void LibreMetaverse.EstateTools.SimulatorMessage(System.String message)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.EstateTools.TeleportHomeAllUsers`.
///
/// C# signature: `System.Void LibreMetaverse.EstateTools.TeleportHomeAllUsers()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.EstateTools.TeleportHomeUser(LibreMetaverse.UUID)`.
///
/// C# signature: `System.Void LibreMetaverse.EstateTools.TeleportHomeUser(LibreMetaverse.UUID pest)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.EstateTools.UnbanUser(LibreMetaverse.UUID,System.Boolean)`.
///
/// C# signature: `System.Void LibreMetaverse.EstateTools.UnbanUser(LibreMetaverse.UUID userID, System.Boolean allEstates)`.
/// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.EstateTools.UploadTerrain(System.Byte[],System.String)`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.EstateTools.UploadTerrain(System.Byte[] fileData, System.String fileName)`.
/// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
pub use crate::estate_tools::EstateTools;

/// C# type: `T:LibreMetaverse.EstateTools.EstateAccessDelta`.
///
/// Native Rust mapping of C# `LibreMetaverse.EstateTools.EstateAccessDelta` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(u32)]
pub enum EstateToolsEstateAccessDelta {
    /// C# member: `F:LibreMetaverse.EstateTools.EstateAccessDelta.AddAllowedAllEstates`.
    ///
    /// C# signature: `LibreMetaverse.EstateTools.EstateAccessDelta LibreMetaverse.EstateTools.EstateAccessDelta.AddAllowedAllEstates`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    AddAllowedAllEstates = 6,
    /// C# member: `F:LibreMetaverse.EstateTools.EstateAccessDelta.AddGroupAllowedAllEstates`.
    ///
    /// C# signature: `LibreMetaverse.EstateTools.EstateAccessDelta LibreMetaverse.EstateTools.EstateAccessDelta.AddGroupAllowedAllEstates`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    AddGroupAllowedAllEstates = 18,
    /// C# member: `F:LibreMetaverse.EstateTools.EstateAccessDelta.AddGroupAsAllowed`.
    ///
    /// C# signature: `LibreMetaverse.EstateTools.EstateAccessDelta LibreMetaverse.EstateTools.EstateAccessDelta.AddGroupAsAllowed`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    AddGroupAsAllowed = 16,
    /// C# member: `F:LibreMetaverse.EstateTools.EstateAccessDelta.AddManager`.
    ///
    /// C# signature: `LibreMetaverse.EstateTools.EstateAccessDelta LibreMetaverse.EstateTools.EstateAccessDelta.AddManager`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    AddManager = 256,
    /// C# member: `F:LibreMetaverse.EstateTools.EstateAccessDelta.AddManagerAllEstates`.
    ///
    /// C# signature: `LibreMetaverse.EstateTools.EstateAccessDelta LibreMetaverse.EstateTools.EstateAccessDelta.AddManagerAllEstates`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    AddManagerAllEstates = 257,
    /// C# member: `F:LibreMetaverse.EstateTools.EstateAccessDelta.AddUserAsAllowed`.
    ///
    /// C# signature: `LibreMetaverse.EstateTools.EstateAccessDelta LibreMetaverse.EstateTools.EstateAccessDelta.AddUserAsAllowed`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    AddUserAsAllowed = 4,
    /// C# member: `F:LibreMetaverse.EstateTools.EstateAccessDelta.BanUser`.
    ///
    /// C# signature: `LibreMetaverse.EstateTools.EstateAccessDelta LibreMetaverse.EstateTools.EstateAccessDelta.BanUser`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    BanUser = 64,
    /// C# member: `F:LibreMetaverse.EstateTools.EstateAccessDelta.BanUserAllEstates`.
    ///
    /// C# signature: `LibreMetaverse.EstateTools.EstateAccessDelta LibreMetaverse.EstateTools.EstateAccessDelta.BanUserAllEstates`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    BanUserAllEstates = 66,
    /// C# member: `F:LibreMetaverse.EstateTools.EstateAccessDelta.RemoveGroupAllowedAllEstates`.
    ///
    /// C# signature: `LibreMetaverse.EstateTools.EstateAccessDelta LibreMetaverse.EstateTools.EstateAccessDelta.RemoveGroupAllowedAllEstates`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    RemoveGroupAllowedAllEstates = 34,
    /// C# member: `F:LibreMetaverse.EstateTools.EstateAccessDelta.RemoveGroupAsAllowed`.
    ///
    /// C# signature: `LibreMetaverse.EstateTools.EstateAccessDelta LibreMetaverse.EstateTools.EstateAccessDelta.RemoveGroupAsAllowed`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    RemoveGroupAsAllowed = 32,
    /// C# member: `F:LibreMetaverse.EstateTools.EstateAccessDelta.RemoveManager`.
    ///
    /// C# signature: `LibreMetaverse.EstateTools.EstateAccessDelta LibreMetaverse.EstateTools.EstateAccessDelta.RemoveManager`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    RemoveManager = 512,
    /// C# member: `F:LibreMetaverse.EstateTools.EstateAccessDelta.RemoveManagerAllEstates`.
    ///
    /// C# signature: `LibreMetaverse.EstateTools.EstateAccessDelta LibreMetaverse.EstateTools.EstateAccessDelta.RemoveManagerAllEstates`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    RemoveManagerAllEstates = 513,
    /// C# member: `F:LibreMetaverse.EstateTools.EstateAccessDelta.RemoveUserAllowedAllEstates`.
    ///
    /// C# signature: `LibreMetaverse.EstateTools.EstateAccessDelta LibreMetaverse.EstateTools.EstateAccessDelta.RemoveUserAllowedAllEstates`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    RemoveUserAllowedAllEstates = 10,
    /// C# member: `F:LibreMetaverse.EstateTools.EstateAccessDelta.RemoveUserAsAllowed`.
    ///
    /// C# signature: `LibreMetaverse.EstateTools.EstateAccessDelta LibreMetaverse.EstateTools.EstateAccessDelta.RemoveUserAsAllowed`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    RemoveUserAsAllowed = 8,
    /// C# member: `F:LibreMetaverse.EstateTools.EstateAccessDelta.UnbanUser`.
    ///
    /// C# signature: `LibreMetaverse.EstateTools.EstateAccessDelta LibreMetaverse.EstateTools.EstateAccessDelta.UnbanUser`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    UnbanUser = 128,
    /// C# member: `F:LibreMetaverse.EstateTools.EstateAccessDelta.UnbanUserAllEstates`.
    ///
    /// C# signature: `LibreMetaverse.EstateTools.EstateAccessDelta LibreMetaverse.EstateTools.EstateAccessDelta.UnbanUserAllEstates`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    UnbanUserAllEstates = 130,
}

/// C# type: `T:LibreMetaverse.EstateTools.EstateAccessReplyDelta`.
///
/// Native Rust mapping of C# `LibreMetaverse.EstateTools.EstateAccessReplyDelta` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(u32)]
pub enum EstateToolsEstateAccessReplyDelta {
    /// C# member: `F:LibreMetaverse.EstateTools.EstateAccessReplyDelta.AllowedGroups`.
    ///
    /// C# signature: `LibreMetaverse.EstateTools.EstateAccessReplyDelta LibreMetaverse.EstateTools.EstateAccessReplyDelta.AllowedGroups`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    AllowedGroups = 18,
    /// C# member: `F:LibreMetaverse.EstateTools.EstateAccessReplyDelta.AllowedUsers`.
    ///
    /// C# signature: `LibreMetaverse.EstateTools.EstateAccessReplyDelta LibreMetaverse.EstateTools.EstateAccessReplyDelta.AllowedUsers`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    AllowedUsers = 17,
    /// C# member: `F:LibreMetaverse.EstateTools.EstateAccessReplyDelta.EstateBans`.
    ///
    /// C# signature: `LibreMetaverse.EstateTools.EstateAccessReplyDelta LibreMetaverse.EstateTools.EstateAccessReplyDelta.EstateBans`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    EstateBans = 20,
    /// C# member: `F:LibreMetaverse.EstateTools.EstateAccessReplyDelta.EstateManagers`.
    ///
    /// C# signature: `LibreMetaverse.EstateTools.EstateAccessReplyDelta LibreMetaverse.EstateTools.EstateAccessReplyDelta.EstateManagers`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    EstateManagers = 24,
}

/// C# type: `T:LibreMetaverse.EstateTools.EstateReturnFlags`.
///
/// Native Rust mapping of C# `LibreMetaverse.EstateTools.EstateReturnFlags` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(transparent)]
pub struct EstateToolsEstateReturnFlags(pub u32);
impl EstateToolsEstateReturnFlags {
    /// C# member: `F:LibreMetaverse.EstateTools.EstateReturnFlags.None`.
    ///
    /// C# signature: `LibreMetaverse.EstateTools.EstateReturnFlags LibreMetaverse.EstateTools.EstateReturnFlags.None`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const NONE: Self = Self(2);
    /// C# member: `F:LibreMetaverse.EstateTools.EstateReturnFlags.ReturnOnOthersLand`.
    ///
    /// C# signature: `LibreMetaverse.EstateTools.EstateReturnFlags LibreMetaverse.EstateTools.EstateReturnFlags.ReturnOnOthersLand`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const RETURN_ON_OTHERS_LAND: Self = Self(3);
    /// C# member: `F:LibreMetaverse.EstateTools.EstateReturnFlags.ReturnScripted`.
    ///
    /// C# signature: `LibreMetaverse.EstateTools.EstateReturnFlags LibreMetaverse.EstateTools.EstateReturnFlags.ReturnScripted`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const RETURN_SCRIPTED: Self = Self(6);
    /// C# member: `F:LibreMetaverse.EstateTools.EstateReturnFlags.ReturnScriptedAndOnOthers`.
    ///
    /// C# signature: `LibreMetaverse.EstateTools.EstateReturnFlags LibreMetaverse.EstateTools.EstateReturnFlags.ReturnScriptedAndOnOthers`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const RETURN_SCRIPTED_AND_ON_OTHERS: Self = Self(7);
}

/// C# type: `T:LibreMetaverse.EstateTools.GroundTextureHeight`.
///
/// Native Rust mapping of C# `LibreMetaverse.EstateTools.GroundTextureHeight` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
pub struct EstateToolsGroundTextureHeight {
    /// C# member: `F:LibreMetaverse.EstateTools.GroundTextureHeight.High`.
    ///
    /// C# signature: `System.Single LibreMetaverse.EstateTools.GroundTextureHeight.High`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub high: f32,
    /// C# member: `F:LibreMetaverse.EstateTools.GroundTextureHeight.Low`.
    ///
    /// C# signature: `System.Single LibreMetaverse.EstateTools.GroundTextureHeight.Low`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub low: f32,
}
impl EstateToolsGroundTextureHeight {}

/// C# type: `T:LibreMetaverse.EstateTools.GroundTextureHeightSettings`.
///
/// Native Rust mapping of C# `LibreMetaverse.EstateTools.GroundTextureHeightSettings` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
pub struct EstateToolsGroundTextureHeightSettings {
    /// C# member: `F:LibreMetaverse.EstateTools.GroundTextureHeightSettings.NE`.
    ///
    /// C# signature: `LibreMetaverse.EstateTools.GroundTextureHeight LibreMetaverse.EstateTools.GroundTextureHeightSettings.NE`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub ne: libremetaverse::EstateToolsGroundTextureHeight,
    /// C# member: `F:LibreMetaverse.EstateTools.GroundTextureHeightSettings.NW`.
    ///
    /// C# signature: `LibreMetaverse.EstateTools.GroundTextureHeight LibreMetaverse.EstateTools.GroundTextureHeightSettings.NW`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub nw: libremetaverse::EstateToolsGroundTextureHeight,
    /// C# member: `F:LibreMetaverse.EstateTools.GroundTextureHeightSettings.SE`.
    ///
    /// C# signature: `LibreMetaverse.EstateTools.GroundTextureHeight LibreMetaverse.EstateTools.GroundTextureHeightSettings.SE`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub se: libremetaverse::EstateToolsGroundTextureHeight,
    /// C# member: `F:LibreMetaverse.EstateTools.GroundTextureHeightSettings.SW`.
    ///
    /// C# signature: `LibreMetaverse.EstateTools.GroundTextureHeight LibreMetaverse.EstateTools.GroundTextureHeightSettings.SW`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub sw: libremetaverse::EstateToolsGroundTextureHeight,
}
impl EstateToolsGroundTextureHeightSettings {}

/// C# type: `T:LibreMetaverse.EstateTools.GroundTextureSettings`.
///
/// Native Rust mapping of C# `LibreMetaverse.EstateTools.GroundTextureSettings` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
pub struct EstateToolsGroundTextureSettings {
    /// C# member: `F:LibreMetaverse.EstateTools.GroundTextureSettings.High`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.EstateTools.GroundTextureSettings.High`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub high: libremetaverse_types::UUID,
    /// C# member: `F:LibreMetaverse.EstateTools.GroundTextureSettings.Low`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.EstateTools.GroundTextureSettings.Low`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub low: libremetaverse_types::UUID,
    /// C# member: `F:LibreMetaverse.EstateTools.GroundTextureSettings.MidHigh`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.EstateTools.GroundTextureSettings.MidHigh`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub mid_high: libremetaverse_types::UUID,
    /// C# member: `F:LibreMetaverse.EstateTools.GroundTextureSettings.MidLow`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.EstateTools.GroundTextureSettings.MidLow`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub mid_low: libremetaverse_types::UUID,
}
impl EstateToolsGroundTextureSettings {}

/// C# type: `T:LibreMetaverse.EstateTools.LandStatReportType`.
///
/// Native Rust mapping of C# `LibreMetaverse.EstateTools.LandStatReportType` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(i32)]
pub enum EstateToolsLandStatReportType {
    /// C# member: `F:LibreMetaverse.EstateTools.LandStatReportType.TopColliders`.
    ///
    /// C# signature: `LibreMetaverse.EstateTools.LandStatReportType LibreMetaverse.EstateTools.LandStatReportType.TopColliders`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    TopColliders = 1,
    /// C# member: `F:LibreMetaverse.EstateTools.LandStatReportType.TopScripts`.
    ///
    /// C# signature: `LibreMetaverse.EstateTools.LandStatReportType LibreMetaverse.EstateTools.LandStatReportType.TopScripts`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    TopScripts = 0,
}

/// C# type: `T:LibreMetaverse.EstateTools.RegionMaturity`.
///
/// Native Rust mapping of C# `LibreMetaverse.EstateTools.RegionMaturity` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(i32)]
pub enum EstateToolsRegionMaturity {
    /// C# member: `F:LibreMetaverse.EstateTools.RegionMaturity.Adult`.
    ///
    /// C# signature: `LibreMetaverse.EstateTools.RegionMaturity LibreMetaverse.EstateTools.RegionMaturity.Adult`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Adult = 42,
    /// C# member: `F:LibreMetaverse.EstateTools.RegionMaturity.Mature`.
    ///
    /// C# signature: `LibreMetaverse.EstateTools.RegionMaturity LibreMetaverse.EstateTools.RegionMaturity.Mature`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Mature = 21,
    /// C# member: `F:LibreMetaverse.EstateTools.RegionMaturity.PG`.
    ///
    /// C# signature: `LibreMetaverse.EstateTools.RegionMaturity LibreMetaverse.EstateTools.RegionMaturity.PG`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    PG = 13,
}

/// C# type: `T:LibreMetaverse.EstateUpdateInfoReplyEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.EstateUpdateInfoReplyEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.EstateUpdateInfoReplyEventArgs.#ctor(System.String,LibreMetaverse.UUID,System.UInt32,LibreMetaverse.RegionFlags,System.Int32)`.
///
/// C# signature: `LibreMetaverse.EstateUpdateInfoReplyEventArgs(System.String estateName, LibreMetaverse.UUID estateOwner, System.UInt32 estateID, LibreMetaverse.RegionFlags flags, System.Int32 sunHour)`.
/// Mapping contract: ownership `owned,owned,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.EstateUpdateInfoReplyEventArgs.EstateID`.
///
/// C# signature: `System.UInt32 LibreMetaverse.EstateUpdateInfoReplyEventArgs.EstateID`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.EstateUpdateInfoReplyEventArgs.EstateName`.
///
/// C# signature: `System.String LibreMetaverse.EstateUpdateInfoReplyEventArgs.EstateName`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.EstateUpdateInfoReplyEventArgs.EstateOwner`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.EstateUpdateInfoReplyEventArgs.EstateOwner`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.EstateUpdateInfoReplyEventArgs.Flags`.
///
/// C# signature: `LibreMetaverse.RegionFlags LibreMetaverse.EstateUpdateInfoReplyEventArgs.Flags`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.EstateUpdateInfoReplyEventArgs.SunHour`.
///
/// C# signature: `System.Int32 LibreMetaverse.EstateUpdateInfoReplyEventArgs.SunHour`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::estate_tools::EstateUpdateInfoReplyEventArgs;

/// C# type: `T:LibreMetaverse.EstateUsersReplyEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.EstateUsersReplyEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.EstateUsersReplyEventArgs.#ctor(System.UInt32,System.Int32,System.Collections.Generic.List{LibreMetaverse.UUID})`.
///
/// C# signature: `LibreMetaverse.EstateUsersReplyEventArgs(System.UInt32 estateID, System.Int32 count, System.Collections.Generic.List<LibreMetaverse.UUID> allowedUsers)`.
/// Mapping contract: ownership `owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.EstateUsersReplyEventArgs.AllowedUsers`.
///
/// C# signature: `System.Collections.Generic.List<LibreMetaverse.UUID> LibreMetaverse.EstateUsersReplyEventArgs.AllowedUsers`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.EstateUsersReplyEventArgs.Count`.
///
/// C# signature: `System.Int32 LibreMetaverse.EstateUsersReplyEventArgs.Count`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.EstateUsersReplyEventArgs.EstateID`.
///
/// C# signature: `System.UInt32 LibreMetaverse.EstateUsersReplyEventArgs.EstateID`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::estate_tools::EstateUsersReplyEventArgs;

/// C# type: `T:LibreMetaverse.EventInfoReplyEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.EventInfoReplyEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.EventInfoReplyEventArgs.#ctor(LibreMetaverse.DirectoryManager.EventInfo)`.
///
/// C# signature: `LibreMetaverse.EventInfoReplyEventArgs(LibreMetaverse.DirectoryManager.EventInfo matchedEvent)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.EventInfoReplyEventArgs.MatchedEvent`.
///
/// C# signature: `LibreMetaverse.DirectoryManager.EventInfo LibreMetaverse.EventInfoReplyEventArgs.MatchedEvent`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::directory_manager::EventInfoReplyEventArgs;

/// C# type: `T:LibreMetaverse.EventQueueRunningEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.EventQueueRunningEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.EventQueueRunningEventArgs.#ctor(LibreMetaverse.Simulator)`.
///
/// C# signature: `LibreMetaverse.EventQueueRunningEventArgs(LibreMetaverse.Simulator simulator)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.EventQueueRunningEventArgs.Simulator`.
///
/// C# signature: `LibreMetaverse.Simulator LibreMetaverse.EventQueueRunningEventArgs.Simulator`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::network_manager::EventQueueRunningEventArgs;

/// C# type: `T:LibreMetaverse.EventSubscriptionHelper`.
///
/// Native Rust mapping of C# `LibreMetaverse.EventSubscriptionHelper` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.EventSubscriptionHelper.WaitForCondition``1(System.Action{System.EventHandler{``0}},System.Action{System.EventHandler{``0}},System.Func{``0,System.Boolean},System.Int32)`.
///
/// C# signature: `System.Void LibreMetaverse.EventSubscriptionHelper.WaitForCondition(System.Action<System.EventHandler<TEventArgs>> subscribe, System.Action<System.EventHandler<TEventArgs>> unsubscribe, System.Func<TEventArgs, System.Boolean> condition, System.Int32 timeoutMs)`.
/// Mapping contract: ownership `owned,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.EventSubscriptionHelper.WaitForEventAsync``2(System.Action{System.EventHandler{``0}},System.Action{System.EventHandler{``0}},System.Func{``0,System.Boolean},System.Func{``0,``1},System.Int32,System.Threading.CancellationToken,``1)`.
///
/// C# signature: `System.Threading.Tasks.Task<TResult> LibreMetaverse.EventSubscriptionHelper.WaitForEventAsync(System.Action<System.EventHandler<TEventArgs>> subscribe, System.Action<System.EventHandler<TEventArgs>> unsubscribe, System.Func<TEventArgs, System.Boolean> filter, System.Func<TEventArgs, TResult> resultSelector, System.Int32 timeoutMs, System.Threading.CancellationToken cancellationToken = default, TResult defaultValue = default)`.
/// Mapping contract: ownership `owned,owned,owned,owned,owned,optional_owned,optional_owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.EventSubscriptionHelper.WaitForEvent``2(System.Action{System.EventHandler{``0}},System.Action{System.EventHandler{``0}},System.Func{``0,System.Boolean},System.Func{``0,``1},System.Int32,``1)`.
///
/// C# signature: `TResult LibreMetaverse.EventSubscriptionHelper.WaitForEvent(System.Action<System.EventHandler<TEventArgs>> subscribe, System.Action<System.EventHandler<TEventArgs>> unsubscribe, System.Func<TEventArgs, System.Boolean> filter, System.Func<TEventArgs, TResult> resultSelector, System.Int32 timeoutMs, TResult defaultValue = default)`.
/// Mapping contract: ownership `owned,owned,owned,owned,owned,optional_owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
pub use crate::event_subscription::EventSubscriptionHelper;

/// C# type: `T:LibreMetaverse.EventSubscription`1`.
///
/// Native Rust mapping of C# `LibreMetaverse.EventSubscription<TEventArgs>` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.EventSubscription`1.#ctor(System.Action{System.EventHandler{`0}},System.Action{System.EventHandler{`0}},System.EventHandler{`0})`.
///
/// C# signature: `LibreMetaverse.EventSubscription<TEventArgs>(System.Action<System.EventHandler<TEventArgs>> subscribe, System.Action<System.EventHandler<TEventArgs>> unsubscribe, System.EventHandler<TEventArgs> handler)`.
/// Mapping contract: ownership `owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.EventSubscription`1.Dispose`.
///
/// C# signature: `System.Void LibreMetaverse.EventSubscription<TEventArgs>.Dispose()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
pub use crate::event_subscription::EventSubscription;

/// C# type: `T:LibreMetaverse.ExperienceInfoEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.ExperienceInfoEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.ExperienceInfoEventArgs.#ctor(LibreMetaverse.Messages.Linden.ExperienceInfoMessage)`.
///
/// C# signature: `LibreMetaverse.ExperienceInfoEventArgs(LibreMetaverse.Messages.Linden.ExperienceInfoMessage experienceInfo)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.ExperienceInfoEventArgs.ExperienceInfo`.
///
/// C# signature: `LibreMetaverse.Messages.Linden.ExperienceInfoMessage LibreMetaverse.ExperienceInfoEventArgs.ExperienceInfo`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::agent_messages::ExperienceInfoEventArgs;

/// C# type: `T:LibreMetaverse.ExperiencePreferencesEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.ExperiencePreferencesEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.ExperiencePreferencesEventArgs.#ctor(LibreMetaverse.Messages.Linden.ExperiencePreferencesMessage)`.
///
/// C# signature: `LibreMetaverse.ExperiencePreferencesEventArgs(LibreMetaverse.Messages.Linden.ExperiencePreferencesMessage preferences)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.ExperiencePreferencesEventArgs.Preferences`.
///
/// C# signature: `LibreMetaverse.Messages.Linden.ExperiencePreferencesMessage LibreMetaverse.ExperiencePreferencesEventArgs.Preferences`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::agent_messages::ExperiencePreferencesEventArgs;

/// C# type: `T:LibreMetaverse.FieldType`.
///
/// Native Rust mapping of C# `LibreMetaverse.FieldType` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(i32)]
pub enum FieldType {
    /// C# member: `F:LibreMetaverse.FieldType.BOOL`.
    ///
    /// C# signature: `LibreMetaverse.FieldType LibreMetaverse.FieldType.BOOL`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    BOOL = 10,
    /// C# member: `F:LibreMetaverse.FieldType.F32`.
    ///
    /// C# signature: `LibreMetaverse.FieldType LibreMetaverse.FieldType.F32`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    F32 = 7,
    /// C# member: `F:LibreMetaverse.FieldType.F64`.
    ///
    /// C# signature: `LibreMetaverse.FieldType LibreMetaverse.FieldType.F64`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    F64 = 8,
    /// C# member: `F:LibreMetaverse.FieldType.Fixed`.
    ///
    /// C# signature: `LibreMetaverse.FieldType LibreMetaverse.FieldType.Fixed`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Fixed = 18,
    /// C# member: `F:LibreMetaverse.FieldType.IPADDR`.
    ///
    /// C# signature: `LibreMetaverse.FieldType LibreMetaverse.FieldType.IPADDR`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    IPADDR = 15,
    /// C# member: `F:LibreMetaverse.FieldType.IPPORT`.
    ///
    /// C# signature: `LibreMetaverse.FieldType LibreMetaverse.FieldType.IPPORT`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    IPPORT = 16,
    /// C# member: `F:LibreMetaverse.FieldType.Multiple`.
    ///
    /// C# signature: `LibreMetaverse.FieldType LibreMetaverse.FieldType.Multiple`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Multiple = 20,
    /// C# member: `F:LibreMetaverse.FieldType.Quaternion`.
    ///
    /// C# signature: `LibreMetaverse.FieldType LibreMetaverse.FieldType.Quaternion`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Quaternion = 14,
    /// C# member: `F:LibreMetaverse.FieldType.S16`.
    ///
    /// C# signature: `LibreMetaverse.FieldType LibreMetaverse.FieldType.S16`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    S16 = 5,
    /// C# member: `F:LibreMetaverse.FieldType.S32`.
    ///
    /// C# signature: `LibreMetaverse.FieldType LibreMetaverse.FieldType.S32`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    S32 = 6,
    /// C# member: `F:LibreMetaverse.FieldType.S8`.
    ///
    /// C# signature: `LibreMetaverse.FieldType LibreMetaverse.FieldType.S8`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    S8 = 4,
    /// C# member: `F:LibreMetaverse.FieldType.Single`.
    ///
    /// C# signature: `LibreMetaverse.FieldType LibreMetaverse.FieldType.Single`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Single = 19,
    /// C# member: `F:LibreMetaverse.FieldType.U16`.
    ///
    /// C# signature: `LibreMetaverse.FieldType LibreMetaverse.FieldType.U16`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    U16 = 1,
    /// C# member: `F:LibreMetaverse.FieldType.U32`.
    ///
    /// C# signature: `LibreMetaverse.FieldType LibreMetaverse.FieldType.U32`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    U32 = 2,
    /// C# member: `F:LibreMetaverse.FieldType.U64`.
    ///
    /// C# signature: `LibreMetaverse.FieldType LibreMetaverse.FieldType.U64`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    U64 = 3,
    /// C# member: `F:LibreMetaverse.FieldType.U8`.
    ///
    /// C# signature: `LibreMetaverse.FieldType LibreMetaverse.FieldType.U8`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    U8 = 0,
    /// C# member: `F:LibreMetaverse.FieldType.UUID`.
    ///
    /// C# signature: `LibreMetaverse.FieldType LibreMetaverse.FieldType.UUID`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    UUID = 9,
    /// C# member: `F:LibreMetaverse.FieldType.Variable`.
    ///
    /// C# signature: `LibreMetaverse.FieldType LibreMetaverse.FieldType.Variable`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Variable = 17,
    /// C# member: `F:LibreMetaverse.FieldType.Vector3`.
    ///
    /// C# signature: `LibreMetaverse.FieldType LibreMetaverse.FieldType.Vector3`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Vector3 = 11,
    /// C# member: `F:LibreMetaverse.FieldType.Vector3d`.
    ///
    /// C# signature: `LibreMetaverse.FieldType LibreMetaverse.FieldType.Vector3d`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Vector3d = 12,
    /// C# member: `F:LibreMetaverse.FieldType.Vector4`.
    ///
    /// C# signature: `LibreMetaverse.FieldType LibreMetaverse.FieldType.Vector4`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Vector4 = 13,
}

/// C# type: `T:LibreMetaverse.FileHelper`.
///
/// Native Rust mapping of C# `LibreMetaverse.FileHelper` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.FileHelper.SafeDirName(System.String)`.
///
/// C# signature: `System.String LibreMetaverse.FileHelper.SafeDirName(System.String original)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.FileHelper.SafeFileName(System.String)`.
///
/// C# signature: `System.String LibreMetaverse.FileHelper.SafeFileName(System.String original)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.FileHelper.Sanitize(System.String,System.Char[],System.Char)`.
///
/// C# signature: `System.String LibreMetaverse.FileHelper.Sanitize(System.String input, System.Char[] invalidChars, System.Char replacement = default)`.
/// Mapping contract: ownership `owned,owned,optional_owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.FileHelper.TryParseTwoNames(System.String,System.String@,System.String@)`.
///
/// C# signature: `System.Boolean LibreMetaverse.FileHelper.TryParseTwoNames(System.String input, out System.String& first, out System.String& last)`.
/// Mapping contract: ownership `owned,mutable_output,mutable_output`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
pub use crate::file_helper::FileHelper;

/// C# type: `T:LibreMetaverse.FindObjectByPathReplyEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.FindObjectByPathReplyEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.FindObjectByPathReplyEventArgs.#ctor(System.String,LibreMetaverse.UUID)`.
///
/// C# signature: `LibreMetaverse.FindObjectByPathReplyEventArgs(System.String path, LibreMetaverse.UUID inventoryObjectID)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.FindObjectByPathReplyEventArgs.InventoryObjectID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.FindObjectByPathReplyEventArgs.InventoryObjectID`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.FindObjectByPathReplyEventArgs.Path`.
///
/// C# signature: `System.String LibreMetaverse.FindObjectByPathReplyEventArgs.Path`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::inventory_manager::FindObjectByPathReplyEventArgs;

/// C# type: `T:LibreMetaverse.FolderUpdatedEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.FolderUpdatedEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.FolderUpdatedEventArgs.#ctor(LibreMetaverse.UUID,System.Boolean)`.
///
/// C# signature: `LibreMetaverse.FolderUpdatedEventArgs(LibreMetaverse.UUID folderID, System.Boolean success)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.FolderUpdatedEventArgs.FolderID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.FolderUpdatedEventArgs.FolderID`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.FolderUpdatedEventArgs.Success`.
///
/// C# signature: `System.Boolean LibreMetaverse.FolderUpdatedEventArgs.Success`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::inventory_manager::FolderUpdatedEventArgs;

/// C# type: `T:LibreMetaverse.ForceSelectObjectsReplyEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.ForceSelectObjectsReplyEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.ForceSelectObjectsReplyEventArgs.#ctor(LibreMetaverse.Simulator,System.Collections.Generic.List{System.UInt32},System.Boolean)`.
///
/// C# signature: `LibreMetaverse.ForceSelectObjectsReplyEventArgs(LibreMetaverse.Simulator simulator, System.Collections.Generic.List<System.UInt32> objectIDs, System.Boolean resetList)`.
/// Mapping contract: ownership `owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.ForceSelectObjectsReplyEventArgs.ObjectIDs`.
///
/// C# signature: `System.Collections.Generic.List<System.UInt32> LibreMetaverse.ForceSelectObjectsReplyEventArgs.ObjectIDs`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.ForceSelectObjectsReplyEventArgs.ResetList`.
///
/// C# signature: `System.Boolean LibreMetaverse.ForceSelectObjectsReplyEventArgs.ResetList`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.ForceSelectObjectsReplyEventArgs.Simulator`.
///
/// C# signature: `LibreMetaverse.Simulator LibreMetaverse.ForceSelectObjectsReplyEventArgs.Simulator`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::parcel_manager::ForceSelectObjectsReplyEventArgs;

/// C# type: `T:LibreMetaverse.FriendFoundReplyEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.FriendFoundReplyEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.FriendFoundReplyEventArgs.#ctor(LibreMetaverse.UUID,System.UInt64,LibreMetaverse.Vector3)`.
///
/// C# signature: `LibreMetaverse.FriendFoundReplyEventArgs(LibreMetaverse.UUID agentID, System.UInt64 regionHandle, LibreMetaverse.Vector3 location)`.
/// Mapping contract: ownership `owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.FriendFoundReplyEventArgs.AgentID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.FriendFoundReplyEventArgs.AgentID`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.FriendFoundReplyEventArgs.Location`.
///
/// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.FriendFoundReplyEventArgs.Location`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.FriendFoundReplyEventArgs.RegionHandle`.
///
/// C# signature: `System.UInt64 LibreMetaverse.FriendFoundReplyEventArgs.RegionHandle`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::friends_manager::FriendFoundReplyEventArgs;

/// C# type: `T:LibreMetaverse.FriendInfo`.
///
/// Native Rust mapping of C# `LibreMetaverse.FriendInfo` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.FriendInfo.ToString`.
///
/// C# signature: `System.String LibreMetaverse.FriendInfo.ToString()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.FriendInfo.CanModifyMyObjects`.
///
/// C# signature: `System.Boolean LibreMetaverse.FriendInfo.CanModifyMyObjects`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.FriendInfo.CanModifyTheirObjects`.
///
/// C# signature: `System.Boolean LibreMetaverse.FriendInfo.CanModifyTheirObjects`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.FriendInfo.CanSeeMeOnMap`.
///
/// C# signature: `System.Boolean LibreMetaverse.FriendInfo.CanSeeMeOnMap`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.FriendInfo.CanSeeMeOnline`.
///
/// C# signature: `System.Boolean LibreMetaverse.FriendInfo.CanSeeMeOnline`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.FriendInfo.CanSeeThemOnMap`.
///
/// C# signature: `System.Boolean LibreMetaverse.FriendInfo.CanSeeThemOnMap`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.FriendInfo.CanSeeThemOnline`.
///
/// C# signature: `System.Boolean LibreMetaverse.FriendInfo.CanSeeThemOnline`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.FriendInfo.IsOnline`.
///
/// C# signature: `System.Boolean LibreMetaverse.FriendInfo.IsOnline`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.FriendInfo.MyFriendRights`.
///
/// C# signature: `LibreMetaverse.FriendRights LibreMetaverse.FriendInfo.MyFriendRights`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.FriendInfo.Name`.
///
/// C# signature: `System.String LibreMetaverse.FriendInfo.Name`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.FriendInfo.TheirFriendRights`.
///
/// C# signature: `LibreMetaverse.FriendRights LibreMetaverse.FriendInfo.TheirFriendRights`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.FriendInfo.UUID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.FriendInfo.UUID`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::friends_manager::FriendInfo;

/// C# type: `T:LibreMetaverse.FriendInfoEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.FriendInfoEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.FriendInfoEventArgs.#ctor(LibreMetaverse.FriendInfo)`.
///
/// C# signature: `LibreMetaverse.FriendInfoEventArgs(LibreMetaverse.FriendInfo friend)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.FriendInfoEventArgs.Friend`.
///
/// C# signature: `LibreMetaverse.FriendInfo LibreMetaverse.FriendInfoEventArgs.Friend`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::friends_manager::FriendInfoEventArgs;

/// C# type: `T:LibreMetaverse.FriendNamesEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.FriendNamesEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.FriendNamesEventArgs.#ctor(System.Collections.Generic.Dictionary{LibreMetaverse.UUID,System.String})`.
///
/// C# signature: `LibreMetaverse.FriendNamesEventArgs(System.Collections.Generic.Dictionary<LibreMetaverse.UUID, System.String> names)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.FriendNamesEventArgs.Names`.
///
/// C# signature: `System.Collections.Generic.Dictionary<LibreMetaverse.UUID, System.String> LibreMetaverse.FriendNamesEventArgs.Names`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::friends_manager::FriendNamesEventArgs;

/// C# type: `T:LibreMetaverse.FriendRights`.
///
/// Native Rust mapping of C# `LibreMetaverse.FriendRights` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(transparent)]
pub struct FriendRights(pub i32);
impl FriendRights {
    /// C# member: `F:LibreMetaverse.FriendRights.CanModifyObjects`.
    ///
    /// C# signature: `LibreMetaverse.FriendRights LibreMetaverse.FriendRights.CanModifyObjects`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const CAN_MODIFY_OBJECTS: Self = Self(4);
    /// C# member: `F:LibreMetaverse.FriendRights.CanSeeOnMap`.
    ///
    /// C# signature: `LibreMetaverse.FriendRights LibreMetaverse.FriendRights.CanSeeOnMap`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const CAN_SEE_ON_MAP: Self = Self(2);
    /// C# member: `F:LibreMetaverse.FriendRights.CanSeeOnline`.
    ///
    /// C# signature: `LibreMetaverse.FriendRights LibreMetaverse.FriendRights.CanSeeOnline`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const CAN_SEE_ONLINE: Self = Self(1);
    /// C# member: `F:LibreMetaverse.FriendRights.None`.
    ///
    /// C# signature: `LibreMetaverse.FriendRights LibreMetaverse.FriendRights.None`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const NONE: Self = Self(0);
}

/// C# type: `T:LibreMetaverse.FriendsManager`.
///
/// Native Rust mapping of C# `LibreMetaverse.FriendsManager` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `E:LibreMetaverse.FriendsManager.CallingCardOffered`.
///
/// C# signature: `System.EventHandler<LibreMetaverse.CallingCardOfferedEventArgs> LibreMetaverse.FriendsManager.CallingCardOffered`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `E:LibreMetaverse.FriendsManager.FriendFoundReply`.
///
/// C# signature: `System.EventHandler<LibreMetaverse.FriendFoundReplyEventArgs> LibreMetaverse.FriendsManager.FriendFoundReply`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `E:LibreMetaverse.FriendsManager.FriendNames`.
///
/// C# signature: `System.EventHandler<LibreMetaverse.FriendNamesEventArgs> LibreMetaverse.FriendsManager.FriendNames`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `E:LibreMetaverse.FriendsManager.FriendOffline`.
///
/// C# signature: `System.EventHandler<LibreMetaverse.FriendInfoEventArgs> LibreMetaverse.FriendsManager.FriendOffline`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `E:LibreMetaverse.FriendsManager.FriendOnline`.
///
/// C# signature: `System.EventHandler<LibreMetaverse.FriendInfoEventArgs> LibreMetaverse.FriendsManager.FriendOnline`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `E:LibreMetaverse.FriendsManager.FriendRightsUpdate`.
///
/// C# signature: `System.EventHandler<LibreMetaverse.FriendInfoEventArgs> LibreMetaverse.FriendsManager.FriendRightsUpdate`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `E:LibreMetaverse.FriendsManager.FriendshipOffered`.
///
/// C# signature: `System.EventHandler<LibreMetaverse.FriendshipOfferedEventArgs> LibreMetaverse.FriendsManager.FriendshipOffered`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `E:LibreMetaverse.FriendsManager.FriendshipResponse`.
///
/// C# signature: `System.EventHandler<LibreMetaverse.FriendshipResponseEventArgs> LibreMetaverse.FriendsManager.FriendshipResponse`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `E:LibreMetaverse.FriendsManager.FriendshipTerminated`.
///
/// C# signature: `System.EventHandler<LibreMetaverse.FriendshipTerminatedEventArgs> LibreMetaverse.FriendsManager.FriendshipTerminated`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `E:LibreMetaverse.FriendsManager.friendsListReady`.
///
/// C# signature: `System.EventHandler<LibreMetaverse.FriendsReadyEventArgs> LibreMetaverse.FriendsManager.friendsListReady`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `M:LibreMetaverse.FriendsManager.AcceptCallingCard(LibreMetaverse.UUID,LibreMetaverse.UUID)`.
///
/// C# signature: `System.Void LibreMetaverse.FriendsManager.AcceptCallingCard(LibreMetaverse.UUID fromAgentID, LibreMetaverse.UUID transactionID)`.
/// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.FriendsManager.AcceptFriendship(LibreMetaverse.UUID,LibreMetaverse.UUID)`.
///
/// C# signature: `System.Void LibreMetaverse.FriendsManager.AcceptFriendship(LibreMetaverse.UUID fromAgentID, LibreMetaverse.UUID imSessionID)`.
/// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.FriendsManager.AcceptFriendshipViaCapAsync(LibreMetaverse.UUID,System.Threading.CancellationToken)`.
///
/// C# signature: `System.Threading.Tasks.Task LibreMetaverse.FriendsManager.AcceptFriendshipViaCapAsync(LibreMetaverse.UUID fromAgentID, System.Threading.CancellationToken cancellationToken = default)`.
/// Mapping contract: ownership `shared_self,owned,optional_owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.FriendsManager.DeclineCallingCard(LibreMetaverse.UUID,LibreMetaverse.UUID)`.
///
/// C# signature: `System.Void LibreMetaverse.FriendsManager.DeclineCallingCard(LibreMetaverse.UUID fromAgentID, LibreMetaverse.UUID transactionID)`.
/// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.FriendsManager.DeclineFriendship(LibreMetaverse.UUID,LibreMetaverse.UUID)`.
///
/// C# signature: `System.Void LibreMetaverse.FriendsManager.DeclineFriendship(LibreMetaverse.UUID fromAgentID, LibreMetaverse.UUID imSessionID)`.
/// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.FriendsManager.DeclineFriendshipViaCapAsync(LibreMetaverse.UUID,System.Threading.CancellationToken)`.
///
/// C# signature: `System.Threading.Tasks.Task LibreMetaverse.FriendsManager.DeclineFriendshipViaCapAsync(LibreMetaverse.UUID fromAgentID, System.Threading.CancellationToken cancellationToken = default)`.
/// Mapping contract: ownership `shared_self,owned,optional_owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.FriendsManager.Dispose`.
///
/// C# signature: `System.Void LibreMetaverse.FriendsManager.Dispose()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.FriendsManager.GiveCallingCard(LibreMetaverse.UUID)`.
///
/// C# signature: `System.Void LibreMetaverse.FriendsManager.GiveCallingCard(LibreMetaverse.UUID agentID)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.FriendsManager.GrantRights(LibreMetaverse.UUID,LibreMetaverse.FriendRights)`.
///
/// C# signature: `System.Void LibreMetaverse.FriendsManager.GrantRights(LibreMetaverse.UUID friendID, LibreMetaverse.FriendRights rights)`.
/// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.FriendsManager.MapFriend(LibreMetaverse.UUID)`.
///
/// C# signature: `System.Void LibreMetaverse.FriendsManager.MapFriend(LibreMetaverse.UUID friendID)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.FriendsManager.OfferFriendship(LibreMetaverse.UUID)`.
///
/// C# signature: `System.Void LibreMetaverse.FriendsManager.OfferFriendship(LibreMetaverse.UUID agentID)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.FriendsManager.OfferFriendship(LibreMetaverse.UUID,System.String)`.
///
/// C# signature: `System.Void LibreMetaverse.FriendsManager.OfferFriendship(LibreMetaverse.UUID agentID, System.String message)`.
/// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.FriendsManager.OnFindAgentReplyHandler(System.Object,LibreMetaverse.PacketReceivedEventArgs)`.
///
/// C# signature: `System.Void LibreMetaverse.FriendsManager.OnFindAgentReplyHandler(System.Object sender, LibreMetaverse.PacketReceivedEventArgs e)`.
/// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.FriendsManager.RequestOnlineNotification(LibreMetaverse.UUID)`.
///
/// C# signature: `System.Void LibreMetaverse.FriendsManager.RequestOnlineNotification(LibreMetaverse.UUID friendID)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.FriendsManager.TerminateFriendship(LibreMetaverse.UUID)`.
///
/// C# signature: `System.Void LibreMetaverse.FriendsManager.TerminateFriendship(LibreMetaverse.UUID agentID)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.FriendsManager.TrackFriend(LibreMetaverse.UUID)`.
///
/// C# signature: `System.Void LibreMetaverse.FriendsManager.TrackFriend(LibreMetaverse.UUID friendID)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.FriendsManager.FriendList`.
///
/// C# signature: `System.Collections.Generic.IReadOnlyDictionary<LibreMetaverse.UUID, LibreMetaverse.FriendInfo> LibreMetaverse.FriendsManager.FriendList`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.FriendsManager.FriendRequests`.
///
/// C# signature: `System.Collections.Generic.IReadOnlyDictionary<LibreMetaverse.UUID, LibreMetaverse.UUID> LibreMetaverse.FriendsManager.FriendRequests`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::friends_manager::FriendsManager;

/// C# type: `T:LibreMetaverse.FriendsReadyEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.FriendsReadyEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.FriendsReadyEventArgs.#ctor(System.Int32)`.
///
/// C# signature: `LibreMetaverse.FriendsReadyEventArgs(System.Int32 count)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.FriendsReadyEventArgs.Count`.
///
/// C# signature: `System.Int32 LibreMetaverse.FriendsReadyEventArgs.Count`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::friends_manager::FriendsReadyEventArgs;

/// C# type: `T:LibreMetaverse.FriendshipOfferedEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.FriendshipOfferedEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.FriendshipOfferedEventArgs.#ctor(LibreMetaverse.UUID,System.String,LibreMetaverse.UUID)`.
///
/// C# signature: `LibreMetaverse.FriendshipOfferedEventArgs(LibreMetaverse.UUID agentID, System.String agentName, LibreMetaverse.UUID imSessionID)`.
/// Mapping contract: ownership `owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.FriendshipOfferedEventArgs.AgentID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.FriendshipOfferedEventArgs.AgentID`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.FriendshipOfferedEventArgs.AgentName`.
///
/// C# signature: `System.String LibreMetaverse.FriendshipOfferedEventArgs.AgentName`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.FriendshipOfferedEventArgs.SessionID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.FriendshipOfferedEventArgs.SessionID`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::friends_manager::FriendshipOfferedEventArgs;

/// C# type: `T:LibreMetaverse.FriendshipResponseEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.FriendshipResponseEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.FriendshipResponseEventArgs.#ctor(LibreMetaverse.UUID,System.String,System.Boolean)`.
///
/// C# signature: `LibreMetaverse.FriendshipResponseEventArgs(LibreMetaverse.UUID agentID, System.String agentName, System.Boolean accepted)`.
/// Mapping contract: ownership `owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.FriendshipResponseEventArgs.Accepted`.
///
/// C# signature: `System.Boolean LibreMetaverse.FriendshipResponseEventArgs.Accepted`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.FriendshipResponseEventArgs.AgentID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.FriendshipResponseEventArgs.AgentID`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.FriendshipResponseEventArgs.AgentName`.
///
/// C# signature: `System.String LibreMetaverse.FriendshipResponseEventArgs.AgentName`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::friends_manager::FriendshipResponseEventArgs;

/// C# type: `T:LibreMetaverse.FriendshipTerminatedEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.FriendshipTerminatedEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.FriendshipTerminatedEventArgs.#ctor(LibreMetaverse.UUID,System.String)`.
///
/// C# signature: `LibreMetaverse.FriendshipTerminatedEventArgs(LibreMetaverse.UUID agentID, System.String agentName)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.FriendshipTerminatedEventArgs.AgentID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.FriendshipTerminatedEventArgs.AgentID`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.FriendshipTerminatedEventArgs.AgentName`.
///
/// C# signature: `System.String LibreMetaverse.FriendshipTerminatedEventArgs.AgentName`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::friends_manager::FriendshipTerminatedEventArgs;

/// C# type: `T:LibreMetaverse.GLTFMaterialUpdate`.
///
/// Native Rust mapping of C# `LibreMetaverse.GLTFMaterialUpdate` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.GLTFMaterialUpdate.#ctor`.
///
/// C# signature: `LibreMetaverse.GLTFMaterialUpdate()`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.GLTFMaterialUpdate.AssetId`.
///
/// C# signature: `System.Nullable<LibreMetaverse.UUID> LibreMetaverse.GLTFMaterialUpdate.AssetId`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.GLTFMaterialUpdate.ObjectId`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.GLTFMaterialUpdate.ObjectId`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.GLTFMaterialUpdate.Override`.
///
/// C# signature: `LibreMetaverse.Assets.AssetMaterial LibreMetaverse.GLTFMaterialUpdate.Override`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.GLTFMaterialUpdate.Side`.
///
/// C# signature: `System.Int32 LibreMetaverse.GLTFMaterialUpdate.Side`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::object_material::GLTFMaterialUpdate;

/// C# type: `T:LibreMetaverse.Genepool`.
///
/// Native Rust mapping of C# `LibreMetaverse.Genepool` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `F:LibreMetaverse.Genepool.Archetypes`.
///
/// C# signature: `LibreMetaverse.GenepoolArchetype[] LibreMetaverse.Genepool.Archetypes`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
/// C# member: `M:LibreMetaverse.Genepool.FindIndex(System.String)`.
///
/// C# signature: `System.Int32 LibreMetaverse.Genepool.FindIndex(System.String name)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Genepool.Get(System.Int32)`.
///
/// C# signature: `LibreMetaverse.GenepoolArchetype& LibreMetaverse.Genepool.Get(System.Int32 index)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
pub use crate::genepool_catalog::Genepool;

/// C# type: `T:LibreMetaverse.GenepoolArchetype`.
///
/// Native Rust mapping of C# `LibreMetaverse.GenepoolArchetype` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `P:LibreMetaverse.GenepoolArchetype.Name`.
///
/// C# signature: `System.String LibreMetaverse.GenepoolArchetype.Name`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.GenepoolArchetype.Params`.
///
/// C# signature: `LibreMetaverse.ArchetypeParam[] LibreMetaverse.GenepoolArchetype.Params`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::genepool_catalog::GenepoolArchetype;

/// C# type: `T:LibreMetaverse.GenericStreamingMessageEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.GenericStreamingMessageEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.GenericStreamingMessageEventArgs.#ctor(LibreMetaverse.Simulator,LibreMetaverse.GenericStreamingMethod,System.Byte[])`.
///
/// C# signature: `LibreMetaverse.GenericStreamingMessageEventArgs(LibreMetaverse.Simulator simulator, LibreMetaverse.GenericStreamingMethod method, System.Byte[] data)`.
/// Mapping contract: ownership `owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.GenericStreamingMessageEventArgs.Data`.
///
/// C# signature: `System.Byte[] LibreMetaverse.GenericStreamingMessageEventArgs.Data`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.GenericStreamingMessageEventArgs.Method`.
///
/// C# signature: `LibreMetaverse.GenericStreamingMethod LibreMetaverse.GenericStreamingMessageEventArgs.Method`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.GenericStreamingMessageEventArgs.Simulator`.
///
/// C# signature: `LibreMetaverse.Simulator LibreMetaverse.GenericStreamingMessageEventArgs.Simulator`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::network_manager::GenericStreamingMessageEventArgs;

/// C# type: `T:LibreMetaverse.GenericStreamingMethod`.
///
/// Native Rust mapping of C# `LibreMetaverse.GenericStreamingMethod` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(u16)]
pub enum GenericStreamingMethod {
    /// C# member: `F:LibreMetaverse.GenericStreamingMethod.GltfMaterialOverride`.
    ///
    /// C# signature: `LibreMetaverse.GenericStreamingMethod LibreMetaverse.GenericStreamingMethod.GltfMaterialOverride`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    GltfMaterialOverride = 16757,
    /// C# member: `F:LibreMetaverse.GenericStreamingMethod.Unknown`.
    ///
    /// C# signature: `LibreMetaverse.GenericStreamingMethod LibreMetaverse.GenericStreamingMethod.Unknown`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Unknown = 65535,
}

/// C# type: `T:LibreMetaverse.Grass`.
///
/// Native Rust mapping of C# `LibreMetaverse.Grass` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(u8)]
pub enum Grass {
    /// C# member: `F:LibreMetaverse.Grass.Grass0`.
    ///
    /// C# signature: `LibreMetaverse.Grass LibreMetaverse.Grass.Grass0`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Grass0 = 0,
    /// C# member: `F:LibreMetaverse.Grass.Grass1`.
    ///
    /// C# signature: `LibreMetaverse.Grass LibreMetaverse.Grass.Grass1`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Grass1 = 1,
    /// C# member: `F:LibreMetaverse.Grass.Grass2`.
    ///
    /// C# signature: `LibreMetaverse.Grass LibreMetaverse.Grass.Grass2`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Grass2 = 2,
    /// C# member: `F:LibreMetaverse.Grass.Grass3`.
    ///
    /// C# signature: `LibreMetaverse.Grass LibreMetaverse.Grass.Grass3`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Grass3 = 3,
    /// C# member: `F:LibreMetaverse.Grass.Grass4`.
    ///
    /// C# signature: `LibreMetaverse.Grass LibreMetaverse.Grass.Grass4`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Grass4 = 4,
    /// C# member: `F:LibreMetaverse.Grass.Undergrowth1`.
    ///
    /// C# signature: `LibreMetaverse.Grass LibreMetaverse.Grass.Undergrowth1`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Undergrowth1 = 5,
}

/// C# type: `T:LibreMetaverse.GrassDefinition`.
///
/// Native Rust mapping of C# `LibreMetaverse.GrassDefinition` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `P:LibreMetaverse.GrassDefinition.BladeSizeX`.
///
/// C# signature: `System.Single LibreMetaverse.GrassDefinition.BladeSizeX`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.GrassDefinition.BladeSizeY`.
///
/// C# signature: `System.Single LibreMetaverse.GrassDefinition.BladeSizeY`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.GrassDefinition.Name`.
///
/// C# signature: `System.String LibreMetaverse.GrassDefinition.Name`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.GrassDefinition.SpeciesId`.
///
/// C# signature: `System.Int32 LibreMetaverse.GrassDefinition.SpeciesId`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.GrassDefinition.TextureId`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.GrassDefinition.TextureId`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::foliage_catalog::GrassDefinition;

/// C# type: `T:LibreMetaverse.GrassDefinitions`.
///
/// Native Rust mapping of C# `LibreMetaverse.GrassDefinitions` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `F:LibreMetaverse.GrassDefinitions.All`.
///
/// C# signature: `LibreMetaverse.GrassDefinition[] LibreMetaverse.GrassDefinitions.All`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
/// C# member: `M:LibreMetaverse.GrassDefinitions.Get(LibreMetaverse.Grass)`.
///
/// C# signature: `LibreMetaverse.GrassDefinition& LibreMetaverse.GrassDefinitions.Get(LibreMetaverse.Grass species)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
pub use crate::foliage_catalog::GrassDefinitions;

/// C# type: `T:LibreMetaverse.GridClient`.
///
/// Native Rust mapping of C# `LibreMetaverse.GridClient` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
pub use crate::client_core::GridClient;
impl GridClient {
    /// C# member: `M:LibreMetaverse.GridClient.#ctor`.
    ///
    /// C# signature: `LibreMetaverse.GridClient()`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn new() -> Result<Self, crate::Error> {
        /* native client-core implementation */
        crate::client_core::GridClientBuilder::default()
            .build()
            .map_err(Into::into)
    }
    /// C# member: `M:LibreMetaverse.GridClient.Dispose`.
    ///
    /// C# signature: `System.Void LibreMetaverse.GridClient.Dispose()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub fn dispose_with_method(&self) -> Result<(), crate::Error> {
        /* native client-core implementation */
        self.shutdown().map_err(Into::into)
    }
    /// C# member: `M:LibreMetaverse.GridClient.DisposeAsync`.
    ///
    /// C# signature: `System.Threading.Tasks.ValueTask LibreMetaverse.GridClient.DisposeAsync()`.
    /// Mapping contract: ownership `shared_self`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name_with_stable_id`; kind `method`.
    pub async fn dispose_with_method_87ebceff(&self) -> Result<(), crate::Error> {
        /* native client-core implementation */
        self.shutdown().map_err(Into::into)
    }
    /// C# member: `M:LibreMetaverse.GridClient.ToString`.
    ///
    /// C# signature: `System.String LibreMetaverse.GridClient.ToString()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
    pub fn to_string(&self) -> String {
        /* native client-core implementation */
        String::new()
    }
    /// C# member: `P:LibreMetaverse.GridClient.AisClient`.
    ///
    /// C# signature: `LibreMetaverse.InventoryAISClient LibreMetaverse.GridClient.AisClient`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn ais_client(&self) -> libremetaverse::InventoryAISClient {
        /* native client-core implementation */
        self.native_ais_client()
            .unwrap_or_else(|_| panic!("failed to construct InventoryAISClient"))
    }
    /// Setter for C# member: `P:LibreMetaverse.GridClient.AisClient`.
    pub fn set_ais_client(&mut self, value: libremetaverse::InventoryAISClient) {
        /* native client-core implementation */
        self.native_set_ais_client(value)
    }
    /// C# member: `P:LibreMetaverse.GridClient.Animesh`.
    ///
    /// C# signature: `LibreMetaverse.Animesh.AnimeshManager LibreMetaverse.GridClient.Animesh`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn animesh(&self) -> libremetaverse::animesh::AnimeshManager {
        /* native client-core implementation */
        self.native_animesh()
            .unwrap_or_else(|_| panic!("failed to construct AnimeshManager"))
    }
    /// Setter for C# member: `P:LibreMetaverse.GridClient.Animesh`.
    pub fn set_animesh(&mut self, value: libremetaverse::animesh::AnimeshManager) {
        /* native client-core implementation */
        self.native_set_animesh(value)
    }
    /// C# member: `P:LibreMetaverse.GridClient.Appearance`.
    ///
    /// C# signature: `LibreMetaverse.AppearanceManager LibreMetaverse.GridClient.Appearance`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn appearance(&self) -> libremetaverse::AppearanceManager {
        /* native client-core implementation */
        self.native_appearance()
            .unwrap_or_else(|_| panic!("failed to construct AppearanceManager"))
    }
    /// Setter for C# member: `P:LibreMetaverse.GridClient.Appearance`.
    pub fn set_appearance(&mut self, value: libremetaverse::AppearanceManager) {
        /* native client-core implementation */
        self.native_set_appearance(value)
    }
    /// C# member: `P:LibreMetaverse.GridClient.Assets`.
    ///
    /// C# signature: `LibreMetaverse.AssetManager LibreMetaverse.GridClient.Assets`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn assets(&self) -> libremetaverse::AssetManager {
        /* native client-core implementation */
        self.native_assets()
            .unwrap_or_else(|_| panic!("failed to construct AssetManager"))
    }
    /// Setter for C# member: `P:LibreMetaverse.GridClient.Assets`.
    pub fn set_assets(&mut self, value: libremetaverse::AssetManager) {
        /* native client-core implementation */
        self.native_set_assets(value)
    }
    /// C# member: `P:LibreMetaverse.GridClient.Avatars`.
    ///
    /// C# signature: `LibreMetaverse.AvatarManager LibreMetaverse.GridClient.Avatars`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn avatars(&self) -> libremetaverse::AvatarManager {
        /* native client-core implementation */
        self.native_avatars()
            .unwrap_or_else(|_| panic!("failed to construct AvatarManager"))
    }
    /// Setter for C# member: `P:LibreMetaverse.GridClient.Avatars`.
    pub fn set_avatars(&mut self, value: libremetaverse::AvatarManager) {
        /* native client-core implementation */
        self.native_set_avatars(value)
    }
    /// C# member: `P:LibreMetaverse.GridClient.CapsRateLimiter`.
    ///
    /// C# signature: `LibreMetaverse.CapsRateLimiter LibreMetaverse.GridClient.CapsRateLimiter`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn caps_rate_limiter(&self) -> libremetaverse::CapsRateLimiter {
        /* native client-core implementation */
        self.native_caps_rate_limiter()
    }
    /// Setter for C# member: `P:LibreMetaverse.GridClient.CapsRateLimiter`.
    pub fn set_caps_rate_limiter(&mut self, value: libremetaverse::CapsRateLimiter) {
        /* native client-core implementation */
        self.native_set_caps_rate_limiter(value)
    }
    /// C# member: `P:LibreMetaverse.GridClient.Directory`.
    ///
    /// C# signature: `LibreMetaverse.DirectoryManager LibreMetaverse.GridClient.Directory`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn directory(&self) -> libremetaverse::DirectoryManager {
        /* native client-core implementation */
        self.native_directory()
            .unwrap_or_else(|_| panic!("failed to construct DirectoryManager"))
    }
    /// Setter for C# member: `P:LibreMetaverse.GridClient.Directory`.
    pub fn set_directory(&mut self, value: libremetaverse::DirectoryManager) {
        /* native client-core implementation */
        self.native_set_directory(value)
    }
    /// C# member: `P:LibreMetaverse.GridClient.Environment`.
    ///
    /// C# signature: `LibreMetaverse.EnvironmentManager LibreMetaverse.GridClient.Environment`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn environment(&self) -> libremetaverse::EnvironmentManager {
        /* native client-core implementation */
        self.native_environment()
            .unwrap_or_else(|_| panic!("failed to construct EnvironmentManager"))
    }
    /// Setter for C# member: `P:LibreMetaverse.GridClient.Environment`.
    pub fn set_environment(&mut self, value: libremetaverse::EnvironmentManager) {
        /* native client-core implementation */
        self.native_set_environment(value)
    }
    /// C# member: `P:LibreMetaverse.GridClient.Estate`.
    ///
    /// C# signature: `LibreMetaverse.EstateTools LibreMetaverse.GridClient.Estate`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn estate(&self) -> libremetaverse::EstateTools {
        /* native client-core implementation */
        self.native_estate()
            .unwrap_or_else(|_| panic!("failed to construct EstateTools"))
    }
    /// Setter for C# member: `P:LibreMetaverse.GridClient.Estate`.
    pub fn set_estate(&mut self, value: libremetaverse::EstateTools) {
        /* native client-core implementation */
        self.native_set_estate(value)
    }
    /// C# member: `P:LibreMetaverse.GridClient.Friends`.
    ///
    /// C# signature: `LibreMetaverse.FriendsManager LibreMetaverse.GridClient.Friends`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn friends(&self) -> libremetaverse::FriendsManager {
        /* native client-core implementation */
        self.native_friends()
            .unwrap_or_else(|_| panic!("failed to construct FriendsManager"))
    }
    /// Setter for C# member: `P:LibreMetaverse.GridClient.Friends`.
    pub fn set_friends(&mut self, value: libremetaverse::FriendsManager) {
        /* native client-core implementation */
        self.native_set_friends(value)
    }
    /// C# member: `P:LibreMetaverse.GridClient.Grid`.
    ///
    /// C# signature: `LibreMetaverse.GridManager LibreMetaverse.GridClient.Grid`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn grid(&self) -> libremetaverse::GridManager {
        /* native client-core implementation */
        self.native_grid()
            .unwrap_or_else(|_| panic!("failed to construct GridManager"))
    }
    /// Setter for C# member: `P:LibreMetaverse.GridClient.Grid`.
    pub fn set_grid(&mut self, value: libremetaverse::GridManager) {
        /* native client-core implementation */
        self.native_set_grid(value)
    }
    /// C# member: `P:LibreMetaverse.GridClient.Groups`.
    ///
    /// C# signature: `LibreMetaverse.GroupManager LibreMetaverse.GridClient.Groups`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn groups(&self) -> libremetaverse::GroupManager {
        /* native client-core implementation */
        self.native_groups()
    }
    /// Setter for C# member: `P:LibreMetaverse.GridClient.Groups`.
    pub fn set_groups(&mut self, value: libremetaverse::GroupManager) {
        /* native client-core implementation */
        self.native_set_groups(value)
    }
    /// C# member: `P:LibreMetaverse.GridClient.HttpCapsClient`.
    ///
    /// C# signature: `LibreMetaverse.HttpCapsClient LibreMetaverse.GridClient.HttpCapsClient`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn http_caps_client(&self) -> libremetaverse::HttpCapsClient {
        /* native client-core implementation */
        self.native_http_caps_client()
    }
    /// Setter for C# member: `P:LibreMetaverse.GridClient.HttpCapsClient`.
    pub fn set_http_caps_client(&mut self, value: libremetaverse::HttpCapsClient) {
        /* native client-core implementation */
        self.native_set_http_caps_client(value)
    }
    /// C# member: `P:LibreMetaverse.GridClient.InterestList`.
    ///
    /// C# signature: `LibreMetaverse.InterestListManager LibreMetaverse.GridClient.InterestList`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn interest_list(&self) -> libremetaverse::InterestListManager {
        /* native client-core implementation */
        self.native_interest_list()
            .unwrap_or_else(|_| panic!("failed to construct InterestListManager"))
    }
    /// Setter for C# member: `P:LibreMetaverse.GridClient.InterestList`.
    pub fn set_interest_list(&mut self, value: libremetaverse::InterestListManager) {
        /* native client-core implementation */
        self.native_set_interest_list(value)
    }
    /// C# member: `P:LibreMetaverse.GridClient.Inventory`.
    ///
    /// C# signature: `LibreMetaverse.InventoryManager LibreMetaverse.GridClient.Inventory`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn inventory(&self) -> libremetaverse::InventoryManager {
        /* native client-core implementation */
        self.native_inventory()
            .unwrap_or_else(|_| panic!("failed to construct InventoryManager"))
    }
    /// Setter for C# member: `P:LibreMetaverse.GridClient.Inventory`.
    pub fn set_inventory(&mut self, value: libremetaverse::InventoryManager) {
        /* native client-core implementation */
        self.native_set_inventory(value)
    }
    /// C# member: `P:LibreMetaverse.GridClient.Marketplace`.
    ///
    /// C# signature: `LibreMetaverse.Marketplace.MarketplaceManager LibreMetaverse.GridClient.Marketplace`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn marketplace(&self) -> libremetaverse::marketplace::MarketplaceManager {
        /* native client-core implementation */
        self.native_marketplace()
    }
    /// Setter for C# member: `P:LibreMetaverse.GridClient.Marketplace`.
    pub fn set_marketplace(&mut self, value: libremetaverse::marketplace::MarketplaceManager) {
        /* native client-core implementation */
        self.native_set_marketplace(value)
    }
    /// C# member: `P:LibreMetaverse.GridClient.Network`.
    ///
    /// C# signature: `LibreMetaverse.NetworkManager LibreMetaverse.GridClient.Network`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn network(&self) -> libremetaverse::NetworkManager {
        /* native client-core implementation */
        self.native_network()
            .unwrap_or_else(|_| panic!("failed to construct NetworkManager"))
    }
    /// Setter for C# member: `P:LibreMetaverse.GridClient.Network`.
    pub fn set_network(&mut self, value: libremetaverse::NetworkManager) {
        /* native client-core implementation */
        self.native_set_network(value)
    }
    /// C# member: `P:LibreMetaverse.GridClient.Objects`.
    ///
    /// C# signature: `LibreMetaverse.ObjectManager LibreMetaverse.GridClient.Objects`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn objects(&self) -> libremetaverse::ObjectManager {
        /* native client-core implementation */
        self.native_objects()
            .unwrap_or_else(|_| panic!("failed to construct ObjectManager"))
    }
    /// Setter for C# member: `P:LibreMetaverse.GridClient.Objects`.
    pub fn set_objects(&mut self, value: libremetaverse::ObjectManager) {
        /* native client-core implementation */
        self.native_set_objects(value)
    }
    /// C# member: `P:LibreMetaverse.GridClient.Parcels`.
    ///
    /// C# signature: `LibreMetaverse.ParcelManager LibreMetaverse.GridClient.Parcels`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn parcels(&self) -> libremetaverse::ParcelManager {
        /* native client-core implementation */
        self.native_parcels()
            .unwrap_or_else(|_| panic!("failed to construct ParcelManager"))
    }
    /// Setter for C# member: `P:LibreMetaverse.GridClient.Parcels`.
    pub fn set_parcels(&mut self, value: libremetaverse::ParcelManager) {
        /* native client-core implementation */
        self.native_set_parcels(value)
    }
    /// C# member: `P:LibreMetaverse.GridClient.Self`.
    ///
    /// C# signature: `LibreMetaverse.AgentManager LibreMetaverse.GridClient.Self`.
    /// Mapping contract: ownership `mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn self_(&mut self) -> &mut libremetaverse::AgentManager {
        /* native client-core implementation */
        self.native_self()
    }
    /// C# member: `P:LibreMetaverse.GridClient.Settings`.
    ///
    /// C# signature: `LibreMetaverse.Settings LibreMetaverse.GridClient.Settings`.
    /// Mapping contract: ownership `mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn settings(&mut self) -> &mut libremetaverse::Settings {
        /* native client-core implementation */
        &mut self.settings
    }
    /// C# member: `P:LibreMetaverse.GridClient.Sound`.
    ///
    /// C# signature: `LibreMetaverse.SoundManager LibreMetaverse.GridClient.Sound`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn sound(&self) -> libremetaverse::SoundManager {
        /* native client-core implementation */
        self.native_sound()
            .unwrap_or_else(|_| panic!("failed to construct SoundManager"))
    }
    /// Setter for C# member: `P:LibreMetaverse.GridClient.Sound`.
    pub fn set_sound(&mut self, value: libremetaverse::SoundManager) {
        /* native client-core implementation */
        self.native_set_sound(value)
    }
    /// C# member: `P:LibreMetaverse.GridClient.Stats`.
    ///
    /// C# signature: `LibreMetaverse.Stats.UtilizationStatistics LibreMetaverse.GridClient.Stats`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn stats(&self) -> libremetaverse::stats::UtilizationStatistics {
        /* native client-core implementation */
        self.native_stats()
    }
    /// Setter for C# member: `P:LibreMetaverse.GridClient.Stats`.
    pub fn set_stats(&mut self, value: libremetaverse::stats::UtilizationStatistics) {
        /* native client-core implementation */
        self.native_set_stats(value)
    }
    /// C# member: `P:LibreMetaverse.GridClient.Terrain`.
    ///
    /// C# signature: `LibreMetaverse.TerrainManager LibreMetaverse.GridClient.Terrain`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn terrain(&self) -> libremetaverse::TerrainManager {
        /* native client-core implementation */
        self.native_terrain()
            .unwrap_or_else(|_| panic!("failed to construct TerrainManager"))
    }
    /// Setter for C# member: `P:LibreMetaverse.GridClient.Terrain`.
    pub fn set_terrain(&mut self, value: libremetaverse::TerrainManager) {
        /* native client-core implementation */
        self.native_set_terrain(value)
    }
    /// C# member: `P:LibreMetaverse.GridClient.Throttle`.
    ///
    /// C# signature: `LibreMetaverse.AgentThrottle LibreMetaverse.GridClient.Throttle`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn throttle(&self) -> libremetaverse::AgentThrottle {
        /* native client-core implementation */
        self.native_throttle()
    }
    /// Setter for C# member: `P:LibreMetaverse.GridClient.Throttle`.
    pub fn set_throttle(&mut self, value: libremetaverse::AgentThrottle) {
        /* native client-core implementation */
        self.native_set_throttle(value)
    }
    /// C# member: `P:LibreMetaverse.GridClient.TimeProvider`.
    ///
    /// C# signature: `System.TimeProvider LibreMetaverse.GridClient.TimeProvider`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn time_provider(&self) -> libremetaverse_types::compat::TimeProvider {
        /* native client-core implementation */
        self.time_provider.clone()
    }
    /// Setter for C# member: `P:LibreMetaverse.GridClient.TimeProvider`.
    pub fn set_time_provider(&mut self, value: libremetaverse_types::compat::TimeProvider) {
        /* native client-core implementation */
        self.time_provider = value
    }
}

/// C# type: `T:LibreMetaverse.GridClientBakingTextureProvider`.
///
/// Native Rust mapping of C# `LibreMetaverse.GridClientBakingTextureProvider` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
pub use crate::baking_texture_provider::GridClientBakingTextureProvider;
impl GridClientBakingTextureProvider {
    /// C# member: `M:LibreMetaverse.GridClientBakingTextureProvider.#ctor(LibreMetaverse.GridClient)`.
    ///
    /// C# signature: `LibreMetaverse.GridClientBakingTextureProvider(LibreMetaverse.GridClient client)`.
    /// Mapping contract: ownership `owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn new(client: libremetaverse::GridClient) -> Result<Self, crate::Error> {
        /* reviewed native compatibility body */
        crate::baking_texture_provider::GridClientBakingTextureProvider::native_new(client)
    }
    /// C# member: `M:LibreMetaverse.GridClientBakingTextureProvider.RequestTextureAsync(LibreMetaverse.UUID,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<LibreMetaverse.Assets.AssetTexture> LibreMetaverse.GridClientBakingTextureProvider.RequestTextureAsync(LibreMetaverse.UUID textureID, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn request_texture(
        &self,
        texture_id: libremetaverse_types::UUID,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<Option<libremetaverse::assets::AssetTexture>, crate::Error> {
        /* reviewed native compatibility body */
        self.native_request_texture(texture_id, cancellation_token)
            .await
    }
}

/// C# type: `T:LibreMetaverse.GridClientServiceCollectionExtensions`.
///
/// Native Rust mapping of C# `LibreMetaverse.GridClientServiceCollectionExtensions` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
pub struct GridClientServiceCollectionExtensions;
impl GridClientServiceCollectionExtensions {
    /// C# member: `M:LibreMetaverse.GridClientServiceCollectionExtensions.AddGridClient(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action{LibreMetaverse.Settings})`.
    ///
    /// C# signature: `Microsoft.Extensions.DependencyInjection.IServiceCollection LibreMetaverse.GridClientServiceCollectionExtensions.AddGridClient(Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Action<LibreMetaverse.Settings> configure = default)`.
    /// Mapping contract: ownership `owned,optional_owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn add_grid_client(
        services: Box<dyn libremetaverse::services::IServiceCollection>,
        configure: Option<Box<dyn Fn(&mut libremetaverse::Settings) + Send + Sync>>,
    ) -> Result<Box<dyn libremetaverse::services::IServiceCollection>, crate::Error> {
        /* reviewed native compatibility body */
        crate::service_collection::add_grid_client(services, configure)
    }
}

/// C# type: `T:LibreMetaverse.GridItemType`.
///
/// Native Rust mapping of C# `LibreMetaverse.GridItemType` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(u32)]
pub enum GridItemType {
    /// C# member: `F:LibreMetaverse.GridItemType.AdultEvent`.
    ///
    /// C# signature: `LibreMetaverse.GridItemType LibreMetaverse.GridItemType.AdultEvent`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    AdultEvent = 9,
    /// C# member: `F:LibreMetaverse.GridItemType.AdultLandForSale`.
    ///
    /// C# signature: `LibreMetaverse.GridItemType LibreMetaverse.GridItemType.AdultLandForSale`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    AdultLandForSale = 10,
    /// C# member: `F:LibreMetaverse.GridItemType.AgentLocations`.
    ///
    /// C# signature: `LibreMetaverse.GridItemType LibreMetaverse.GridItemType.AgentLocations`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    AgentLocations = 6,
    /// C# member: `F:LibreMetaverse.GridItemType.Classified`.
    ///
    /// C# signature: `LibreMetaverse.GridItemType LibreMetaverse.GridItemType.Classified`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Classified = 8,
    /// C# member: `F:LibreMetaverse.GridItemType.LandForSale`.
    ///
    /// C# signature: `LibreMetaverse.GridItemType LibreMetaverse.GridItemType.LandForSale`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    LandForSale = 7,
    /// C# member: `F:LibreMetaverse.GridItemType.MatureEvent`.
    ///
    /// C# signature: `LibreMetaverse.GridItemType LibreMetaverse.GridItemType.MatureEvent`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    MatureEvent = 3,
    /// C# member: `F:LibreMetaverse.GridItemType.PgEvent`.
    ///
    /// C# signature: `LibreMetaverse.GridItemType LibreMetaverse.GridItemType.PgEvent`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    PgEvent = 2,
    /// C# member: `F:LibreMetaverse.GridItemType.Popular`.
    ///
    /// C# signature: `LibreMetaverse.GridItemType LibreMetaverse.GridItemType.Popular`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Popular = 4,
    /// C# member: `F:LibreMetaverse.GridItemType.Telehub`.
    ///
    /// C# signature: `LibreMetaverse.GridItemType LibreMetaverse.GridItemType.Telehub`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Telehub = 1,
}

/// C# type: `T:LibreMetaverse.GridItemsEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.GridItemsEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.GridItemsEventArgs.#ctor(LibreMetaverse.GridItemType,System.Collections.Generic.List{LibreMetaverse.MapItem})`.
///
/// C# signature: `LibreMetaverse.GridItemsEventArgs(LibreMetaverse.GridItemType type, System.Collections.Generic.List<LibreMetaverse.MapItem> items)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.GridItemsEventArgs.Items`.
///
/// C# signature: `System.Collections.Generic.List<LibreMetaverse.MapItem> LibreMetaverse.GridItemsEventArgs.Items`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.GridItemsEventArgs.Type`.
///
/// C# signature: `LibreMetaverse.GridItemType LibreMetaverse.GridItemsEventArgs.Type`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::grid_manager::GridItemsEventArgs;

/// C# type: `T:LibreMetaverse.GridLayer`.
///
/// Native Rust mapping of C# `LibreMetaverse.GridLayer` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `F:LibreMetaverse.GridLayer.Bottom`.
///
/// C# signature: `System.Int32 LibreMetaverse.GridLayer.Bottom`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.GridLayer.ImageID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.GridLayer.ImageID`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.GridLayer.Left`.
///
/// C# signature: `System.Int32 LibreMetaverse.GridLayer.Left`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.GridLayer.Right`.
///
/// C# signature: `System.Int32 LibreMetaverse.GridLayer.Right`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.GridLayer.Top`.
///
/// C# signature: `System.Int32 LibreMetaverse.GridLayer.Top`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `M:LibreMetaverse.GridLayer.ContainsRegion(System.Int32,System.Int32)`.
///
/// C# signature: `System.Boolean LibreMetaverse.GridLayer.ContainsRegion(System.Int32 x, System.Int32 y)`.
/// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
pub use crate::grid_manager::GridLayer;

/// C# type: `T:LibreMetaverse.GridLayerEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.GridLayerEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.GridLayerEventArgs.#ctor(LibreMetaverse.GridLayer)`.
///
/// C# signature: `LibreMetaverse.GridLayerEventArgs(LibreMetaverse.GridLayer layer)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.GridLayerEventArgs.Layer`.
///
/// C# signature: `LibreMetaverse.GridLayer LibreMetaverse.GridLayerEventArgs.Layer`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::grid_manager::GridLayerEventArgs;

/// C# type: `T:LibreMetaverse.GridLayerType`.
///
/// Native Rust mapping of C# `LibreMetaverse.GridLayerType` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(u32)]
pub enum GridLayerType {
    /// C# member: `F:LibreMetaverse.GridLayerType.LandForSale`.
    ///
    /// C# signature: `LibreMetaverse.GridLayerType LibreMetaverse.GridLayerType.LandForSale`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    LandForSale = 2,
    /// C# member: `F:LibreMetaverse.GridLayerType.Objects`.
    ///
    /// C# signature: `LibreMetaverse.GridLayerType LibreMetaverse.GridLayerType.Objects`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Objects = 0,
    /// C# member: `F:LibreMetaverse.GridLayerType.Terrain`.
    ///
    /// C# signature: `LibreMetaverse.GridLayerType LibreMetaverse.GridLayerType.Terrain`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Terrain = 1,
}

/// C# type: `T:LibreMetaverse.GridManager`.
///
/// Native Rust mapping of C# `LibreMetaverse.GridManager` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `E:LibreMetaverse.GridManager.CoarseLocationUpdate`.
///
/// C# signature: `System.EventHandler<LibreMetaverse.CoarseLocationUpdateEventArgs> LibreMetaverse.GridManager.CoarseLocationUpdate`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `E:LibreMetaverse.GridManager.GridItems`.
///
/// C# signature: `System.EventHandler<LibreMetaverse.GridItemsEventArgs> LibreMetaverse.GridManager.GridItems`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `E:LibreMetaverse.GridManager.GridLayer`.
///
/// C# signature: `System.EventHandler<LibreMetaverse.GridLayerEventArgs> LibreMetaverse.GridManager.GridLayer`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `E:LibreMetaverse.GridManager.GridRegion`.
///
/// C# signature: `System.EventHandler<LibreMetaverse.GridRegionEventArgs> LibreMetaverse.GridManager.GridRegion`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `E:LibreMetaverse.GridManager.RegionHandleReply`.
///
/// C# signature: `System.EventHandler<LibreMetaverse.RegionHandleReplyEventArgs> LibreMetaverse.GridManager.RegionHandleReply`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `M:LibreMetaverse.GridManager.#ctor(LibreMetaverse.GridClient)`.
///
/// C# signature: `LibreMetaverse.GridManager(LibreMetaverse.GridClient client)`.
/// Mapping contract: ownership `optional_shared`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.GridManager.Dispose`.
///
/// C# signature: `System.Void LibreMetaverse.GridManager.Dispose()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.GridManager.GetGridRegionAsync(System.String,LibreMetaverse.GridLayerType,System.Threading.CancellationToken)`.
///
/// C# signature: `System.Threading.Tasks.Task<System.Nullable<LibreMetaverse.GridRegion>> LibreMetaverse.GridManager.GetGridRegionAsync(System.String name, LibreMetaverse.GridLayerType layer, System.Threading.CancellationToken cancellationToken = default)`.
/// Mapping contract: ownership `shared_self,owned,owned,optional_owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.GridManager.GetGridRegionAsync(System.UInt64,LibreMetaverse.GridLayerType,System.Threading.CancellationToken)`.
///
/// C# signature: `System.Threading.Tasks.Task<System.Nullable<LibreMetaverse.GridRegion>> LibreMetaverse.GridManager.GetGridRegionAsync(System.UInt64 handle, LibreMetaverse.GridLayerType layer, System.Threading.CancellationToken cancellationToken = default)`.
/// Mapping contract: ownership `shared_self,owned,owned,optional_owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.GridManager.MapItemsAsync(System.UInt64,LibreMetaverse.GridItemType,LibreMetaverse.GridLayerType,System.Threading.CancellationToken)`.
///
/// C# signature: `System.Threading.Tasks.Task<System.Collections.Generic.List<LibreMetaverse.MapItem>> LibreMetaverse.GridManager.MapItemsAsync(System.UInt64 regionHandle, LibreMetaverse.GridItemType item, LibreMetaverse.GridLayerType layer, System.Threading.CancellationToken cancellationToken = default)`.
/// Mapping contract: ownership `shared_self,owned,owned,owned,optional_owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.GridManager.RequestMainlandSims(LibreMetaverse.GridLayerType)`.
///
/// C# signature: `System.Void LibreMetaverse.GridManager.RequestMainlandSims(LibreMetaverse.GridLayerType layer)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.GridManager.RequestMapBlocks(LibreMetaverse.GridLayerType,System.UInt16,System.UInt16,System.UInt16,System.UInt16,System.Boolean)`.
///
/// C# signature: `System.Void LibreMetaverse.GridManager.RequestMapBlocks(LibreMetaverse.GridLayerType layer, System.UInt16 minX, System.UInt16 minY, System.UInt16 maxX, System.UInt16 maxY, System.Boolean returnNonExistent)`.
/// Mapping contract: ownership `shared_self,owned,owned,owned,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.GridManager.RequestMapItems(System.UInt64,LibreMetaverse.GridItemType,LibreMetaverse.GridLayerType)`.
///
/// C# signature: `System.Void LibreMetaverse.GridManager.RequestMapItems(System.UInt64 regionHandle, LibreMetaverse.GridItemType item, LibreMetaverse.GridLayerType layer)`.
/// Mapping contract: ownership `shared_self,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.GridManager.RequestMapLayerAsync(LibreMetaverse.GridLayerType,System.Threading.CancellationToken)`.
///
/// C# signature: `System.Threading.Tasks.Task LibreMetaverse.GridManager.RequestMapLayerAsync(LibreMetaverse.GridLayerType layer, System.Threading.CancellationToken cancellationToken = default)`.
/// Mapping contract: ownership `shared_self,owned,optional_owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.GridManager.RequestMapRegion(System.String,LibreMetaverse.GridLayerType)`.
///
/// C# signature: `System.Void LibreMetaverse.GridManager.RequestMapRegion(System.String regionName, LibreMetaverse.GridLayerType layer)`.
/// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.GridManager.RequestRegionHandle(LibreMetaverse.UUID)`.
///
/// C# signature: `System.Void LibreMetaverse.GridManager.RequestRegionHandle(LibreMetaverse.UUID regionID)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.GridManager.RegionsByHandleReadOnly`.
///
/// C# signature: `System.Collections.Generic.IReadOnlyDictionary<System.UInt64, LibreMetaverse.GridRegion> LibreMetaverse.GridManager.RegionsByHandleReadOnly`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.GridManager.RegionsByUUIDReadOnly`.
///
/// C# signature: `System.Collections.Generic.IReadOnlyDictionary<LibreMetaverse.UUID, System.UInt64> LibreMetaverse.GridManager.RegionsByUUIDReadOnly`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.GridManager.RegionsReadOnly`.
///
/// C# signature: `System.Collections.Generic.IReadOnlyDictionary<System.String, LibreMetaverse.GridRegion> LibreMetaverse.GridManager.RegionsReadOnly`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.GridManager.SunAngVelocity`.
///
/// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.GridManager.SunAngVelocity`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.GridManager.SunDirection`.
///
/// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.GridManager.SunDirection`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.GridManager.SunPhase`.
///
/// C# signature: `System.Single LibreMetaverse.GridManager.SunPhase`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.GridManager.TimeOfDay`.
///
/// C# signature: `System.UInt64 LibreMetaverse.GridManager.TimeOfDay`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::grid_manager::GridManager;

/// C# type: `T:LibreMetaverse.GridRegion`.
///
/// Native Rust mapping of C# `LibreMetaverse.GridRegion` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `F:LibreMetaverse.GridRegion.Access`.
///
/// C# signature: `LibreMetaverse.SimAccess LibreMetaverse.GridRegion.Access`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.GridRegion.Agents`.
///
/// C# signature: `System.Byte LibreMetaverse.GridRegion.Agents`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.GridRegion.MapImageID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.GridRegion.MapImageID`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.GridRegion.Name`.
///
/// C# signature: `System.String LibreMetaverse.GridRegion.Name`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.GridRegion.RegionFlags`.
///
/// C# signature: `LibreMetaverse.RegionFlags LibreMetaverse.GridRegion.RegionFlags`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.GridRegion.RegionHandle`.
///
/// C# signature: `System.UInt64 LibreMetaverse.GridRegion.RegionHandle`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.GridRegion.WaterHeight`.
///
/// C# signature: `System.Byte LibreMetaverse.GridRegion.WaterHeight`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.GridRegion.X`.
///
/// C# signature: `System.Int32 LibreMetaverse.GridRegion.X`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.GridRegion.Y`.
///
/// C# signature: `System.Int32 LibreMetaverse.GridRegion.Y`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `M:LibreMetaverse.GridRegion.Equals(System.Object)`.
///
/// C# signature: `System.Boolean LibreMetaverse.GridRegion.Equals(System.Object obj)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.GridRegion.GetHashCode`.
///
/// C# signature: `System.Int32 LibreMetaverse.GridRegion.GetHashCode()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.GridRegion.ToString`.
///
/// C# signature: `System.String LibreMetaverse.GridRegion.ToString()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
pub use crate::grid_manager::GridRegion;

/// C# type: `T:LibreMetaverse.GridRegionEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.GridRegionEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.GridRegionEventArgs.#ctor(LibreMetaverse.GridRegion)`.
///
/// C# signature: `LibreMetaverse.GridRegionEventArgs(LibreMetaverse.GridRegion region)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.GridRegionEventArgs.Region`.
///
/// C# signature: `LibreMetaverse.GridRegion LibreMetaverse.GridRegionEventArgs.Region`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::grid_manager::GridRegionEventArgs;

/// C# type: `T:LibreMetaverse.Group`.
///
/// Native Rust mapping of C# `LibreMetaverse.Group` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct Group {
    /// C# member: `F:LibreMetaverse.Group.AcceptNotices`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.Group.AcceptNotices`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub accept_notices: bool,
    /// C# member: `F:LibreMetaverse.Group.AllowPublish`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.Group.AllowPublish`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub allow_publish: bool,
    /// C# member: `F:LibreMetaverse.Group.Charter`.
    ///
    /// C# signature: `System.String LibreMetaverse.Group.Charter`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub charter: String,
    /// C# member: `F:LibreMetaverse.Group.Contribution`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.Group.Contribution`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub contribution: i32,
    /// C# member: `F:LibreMetaverse.Group.FounderID`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Group.FounderID`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub founder_id: libremetaverse_types::UUID,
    /// C# member: `F:LibreMetaverse.Group.GroupMembershipCount`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.Group.GroupMembershipCount`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub group_membership_count: i32,
    /// C# member: `F:LibreMetaverse.Group.GroupRolesCount`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.Group.GroupRolesCount`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub group_roles_count: i32,
    /// C# member: `F:LibreMetaverse.Group.ID`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Group.ID`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub id: libremetaverse_types::UUID,
    /// C# member: `F:LibreMetaverse.Group.InsigniaID`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Group.InsigniaID`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub insignia_id: libremetaverse_types::UUID,
    /// C# member: `F:LibreMetaverse.Group.ListInProfile`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.Group.ListInProfile`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub list_in_profile: bool,
    /// C# member: `F:LibreMetaverse.Group.MaturePublish`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.Group.MaturePublish`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub mature_publish: bool,
    /// C# member: `F:LibreMetaverse.Group.MemberTitle`.
    ///
    /// C# signature: `System.String LibreMetaverse.Group.MemberTitle`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub member_title: String,
    /// C# member: `F:LibreMetaverse.Group.MembershipFee`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.Group.MembershipFee`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub membership_fee: i32,
    /// C# member: `F:LibreMetaverse.Group.Money`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.Group.Money`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub money: i32,
    /// C# member: `F:LibreMetaverse.Group.Name`.
    ///
    /// C# signature: `System.String LibreMetaverse.Group.Name`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub name: String,
    /// C# member: `F:LibreMetaverse.Group.OpenEnrollment`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.Group.OpenEnrollment`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub open_enrollment: bool,
    /// C# member: `F:LibreMetaverse.Group.OwnerRole`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Group.OwnerRole`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub owner_role: libremetaverse_types::UUID,
    /// C# member: `F:LibreMetaverse.Group.Powers`.
    ///
    /// C# signature: `LibreMetaverse.GroupPowers LibreMetaverse.Group.Powers`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub powers: libremetaverse::GroupPowers,
    /// C# member: `F:LibreMetaverse.Group.ShowInList`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.Group.ShowInList`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub show_in_list: bool,
}
impl Group {
    /// C# member: `M:LibreMetaverse.Group.Equals(LibreMetaverse.Group)`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.Group.Equals(LibreMetaverse.Group other)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `infallible_placeholder`; overload `descriptive_overload_name`; kind `method`.
    pub fn equals_with_group(&self, other: libremetaverse::Group) -> bool {
        /* reviewed native compatibility body */
        self.native_equals_group(&other)
    }
    /// C# member: `M:LibreMetaverse.Group.Equals(System.Object)`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.Group.Equals(System.Object obj)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `infallible_placeholder`; overload `descriptive_overload_name`; kind `method`.
    pub fn equals_with_object(&self, obj: Option<libremetaverse_types::compat::Object>) -> bool {
        /* reviewed native compatibility body */
        self.native_equals_object(obj)
    }
    /// C# member: `M:LibreMetaverse.Group.GetHashCode`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.Group.GetHashCode()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
    pub fn get_hash_code(&self) -> i32 {
        /* reviewed native compatibility body */
        self.native_hash_code()
    }
    /// C# member: `M:LibreMetaverse.Group.ToString`.
    ///
    /// C# signature: `System.String LibreMetaverse.Group.ToString()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
    pub fn to_string(&self) -> String {
        /* reviewed native compatibility body */
        self.native_to_string()
    }
}

/// C# type: `T:LibreMetaverse.GroupAccountSummary`.
///
/// Native Rust mapping of C# `LibreMetaverse.GroupAccountSummary` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct GroupAccountSummary {
    /// C# member: `F:LibreMetaverse.GroupAccountSummary.Balance`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.GroupAccountSummary.Balance`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub balance: i32,
    /// C# member: `F:LibreMetaverse.GroupAccountSummary.CurrentInterval`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.GroupAccountSummary.CurrentInterval`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub current_interval: i32,
    /// C# member: `F:LibreMetaverse.GroupAccountSummary.GroupTaxCurrent`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.GroupAccountSummary.GroupTaxCurrent`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub group_tax_current: i32,
    /// C# member: `F:LibreMetaverse.GroupAccountSummary.GroupTaxEstimate`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.GroupAccountSummary.GroupTaxEstimate`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub group_tax_estimate: i32,
    /// C# member: `F:LibreMetaverse.GroupAccountSummary.IntervalDays`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.GroupAccountSummary.IntervalDays`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub interval_days: i32,
    /// C# member: `F:LibreMetaverse.GroupAccountSummary.LandTaxCurrent`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.GroupAccountSummary.LandTaxCurrent`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub land_tax_current: i32,
    /// C# member: `F:LibreMetaverse.GroupAccountSummary.LandTaxEstimate`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.GroupAccountSummary.LandTaxEstimate`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub land_tax_estimate: i32,
    /// C# member: `F:LibreMetaverse.GroupAccountSummary.LastTaxDate`.
    ///
    /// C# signature: `System.String LibreMetaverse.GroupAccountSummary.LastTaxDate`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub last_tax_date: String,
    /// C# member: `F:LibreMetaverse.GroupAccountSummary.LightTaxCurrent`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.GroupAccountSummary.LightTaxCurrent`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub light_tax_current: i32,
    /// C# member: `F:LibreMetaverse.GroupAccountSummary.LightTaxEstimate`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.GroupAccountSummary.LightTaxEstimate`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub light_tax_estimate: i32,
    /// C# member: `F:LibreMetaverse.GroupAccountSummary.NonExemptMembers`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.GroupAccountSummary.NonExemptMembers`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub non_exempt_members: i32,
    /// C# member: `F:LibreMetaverse.GroupAccountSummary.ObjectTaxCurrent`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.GroupAccountSummary.ObjectTaxCurrent`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub object_tax_current: i32,
    /// C# member: `F:LibreMetaverse.GroupAccountSummary.ObjectTaxEstimate`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.GroupAccountSummary.ObjectTaxEstimate`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub object_tax_estimate: i32,
    /// C# member: `F:LibreMetaverse.GroupAccountSummary.ParcelDirFeeCurrent`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.GroupAccountSummary.ParcelDirFeeCurrent`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub parcel_dir_fee_current: i32,
    /// C# member: `F:LibreMetaverse.GroupAccountSummary.ParcelDirFeeEstimate`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.GroupAccountSummary.ParcelDirFeeEstimate`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub parcel_dir_fee_estimate: i32,
    /// C# member: `F:LibreMetaverse.GroupAccountSummary.StartDate`.
    ///
    /// C# signature: `System.String LibreMetaverse.GroupAccountSummary.StartDate`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub start_date: String,
    /// C# member: `F:LibreMetaverse.GroupAccountSummary.TaxDate`.
    ///
    /// C# signature: `System.String LibreMetaverse.GroupAccountSummary.TaxDate`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub tax_date: String,
    /// C# member: `F:LibreMetaverse.GroupAccountSummary.TotalCredits`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.GroupAccountSummary.TotalCredits`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub total_credits: i32,
    /// C# member: `F:LibreMetaverse.GroupAccountSummary.TotalDebits`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.GroupAccountSummary.TotalDebits`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub total_debits: i32,
}
impl GroupAccountSummary {}

/// C# type: `T:LibreMetaverse.GroupAccountSummaryReplyEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.GroupAccountSummaryReplyEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.GroupAccountSummaryReplyEventArgs.#ctor(LibreMetaverse.UUID,LibreMetaverse.GroupAccountSummary)`.
///
/// C# signature: `LibreMetaverse.GroupAccountSummaryReplyEventArgs(LibreMetaverse.UUID groupID, LibreMetaverse.GroupAccountSummary summary)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.GroupAccountSummaryReplyEventArgs.GroupID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.GroupAccountSummaryReplyEventArgs.GroupID`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.GroupAccountSummaryReplyEventArgs.Summary`.
///
/// C# signature: `LibreMetaverse.GroupAccountSummary LibreMetaverse.GroupAccountSummaryReplyEventArgs.Summary`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::group_manager::GroupAccountSummaryReplyEventArgs;

/// C# type: `T:LibreMetaverse.GroupBanAction`.
///
/// Native Rust mapping of C# `LibreMetaverse.GroupBanAction` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(i32)]
pub enum GroupBanAction {
    /// C# member: `F:LibreMetaverse.GroupBanAction.Ban`.
    ///
    /// C# signature: `LibreMetaverse.GroupBanAction LibreMetaverse.GroupBanAction.Ban`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Ban = 1,
    /// C# member: `F:LibreMetaverse.GroupBanAction.Unban`.
    ///
    /// C# signature: `LibreMetaverse.GroupBanAction LibreMetaverse.GroupBanAction.Unban`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Unban = 2,
}

/// C# type: `T:LibreMetaverse.GroupChatJoinedEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.GroupChatJoinedEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.GroupChatJoinedEventArgs.#ctor(LibreMetaverse.UUID,System.String,LibreMetaverse.UUID,System.Boolean)`.
///
/// C# signature: `LibreMetaverse.GroupChatJoinedEventArgs(LibreMetaverse.UUID groupChatSessionID, System.String sessionName, LibreMetaverse.UUID tmpSessionID, System.Boolean success)`.
/// Mapping contract: ownership `owned,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.GroupChatJoinedEventArgs.SessionID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.GroupChatJoinedEventArgs.SessionID`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.GroupChatJoinedEventArgs.SessionName`.
///
/// C# signature: `System.String LibreMetaverse.GroupChatJoinedEventArgs.SessionName`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.GroupChatJoinedEventArgs.Success`.
///
/// C# signature: `System.Boolean LibreMetaverse.GroupChatJoinedEventArgs.Success`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.GroupChatJoinedEventArgs.TmpSessionID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.GroupChatJoinedEventArgs.TmpSessionID`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::agent_messages::GroupChatJoinedEventArgs;

/// C# type: `T:LibreMetaverse.GroupCreatedReplyEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.GroupCreatedReplyEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.GroupCreatedReplyEventArgs.#ctor(LibreMetaverse.UUID,System.Boolean,System.String)`.
///
/// C# signature: `LibreMetaverse.GroupCreatedReplyEventArgs(LibreMetaverse.UUID groupID, System.Boolean success, System.String message)`.
/// Mapping contract: ownership `owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.GroupCreatedReplyEventArgs.GroupID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.GroupCreatedReplyEventArgs.GroupID`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.GroupCreatedReplyEventArgs.Message`.
///
/// C# signature: `System.String LibreMetaverse.GroupCreatedReplyEventArgs.Message`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.GroupCreatedReplyEventArgs.Success`.
///
/// C# signature: `System.Boolean LibreMetaverse.GroupCreatedReplyEventArgs.Success`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::group_manager::GroupCreatedReplyEventArgs;

/// C# type: `T:LibreMetaverse.GroupDroppedEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.GroupDroppedEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.GroupDroppedEventArgs.#ctor(LibreMetaverse.UUID)`.
///
/// C# signature: `LibreMetaverse.GroupDroppedEventArgs(LibreMetaverse.UUID groupID)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.GroupDroppedEventArgs.GroupID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.GroupDroppedEventArgs.GroupID`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::group_manager::GroupDroppedEventArgs;

/// C# type: `T:LibreMetaverse.GroupInvitationEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.GroupInvitationEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.GroupInvitationEventArgs.#ctor(LibreMetaverse.Simulator,LibreMetaverse.UUID,System.String,System.String)`.
///
/// C# signature: `LibreMetaverse.GroupInvitationEventArgs(LibreMetaverse.Simulator simulator, LibreMetaverse.UUID agentID, System.String agentName, System.String message)`.
/// Mapping contract: ownership `owned,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.GroupInvitationEventArgs.Accept`.
///
/// C# signature: `System.Boolean LibreMetaverse.GroupInvitationEventArgs.Accept`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.GroupInvitationEventArgs.AgentID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.GroupInvitationEventArgs.AgentID`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.GroupInvitationEventArgs.FromName`.
///
/// C# signature: `System.String LibreMetaverse.GroupInvitationEventArgs.FromName`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.GroupInvitationEventArgs.Message`.
///
/// C# signature: `System.String LibreMetaverse.GroupInvitationEventArgs.Message`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.GroupInvitationEventArgs.Simulator`.
///
/// C# signature: `LibreMetaverse.Simulator LibreMetaverse.GroupInvitationEventArgs.Simulator`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::group_manager::GroupInvitationEventArgs;

/// C# type: `T:LibreMetaverse.GroupManager`.
///
/// Native Rust mapping of C# `LibreMetaverse.GroupManager` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `E:LibreMetaverse.GroupManager.BannedAgents`.
///
/// C# signature: `System.EventHandler<LibreMetaverse.BannedAgentsEventArgs> LibreMetaverse.GroupManager.BannedAgents`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `E:LibreMetaverse.GroupManager.CurrentGroups`.
///
/// C# signature: `System.EventHandler<LibreMetaverse.CurrentGroupsEventArgs> LibreMetaverse.GroupManager.CurrentGroups`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `E:LibreMetaverse.GroupManager.GroupAccountSummaryReply`.
///
/// C# signature: `System.EventHandler<LibreMetaverse.GroupAccountSummaryReplyEventArgs> LibreMetaverse.GroupManager.GroupAccountSummaryReply`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `E:LibreMetaverse.GroupManager.GroupCreatedReply`.
///
/// C# signature: `System.EventHandler<LibreMetaverse.GroupCreatedReplyEventArgs> LibreMetaverse.GroupManager.GroupCreatedReply`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `E:LibreMetaverse.GroupManager.GroupDropped`.
///
/// C# signature: `System.EventHandler<LibreMetaverse.GroupDroppedEventArgs> LibreMetaverse.GroupManager.GroupDropped`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `E:LibreMetaverse.GroupManager.GroupInvitation`.
///
/// C# signature: `System.EventHandler<LibreMetaverse.GroupInvitationEventArgs> LibreMetaverse.GroupManager.GroupInvitation`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `E:LibreMetaverse.GroupManager.GroupJoinedReply`.
///
/// C# signature: `System.EventHandler<LibreMetaverse.GroupOperationEventArgs> LibreMetaverse.GroupManager.GroupJoinedReply`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `E:LibreMetaverse.GroupManager.GroupLeaveReply`.
///
/// C# signature: `System.EventHandler<LibreMetaverse.GroupOperationEventArgs> LibreMetaverse.GroupManager.GroupLeaveReply`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `E:LibreMetaverse.GroupManager.GroupMemberEjected`.
///
/// C# signature: `System.EventHandler<LibreMetaverse.GroupOperationEventArgs> LibreMetaverse.GroupManager.GroupMemberEjected`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `E:LibreMetaverse.GroupManager.GroupMembersReply`.
///
/// C# signature: `System.EventHandler<LibreMetaverse.GroupMembersReplyEventArgs> LibreMetaverse.GroupManager.GroupMembersReply`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `E:LibreMetaverse.GroupManager.GroupNamesReply`.
///
/// C# signature: `System.EventHandler<LibreMetaverse.GroupNamesEventArgs> LibreMetaverse.GroupManager.GroupNamesReply`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `E:LibreMetaverse.GroupManager.GroupNoticesListReply`.
///
/// C# signature: `System.EventHandler<LibreMetaverse.GroupNoticesListReplyEventArgs> LibreMetaverse.GroupManager.GroupNoticesListReply`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `E:LibreMetaverse.GroupManager.GroupProfile`.
///
/// C# signature: `System.EventHandler<LibreMetaverse.GroupProfileEventArgs> LibreMetaverse.GroupManager.GroupProfile`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `E:LibreMetaverse.GroupManager.GroupRoleDataReply`.
///
/// C# signature: `System.EventHandler<LibreMetaverse.GroupRolesDataReplyEventArgs> LibreMetaverse.GroupManager.GroupRoleDataReply`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `E:LibreMetaverse.GroupManager.GroupRoleMembersReply`.
///
/// C# signature: `System.EventHandler<LibreMetaverse.GroupRolesMembersReplyEventArgs> LibreMetaverse.GroupManager.GroupRoleMembersReply`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `E:LibreMetaverse.GroupManager.GroupTitlesReply`.
///
/// C# signature: `System.EventHandler<LibreMetaverse.GroupTitlesReplyEventArgs> LibreMetaverse.GroupManager.GroupTitlesReply`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `M:LibreMetaverse.GroupManager.#ctor(LibreMetaverse.GridClient)`.
///
/// C# signature: `LibreMetaverse.GroupManager(LibreMetaverse.GridClient client)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.GroupManager.ActivateGroup(LibreMetaverse.UUID)`.
///
/// C# signature: `System.Void LibreMetaverse.GroupManager.ActivateGroup(LibreMetaverse.UUID id)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.GroupManager.ActivateTitle(LibreMetaverse.UUID,LibreMetaverse.UUID)`.
///
/// C# signature: `System.Void LibreMetaverse.GroupManager.ActivateTitle(LibreMetaverse.UUID group, LibreMetaverse.UUID role)`.
/// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.GroupManager.AddToRole(LibreMetaverse.UUID,LibreMetaverse.UUID,LibreMetaverse.UUID)`.
///
/// C# signature: `System.Void LibreMetaverse.GroupManager.AddToRole(LibreMetaverse.UUID group, LibreMetaverse.UUID role, LibreMetaverse.UUID member)`.
/// Mapping contract: ownership `shared_self,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.GroupManager.CreateRole(LibreMetaverse.UUID,LibreMetaverse.GroupRole)`.
///
/// C# signature: `System.Void LibreMetaverse.GroupManager.CreateRole(LibreMetaverse.UUID group, LibreMetaverse.GroupRole role)`.
/// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.GroupManager.DeleteRole(LibreMetaverse.UUID,LibreMetaverse.UUID)`.
///
/// C# signature: `System.Void LibreMetaverse.GroupManager.DeleteRole(LibreMetaverse.UUID group, LibreMetaverse.UUID roleID)`.
/// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.GroupManager.Dispose`.
///
/// C# signature: `System.Void LibreMetaverse.GroupManager.Dispose()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.GroupManager.EjectUser(LibreMetaverse.UUID,LibreMetaverse.UUID)`.
///
/// C# signature: `System.Void LibreMetaverse.GroupManager.EjectUser(LibreMetaverse.UUID group, LibreMetaverse.UUID member)`.
/// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.GroupManager.Invite(LibreMetaverse.UUID,System.Collections.Generic.List{LibreMetaverse.UUID},LibreMetaverse.UUID)`.
///
/// C# signature: `System.Void LibreMetaverse.GroupManager.Invite(LibreMetaverse.UUID group, System.Collections.Generic.List<LibreMetaverse.UUID> roles, LibreMetaverse.UUID requestedAgent)`.
/// Mapping contract: ownership `shared_self,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.GroupManager.LeaveGroup(LibreMetaverse.UUID)`.
///
/// C# signature: `System.Void LibreMetaverse.GroupManager.LeaveGroup(LibreMetaverse.UUID groupID)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.GroupManager.RemoveFromRole(LibreMetaverse.UUID,LibreMetaverse.UUID,LibreMetaverse.UUID)`.
///
/// C# signature: `System.Void LibreMetaverse.GroupManager.RemoveFromRole(LibreMetaverse.UUID group, LibreMetaverse.UUID role, LibreMetaverse.UUID member)`.
/// Mapping contract: ownership `shared_self,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.GroupManager.RequestBanActionAsync(LibreMetaverse.UUID,LibreMetaverse.GroupBanAction,LibreMetaverse.UUID[],System.Threading.CancellationToken)`.
///
/// C# signature: `System.Threading.Tasks.Task LibreMetaverse.GroupManager.RequestBanActionAsync(LibreMetaverse.UUID groupID, LibreMetaverse.GroupBanAction action, LibreMetaverse.UUID[] agents, System.Threading.CancellationToken cancellationToken = default)`.
/// Mapping contract: ownership `shared_self,owned,owned,owned,optional_owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.GroupManager.RequestBannedAgentsAsync(LibreMetaverse.UUID,System.Threading.CancellationToken)`.
///
/// C# signature: `System.Threading.Tasks.Task LibreMetaverse.GroupManager.RequestBannedAgentsAsync(LibreMetaverse.UUID groupID, System.Threading.CancellationToken cancellationToken = default)`.
/// Mapping contract: ownership `shared_self,owned,optional_owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.GroupManager.RequestCreateGroup(LibreMetaverse.Group)`.
///
/// C# signature: `System.Void LibreMetaverse.GroupManager.RequestCreateGroup(LibreMetaverse.Group group)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.GroupManager.RequestCurrentGroups`.
///
/// C# signature: `System.Void LibreMetaverse.GroupManager.RequestCurrentGroups()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.GroupManager.RequestGroupAccountSummary(LibreMetaverse.UUID,System.Int32,System.Int32)`.
///
/// C# signature: `System.Void LibreMetaverse.GroupManager.RequestGroupAccountSummary(LibreMetaverse.UUID group, System.Int32 intervalDays, System.Int32 currentInterval)`.
/// Mapping contract: ownership `shared_self,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.GroupManager.RequestGroupMembers(LibreMetaverse.UUID)`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.GroupManager.RequestGroupMembers(LibreMetaverse.UUID group)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.GroupManager.RequestGroupName(LibreMetaverse.UUID)`.
///
/// C# signature: `System.Void LibreMetaverse.GroupManager.RequestGroupName(LibreMetaverse.UUID groupID)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.GroupManager.RequestGroupNames(System.Collections.Generic.List{LibreMetaverse.UUID})`.
///
/// C# signature: `System.Void LibreMetaverse.GroupManager.RequestGroupNames(System.Collections.Generic.List<LibreMetaverse.UUID> groupIDs)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.GroupManager.RequestGroupNotice(LibreMetaverse.UUID)`.
///
/// C# signature: `System.Void LibreMetaverse.GroupManager.RequestGroupNotice(LibreMetaverse.UUID noticeID)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.GroupManager.RequestGroupNoticesList(LibreMetaverse.UUID)`.
///
/// C# signature: `System.Void LibreMetaverse.GroupManager.RequestGroupNoticesList(LibreMetaverse.UUID group)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.GroupManager.RequestGroupProfile(LibreMetaverse.UUID)`.
///
/// C# signature: `System.Void LibreMetaverse.GroupManager.RequestGroupProfile(LibreMetaverse.UUID group)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.GroupManager.RequestGroupRoles(LibreMetaverse.UUID)`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.GroupManager.RequestGroupRoles(LibreMetaverse.UUID group)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.GroupManager.RequestGroupRolesMembers(LibreMetaverse.UUID)`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.GroupManager.RequestGroupRolesMembers(LibreMetaverse.UUID group)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.GroupManager.RequestGroupTitles(LibreMetaverse.UUID)`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.GroupManager.RequestGroupTitles(LibreMetaverse.UUID group)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.GroupManager.RequestJoinGroup(LibreMetaverse.UUID)`.
///
/// C# signature: `System.Void LibreMetaverse.GroupManager.RequestJoinGroup(LibreMetaverse.UUID id)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.GroupManager.SendGroupNotice(LibreMetaverse.UUID,LibreMetaverse.GroupNotice)`.
///
/// C# signature: `System.Void LibreMetaverse.GroupManager.SendGroupNotice(LibreMetaverse.UUID group, LibreMetaverse.GroupNotice notice)`.
/// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.GroupManager.SetGroupAcceptNotices(LibreMetaverse.UUID,System.Boolean,System.Boolean)`.
///
/// C# signature: `System.Void LibreMetaverse.GroupManager.SetGroupAcceptNotices(LibreMetaverse.UUID groupID, System.Boolean acceptNotices, System.Boolean listInProfile)`.
/// Mapping contract: ownership `shared_self,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.GroupManager.SetGroupContribution(LibreMetaverse.UUID,System.Int32)`.
///
/// C# signature: `System.Void LibreMetaverse.GroupManager.SetGroupContribution(LibreMetaverse.UUID group, System.Int32 contribution)`.
/// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.GroupManager.StartProposal(LibreMetaverse.UUID,LibreMetaverse.GroupProposal)`.
///
/// C# signature: `System.Void LibreMetaverse.GroupManager.StartProposal(LibreMetaverse.UUID group, LibreMetaverse.GroupProposal prop)`.
/// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.GroupManager.UpdateGroup(LibreMetaverse.UUID,LibreMetaverse.Group)`.
///
/// C# signature: `System.Void LibreMetaverse.GroupManager.UpdateGroup(LibreMetaverse.UUID id, LibreMetaverse.Group group)`.
/// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.GroupManager.UpdateRole(LibreMetaverse.GroupRole)`.
///
/// C# signature: `System.Void LibreMetaverse.GroupManager.UpdateRole(LibreMetaverse.GroupRole role)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.GroupManager.CanJoinMoreGroups`.
///
/// C# signature: `System.Nullable<System.Boolean> LibreMetaverse.GroupManager.CanJoinMoreGroups`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.GroupManager.CurrentGroupCount`.
///
/// C# signature: `System.Int32 LibreMetaverse.GroupManager.CurrentGroupCount`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.GroupManager.GroupMembershipLimit`.
///
/// C# signature: `System.Int32 LibreMetaverse.GroupManager.GroupMembershipLimit`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::group_manager::GroupManager;

/// C# type: `T:LibreMetaverse.GroupMember`.
///
/// Native Rust mapping of C# `LibreMetaverse.GroupMember` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct GroupMember {
    /// C# member: `F:LibreMetaverse.GroupMember.Contribution`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.GroupMember.Contribution`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub contribution: i32,
    /// C# member: `F:LibreMetaverse.GroupMember.ID`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.GroupMember.ID`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub id: libremetaverse_types::UUID,
    /// C# member: `F:LibreMetaverse.GroupMember.IsOwner`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.GroupMember.IsOwner`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub is_owner: bool,
    /// C# member: `F:LibreMetaverse.GroupMember.OnlineStatus`.
    ///
    /// C# signature: `System.String LibreMetaverse.GroupMember.OnlineStatus`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub online_status: String,
    /// C# member: `F:LibreMetaverse.GroupMember.Powers`.
    ///
    /// C# signature: `LibreMetaverse.GroupPowers LibreMetaverse.GroupMember.Powers`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub powers: libremetaverse::GroupPowers,
    /// C# member: `F:LibreMetaverse.GroupMember.Title`.
    ///
    /// C# signature: `System.String LibreMetaverse.GroupMember.Title`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub title: String,
}
impl GroupMember {}

/// C# type: `T:LibreMetaverse.GroupMembersReplyEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.GroupMembersReplyEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.GroupMembersReplyEventArgs.#ctor(LibreMetaverse.UUID,LibreMetaverse.UUID,System.Collections.Generic.Dictionary{LibreMetaverse.UUID,LibreMetaverse.GroupMember})`.
///
/// C# signature: `LibreMetaverse.GroupMembersReplyEventArgs(LibreMetaverse.UUID requestID, LibreMetaverse.UUID groupID, System.Collections.Generic.Dictionary<LibreMetaverse.UUID, LibreMetaverse.GroupMember> members)`.
/// Mapping contract: ownership `owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.GroupMembersReplyEventArgs.GroupID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.GroupMembersReplyEventArgs.GroupID`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.GroupMembersReplyEventArgs.Members`.
///
/// C# signature: `System.Collections.Generic.Dictionary<LibreMetaverse.UUID, LibreMetaverse.GroupMember> LibreMetaverse.GroupMembersReplyEventArgs.Members`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.GroupMembersReplyEventArgs.RequestID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.GroupMembersReplyEventArgs.RequestID`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::group_manager::GroupMembersReplyEventArgs;

/// C# type: `T:LibreMetaverse.GroupNamesEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.GroupNamesEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.GroupNamesEventArgs.#ctor(System.Collections.Generic.Dictionary{LibreMetaverse.UUID,System.String})`.
///
/// C# signature: `LibreMetaverse.GroupNamesEventArgs(System.Collections.Generic.Dictionary<LibreMetaverse.UUID, System.String> groupNames)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.GroupNamesEventArgs.GroupNames`.
///
/// C# signature: `System.Collections.Generic.Dictionary<LibreMetaverse.UUID, System.String> LibreMetaverse.GroupNamesEventArgs.GroupNames`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::group_manager::GroupNamesEventArgs;

/// C# type: `T:LibreMetaverse.GroupNotice`.
///
/// Native Rust mapping of C# `LibreMetaverse.GroupNotice` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct GroupNotice {
    /// C# member: `F:LibreMetaverse.GroupNotice.AttachmentID`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.GroupNotice.AttachmentID`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub attachment_id: libremetaverse_types::UUID,
    /// C# member: `F:LibreMetaverse.GroupNotice.Message`.
    ///
    /// C# signature: `System.String LibreMetaverse.GroupNotice.Message`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub message: String,
    /// C# member: `F:LibreMetaverse.GroupNotice.OwnerID`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.GroupNotice.OwnerID`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub owner_id: libremetaverse_types::UUID,
    /// C# member: `F:LibreMetaverse.GroupNotice.Subject`.
    ///
    /// C# signature: `System.String LibreMetaverse.GroupNotice.Subject`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub subject: String,
}
impl GroupNotice {
    /// C# member: `M:LibreMetaverse.GroupNotice.SerializeAttachment`.
    ///
    /// C# signature: `System.Byte[] LibreMetaverse.GroupNotice.SerializeAttachment()`.
    /// Mapping contract: ownership `mutable_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn serialize_attachment(&mut self) -> Result<Vec<u8>, crate::Error> {
        /* reviewed native compatibility body */
        self.native_serialize_attachment()
    }
}

/// C# type: `T:LibreMetaverse.GroupNoticesListEntry`.
///
/// Native Rust mapping of C# `LibreMetaverse.GroupNoticesListEntry` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct GroupNoticesListEntry {
    /// C# member: `F:LibreMetaverse.GroupNoticesListEntry.AssetType`.
    ///
    /// C# signature: `LibreMetaverse.AssetType LibreMetaverse.GroupNoticesListEntry.AssetType`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub asset_type: libremetaverse_types::AssetType,
    /// C# member: `F:LibreMetaverse.GroupNoticesListEntry.FromName`.
    ///
    /// C# signature: `System.String LibreMetaverse.GroupNoticesListEntry.FromName`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub from_name: String,
    /// C# member: `F:LibreMetaverse.GroupNoticesListEntry.HasAttachment`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.GroupNoticesListEntry.HasAttachment`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub has_attachment: bool,
    /// C# member: `F:LibreMetaverse.GroupNoticesListEntry.NoticeID`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.GroupNoticesListEntry.NoticeID`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub notice_id: libremetaverse_types::UUID,
    /// C# member: `F:LibreMetaverse.GroupNoticesListEntry.Subject`.
    ///
    /// C# signature: `System.String LibreMetaverse.GroupNoticesListEntry.Subject`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub subject: String,
    /// C# member: `F:LibreMetaverse.GroupNoticesListEntry.Timestamp`.
    ///
    /// C# signature: `System.UInt32 LibreMetaverse.GroupNoticesListEntry.Timestamp`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub timestamp: u32,
}
impl GroupNoticesListEntry {}

/// C# type: `T:LibreMetaverse.GroupNoticesListReplyEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.GroupNoticesListReplyEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.GroupNoticesListReplyEventArgs.#ctor(LibreMetaverse.UUID,System.Collections.Generic.List{LibreMetaverse.GroupNoticesListEntry})`.
///
/// C# signature: `LibreMetaverse.GroupNoticesListReplyEventArgs(LibreMetaverse.UUID groupID, System.Collections.Generic.List<LibreMetaverse.GroupNoticesListEntry> notices)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.GroupNoticesListReplyEventArgs.GroupID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.GroupNoticesListReplyEventArgs.GroupID`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.GroupNoticesListReplyEventArgs.Notices`.
///
/// C# signature: `System.Collections.Generic.List<LibreMetaverse.GroupNoticesListEntry> LibreMetaverse.GroupNoticesListReplyEventArgs.Notices`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::group_manager::GroupNoticesListReplyEventArgs;

/// C# type: `T:LibreMetaverse.GroupOperationEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.GroupOperationEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.GroupOperationEventArgs.#ctor(LibreMetaverse.UUID,System.Boolean)`.
///
/// C# signature: `LibreMetaverse.GroupOperationEventArgs(LibreMetaverse.UUID groupID, System.Boolean success)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.GroupOperationEventArgs.GroupID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.GroupOperationEventArgs.GroupID`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.GroupOperationEventArgs.Success`.
///
/// C# signature: `System.Boolean LibreMetaverse.GroupOperationEventArgs.Success`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::group_manager::GroupOperationEventArgs;

/// C# type: `T:LibreMetaverse.GroupPowers`.
///
/// Native Rust mapping of C# `LibreMetaverse.GroupPowers` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(transparent)]
pub struct GroupPowers(pub u64);
impl GroupPowers {
    /// C# member: `F:LibreMetaverse.GroupPowers.Accountable`.
    ///
    /// C# signature: `LibreMetaverse.GroupPowers LibreMetaverse.GroupPowers.Accountable`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const ACCOUNTABLE: Self = Self(1099511627776);
    /// C# member: `F:LibreMetaverse.GroupPowers.AllowEditLand`.
    ///
    /// C# signature: `LibreMetaverse.GroupPowers LibreMetaverse.GroupPowers.AllowEditLand`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const ALLOW_EDIT_LAND: Self = Self(8388608);
    /// C# member: `F:LibreMetaverse.GroupPowers.AllowFly`.
    ///
    /// C# signature: `LibreMetaverse.GroupPowers LibreMetaverse.GroupPowers.AllowFly`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const ALLOW_FLY: Self = Self(16777216);
    /// C# member: `F:LibreMetaverse.GroupPowers.AllowLandmark`.
    ///
    /// C# signature: `LibreMetaverse.GroupPowers LibreMetaverse.GroupPowers.AllowLandmark`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const ALLOW_LANDMARK: Self = Self(67108864);
    /// C# member: `F:LibreMetaverse.GroupPowers.AllowRez`.
    ///
    /// C# signature: `LibreMetaverse.GroupPowers LibreMetaverse.GroupPowers.AllowRez`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const ALLOW_REZ: Self = Self(33554432);
    /// C# member: `F:LibreMetaverse.GroupPowers.AllowSetHome`.
    ///
    /// C# signature: `LibreMetaverse.GroupPowers LibreMetaverse.GroupPowers.AllowSetHome`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const ALLOW_SET_HOME: Self = Self(268435456);
    /// C# member: `F:LibreMetaverse.GroupPowers.AllowVoiceChat`.
    ///
    /// C# signature: `LibreMetaverse.GroupPowers LibreMetaverse.GroupPowers.AllowVoiceChat`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const ALLOW_VOICE_CHAT: Self = Self(134217728);
    /// C# member: `F:LibreMetaverse.GroupPowers.AssignMember`.
    ///
    /// C# signature: `LibreMetaverse.GroupPowers LibreMetaverse.GroupPowers.AssignMember`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const ASSIGN_MEMBER: Self = Self(256);
    /// C# member: `F:LibreMetaverse.GroupPowers.AssignMemberLimited`.
    ///
    /// C# signature: `LibreMetaverse.GroupPowers LibreMetaverse.GroupPowers.AssignMemberLimited`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const ASSIGN_MEMBER_LIMITED: Self = Self(128);
    /// C# member: `F:LibreMetaverse.GroupPowers.ChangeActions`.
    ///
    /// C# signature: `LibreMetaverse.GroupPowers LibreMetaverse.GroupPowers.ChangeActions`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const CHANGE_ACTIONS: Self = Self(1024);
    /// C# member: `F:LibreMetaverse.GroupPowers.ChangeIdentity`.
    ///
    /// C# signature: `LibreMetaverse.GroupPowers LibreMetaverse.GroupPowers.ChangeIdentity`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const CHANGE_IDENTITY: Self = Self(2048);
    /// C# member: `F:LibreMetaverse.GroupPowers.ChangeMedia`.
    ///
    /// C# signature: `LibreMetaverse.GroupPowers LibreMetaverse.GroupPowers.ChangeMedia`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const CHANGE_MEDIA: Self = Self(1048576);
    /// C# member: `F:LibreMetaverse.GroupPowers.ChangeOptions`.
    ///
    /// C# signature: `LibreMetaverse.GroupPowers LibreMetaverse.GroupPowers.ChangeOptions`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const CHANGE_OPTIONS: Self = Self(8);
    /// C# member: `F:LibreMetaverse.GroupPowers.CreateRole`.
    ///
    /// C# signature: `LibreMetaverse.GroupPowers LibreMetaverse.GroupPowers.CreateRole`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const CREATE_ROLE: Self = Self(16);
    /// C# member: `F:LibreMetaverse.GroupPowers.DeedObject`.
    ///
    /// C# signature: `LibreMetaverse.GroupPowers LibreMetaverse.GroupPowers.DeedObject`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const DEED_OBJECT: Self = Self(68719476736);
    /// C# member: `F:LibreMetaverse.GroupPowers.DeleteRole`.
    ///
    /// C# signature: `LibreMetaverse.GroupPowers LibreMetaverse.GroupPowers.DeleteRole`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const DELETE_ROLE: Self = Self(32);
    /// C# member: `F:LibreMetaverse.GroupPowers.Eject`.
    ///
    /// C# signature: `LibreMetaverse.GroupPowers LibreMetaverse.GroupPowers.Eject`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const EJECT: Self = Self(4);
    /// C# member: `F:LibreMetaverse.GroupPowers.ExperienceAdmin`.
    ///
    /// C# signature: `LibreMetaverse.GroupPowers LibreMetaverse.GroupPowers.ExperienceAdmin`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const EXPERIENCE_ADMIN: Self = Self(562949953421312);
    /// C# member: `F:LibreMetaverse.GroupPowers.ExperienceCreator`.
    ///
    /// C# signature: `LibreMetaverse.GroupPowers LibreMetaverse.GroupPowers.ExperienceCreator`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const EXPERIENCE_CREATOR: Self = Self(1125899906842624);
    /// C# member: `F:LibreMetaverse.GroupPowers.FindPlaces`.
    ///
    /// C# signature: `LibreMetaverse.GroupPowers LibreMetaverse.GroupPowers.FindPlaces`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const FIND_PLACES: Self = Self(131072);
    /// C# member: `F:LibreMetaverse.GroupPowers.GroupBanAccess`.
    ///
    /// C# signature: `LibreMetaverse.GroupPowers LibreMetaverse.GroupPowers.GroupBanAccess`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const GROUP_BAN_ACCESS: Self = Self(2251799813685248);
    /// C# member: `F:LibreMetaverse.GroupPowers.HostEvent`.
    ///
    /// C# signature: `LibreMetaverse.GroupPowers LibreMetaverse.GroupPowers.HostEvent`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const HOST_EVENT: Self = Self(2199023255552);
    /// C# member: `F:LibreMetaverse.GroupPowers.Invite`.
    ///
    /// C# signature: `LibreMetaverse.GroupPowers LibreMetaverse.GroupPowers.Invite`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const INVITE: Self = Self(2);
    /// C# member: `F:LibreMetaverse.GroupPowers.JoinChat`.
    ///
    /// C# signature: `LibreMetaverse.GroupPowers LibreMetaverse.GroupPowers.JoinChat`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const JOIN_CHAT: Self = Self(65536);
    /// C# member: `F:LibreMetaverse.GroupPowers.LandChangeIdentity`.
    ///
    /// C# signature: `LibreMetaverse.GroupPowers LibreMetaverse.GroupPowers.LandChangeIdentity`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const LAND_CHANGE_IDENTITY: Self = Self(262144);
    /// C# member: `F:LibreMetaverse.GroupPowers.LandDeed`.
    ///
    /// C# signature: `LibreMetaverse.GroupPowers LibreMetaverse.GroupPowers.LandDeed`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const LAND_DEED: Self = Self(4096);
    /// C# member: `F:LibreMetaverse.GroupPowers.LandDivideJoin`.
    ///
    /// C# signature: `LibreMetaverse.GroupPowers LibreMetaverse.GroupPowers.LandDivideJoin`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const LAND_DIVIDE_JOIN: Self = Self(32768);
    /// C# member: `F:LibreMetaverse.GroupPowers.LandEdit`.
    ///
    /// C# signature: `LibreMetaverse.GroupPowers LibreMetaverse.GroupPowers.LandEdit`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const LAND_EDIT: Self = Self(2097152);
    /// C# member: `F:LibreMetaverse.GroupPowers.LandEjectAndFreeze`.
    ///
    /// C# signature: `LibreMetaverse.GroupPowers LibreMetaverse.GroupPowers.LandEjectAndFreeze`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const LAND_EJECT_AND_FREEZE: Self = Self(4294967296);
    /// C# member: `F:LibreMetaverse.GroupPowers.LandGardening`.
    ///
    /// C# signature: `LibreMetaverse.GroupPowers LibreMetaverse.GroupPowers.LandGardening`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const LAND_GARDENING: Self = Self(34359738368);
    /// C# member: `F:LibreMetaverse.GroupPowers.LandManageAllowed`.
    ///
    /// C# signature: `LibreMetaverse.GroupPowers LibreMetaverse.GroupPowers.LandManageAllowed`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const LAND_MANAGE_ALLOWED: Self = Self(536870912);
    /// C# member: `F:LibreMetaverse.GroupPowers.LandManageBanned`.
    ///
    /// C# signature: `LibreMetaverse.GroupPowers LibreMetaverse.GroupPowers.LandManageBanned`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const LAND_MANAGE_BANNED: Self = Self(1073741824);
    /// C# member: `F:LibreMetaverse.GroupPowers.LandManagePasses`.
    ///
    /// C# signature: `LibreMetaverse.GroupPowers LibreMetaverse.GroupPowers.LandManagePasses`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const LAND_MANAGE_PASSES: Self = Self(2147483648);
    /// C# member: `F:LibreMetaverse.GroupPowers.LandOptions`.
    ///
    /// C# signature: `LibreMetaverse.GroupPowers LibreMetaverse.GroupPowers.LandOptions`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const LAND_OPTIONS: Self = Self(4194304);
    /// C# member: `F:LibreMetaverse.GroupPowers.LandRelease`.
    ///
    /// C# signature: `LibreMetaverse.GroupPowers LibreMetaverse.GroupPowers.LandRelease`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const LAND_RELEASE: Self = Self(8192);
    /// C# member: `F:LibreMetaverse.GroupPowers.LandSetSale`.
    ///
    /// C# signature: `LibreMetaverse.GroupPowers LibreMetaverse.GroupPowers.LandSetSale`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const LAND_SET_SALE: Self = Self(16384);
    /// C# member: `F:LibreMetaverse.GroupPowers.MemberVisible`.
    ///
    /// C# signature: `LibreMetaverse.GroupPowers LibreMetaverse.GroupPowers.MemberVisible`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const MEMBER_VISIBLE: Self = Self(140737488355328);
    /// C# member: `F:LibreMetaverse.GroupPowers.ModerateChat`.
    ///
    /// C# signature: `LibreMetaverse.GroupPowers LibreMetaverse.GroupPowers.ModerateChat`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const MODERATE_CHAT: Self = Self(137438953472);
    /// C# member: `F:LibreMetaverse.GroupPowers.None`.
    ///
    /// C# signature: `LibreMetaverse.GroupPowers LibreMetaverse.GroupPowers.None`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const NONE: Self = Self(0);
    /// C# member: `F:LibreMetaverse.GroupPowers.ObjectManipulate`.
    ///
    /// C# signature: `LibreMetaverse.GroupPowers LibreMetaverse.GroupPowers.ObjectManipulate`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const OBJECT_MANIPULATE: Self = Self(274877906944);
    /// C# member: `F:LibreMetaverse.GroupPowers.ObjectSetForSale`.
    ///
    /// C# signature: `LibreMetaverse.GroupPowers LibreMetaverse.GroupPowers.ObjectSetForSale`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const OBJECT_SET_FOR_SALE: Self = Self(549755813888);
    /// C# member: `F:LibreMetaverse.GroupPowers.ReceiveNotices`.
    ///
    /// C# signature: `LibreMetaverse.GroupPowers LibreMetaverse.GroupPowers.ReceiveNotices`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const RECEIVE_NOTICES: Self = Self(8796093022208);
    /// C# member: `F:LibreMetaverse.GroupPowers.RemoveMember`.
    ///
    /// C# signature: `LibreMetaverse.GroupPowers LibreMetaverse.GroupPowers.RemoveMember`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const REMOVE_MEMBER: Self = Self(512);
    /// C# member: `F:LibreMetaverse.GroupPowers.ReturnGroupOwned`.
    ///
    /// C# signature: `LibreMetaverse.GroupPowers LibreMetaverse.GroupPowers.ReturnGroupOwned`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const RETURN_GROUP_OWNED: Self = Self(281474976710656);
    /// C# member: `F:LibreMetaverse.GroupPowers.ReturnGroupSet`.
    ///
    /// C# signature: `LibreMetaverse.GroupPowers LibreMetaverse.GroupPowers.ReturnGroupSet`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const RETURN_GROUP_SET: Self = Self(8589934592);
    /// C# member: `F:LibreMetaverse.GroupPowers.ReturnNonGroup`.
    ///
    /// C# signature: `LibreMetaverse.GroupPowers LibreMetaverse.GroupPowers.ReturnNonGroup`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const RETURN_NON_GROUP: Self = Self(17179869184);
    /// C# member: `F:LibreMetaverse.GroupPowers.RoleProperties`.
    ///
    /// C# signature: `LibreMetaverse.GroupPowers LibreMetaverse.GroupPowers.RoleProperties`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const ROLE_PROPERTIES: Self = Self(64);
    /// C# member: `F:LibreMetaverse.GroupPowers.SendNotices`.
    ///
    /// C# signature: `LibreMetaverse.GroupPowers LibreMetaverse.GroupPowers.SendNotices`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const SEND_NOTICES: Self = Self(4398046511104);
    /// C# member: `F:LibreMetaverse.GroupPowers.SetLandingPoint`.
    ///
    /// C# signature: `LibreMetaverse.GroupPowers LibreMetaverse.GroupPowers.SetLandingPoint`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const SET_LANDING_POINT: Self = Self(524288);
    /// C# member: `F:LibreMetaverse.GroupPowers.StartProposal`.
    ///
    /// C# signature: `LibreMetaverse.GroupPowers LibreMetaverse.GroupPowers.StartProposal`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const START_PROPOSAL: Self = Self(17592186044416);
    /// C# member: `F:LibreMetaverse.GroupPowers.VoteOnProposal`.
    ///
    /// C# signature: `LibreMetaverse.GroupPowers LibreMetaverse.GroupPowers.VoteOnProposal`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const VOTE_ON_PROPOSAL: Self = Self(35184372088832);
}

/// C# type: `T:LibreMetaverse.GroupProfileEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.GroupProfileEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.GroupProfileEventArgs.#ctor(LibreMetaverse.Group)`.
///
/// C# signature: `LibreMetaverse.GroupProfileEventArgs(LibreMetaverse.Group group)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.GroupProfileEventArgs.Group`.
///
/// C# signature: `LibreMetaverse.Group LibreMetaverse.GroupProfileEventArgs.Group`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::group_manager::GroupProfileEventArgs;

/// C# type: `T:LibreMetaverse.GroupProposal`.
///
/// Native Rust mapping of C# `LibreMetaverse.GroupProposal` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Debug, PartialEq)]
pub struct GroupProposal {
    /// C# member: `F:LibreMetaverse.GroupProposal.Duration`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.GroupProposal.Duration`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub duration: i32,
    /// C# member: `F:LibreMetaverse.GroupProposal.Majority`.
    ///
    /// C# signature: `System.Single LibreMetaverse.GroupProposal.Majority`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub majority: f32,
    /// C# member: `F:LibreMetaverse.GroupProposal.Quorum`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.GroupProposal.Quorum`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub quorum: i32,
    /// C# member: `F:LibreMetaverse.GroupProposal.VoteText`.
    ///
    /// C# signature: `System.String LibreMetaverse.GroupProposal.VoteText`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub vote_text: String,
}
impl GroupProposal {}

/// C# type: `T:LibreMetaverse.GroupRole`.
///
/// Native Rust mapping of C# `LibreMetaverse.GroupRole` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct GroupRole {
    /// C# member: `F:LibreMetaverse.GroupRole.Description`.
    ///
    /// C# signature: `System.String LibreMetaverse.GroupRole.Description`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub description: String,
    /// C# member: `F:LibreMetaverse.GroupRole.GroupID`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.GroupRole.GroupID`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub group_id: libremetaverse_types::UUID,
    /// C# member: `F:LibreMetaverse.GroupRole.ID`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.GroupRole.ID`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub id: libremetaverse_types::UUID,
    /// C# member: `F:LibreMetaverse.GroupRole.Members`.
    ///
    /// C# signature: `System.UInt32 LibreMetaverse.GroupRole.Members`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub members: u32,
    /// C# member: `F:LibreMetaverse.GroupRole.Name`.
    ///
    /// C# signature: `System.String LibreMetaverse.GroupRole.Name`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub name: String,
    /// C# member: `F:LibreMetaverse.GroupRole.Powers`.
    ///
    /// C# signature: `LibreMetaverse.GroupPowers LibreMetaverse.GroupRole.Powers`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub powers: libremetaverse::GroupPowers,
    /// C# member: `F:LibreMetaverse.GroupRole.Title`.
    ///
    /// C# signature: `System.String LibreMetaverse.GroupRole.Title`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub title: String,
}
impl GroupRole {
    /// C# member: `M:LibreMetaverse.GroupRole.ToString`.
    ///
    /// C# signature: `System.String LibreMetaverse.GroupRole.ToString()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
    pub fn to_string(&self) -> String {
        /* reviewed native compatibility body */
        self.native_to_string()
    }
}

/// C# type: `T:LibreMetaverse.GroupRoleChangeType`.
///
/// Native Rust mapping of C# `LibreMetaverse.GroupRoleChangeType` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(u32)]
pub enum GroupRoleChangeType {
    /// C# member: `F:LibreMetaverse.GroupRoleChangeType.AddToRole`.
    ///
    /// C# signature: `LibreMetaverse.GroupRoleChangeType LibreMetaverse.GroupRoleChangeType.AddToRole`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    AddToRole = 0,
    /// C# member: `F:LibreMetaverse.GroupRoleChangeType.RemoveFromRole`.
    ///
    /// C# signature: `LibreMetaverse.GroupRoleChangeType LibreMetaverse.GroupRoleChangeType.RemoveFromRole`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    RemoveFromRole = 1,
}

/// C# type: `T:LibreMetaverse.GroupRoleUpdate`.
///
/// Native Rust mapping of C# `LibreMetaverse.GroupRoleUpdate` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(u32)]
pub enum GroupRoleUpdate {
    /// C# member: `F:LibreMetaverse.GroupRoleUpdate.Create`.
    ///
    /// C# signature: `LibreMetaverse.GroupRoleUpdate LibreMetaverse.GroupRoleUpdate.Create`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Create = 4,
    /// C# member: `F:LibreMetaverse.GroupRoleUpdate.Delete`.
    ///
    /// C# signature: `LibreMetaverse.GroupRoleUpdate LibreMetaverse.GroupRoleUpdate.Delete`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Delete = 5,
    /// C# member: `F:LibreMetaverse.GroupRoleUpdate.NoUpdate`.
    ///
    /// C# signature: `LibreMetaverse.GroupRoleUpdate LibreMetaverse.GroupRoleUpdate.NoUpdate`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    NoUpdate = 0,
    /// C# member: `F:LibreMetaverse.GroupRoleUpdate.UpdateAll`.
    ///
    /// C# signature: `LibreMetaverse.GroupRoleUpdate LibreMetaverse.GroupRoleUpdate.UpdateAll`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    UpdateAll = 3,
    /// C# member: `F:LibreMetaverse.GroupRoleUpdate.UpdateData`.
    ///
    /// C# signature: `LibreMetaverse.GroupRoleUpdate LibreMetaverse.GroupRoleUpdate.UpdateData`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    UpdateData = 1,
    /// C# member: `F:LibreMetaverse.GroupRoleUpdate.UpdatePowers`.
    ///
    /// C# signature: `LibreMetaverse.GroupRoleUpdate LibreMetaverse.GroupRoleUpdate.UpdatePowers`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    UpdatePowers = 2,
}

/// C# type: `T:LibreMetaverse.GroupRolesDataReplyEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.GroupRolesDataReplyEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.GroupRolesDataReplyEventArgs.#ctor(LibreMetaverse.UUID,LibreMetaverse.UUID,System.Collections.Generic.Dictionary{LibreMetaverse.UUID,LibreMetaverse.GroupRole})`.
///
/// C# signature: `LibreMetaverse.GroupRolesDataReplyEventArgs(LibreMetaverse.UUID requestID, LibreMetaverse.UUID groupID, System.Collections.Generic.Dictionary<LibreMetaverse.UUID, LibreMetaverse.GroupRole> roles)`.
/// Mapping contract: ownership `owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.GroupRolesDataReplyEventArgs.GroupID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.GroupRolesDataReplyEventArgs.GroupID`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.GroupRolesDataReplyEventArgs.RequestID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.GroupRolesDataReplyEventArgs.RequestID`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.GroupRolesDataReplyEventArgs.Roles`.
///
/// C# signature: `System.Collections.Generic.Dictionary<LibreMetaverse.UUID, LibreMetaverse.GroupRole> LibreMetaverse.GroupRolesDataReplyEventArgs.Roles`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::group_manager::GroupRolesDataReplyEventArgs;

/// C# type: `T:LibreMetaverse.GroupRolesMembersReplyEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.GroupRolesMembersReplyEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.GroupRolesMembersReplyEventArgs.#ctor(LibreMetaverse.UUID,LibreMetaverse.UUID,System.Collections.Generic.List{System.Collections.Generic.KeyValuePair{LibreMetaverse.UUID,LibreMetaverse.UUID}})`.
///
/// C# signature: `LibreMetaverse.GroupRolesMembersReplyEventArgs(LibreMetaverse.UUID requestID, LibreMetaverse.UUID groupID, System.Collections.Generic.List<System.Collections.Generic.KeyValuePair<LibreMetaverse.UUID, LibreMetaverse.UUID>> rolesMembers)`.
/// Mapping contract: ownership `owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.GroupRolesMembersReplyEventArgs.GroupID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.GroupRolesMembersReplyEventArgs.GroupID`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.GroupRolesMembersReplyEventArgs.RequestID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.GroupRolesMembersReplyEventArgs.RequestID`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.GroupRolesMembersReplyEventArgs.RolesMembers`.
///
/// C# signature: `System.Collections.Generic.List<System.Collections.Generic.KeyValuePair<LibreMetaverse.UUID, LibreMetaverse.UUID>> LibreMetaverse.GroupRolesMembersReplyEventArgs.RolesMembers`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::group_manager::GroupRolesMembersReplyEventArgs;

/// C# type: `T:LibreMetaverse.GroupTitle`.
///
/// Native Rust mapping of C# `LibreMetaverse.GroupTitle` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct GroupTitle {
    /// C# member: `F:LibreMetaverse.GroupTitle.GroupID`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.GroupTitle.GroupID`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub group_id: libremetaverse_types::UUID,
    /// C# member: `F:LibreMetaverse.GroupTitle.RoleID`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.GroupTitle.RoleID`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub role_id: libremetaverse_types::UUID,
    /// C# member: `F:LibreMetaverse.GroupTitle.Selected`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.GroupTitle.Selected`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub selected: bool,
    /// C# member: `F:LibreMetaverse.GroupTitle.Title`.
    ///
    /// C# signature: `System.String LibreMetaverse.GroupTitle.Title`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub title: String,
}
impl GroupTitle {
    /// C# member: `M:LibreMetaverse.GroupTitle.ToString`.
    ///
    /// C# signature: `System.String LibreMetaverse.GroupTitle.ToString()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
    pub fn to_string(&self) -> String {
        /* reviewed native compatibility body */
        self.native_to_string()
    }
}

/// C# type: `T:LibreMetaverse.GroupTitlesReplyEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.GroupTitlesReplyEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.GroupTitlesReplyEventArgs.#ctor(LibreMetaverse.UUID,LibreMetaverse.UUID,System.Collections.Generic.Dictionary{LibreMetaverse.UUID,LibreMetaverse.GroupTitle})`.
///
/// C# signature: `LibreMetaverse.GroupTitlesReplyEventArgs(LibreMetaverse.UUID requestID, LibreMetaverse.UUID groupID, System.Collections.Generic.Dictionary<LibreMetaverse.UUID, LibreMetaverse.GroupTitle> titles)`.
/// Mapping contract: ownership `owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.GroupTitlesReplyEventArgs.GroupID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.GroupTitlesReplyEventArgs.GroupID`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.GroupTitlesReplyEventArgs.RequestID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.GroupTitlesReplyEventArgs.RequestID`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.GroupTitlesReplyEventArgs.Titles`.
///
/// C# signature: `System.Collections.Generic.Dictionary<LibreMetaverse.UUID, LibreMetaverse.GroupTitle> LibreMetaverse.GroupTitlesReplyEventArgs.Titles`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::group_manager::GroupTitlesReplyEventArgs;

/// C# type: `T:LibreMetaverse.GroupVoteMajority`.
///
/// Native Rust mapping of C# `LibreMetaverse.GroupVoteMajority` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
pub struct GroupVoteMajority;
impl GroupVoteMajority {
    /// C# member: `F:LibreMetaverse.GroupVoteMajority.SimpleMajority`.
    ///
    /// C# signature: `System.Single LibreMetaverse.GroupVoteMajority.SimpleMajority`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const SIMPLE_MAJORITY: f32 = 0.5;
    /// C# member: `F:LibreMetaverse.GroupVoteMajority.TwoThirdsMajority`.
    ///
    /// C# signature: `System.Single LibreMetaverse.GroupVoteMajority.TwoThirdsMajority`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const TWO_THIRDS_MAJORITY: f32 = 0.667;
    /// C# member: `F:LibreMetaverse.GroupVoteMajority.Unanimous`.
    ///
    /// C# signature: `System.Single LibreMetaverse.GroupVoteMajority.Unanimous`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const UNANIMOUS: f32 = 1.0;
}

/// C# type: `T:LibreMetaverse.HandPose`.
///
/// Native Rust mapping of C# `LibreMetaverse.HandPose` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(u32)]
pub enum HandPose {
    /// C# member: `F:LibreMetaverse.HandPose.Fist`.
    ///
    /// C# signature: `LibreMetaverse.HandPose LibreMetaverse.HandPose.Fist`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Fist = 3,
    /// C# member: `F:LibreMetaverse.HandPose.Fist_Left`.
    ///
    /// C# signature: `LibreMetaverse.HandPose LibreMetaverse.HandPose.Fist_Left`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Fist_Left = 6,
    /// C# member: `F:LibreMetaverse.HandPose.Fist_Right`.
    ///
    /// C# signature: `LibreMetaverse.HandPose LibreMetaverse.HandPose.Fist_Right`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Fist_Right = 9,
    /// C# member: `F:LibreMetaverse.HandPose.Peace_Right`.
    ///
    /// C# signature: `LibreMetaverse.HandPose LibreMetaverse.HandPose.Peace_Right`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Peace_Right = 12,
    /// C# member: `F:LibreMetaverse.HandPose.Point_Both`.
    ///
    /// C# signature: `LibreMetaverse.HandPose LibreMetaverse.HandPose.Point_Both`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Point_Both = 2,
    /// C# member: `F:LibreMetaverse.HandPose.Point_Left`.
    ///
    /// C# signature: `LibreMetaverse.HandPose LibreMetaverse.HandPose.Point_Left`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Point_Left = 5,
    /// C# member: `F:LibreMetaverse.HandPose.Point_Right`.
    ///
    /// C# signature: `LibreMetaverse.HandPose LibreMetaverse.HandPose.Point_Right`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Point_Right = 8,
    /// C# member: `F:LibreMetaverse.HandPose.Relaxed`.
    ///
    /// C# signature: `LibreMetaverse.HandPose LibreMetaverse.HandPose.Relaxed`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Relaxed = 1,
    /// C# member: `F:LibreMetaverse.HandPose.Relaxed_Left`.
    ///
    /// C# signature: `LibreMetaverse.HandPose LibreMetaverse.HandPose.Relaxed_Left`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Relaxed_Left = 4,
    /// C# member: `F:LibreMetaverse.HandPose.Relaxed_Right`.
    ///
    /// C# signature: `LibreMetaverse.HandPose LibreMetaverse.HandPose.Relaxed_Right`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Relaxed_Right = 7,
    /// C# member: `F:LibreMetaverse.HandPose.Salute_Right`.
    ///
    /// C# signature: `LibreMetaverse.HandPose LibreMetaverse.HandPose.Salute_Right`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Salute_Right = 10,
    /// C# member: `F:LibreMetaverse.HandPose.Spread`.
    ///
    /// C# signature: `LibreMetaverse.HandPose LibreMetaverse.HandPose.Spread`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Spread = 0,
    /// C# member: `F:LibreMetaverse.HandPose.Typing`.
    ///
    /// C# signature: `LibreMetaverse.HandPose LibreMetaverse.HandPose.Typing`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Typing = 11,
}

/// C# type: `T:LibreMetaverse.Helpers`.
///
/// Native Rust mapping of C# `LibreMetaverse.Helpers` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `F:LibreMetaverse.Helpers.MSG_APPENDED_ACKS`.
///
/// C# signature: `System.Byte LibreMetaverse.Helpers.MSG_APPENDED_ACKS`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Helpers.MSG_RELIABLE`.
///
/// C# signature: `System.Byte LibreMetaverse.Helpers.MSG_RELIABLE`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Helpers.MSG_RESENT`.
///
/// C# signature: `System.Byte LibreMetaverse.Helpers.MSG_RESENT`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Helpers.MSG_ZEROCODED`.
///
/// C# signature: `System.Byte LibreMetaverse.Helpers.MSG_ZEROCODED`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `M:LibreMetaverse.Helpers.CopyStream(System.IO.Stream,System.IO.Stream)`.
///
/// C# signature: `System.Void LibreMetaverse.Helpers.CopyStream(System.IO.Stream input, System.IO.Stream output)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Helpers.DecompressOSD(System.Byte[])`.
///
/// C# signature: `LibreMetaverse.StructuredData.OSD LibreMetaverse.Helpers.DecompressOSD(System.Byte[] meshBytes)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Helpers.FloatToTerseString(System.Single)`.
///
/// C# signature: `System.String LibreMetaverse.Helpers.FloatToTerseString(System.Single val)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Helpers.GetResourceStream(System.String)`.
///
/// C# signature: `System.IO.Stream LibreMetaverse.Helpers.GetResourceStream(System.String resourceName)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Helpers.GetResourceStream(System.String,System.String)`.
///
/// C# signature: `System.IO.Stream LibreMetaverse.Helpers.GetResourceStream(System.String resourceName, System.String searchPath)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Helpers.GlobalPosToRegionHandle(System.Single,System.Single,System.Single@,System.Single@)`.
///
/// C# signature: `System.UInt64 LibreMetaverse.Helpers.GlobalPosToRegionHandle(System.Single globalX, System.Single globalY, out System.Single& localX, out System.Single& localY)`.
/// Mapping contract: ownership `owned,owned,mutable_output,mutable_output`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Helpers.InventoryCRC(System.Int32,System.Byte,System.SByte,System.SByte,LibreMetaverse.UUID,LibreMetaverse.UUID,System.Int32,LibreMetaverse.UUID,LibreMetaverse.UUID,LibreMetaverse.UUID,LibreMetaverse.UUID,System.UInt32,System.UInt32,System.UInt32,System.UInt32,System.UInt32)`.
///
/// C# signature: `System.UInt32 LibreMetaverse.Helpers.InventoryCRC(System.Int32 creationDate, System.Byte saleType, System.SByte invType, System.SByte type, LibreMetaverse.UUID assetID, LibreMetaverse.UUID groupID, System.Int32 salePrice, LibreMetaverse.UUID ownerID, LibreMetaverse.UUID creatorID, LibreMetaverse.UUID itemID, LibreMetaverse.UUID folderID, System.UInt32 everyoneMask, System.UInt32 flags, System.UInt32 nextOwnerMask, System.UInt32 groupMask, System.UInt32 ownerMask)`.
/// Mapping contract: ownership `owned,owned,owned,owned,owned,owned,owned,owned,owned,owned,owned,owned,owned,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Helpers.OSDToPrimList(LibreMetaverse.StructuredData.OSD)`.
///
/// C# signature: `System.Collections.Generic.List<LibreMetaverse.Primitive> LibreMetaverse.Helpers.OSDToPrimList(LibreMetaverse.StructuredData.OSD osd)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Helpers.PrimListToOSD(System.Collections.Generic.List{LibreMetaverse.Primitive})`.
///
/// C# signature: `LibreMetaverse.StructuredData.OSD LibreMetaverse.Helpers.PrimListToOSD(System.Collections.Generic.List<LibreMetaverse.Primitive> prims)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Helpers.SafeAction(System.Action,System.String,System.Action{System.String,System.Exception})`.
///
/// C# signature: `System.Void LibreMetaverse.Helpers.SafeAction(System.Action action, System.String actionName = default, System.Action<System.String, System.Exception> logger = default)`.
/// Mapping contract: ownership `owned,optional_owned,optional_owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Helpers.SplitBy(System.String,System.Int32)`.
///
/// C# signature: `System.Collections.Generic.IEnumerable<System.String> LibreMetaverse.Helpers.SplitBy(System.String str, System.Int32 chunkLength)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Helpers.StructToString(System.Object)`.
///
/// C# signature: `System.String LibreMetaverse.Helpers.StructToString(System.Object t)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Helpers.TEGlowByte(System.Single)`.
///
/// C# signature: `System.Byte LibreMetaverse.Helpers.TEGlowByte(System.Single glow)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Helpers.TEGlowFloat(System.Byte[],System.Int32)`.
///
/// C# signature: `System.Single LibreMetaverse.Helpers.TEGlowFloat(System.Byte[] bytes, System.Int32 pos)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Helpers.TEOffsetFloat(System.Byte[],System.Int32)`.
///
/// C# signature: `System.Single LibreMetaverse.Helpers.TEOffsetFloat(System.Byte[] bytes, System.Int32 pos)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Helpers.TEOffsetShort(System.Single)`.
///
/// C# signature: `System.Int16 LibreMetaverse.Helpers.TEOffsetShort(System.Single offset)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Helpers.TERotationFloat(System.Byte[],System.Int32)`.
///
/// C# signature: `System.Single LibreMetaverse.Helpers.TERotationFloat(System.Byte[] bytes, System.Int32 pos)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Helpers.TERotationShort(System.Single)`.
///
/// C# signature: `System.Int16 LibreMetaverse.Helpers.TERotationShort(System.Single rotation)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Helpers.ZCompressOSD(LibreMetaverse.StructuredData.OSD)`.
///
/// C# signature: `System.Byte[] LibreMetaverse.Helpers.ZCompressOSD(LibreMetaverse.StructuredData.OSD data)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Helpers.ZDecompressOSD(System.Byte[])`.
///
/// C# signature: `LibreMetaverse.StructuredData.OSD LibreMetaverse.Helpers.ZDecompressOSD(System.Byte[] data)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Helpers.ZeroDecode(System.Byte[],System.Int32,System.Byte[])`.
///
/// C# signature: `System.Int32 LibreMetaverse.Helpers.ZeroDecode(System.Byte[] src, System.Int32 srclen, System.Byte[] dest)`.
/// Mapping contract: ownership `shared_borrow,owned,mutable_borrow`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Helpers.ZeroEncode(System.Byte[],System.Int32,System.Byte[])`.
///
/// C# signature: `System.Int32 LibreMetaverse.Helpers.ZeroEncode(System.Byte[] src, System.Int32 srclen, System.Byte[] dest)`.
/// Mapping contract: ownership `shared_borrow,owned,mutable_borrow`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
pub use crate::helpers::Helpers;

/// C# type: `T:LibreMetaverse.HomeInfo`.
///
/// Native Rust mapping of C# `LibreMetaverse.HomeInfo` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct HomeInfo {
    /// C# member: `F:LibreMetaverse.HomeInfo.LookAt`.
    ///
    /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.HomeInfo.LookAt`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub look_at: libremetaverse_types::Vector3,
    /// C# member: `F:LibreMetaverse.HomeInfo.Position`.
    ///
    /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.HomeInfo.Position`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub position: libremetaverse_types::Vector3,
    /// C# member: `F:LibreMetaverse.HomeInfo.RegionHandle`.
    ///
    /// C# signature: `System.UInt64 LibreMetaverse.HomeInfo.RegionHandle`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub region_handle: u64,
}
impl HomeInfo {
    /// C# member: `M:LibreMetaverse.HomeInfo.#ctor`.
    ///
    /// C# signature: `LibreMetaverse.HomeInfo()`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn new() -> Result<Self, crate::Error> {
        /* reviewed native compatibility body */
        Ok(Self {
            look_at: libremetaverse_types::Vector3::zero(),
            position: libremetaverse_types::Vector3::zero(),
            region_handle: 0,
        })
    }
}

/// C# type: `T:LibreMetaverse.HttpCapsClient`.
///
/// Native Rust mapping of C# `LibreMetaverse.HttpCapsClient` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `F:LibreMetaverse.HttpCapsClient.HDR_LLSD_BINARY`.
///
/// C# signature: `System.Net.Http.Headers.MediaTypeHeaderValue LibreMetaverse.HttpCapsClient.HDR_LLSD_BINARY`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
/// C# member: `F:LibreMetaverse.HttpCapsClient.HDR_LLSD_JSON`.
///
/// C# signature: `System.Net.Http.Headers.MediaTypeHeaderValue LibreMetaverse.HttpCapsClient.HDR_LLSD_JSON`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
/// C# member: `F:LibreMetaverse.HttpCapsClient.HDR_LLSD_XML`.
///
/// C# signature: `System.Net.Http.Headers.MediaTypeHeaderValue LibreMetaverse.HttpCapsClient.HDR_LLSD_XML`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
/// C# member: `F:LibreMetaverse.HttpCapsClient.LLSD_BINARY`.
///
/// C# signature: `System.String LibreMetaverse.HttpCapsClient.LLSD_BINARY`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.HttpCapsClient.LLSD_JSON`.
///
/// C# signature: `System.String LibreMetaverse.HttpCapsClient.LLSD_JSON`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.HttpCapsClient.LLSD_XML`.
///
/// C# signature: `System.String LibreMetaverse.HttpCapsClient.LLSD_XML`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `M:LibreMetaverse.HttpCapsClient.#ctor(System.Net.Http.HttpMessageHandler)`.
///
/// C# signature: `LibreMetaverse.HttpCapsClient(System.Net.Http.HttpMessageHandler handler)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.HttpCapsClient.DeleteAsync(System.Uri,LibreMetaverse.StructuredData.OSDFormat,LibreMetaverse.StructuredData.OSD,System.Threading.CancellationToken,System.IProgress{LibreMetaverse.HttpCapsClient.ProgressReport})`.
///
/// C# signature: `System.Threading.Tasks.Task<System.ValueTuple<System.Net.Http.HttpResponseMessage, System.Byte[]>> LibreMetaverse.HttpCapsClient.DeleteAsync(System.Uri uri, LibreMetaverse.StructuredData.OSDFormat format, LibreMetaverse.StructuredData.OSD payload, System.Threading.CancellationToken cancellationToken, System.IProgress<LibreMetaverse.HttpCapsClient.ProgressReport> progress = default)`.
/// Mapping contract: ownership `shared_self,owned,owned,owned,owned,optional_owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.HttpCapsClient.DeleteAsync(System.Uri,System.String,System.Byte[],System.Threading.CancellationToken,System.IProgress{LibreMetaverse.HttpCapsClient.ProgressReport})`.
///
/// C# signature: `System.Threading.Tasks.Task<System.ValueTuple<System.Net.Http.HttpResponseMessage, System.Byte[]>> LibreMetaverse.HttpCapsClient.DeleteAsync(System.Uri uri, System.String contentType, System.Byte[] payload, System.Threading.CancellationToken cancellationToken, System.IProgress<LibreMetaverse.HttpCapsClient.ProgressReport> progress = default)`.
/// Mapping contract: ownership `shared_self,owned,owned,owned,owned,optional_owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.HttpCapsClient.DeleteRequestAsync(System.Uri,LibreMetaverse.StructuredData.OSDFormat,LibreMetaverse.StructuredData.OSD,System.Threading.CancellationToken,System.IProgress{LibreMetaverse.HttpCapsClient.ProgressReport})`.
///
/// C# signature: `System.Threading.Tasks.Task LibreMetaverse.HttpCapsClient.DeleteRequestAsync(System.Uri uri, LibreMetaverse.StructuredData.OSDFormat format, LibreMetaverse.StructuredData.OSD payload, System.Threading.CancellationToken cancellationToken, System.IProgress<LibreMetaverse.HttpCapsClient.ProgressReport> progress = default)`.
/// Mapping contract: ownership `shared_self,owned,owned,owned,owned,optional_owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.HttpCapsClient.DeleteRequestAsync(System.Uri,System.String,System.Byte[],System.Threading.CancellationToken,System.IProgress{LibreMetaverse.HttpCapsClient.ProgressReport})`.
///
/// C# signature: `System.Threading.Tasks.Task LibreMetaverse.HttpCapsClient.DeleteRequestAsync(System.Uri uri, System.String contentType, System.Byte[] payload, System.Threading.CancellationToken cancellationToken, System.IProgress<LibreMetaverse.HttpCapsClient.ProgressReport> progress = default)`.
/// Mapping contract: ownership `shared_self,owned,owned,owned,owned,optional_owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.HttpCapsClient.GetAsync(System.Uri,System.Threading.CancellationToken,System.IProgress{LibreMetaverse.HttpCapsClient.ProgressReport})`.
///
/// C# signature: `System.Threading.Tasks.Task<System.ValueTuple<System.Net.Http.HttpResponseMessage, System.Byte[]>> LibreMetaverse.HttpCapsClient.GetAsync(System.Uri uri, System.Threading.CancellationToken cancellationToken, System.IProgress<LibreMetaverse.HttpCapsClient.ProgressReport> progress = default)`.
/// Mapping contract: ownership `shared_self,owned,owned,optional_owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.HttpCapsClient.GetRequestAsync(System.Uri,System.Threading.CancellationToken,System.IProgress{LibreMetaverse.HttpCapsClient.ProgressReport})`.
///
/// C# signature: `System.Threading.Tasks.Task LibreMetaverse.HttpCapsClient.GetRequestAsync(System.Uri uri, System.Threading.CancellationToken cancellationToken, System.IProgress<LibreMetaverse.HttpCapsClient.ProgressReport> progress = default)`.
/// Mapping contract: ownership `shared_self,owned,owned,optional_owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.HttpCapsClient.PatchAsync(System.Uri,LibreMetaverse.StructuredData.OSDFormat,LibreMetaverse.StructuredData.OSD,System.Threading.CancellationToken,System.IProgress{LibreMetaverse.HttpCapsClient.ProgressReport})`.
///
/// C# signature: `System.Threading.Tasks.Task<System.ValueTuple<System.Net.Http.HttpResponseMessage, System.Byte[]>> LibreMetaverse.HttpCapsClient.PatchAsync(System.Uri uri, LibreMetaverse.StructuredData.OSDFormat format, LibreMetaverse.StructuredData.OSD payload, System.Threading.CancellationToken cancellationToken, System.IProgress<LibreMetaverse.HttpCapsClient.ProgressReport> progress = default)`.
/// Mapping contract: ownership `shared_self,owned,owned,owned,owned,optional_owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.HttpCapsClient.PatchAsync(System.Uri,System.String,System.Byte[],System.Threading.CancellationToken,System.IProgress{LibreMetaverse.HttpCapsClient.ProgressReport})`.
///
/// C# signature: `System.Threading.Tasks.Task<System.ValueTuple<System.Net.Http.HttpResponseMessage, System.Byte[]>> LibreMetaverse.HttpCapsClient.PatchAsync(System.Uri uri, System.String contentType, System.Byte[] payload, System.Threading.CancellationToken cancellationToken, System.IProgress<LibreMetaverse.HttpCapsClient.ProgressReport> progress = default)`.
/// Mapping contract: ownership `shared_self,owned,owned,owned,owned,optional_owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.HttpCapsClient.PatchRequestAsync(System.Uri,LibreMetaverse.StructuredData.OSDFormat,LibreMetaverse.StructuredData.OSD,System.Threading.CancellationToken,System.IProgress{LibreMetaverse.HttpCapsClient.ProgressReport})`.
///
/// C# signature: `System.Threading.Tasks.Task LibreMetaverse.HttpCapsClient.PatchRequestAsync(System.Uri uri, LibreMetaverse.StructuredData.OSDFormat format, LibreMetaverse.StructuredData.OSD payload, System.Threading.CancellationToken cancellationToken, System.IProgress<LibreMetaverse.HttpCapsClient.ProgressReport> progress = default)`.
/// Mapping contract: ownership `shared_self,owned,owned,owned,owned,optional_owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.HttpCapsClient.PatchRequestAsync(System.Uri,System.String,System.Byte[],System.Threading.CancellationToken,System.IProgress{LibreMetaverse.HttpCapsClient.ProgressReport})`.
///
/// C# signature: `System.Threading.Tasks.Task LibreMetaverse.HttpCapsClient.PatchRequestAsync(System.Uri uri, System.String contentType, System.Byte[] payload, System.Threading.CancellationToken cancellationToken, System.IProgress<LibreMetaverse.HttpCapsClient.ProgressReport> progress = default)`.
/// Mapping contract: ownership `shared_self,owned,owned,owned,owned,optional_owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.HttpCapsClient.PostAsync(System.Uri,LibreMetaverse.StructuredData.OSDFormat,LibreMetaverse.StructuredData.OSD,System.Threading.CancellationToken,System.IProgress{LibreMetaverse.HttpCapsClient.ProgressReport})`.
///
/// C# signature: `System.Threading.Tasks.Task<System.ValueTuple<System.Net.Http.HttpResponseMessage, System.Byte[]>> LibreMetaverse.HttpCapsClient.PostAsync(System.Uri uri, LibreMetaverse.StructuredData.OSDFormat format, LibreMetaverse.StructuredData.OSD payload, System.Threading.CancellationToken cancellationToken, System.IProgress<LibreMetaverse.HttpCapsClient.ProgressReport> progress = default)`.
/// Mapping contract: ownership `shared_self,owned,owned,owned,owned,optional_owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.HttpCapsClient.PostAsync(System.Uri,System.String,System.Byte[],System.Threading.CancellationToken,System.IProgress{LibreMetaverse.HttpCapsClient.ProgressReport})`.
///
/// C# signature: `System.Threading.Tasks.Task<System.ValueTuple<System.Net.Http.HttpResponseMessage, System.Byte[]>> LibreMetaverse.HttpCapsClient.PostAsync(System.Uri uri, System.String contentType, System.Byte[] payload, System.Threading.CancellationToken cancellationToken, System.IProgress<LibreMetaverse.HttpCapsClient.ProgressReport> progress = default)`.
/// Mapping contract: ownership `shared_self,owned,owned,owned,owned,optional_owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.HttpCapsClient.PostRequestAsync(System.Uri,LibreMetaverse.StructuredData.OSDFormat,LibreMetaverse.StructuredData.OSD,System.Threading.CancellationToken,System.IProgress{LibreMetaverse.HttpCapsClient.ProgressReport})`.
///
/// C# signature: `System.Threading.Tasks.Task LibreMetaverse.HttpCapsClient.PostRequestAsync(System.Uri uri, LibreMetaverse.StructuredData.OSDFormat format, LibreMetaverse.StructuredData.OSD payload, System.Threading.CancellationToken cancellationToken, System.IProgress<LibreMetaverse.HttpCapsClient.ProgressReport> progress = default)`.
/// Mapping contract: ownership `shared_self,owned,owned,owned,owned,optional_owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.HttpCapsClient.PostRequestAsync(System.Uri,System.String,System.Byte[],System.Threading.CancellationToken,System.IProgress{LibreMetaverse.HttpCapsClient.ProgressReport})`.
///
/// C# signature: `System.Threading.Tasks.Task LibreMetaverse.HttpCapsClient.PostRequestAsync(System.Uri uri, System.String contentType, System.Byte[] payload, System.Threading.CancellationToken cancellationToken, System.IProgress<LibreMetaverse.HttpCapsClient.ProgressReport> progress = default)`.
/// Mapping contract: ownership `shared_self,owned,owned,owned,owned,optional_owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.HttpCapsClient.PutAsync(System.Uri,LibreMetaverse.StructuredData.OSDFormat,LibreMetaverse.StructuredData.OSD,System.Threading.CancellationToken,System.IProgress{LibreMetaverse.HttpCapsClient.ProgressReport})`.
///
/// C# signature: `System.Threading.Tasks.Task<System.ValueTuple<System.Net.Http.HttpResponseMessage, System.Byte[]>> LibreMetaverse.HttpCapsClient.PutAsync(System.Uri uri, LibreMetaverse.StructuredData.OSDFormat format, LibreMetaverse.StructuredData.OSD payload, System.Threading.CancellationToken cancellationToken, System.IProgress<LibreMetaverse.HttpCapsClient.ProgressReport> progress = default)`.
/// Mapping contract: ownership `shared_self,owned,owned,owned,owned,optional_owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.HttpCapsClient.PutAsync(System.Uri,System.String,System.Byte[],System.Threading.CancellationToken,System.IProgress{LibreMetaverse.HttpCapsClient.ProgressReport})`.
///
/// C# signature: `System.Threading.Tasks.Task<System.ValueTuple<System.Net.Http.HttpResponseMessage, System.Byte[]>> LibreMetaverse.HttpCapsClient.PutAsync(System.Uri uri, System.String contentType, System.Byte[] payload, System.Threading.CancellationToken cancellationToken, System.IProgress<LibreMetaverse.HttpCapsClient.ProgressReport> progress = default)`.
/// Mapping contract: ownership `shared_self,owned,owned,owned,owned,optional_owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.HttpCapsClient.PutRequestAsync(System.Uri,LibreMetaverse.StructuredData.OSDFormat,LibreMetaverse.StructuredData.OSD,System.Threading.CancellationToken,System.IProgress{LibreMetaverse.HttpCapsClient.ProgressReport})`.
///
/// C# signature: `System.Threading.Tasks.Task LibreMetaverse.HttpCapsClient.PutRequestAsync(System.Uri uri, LibreMetaverse.StructuredData.OSDFormat format, LibreMetaverse.StructuredData.OSD payload, System.Threading.CancellationToken cancellationToken, System.IProgress<LibreMetaverse.HttpCapsClient.ProgressReport> progress = default)`.
/// Mapping contract: ownership `shared_self,owned,owned,owned,owned,optional_owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.HttpCapsClient.PutRequestAsync(System.Uri,System.String,System.Byte[],System.Threading.CancellationToken,System.IProgress{LibreMetaverse.HttpCapsClient.ProgressReport})`.
///
/// C# signature: `System.Threading.Tasks.Task LibreMetaverse.HttpCapsClient.PutRequestAsync(System.Uri uri, System.String contentType, System.Byte[] payload, System.Threading.CancellationToken cancellationToken, System.IProgress<LibreMetaverse.HttpCapsClient.ProgressReport> progress = default)`.
/// Mapping contract: ownership `shared_self,owned,owned,owned,owned,optional_owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
pub use crate::caps_http::HttpCapsClient;

/// C# type: `T:LibreMetaverse.HttpCapsClient.ProgressReport`.
///
/// Native Rust mapping of C# `LibreMetaverse.HttpCapsClient.ProgressReport` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.HttpCapsClient.ProgressReport.#ctor(System.Nullable{System.Int64},System.Int64,System.Nullable{System.Double})`.
///
/// C# signature: `LibreMetaverse.HttpCapsClient.ProgressReport(System.Nullable<System.Int64> totalBytes, System.Int64 bytesTransferred, System.Nullable<System.Double> percent)`.
/// Mapping contract: ownership `owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.HttpCapsClient.ProgressReport.BytesTransferred`.
///
/// C# signature: `System.Int64 LibreMetaverse.HttpCapsClient.ProgressReport.BytesTransferred`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.HttpCapsClient.ProgressReport.Percent`.
///
/// C# signature: `System.Nullable<System.Double> LibreMetaverse.HttpCapsClient.ProgressReport.Percent`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.HttpCapsClient.ProgressReport.TotalBytes`.
///
/// C# signature: `System.Nullable<System.Int64> LibreMetaverse.HttpCapsClient.ProgressReport.TotalBytes`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::caps_http::HttpCapsClientProgressReport;

/// C# type: `T:LibreMetaverse.IBakingTextureProvider`.
///
/// Native Rust mapping of C# `LibreMetaverse.IBakingTextureProvider` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
pub trait IBakingTextureProvider: std::any::Any + Send + Sync {
    /// C# member: `M:LibreMetaverse.IBakingTextureProvider.RequestTextureAsync(LibreMetaverse.UUID,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<LibreMetaverse.Assets.AssetTexture> LibreMetaverse.IBakingTextureProvider.RequestTextureAsync(LibreMetaverse.UUID textureID, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,optional_owned`; async `boxed_future`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    fn request_texture(
        &self,
        texture_id: libremetaverse_types::UUID,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> std::pin::Pin<
        Box<
            dyn std::future::Future<
                    Output = Result<Option<libremetaverse::assets::AssetTexture>, crate::Error>,
                > + Send
                + '_,
        >,
    >;
}

/// C# type: `T:LibreMetaverse.IGridClient`.
///
/// Native Rust mapping of C# `LibreMetaverse.IGridClient` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
pub trait IGridClient: Send + Sync {
    /// C# member: `P:LibreMetaverse.IGridClient.AisClient`.
    ///
    /// C# signature: `LibreMetaverse.InventoryAISClient LibreMetaverse.IGridClient.AisClient`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    fn ais_client(&self) -> libremetaverse::InventoryAISClient;
    /// C# member: `P:LibreMetaverse.IGridClient.Appearance`.
    ///
    /// C# signature: `LibreMetaverse.AppearanceManager LibreMetaverse.IGridClient.Appearance`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    fn appearance(&self) -> libremetaverse::AppearanceManager;
    /// C# member: `P:LibreMetaverse.IGridClient.Assets`.
    ///
    /// C# signature: `LibreMetaverse.AssetManager LibreMetaverse.IGridClient.Assets`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    fn assets(&self) -> libremetaverse::AssetManager;
    /// C# member: `P:LibreMetaverse.IGridClient.Avatars`.
    ///
    /// C# signature: `LibreMetaverse.AvatarManager LibreMetaverse.IGridClient.Avatars`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    fn avatars(&self) -> libremetaverse::AvatarManager;
    /// C# member: `P:LibreMetaverse.IGridClient.Directory`.
    ///
    /// C# signature: `LibreMetaverse.DirectoryManager LibreMetaverse.IGridClient.Directory`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    fn directory(&self) -> libremetaverse::DirectoryManager;
    /// C# member: `P:LibreMetaverse.IGridClient.Environment`.
    ///
    /// C# signature: `LibreMetaverse.EnvironmentManager LibreMetaverse.IGridClient.Environment`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    fn environment(&self) -> libremetaverse::EnvironmentManager;
    /// C# member: `P:LibreMetaverse.IGridClient.Estate`.
    ///
    /// C# signature: `LibreMetaverse.EstateTools LibreMetaverse.IGridClient.Estate`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    fn estate(&self) -> libremetaverse::EstateTools;
    /// C# member: `P:LibreMetaverse.IGridClient.Friends`.
    ///
    /// C# signature: `LibreMetaverse.FriendsManager LibreMetaverse.IGridClient.Friends`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    fn friends(&self) -> libremetaverse::FriendsManager;
    /// C# member: `P:LibreMetaverse.IGridClient.Grid`.
    ///
    /// C# signature: `LibreMetaverse.GridManager LibreMetaverse.IGridClient.Grid`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    fn grid(&self) -> libremetaverse::GridManager;
    /// C# member: `P:LibreMetaverse.IGridClient.Groups`.
    ///
    /// C# signature: `LibreMetaverse.GroupManager LibreMetaverse.IGridClient.Groups`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    fn groups(&self) -> libremetaverse::GroupManager;
    /// C# member: `P:LibreMetaverse.IGridClient.HttpCapsClient`.
    ///
    /// C# signature: `LibreMetaverse.HttpCapsClient LibreMetaverse.IGridClient.HttpCapsClient`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    fn http_caps_client(&self) -> libremetaverse::HttpCapsClient;
    /// C# member: `P:LibreMetaverse.IGridClient.InterestList`.
    ///
    /// C# signature: `LibreMetaverse.InterestListManager LibreMetaverse.IGridClient.InterestList`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    fn interest_list(&self) -> libremetaverse::InterestListManager;
    /// C# member: `P:LibreMetaverse.IGridClient.Inventory`.
    ///
    /// C# signature: `LibreMetaverse.InventoryManager LibreMetaverse.IGridClient.Inventory`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    fn inventory(&self) -> libremetaverse::InventoryManager;
    /// C# member: `P:LibreMetaverse.IGridClient.Marketplace`.
    ///
    /// C# signature: `LibreMetaverse.Marketplace.MarketplaceManager LibreMetaverse.IGridClient.Marketplace`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    fn marketplace(&self) -> libremetaverse::marketplace::MarketplaceManager;
    /// C# member: `P:LibreMetaverse.IGridClient.Network`.
    ///
    /// C# signature: `LibreMetaverse.NetworkManager LibreMetaverse.IGridClient.Network`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    fn network(&self) -> libremetaverse::NetworkManager;
    /// C# member: `P:LibreMetaverse.IGridClient.Objects`.
    ///
    /// C# signature: `LibreMetaverse.ObjectManager LibreMetaverse.IGridClient.Objects`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    fn objects(&self) -> libremetaverse::ObjectManager;
    /// C# member: `P:LibreMetaverse.IGridClient.Parcels`.
    ///
    /// C# signature: `LibreMetaverse.ParcelManager LibreMetaverse.IGridClient.Parcels`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    fn parcels(&self) -> libremetaverse::ParcelManager;
    /// C# member: `P:LibreMetaverse.IGridClient.Self`.
    ///
    /// C# signature: `LibreMetaverse.AgentManager LibreMetaverse.IGridClient.Self`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    fn self_(&self) -> libremetaverse::AgentManager;
    /// C# member: `P:LibreMetaverse.IGridClient.Settings`.
    ///
    /// C# signature: `LibreMetaverse.Settings LibreMetaverse.IGridClient.Settings`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    fn settings(&self) -> libremetaverse::Settings;
    /// C# member: `P:LibreMetaverse.IGridClient.Sound`.
    ///
    /// C# signature: `LibreMetaverse.SoundManager LibreMetaverse.IGridClient.Sound`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    fn sound(&self) -> libremetaverse::SoundManager;
    /// C# member: `P:LibreMetaverse.IGridClient.Stats`.
    ///
    /// C# signature: `LibreMetaverse.Stats.UtilizationStatistics LibreMetaverse.IGridClient.Stats`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    fn stats(&self) -> libremetaverse::stats::UtilizationStatistics;
    /// C# member: `P:LibreMetaverse.IGridClient.Terrain`.
    ///
    /// C# signature: `LibreMetaverse.TerrainManager LibreMetaverse.IGridClient.Terrain`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    fn terrain(&self) -> libremetaverse::TerrainManager;
    /// C# member: `P:LibreMetaverse.IGridClient.Throttle`.
    ///
    /// C# signature: `LibreMetaverse.AgentThrottle LibreMetaverse.IGridClient.Throttle`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    fn throttle(&self) -> libremetaverse::AgentThrottle;
    /// C# member: `P:LibreMetaverse.IGridClient.TimeProvider`.
    ///
    /// C# signature: `System.TimeProvider LibreMetaverse.IGridClient.TimeProvider`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    fn time_provider(&self) -> libremetaverse_types::compat::TimeProvider;
    /// Setter for C# member: `P:LibreMetaverse.IGridClient.TimeProvider`.
    fn set_time_provider(&mut self, value: libremetaverse_types::compat::TimeProvider);
}

/// C# type: `T:LibreMetaverse.ImageCodec`.
///
/// Native Rust mapping of C# `LibreMetaverse.ImageCodec` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(u8)]
pub enum ImageCodec {
    /// C# member: `F:LibreMetaverse.ImageCodec.BMP`.
    ///
    /// C# signature: `LibreMetaverse.ImageCodec LibreMetaverse.ImageCodec.BMP`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    BMP = 3,
    /// C# member: `F:LibreMetaverse.ImageCodec.DXT`.
    ///
    /// C# signature: `LibreMetaverse.ImageCodec LibreMetaverse.ImageCodec.DXT`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    DXT = 6,
    /// C# member: `F:LibreMetaverse.ImageCodec.Invalid`.
    ///
    /// C# signature: `LibreMetaverse.ImageCodec LibreMetaverse.ImageCodec.Invalid`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Invalid = 0,
    /// C# member: `F:LibreMetaverse.ImageCodec.J2C`.
    ///
    /// C# signature: `LibreMetaverse.ImageCodec LibreMetaverse.ImageCodec.J2C`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    J2C = 2,
    /// C# member: `F:LibreMetaverse.ImageCodec.JPEG`.
    ///
    /// C# signature: `LibreMetaverse.ImageCodec LibreMetaverse.ImageCodec.JPEG`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    JPEG = 5,
    /// C# member: `F:LibreMetaverse.ImageCodec.PNG`.
    ///
    /// C# signature: `LibreMetaverse.ImageCodec LibreMetaverse.ImageCodec.PNG`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    PNG = 7,
    /// C# member: `F:LibreMetaverse.ImageCodec.RGB`.
    ///
    /// C# signature: `LibreMetaverse.ImageCodec LibreMetaverse.ImageCodec.RGB`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    RGB = 1,
    /// C# member: `F:LibreMetaverse.ImageCodec.TGA`.
    ///
    /// C# signature: `LibreMetaverse.ImageCodec LibreMetaverse.ImageCodec.TGA`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    TGA = 4,
}

/// C# type: `T:LibreMetaverse.ImageDownload`.
///
/// Native Rust mapping of C# `LibreMetaverse.ImageDownload` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `F:LibreMetaverse.ImageDownload.Codec`.
///
/// C# signature: `LibreMetaverse.ImageCodec LibreMetaverse.ImageDownload.Codec`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.ImageDownload.DiscardLevel`.
///
/// C# signature: `System.Int32 LibreMetaverse.ImageDownload.DiscardLevel`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.ImageDownload.ImageType`.
///
/// C# signature: `LibreMetaverse.ImageType LibreMetaverse.ImageDownload.ImageType`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.ImageDownload.PacketCount`.
///
/// C# signature: `System.UInt16 LibreMetaverse.ImageDownload.PacketCount`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.ImageDownload.PacketsSeen`.
///
/// C# signature: `System.Collections.Generic.SortedList<System.UInt16, System.UInt16> LibreMetaverse.ImageDownload.PacketsSeen`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.ImageDownload.Priority`.
///
/// C# signature: `System.Single LibreMetaverse.ImageDownload.Priority`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.ImageDownload.Simulator`.
///
/// C# signature: `LibreMetaverse.Simulator LibreMetaverse.ImageDownload.Simulator`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `M:LibreMetaverse.ImageDownload.#ctor`.
///
/// C# signature: `LibreMetaverse.ImageDownload()`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
pub use crate::transfers::ImageDownload;

/// C# type: `T:LibreMetaverse.ImageReceiveProgressEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.ImageReceiveProgressEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.ImageReceiveProgressEventArgs.#ctor(LibreMetaverse.UUID,System.Int32,System.Int32)`.
///
/// C# signature: `LibreMetaverse.ImageReceiveProgressEventArgs(LibreMetaverse.UUID imageID, System.Int32 received, System.Int32 total)`.
/// Mapping contract: ownership `owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.ImageReceiveProgressEventArgs.ImageID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.ImageReceiveProgressEventArgs.ImageID`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.ImageReceiveProgressEventArgs.Received`.
///
/// C# signature: `System.Int32 LibreMetaverse.ImageReceiveProgressEventArgs.Received`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.ImageReceiveProgressEventArgs.Total`.
///
/// C# signature: `System.Int32 LibreMetaverse.ImageReceiveProgressEventArgs.Total`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::transfers::ImageReceiveProgressEventArgs;

/// C# type: `T:LibreMetaverse.ImageRequest`.
///
/// Native Rust mapping of C# `LibreMetaverse.ImageRequest` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
pub struct ImageRequest {
    /// C# member: `F:LibreMetaverse.ImageRequest.DiscardLevel`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.ImageRequest.DiscardLevel`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub discard_level: i32,
    /// C# member: `F:LibreMetaverse.ImageRequest.ImageID`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.ImageRequest.ImageID`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub image_id: libremetaverse_types::UUID,
    /// C# member: `F:LibreMetaverse.ImageRequest.Priority`.
    ///
    /// C# signature: `System.Single LibreMetaverse.ImageRequest.Priority`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub priority: f32,
    /// C# member: `F:LibreMetaverse.ImageRequest.Type`.
    ///
    /// C# signature: `LibreMetaverse.ImageType LibreMetaverse.ImageRequest.Type`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub type_: libremetaverse::ImageType,
}
impl ImageRequest {
    /// C# member: `M:LibreMetaverse.ImageRequest.#ctor(LibreMetaverse.UUID,LibreMetaverse.ImageType,System.Single,System.Int32)`.
    ///
    /// C# signature: `LibreMetaverse.ImageRequest(LibreMetaverse.UUID imageid, LibreMetaverse.ImageType type, System.Single priority, System.Int32 discardLevel)`.
    /// Mapping contract: ownership `owned,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn new(
        imageid: libremetaverse_types::UUID,
        type_: libremetaverse::ImageType,
        priority: f32,
        discard_level: i32,
    ) -> Result<Self, crate::Error> {
        /* reviewed native compatibility body */
        Ok(Self {
            discard_level,
            image_id: imageid,
            priority,
            type_,
        })
    }
}

/// C# type: `T:LibreMetaverse.ImageType`.
///
/// Native Rust mapping of C# `LibreMetaverse.ImageType` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(u8)]
pub enum ImageType {
    /// C# member: `F:LibreMetaverse.ImageType.Baked`.
    ///
    /// C# signature: `LibreMetaverse.ImageType LibreMetaverse.ImageType.Baked`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Baked = 1,
    /// C# member: `F:LibreMetaverse.ImageType.Normal`.
    ///
    /// C# signature: `LibreMetaverse.ImageType LibreMetaverse.ImageType.Normal`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Normal = 0,
    /// C# member: `F:LibreMetaverse.ImageType.ServerBaked`.
    ///
    /// C# signature: `LibreMetaverse.ImageType LibreMetaverse.ImageType.ServerBaked`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    ServerBaked = 2,
}

/// C# type: `T:LibreMetaverse.IncomingPacketIDCollection`.
///
/// Native Rust mapping of C# `LibreMetaverse.IncomingPacketIDCollection` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.IncomingPacketIDCollection.#ctor(System.Int32)`.
///
/// C# signature: `LibreMetaverse.IncomingPacketIDCollection(System.Int32 capacity)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.IncomingPacketIDCollection.TryEnqueue(System.UInt32)`.
///
/// C# signature: `System.Boolean LibreMetaverse.IncomingPacketIDCollection.TryEnqueue(System.UInt32 ack)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
pub use crate::udp_transport::IncomingPacketIDCollection;

/// C# type: `T:LibreMetaverse.InitiateDownloadEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.InitiateDownloadEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.InitiateDownloadEventArgs.#ctor(System.String,System.String)`.
///
/// C# signature: `LibreMetaverse.InitiateDownloadEventArgs(System.String simFilename, System.String viewerFilename)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.InitiateDownloadEventArgs.SimFileName`.
///
/// C# signature: `System.String LibreMetaverse.InitiateDownloadEventArgs.SimFileName`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.InitiateDownloadEventArgs.ViewerFileName`.
///
/// C# signature: `System.String LibreMetaverse.InitiateDownloadEventArgs.ViewerFileName`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::transfers::InitiateDownloadEventArgs;

/// C# type: `T:LibreMetaverse.InstantMessage`.
///
/// Native Rust mapping of C# `LibreMetaverse.InstantMessage` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `F:LibreMetaverse.InstantMessage.BinaryBucket`.
///
/// C# signature: `System.Byte[] LibreMetaverse.InstantMessage.BinaryBucket`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.InstantMessage.Dialog`.
///
/// C# signature: `LibreMetaverse.InstantMessageDialog LibreMetaverse.InstantMessage.Dialog`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.InstantMessage.FromAgentID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.InstantMessage.FromAgentID`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.InstantMessage.FromAgentName`.
///
/// C# signature: `System.String LibreMetaverse.InstantMessage.FromAgentName`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.InstantMessage.GroupIM`.
///
/// C# signature: `System.Boolean LibreMetaverse.InstantMessage.GroupIM`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.InstantMessage.IMSessionID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.InstantMessage.IMSessionID`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.InstantMessage.Message`.
///
/// C# signature: `System.String LibreMetaverse.InstantMessage.Message`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.InstantMessage.Offline`.
///
/// C# signature: `LibreMetaverse.InstantMessageOnline LibreMetaverse.InstantMessage.Offline`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.InstantMessage.ParentEstateID`.
///
/// C# signature: `System.UInt32 LibreMetaverse.InstantMessage.ParentEstateID`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.InstantMessage.Position`.
///
/// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.InstantMessage.Position`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.InstantMessage.RegionID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.InstantMessage.RegionID`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.InstantMessage.Timestamp`.
///
/// C# signature: `System.DateTime LibreMetaverse.InstantMessage.Timestamp`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.InstantMessage.ToAgentID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.InstantMessage.ToAgentID`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `M:LibreMetaverse.InstantMessage.ToString`.
///
/// C# signature: `System.String LibreMetaverse.InstantMessage.ToString()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
pub use crate::agent_manager::InstantMessage;

/// C# type: `T:LibreMetaverse.InstantMessageDialog`.
///
/// Native Rust mapping of C# `LibreMetaverse.InstantMessageDialog` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(u8)]
pub enum InstantMessageDialog {
    /// C# member: `F:LibreMetaverse.InstantMessageDialog.AcceptTeleport`.
    ///
    /// C# signature: `LibreMetaverse.InstantMessageDialog LibreMetaverse.InstantMessageDialog.AcceptTeleport`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    AcceptTeleport = 23,
    /// C# member: `F:LibreMetaverse.InstantMessageDialog.BusyAutoResponse`.
    ///
    /// C# signature: `LibreMetaverse.InstantMessageDialog LibreMetaverse.InstantMessageDialog.BusyAutoResponse`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    BusyAutoResponse = 20,
    /// C# member: `F:LibreMetaverse.InstantMessageDialog.ConsoleAndChatHistory`.
    ///
    /// C# signature: `LibreMetaverse.InstantMessageDialog LibreMetaverse.InstantMessageDialog.ConsoleAndChatHistory`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    ConsoleAndChatHistory = 21,
    /// C# member: `F:LibreMetaverse.InstantMessageDialog.DenyTeleport`.
    ///
    /// C# signature: `LibreMetaverse.InstantMessageDialog LibreMetaverse.InstantMessageDialog.DenyTeleport`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    DenyTeleport = 24,
    /// C# member: `F:LibreMetaverse.InstantMessageDialog.FriendshipAccepted`.
    ///
    /// C# signature: `LibreMetaverse.InstantMessageDialog LibreMetaverse.InstantMessageDialog.FriendshipAccepted`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    FriendshipAccepted = 39,
    /// C# member: `F:LibreMetaverse.InstantMessageDialog.FriendshipDeclined`.
    ///
    /// C# signature: `LibreMetaverse.InstantMessageDialog LibreMetaverse.InstantMessageDialog.FriendshipDeclined`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    FriendshipDeclined = 40,
    /// C# member: `F:LibreMetaverse.InstantMessageDialog.FriendshipOffered`.
    ///
    /// C# signature: `LibreMetaverse.InstantMessageDialog LibreMetaverse.InstantMessageDialog.FriendshipOffered`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    FriendshipOffered = 38,
    /// C# member: `F:LibreMetaverse.InstantMessageDialog.FromTaskAsAlert`.
    ///
    /// C# signature: `LibreMetaverse.InstantMessageDialog LibreMetaverse.InstantMessageDialog.FromTaskAsAlert`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    FromTaskAsAlert = 31,
    /// C# member: `F:LibreMetaverse.InstantMessageDialog.GodLikeRequestTeleport`.
    ///
    /// C# signature: `LibreMetaverse.InstantMessageDialog LibreMetaverse.InstantMessageDialog.GodLikeRequestTeleport`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    GodLikeRequestTeleport = 25,
    /// C# member: `F:LibreMetaverse.InstantMessageDialog.GotoUrl`.
    ///
    /// C# signature: `LibreMetaverse.InstantMessageDialog LibreMetaverse.InstantMessageDialog.GotoUrl`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    GotoUrl = 28,
    /// C# member: `F:LibreMetaverse.InstantMessageDialog.GroupInvitation`.
    ///
    /// C# signature: `LibreMetaverse.InstantMessageDialog LibreMetaverse.InstantMessageDialog.GroupInvitation`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    GroupInvitation = 3,
    /// C# member: `F:LibreMetaverse.InstantMessageDialog.GroupInvitationAccept`.
    ///
    /// C# signature: `LibreMetaverse.InstantMessageDialog LibreMetaverse.InstantMessageDialog.GroupInvitationAccept`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    GroupInvitationAccept = 35,
    /// C# member: `F:LibreMetaverse.InstantMessageDialog.GroupInvitationDecline`.
    ///
    /// C# signature: `LibreMetaverse.InstantMessageDialog LibreMetaverse.InstantMessageDialog.GroupInvitationDecline`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    GroupInvitationDecline = 36,
    /// C# member: `F:LibreMetaverse.InstantMessageDialog.GroupNotice`.
    ///
    /// C# signature: `LibreMetaverse.InstantMessageDialog LibreMetaverse.InstantMessageDialog.GroupNotice`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    GroupNotice = 32,
    /// C# member: `F:LibreMetaverse.InstantMessageDialog.GroupNoticeInventoryAccepted`.
    ///
    /// C# signature: `LibreMetaverse.InstantMessageDialog LibreMetaverse.InstantMessageDialog.GroupNoticeInventoryAccepted`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    GroupNoticeInventoryAccepted = 33,
    /// C# member: `F:LibreMetaverse.InstantMessageDialog.GroupNoticeInventoryDeclined`.
    ///
    /// C# signature: `LibreMetaverse.InstantMessageDialog LibreMetaverse.InstantMessageDialog.GroupNoticeInventoryDeclined`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    GroupNoticeInventoryDeclined = 34,
    /// C# member: `F:LibreMetaverse.InstantMessageDialog.GroupNoticeRequested`.
    ///
    /// C# signature: `LibreMetaverse.InstantMessageDialog LibreMetaverse.InstantMessageDialog.GroupNoticeRequested`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    GroupNoticeRequested = 37,
    /// C# member: `F:LibreMetaverse.InstantMessageDialog.GroupVote`.
    ///
    /// C# signature: `LibreMetaverse.InstantMessageDialog LibreMetaverse.InstantMessageDialog.GroupVote`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    GroupVote = 7,
    /// C# member: `F:LibreMetaverse.InstantMessageDialog.InventoryAccepted`.
    ///
    /// C# signature: `LibreMetaverse.InstantMessageDialog LibreMetaverse.InstantMessageDialog.InventoryAccepted`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    InventoryAccepted = 5,
    /// C# member: `F:LibreMetaverse.InstantMessageDialog.InventoryDeclined`.
    ///
    /// C# signature: `LibreMetaverse.InstantMessageDialog LibreMetaverse.InstantMessageDialog.InventoryDeclined`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    InventoryDeclined = 6,
    /// C# member: `F:LibreMetaverse.InstantMessageDialog.InventoryOffered`.
    ///
    /// C# signature: `LibreMetaverse.InstantMessageDialog LibreMetaverse.InstantMessageDialog.InventoryOffered`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    InventoryOffered = 4,
    /// C# member: `F:LibreMetaverse.InstantMessageDialog.Lure911`.
    ///
    /// C# signature: `LibreMetaverse.InstantMessageDialog LibreMetaverse.InstantMessageDialog.Lure911`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Lure911 = 30,
    /// C# member: `F:LibreMetaverse.InstantMessageDialog.MessageBox`.
    ///
    /// C# signature: `LibreMetaverse.InstantMessageDialog LibreMetaverse.InstantMessageDialog.MessageBox`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    MessageBox = 1,
    /// C# member: `F:LibreMetaverse.InstantMessageDialog.MessageFromAgent`.
    ///
    /// C# signature: `LibreMetaverse.InstantMessageDialog LibreMetaverse.InstantMessageDialog.MessageFromAgent`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    MessageFromAgent = 0,
    /// C# member: `F:LibreMetaverse.InstantMessageDialog.MessageFromObject`.
    ///
    /// C# signature: `LibreMetaverse.InstantMessageDialog LibreMetaverse.InstantMessageDialog.MessageFromObject`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    MessageFromObject = 19,
    /// C# member: `F:LibreMetaverse.InstantMessageDialog.NewUserDefault`.
    ///
    /// C# signature: `LibreMetaverse.InstantMessageDialog LibreMetaverse.InstantMessageDialog.NewUserDefault`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    NewUserDefault = 12,
    /// C# member: `F:LibreMetaverse.InstantMessageDialog.RequestLure`.
    ///
    /// C# signature: `LibreMetaverse.InstantMessageDialog LibreMetaverse.InstantMessageDialog.RequestLure`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    RequestLure = 26,
    /// C# member: `F:LibreMetaverse.InstantMessageDialog.RequestTeleport`.
    ///
    /// C# signature: `LibreMetaverse.InstantMessageDialog LibreMetaverse.InstantMessageDialog.RequestTeleport`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    RequestTeleport = 22,
    /// C# member: `F:LibreMetaverse.InstantMessageDialog.Session911Start`.
    ///
    /// C# signature: `LibreMetaverse.InstantMessageDialog LibreMetaverse.InstantMessageDialog.Session911Start`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Session911Start = 29,
    /// C# member: `F:LibreMetaverse.InstantMessageDialog.SessionAdd`.
    ///
    /// C# signature: `LibreMetaverse.InstantMessageDialog LibreMetaverse.InstantMessageDialog.SessionAdd`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    SessionAdd = 13,
    /// C# member: `F:LibreMetaverse.InstantMessageDialog.SessionCardlessStart`.
    ///
    /// C# signature: `LibreMetaverse.InstantMessageDialog LibreMetaverse.InstantMessageDialog.SessionCardlessStart`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    SessionCardlessStart = 16,
    /// C# member: `F:LibreMetaverse.InstantMessageDialog.SessionDrop`.
    ///
    /// C# signature: `LibreMetaverse.InstantMessageDialog LibreMetaverse.InstantMessageDialog.SessionDrop`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    SessionDrop = 18,
    /// C# member: `F:LibreMetaverse.InstantMessageDialog.SessionGroupStart`.
    ///
    /// C# signature: `LibreMetaverse.InstantMessageDialog LibreMetaverse.InstantMessageDialog.SessionGroupStart`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    SessionGroupStart = 15,
    /// C# member: `F:LibreMetaverse.InstantMessageDialog.SessionOfflineAdd`.
    ///
    /// C# signature: `LibreMetaverse.InstantMessageDialog LibreMetaverse.InstantMessageDialog.SessionOfflineAdd`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    SessionOfflineAdd = 14,
    /// C# member: `F:LibreMetaverse.InstantMessageDialog.SessionSend`.
    ///
    /// C# signature: `LibreMetaverse.InstantMessageDialog LibreMetaverse.InstantMessageDialog.SessionSend`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    SessionSend = 17,
    /// C# member: `F:LibreMetaverse.InstantMessageDialog.StartTyping`.
    ///
    /// C# signature: `LibreMetaverse.InstantMessageDialog LibreMetaverse.InstantMessageDialog.StartTyping`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    StartTyping = 41,
    /// C# member: `F:LibreMetaverse.InstantMessageDialog.StopTyping`.
    ///
    /// C# signature: `LibreMetaverse.InstantMessageDialog LibreMetaverse.InstantMessageDialog.StopTyping`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    StopTyping = 42,
    /// C# member: `F:LibreMetaverse.InstantMessageDialog.TaskInventoryAccepted`.
    ///
    /// C# signature: `LibreMetaverse.InstantMessageDialog LibreMetaverse.InstantMessageDialog.TaskInventoryAccepted`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    TaskInventoryAccepted = 10,
    /// C# member: `F:LibreMetaverse.InstantMessageDialog.TaskInventoryDeclined`.
    ///
    /// C# signature: `LibreMetaverse.InstantMessageDialog LibreMetaverse.InstantMessageDialog.TaskInventoryDeclined`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    TaskInventoryDeclined = 11,
    /// C# member: `F:LibreMetaverse.InstantMessageDialog.TaskInventoryOffered`.
    ///
    /// C# signature: `LibreMetaverse.InstantMessageDialog LibreMetaverse.InstantMessageDialog.TaskInventoryOffered`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    TaskInventoryOffered = 9,
}

/// C# type: `T:LibreMetaverse.InstantMessageEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.InstantMessageEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.InstantMessageEventArgs.#ctor(LibreMetaverse.InstantMessage,LibreMetaverse.Simulator)`.
///
/// C# signature: `LibreMetaverse.InstantMessageEventArgs(LibreMetaverse.InstantMessage im, LibreMetaverse.Simulator simulator)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.InstantMessageEventArgs.IM`.
///
/// C# signature: `LibreMetaverse.InstantMessage LibreMetaverse.InstantMessageEventArgs.IM`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.InstantMessageEventArgs.Simulator`.
///
/// C# signature: `LibreMetaverse.Simulator LibreMetaverse.InstantMessageEventArgs.Simulator`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::agent_manager::InstantMessageEventArgs;

/// C# type: `T:LibreMetaverse.InstantMessageOnline`.
///
/// Native Rust mapping of C# `LibreMetaverse.InstantMessageOnline` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(i32)]
pub enum InstantMessageOnline {
    /// C# member: `F:LibreMetaverse.InstantMessageOnline.Offline`.
    ///
    /// C# signature: `LibreMetaverse.InstantMessageOnline LibreMetaverse.InstantMessageOnline.Offline`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Offline = 1,
    /// C# member: `F:LibreMetaverse.InstantMessageOnline.Online`.
    ///
    /// C# signature: `LibreMetaverse.InstantMessageOnline LibreMetaverse.InstantMessageOnline.Online`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Online = 0,
}

/// C# type: `T:LibreMetaverse.InterestListManager`.
///
/// Native Rust mapping of C# `LibreMetaverse.InterestListManager` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.InterestListManager.#ctor(LibreMetaverse.GridClient)`.
///
/// C# signature: `LibreMetaverse.InterestListManager(LibreMetaverse.GridClient client)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.InterestListManager.Dispose`.
///
/// C# signature: `System.Void LibreMetaverse.InterestListManager.Dispose()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.InterestListManager.ResetAsync(System.Threading.CancellationToken)`.
///
/// C# signature: `System.Threading.Tasks.Task LibreMetaverse.InterestListManager.ResetAsync(System.Threading.CancellationToken cancellationToken = default)`.
/// Mapping contract: ownership `shared_self,optional_owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.InterestListManager.ResetOnSimAsync(LibreMetaverse.Simulator,System.Threading.CancellationToken)`.
///
/// C# signature: `System.Threading.Tasks.Task<System.Boolean> LibreMetaverse.InterestListManager.ResetOnSimAsync(LibreMetaverse.Simulator simulator, System.Threading.CancellationToken cancellationToken = default)`.
/// Mapping contract: ownership `shared_self,owned,optional_owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.InterestListManager.SetModeAsync(LibreMetaverse.Messages.Linden.InterestListMode,System.Threading.CancellationToken)`.
///
/// C# signature: `System.Threading.Tasks.Task LibreMetaverse.InterestListManager.SetModeAsync(LibreMetaverse.Messages.Linden.InterestListMode mode, System.Threading.CancellationToken cancellationToken = default)`.
/// Mapping contract: ownership `shared_self,owned,optional_owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.InterestListManager.SetModeOnSimAsync(LibreMetaverse.Simulator,LibreMetaverse.Messages.Linden.InterestListMode,System.Threading.CancellationToken)`.
///
/// C# signature: `System.Threading.Tasks.Task<System.Boolean> LibreMetaverse.InterestListManager.SetModeOnSimAsync(LibreMetaverse.Simulator simulator, LibreMetaverse.Messages.Linden.InterestListMode mode, System.Threading.CancellationToken cancellationToken = default)`.
/// Mapping contract: ownership `shared_self,owned,owned,optional_owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.InterestListManager.CurrentMode`.
///
/// C# signature: `LibreMetaverse.Messages.Linden.InterestListMode LibreMetaverse.InterestListManager.CurrentMode`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::interest_list::InterestListManager;

/// C# type: `T:LibreMetaverse.Inventory`.
///
/// Native Rust mapping of C# `LibreMetaverse.Inventory` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `E:LibreMetaverse.Inventory.InventoryObjectAdded`.
///
/// C# signature: `System.EventHandler<LibreMetaverse.InventoryObjectAddedEventArgs> LibreMetaverse.Inventory.InventoryObjectAdded`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `E:LibreMetaverse.Inventory.InventoryObjectRemoved`.
///
/// C# signature: `System.EventHandler<LibreMetaverse.InventoryObjectRemovedEventArgs> LibreMetaverse.Inventory.InventoryObjectRemoved`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `E:LibreMetaverse.Inventory.InventoryObjectUpdated`.
///
/// C# signature: `System.EventHandler<LibreMetaverse.InventoryObjectUpdatedEventArgs> LibreMetaverse.Inventory.InventoryObjectUpdated`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `M:LibreMetaverse.Inventory.#ctor(LibreMetaverse.GridClient)`.
///
/// C# signature: `LibreMetaverse.Inventory(LibreMetaverse.GridClient client)`.
/// Mapping contract: ownership `shared`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Inventory.#ctor(LibreMetaverse.GridClient,LibreMetaverse.UUID)`.
///
/// C# signature: `LibreMetaverse.Inventory(LibreMetaverse.GridClient client, LibreMetaverse.UUID owner)`.
/// Mapping contract: ownership `shared,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Inventory.Clear`.
///
/// C# signature: `System.Void LibreMetaverse.Inventory.Clear()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Inventory.Contains(LibreMetaverse.InventoryBase)`.
///
/// C# signature: `System.Boolean LibreMetaverse.Inventory.Contains(LibreMetaverse.InventoryBase obj)`.
/// Mapping contract: ownership `shared_self,shared_borrow`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Inventory.Contains(LibreMetaverse.UUID)`.
///
/// C# signature: `System.Boolean LibreMetaverse.Inventory.Contains(LibreMetaverse.UUID uuid)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Inventory.FindAllLinks(LibreMetaverse.UUID)`.
///
/// C# signature: `System.Collections.Generic.List<LibreMetaverse.InventoryNode> LibreMetaverse.Inventory.FindAllLinks(LibreMetaverse.UUID assetId)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Inventory.GetContents(LibreMetaverse.InventoryFolder)`.
///
/// C# signature: `System.Collections.Generic.List<LibreMetaverse.InventoryBase> LibreMetaverse.Inventory.GetContents(LibreMetaverse.InventoryFolder folder)`.
/// Mapping contract: ownership `shared_self,shared_borrow`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Inventory.GetContents(LibreMetaverse.UUID)`.
///
/// C# signature: `System.Collections.Generic.List<LibreMetaverse.InventoryBase> LibreMetaverse.Inventory.GetContents(LibreMetaverse.UUID folder)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Inventory.GetNodeFor(LibreMetaverse.UUID)`.
///
/// C# signature: `LibreMetaverse.InventoryNode LibreMetaverse.Inventory.GetNodeFor(LibreMetaverse.UUID uuid)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Inventory.GetNodeOrDefault(LibreMetaverse.UUID)`.
///
/// C# signature: `LibreMetaverse.InventoryNode LibreMetaverse.Inventory.GetNodeOrDefault(LibreMetaverse.UUID uuid)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Inventory.GetValueOrDefault(LibreMetaverse.UUID)`.
///
/// C# signature: `LibreMetaverse.InventoryBase LibreMetaverse.Inventory.GetValueOrDefault(LibreMetaverse.UUID uuid)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Inventory.GetValueOrDefault``1(LibreMetaverse.UUID)`.
///
/// C# signature: `T LibreMetaverse.Inventory.GetValueOrDefault(LibreMetaverse.UUID uuid)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name_with_stable_id`; kind `method`.
/// C# member: `M:LibreMetaverse.Inventory.RemoveNodeFor(LibreMetaverse.InventoryBase)`.
///
/// C# signature: `System.Void LibreMetaverse.Inventory.RemoveNodeFor(LibreMetaverse.InventoryBase item)`.
/// Mapping contract: ownership `shared_self,shared_borrow`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Inventory.RestoreFromDisk(System.String)`.
///
/// C# signature: `System.Int32 LibreMetaverse.Inventory.RestoreFromDisk(System.String filename)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Inventory.RestoreFromDiskAsync(System.String,System.Threading.CancellationToken)`.
///
/// C# signature: `System.Threading.Tasks.Task<System.Int32> LibreMetaverse.Inventory.RestoreFromDiskAsync(System.String filename, System.Threading.CancellationToken cancellationToken = default)`.
/// Mapping contract: ownership `shared_self,owned,optional_owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Inventory.SaveToDisk(System.String)`.
///
/// C# signature: `System.Void LibreMetaverse.Inventory.SaveToDisk(System.String filename)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Inventory.SaveToDiskAsync(System.String,System.Threading.CancellationToken)`.
///
/// C# signature: `System.Threading.Tasks.Task LibreMetaverse.Inventory.SaveToDiskAsync(System.String filename, System.Threading.CancellationToken cancellationToken = default)`.
/// Mapping contract: ownership `shared_self,owned,optional_owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Inventory.TryGetNodeFor(LibreMetaverse.UUID,LibreMetaverse.InventoryNode@)`.
///
/// C# signature: `System.Boolean LibreMetaverse.Inventory.TryGetNodeFor(LibreMetaverse.UUID uuid, out LibreMetaverse.InventoryNode& node)`.
/// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Inventory.TryGetValue(LibreMetaverse.UUID,LibreMetaverse.InventoryBase@)`.
///
/// C# signature: `System.Boolean LibreMetaverse.Inventory.TryGetValue(LibreMetaverse.UUID uuid, out LibreMetaverse.InventoryBase& item)`.
/// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Inventory.TryGetValue``1(LibreMetaverse.UUID,``0@)`.
///
/// C# signature: `System.Boolean LibreMetaverse.Inventory.TryGetValue(LibreMetaverse.UUID uuid, out T& item)`.
/// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
/// errors `infallible_placeholder`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Inventory.UpdateNodeFor(LibreMetaverse.InventoryBase)`.
///
/// C# signature: `System.Void LibreMetaverse.Inventory.UpdateNodeFor(LibreMetaverse.InventoryBase item)`.
/// Mapping contract: ownership `shared_self,shared_borrow`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.Inventory.Count`.
///
/// C# signature: `System.Int32 LibreMetaverse.Inventory.Count`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.Inventory.Item(LibreMetaverse.UUID)`.
///
/// C# signature: `LibreMetaverse.InventoryBase LibreMetaverse.Inventory.Item`.
/// Mapping contract: ownership `shared_or_mutable_self,owned`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.Inventory.LibraryFolder`.
///
/// C# signature: `LibreMetaverse.InventoryFolder LibreMetaverse.Inventory.LibraryFolder`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.Inventory.LibraryRootNode`.
///
/// C# signature: `LibreMetaverse.InventoryNode LibreMetaverse.Inventory.LibraryRootNode`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.Inventory.Owner`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.Inventory.Owner`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.Inventory.RootFolder`.
///
/// C# signature: `LibreMetaverse.InventoryFolder LibreMetaverse.Inventory.RootFolder`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.Inventory.RootNode`.
///
/// C# signature: `LibreMetaverse.InventoryNode LibreMetaverse.Inventory.RootNode`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::inventory::Inventory;

/// C# type: `T:LibreMetaverse.InventoryAISClient`.
///
/// Native Rust mapping of C# `LibreMetaverse.InventoryAISClient` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
pub use crate::inventory_ais::InventoryAISClient;
impl InventoryAISClient {
    /// C# member: `F:LibreMetaverse.InventoryAISClient.INVENTORY_CAP_NAME`.
    ///
    /// C# signature: `System.String LibreMetaverse.InventoryAISClient.INVENTORY_CAP_NAME`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const INVENTORY_CAP_NAME: &'static str = "InventoryAPIv3";
    /// C# member: `F:LibreMetaverse.InventoryAISClient.LIBRARY_CAP_NAME`.
    ///
    /// C# signature: `System.String LibreMetaverse.InventoryAISClient.LIBRARY_CAP_NAME`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const LIBRARY_CAP_NAME: &'static str = "LibraryAPIv3";
    /// C# member: `M:LibreMetaverse.InventoryAISClient.#ctor(LibreMetaverse.GridClient)`.
    ///
    /// C# signature: `LibreMetaverse.InventoryAISClient(LibreMetaverse.GridClient client)`.
    /// Mapping contract: ownership `optional_shared`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn new(
        client: Option<std::sync::Arc<libremetaverse::GridClient>>,
    ) -> Result<Self, crate::Error> {
        /* reviewed native compatibility body */
        crate::inventory_ais::InventoryAISClient::native_new(client)
    }
    /// C# member: `M:LibreMetaverse.InventoryAISClient.CopyCategoryAsync(LibreMetaverse.UUID,LibreMetaverse.UUID,System.Boolean,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<System.Boolean> LibreMetaverse.InventoryAISClient.CopyCategoryAsync(LibreMetaverse.UUID sourceUuid, LibreMetaverse.UUID destUuid, System.Boolean simulate = default, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,owned,optional_owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn copy_category(
        &self,
        source_uuid: libremetaverse_types::UUID,
        dest_uuid: libremetaverse_types::UUID,
        simulate: Option<bool>,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<bool, crate::Error> {
        /* reviewed native compatibility body */
        self.native_copy_category(source_uuid, dest_uuid, simulate, cancellation_token)
            .await
    }
    /// C# member: `M:LibreMetaverse.InventoryAISClient.CopyCategoryChildrenAsync(System.String,LibreMetaverse.UUID,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<System.Boolean> LibreMetaverse.InventoryAISClient.CopyCategoryChildrenAsync(System.String category, LibreMetaverse.UUID destUuid, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn copy_category_children(
        &self,
        category: String,
        dest_uuid: libremetaverse_types::UUID,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<bool, crate::Error> {
        /* reviewed native compatibility body */
        self.native_copy_category_children(category, dest_uuid, cancellation_token)
            .await
    }
    /// C# member: `M:LibreMetaverse.InventoryAISClient.CopyCategoryLinksAsync(System.String,LibreMetaverse.UUID,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<System.Boolean> LibreMetaverse.InventoryAISClient.CopyCategoryLinksAsync(System.String category, LibreMetaverse.UUID destUuid, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn copy_category_links(
        &self,
        category: String,
        dest_uuid: libremetaverse_types::UUID,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<bool, crate::Error> {
        /* reviewed native compatibility body */
        self.native_copy_category_links(category, dest_uuid, cancellation_token)
            .await
    }
    /// C# member: `M:LibreMetaverse.InventoryAISClient.CopyItemAsync(LibreMetaverse.UUID,LibreMetaverse.UUID,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<System.Boolean> LibreMetaverse.InventoryAISClient.CopyItemAsync(LibreMetaverse.UUID itemUuid, LibreMetaverse.UUID destUuid, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn copy_item(
        &self,
        item_uuid: libremetaverse_types::UUID,
        dest_uuid: libremetaverse_types::UUID,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<bool, crate::Error> {
        /* reviewed native compatibility body */
        self.native_copy_item(item_uuid, dest_uuid, cancellation_token)
            .await
    }
    /// C# member: `M:LibreMetaverse.InventoryAISClient.CopyLibraryCategoryAsync(LibreMetaverse.UUID,LibreMetaverse.UUID,System.Boolean,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<System.Boolean> LibreMetaverse.InventoryAISClient.CopyLibraryCategoryAsync(LibreMetaverse.UUID sourceUuid, LibreMetaverse.UUID destUuid, System.Boolean copySubfolders, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn copy_library_category(
        &self,
        source_uuid: libremetaverse_types::UUID,
        dest_uuid: libremetaverse_types::UUID,
        copy_subfolders: bool,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<bool, crate::Error> {
        /* reviewed native compatibility body */
        self.native_copy_library_category(
            source_uuid,
            dest_uuid,
            copy_subfolders,
            cancellation_token,
        )
        .await
    }
    /// C# member: `M:LibreMetaverse.InventoryAISClient.CreateInventoryAsync(LibreMetaverse.UUID,LibreMetaverse.StructuredData.OSD,System.Boolean,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<System.ValueTuple<System.Boolean, LibreMetaverse.InventoryItem>> LibreMetaverse.InventoryAISClient.CreateInventoryAsync(LibreMetaverse.UUID parentUuid, LibreMetaverse.StructuredData.OSD newInventory, System.Boolean createLink, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn create_inventory(
        &self,
        parent_uuid: libremetaverse_types::UUID,
        new_inventory: libremetaverse_structured_data::OSD,
        create_link: bool,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<(bool, Option<libremetaverse::InventoryItem>), crate::Error> {
        /* reviewed native compatibility body */
        self.native_create_inventory(parent_uuid, new_inventory, create_link, cancellation_token)
            .await
    }
    /// C# member: `M:LibreMetaverse.InventoryAISClient.DeleteCategoryChildrenAsync(System.String,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<System.Boolean> LibreMetaverse.InventoryAISClient.DeleteCategoryChildrenAsync(System.String category, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn delete_category_children(
        &self,
        category: String,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<bool, crate::Error> {
        /* reviewed native compatibility body */
        self.native_delete_category_children(category, cancellation_token)
            .await
    }
    /// C# member: `M:LibreMetaverse.InventoryAISClient.DeleteCategoryLinksAsync(System.String,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<System.Boolean> LibreMetaverse.InventoryAISClient.DeleteCategoryLinksAsync(System.String category, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn delete_category_links(
        &self,
        category: String,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<bool, crate::Error> {
        /* reviewed native compatibility body */
        self.native_delete_category_links(category, cancellation_token)
            .await
    }
    /// C# member: `M:LibreMetaverse.InventoryAISClient.EmptyTrashAsync(System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<System.Boolean> LibreMetaverse.InventoryAISClient.EmptyTrashAsync(System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn empty_trash(
        &self,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<bool, crate::Error> {
        /* reviewed native compatibility body */
        self.native_empty_trash(cancellation_token).await
    }
    /// C# member: `M:LibreMetaverse.InventoryAISClient.FetchCOFAsync(System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<System.Boolean> LibreMetaverse.InventoryAISClient.FetchCOFAsync(System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn fetch_cof(
        &self,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<bool, crate::Error> {
        /* reviewed native compatibility body */
        self.native_fetch_cof(cancellation_token).await
    }
    /// C# member: `M:LibreMetaverse.InventoryAISClient.FetchCategoryCategoriesAsync(LibreMetaverse.UUID,System.Boolean,System.Boolean,System.Int32,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<System.ValueTuple<System.Boolean, System.Collections.Generic.List<LibreMetaverse.InventoryFolder>, System.Collections.Generic.List<LibreMetaverse.InventoryItem>, System.Collections.Generic.List<LibreMetaverse.InventoryItem>>> LibreMetaverse.InventoryAISClient.FetchCategoryCategoriesAsync(LibreMetaverse.UUID catId, System.Boolean useInventoryCap, System.Boolean recursive, System.Int32 depth = default, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,optional_owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn fetch_category_categories(
        &self,
        cat_id: libremetaverse_types::UUID,
        use_inventory_cap: bool,
        recursive: bool,
        depth: Option<i32>,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<
        (
            bool,
            Vec<libremetaverse::InventoryFolder>,
            Vec<libremetaverse::InventoryItem>,
            Vec<libremetaverse::InventoryItem>,
        ),
        crate::Error,
    > {
        /* reviewed native compatibility body */
        self.native_fetch_category_categories(
            cat_id,
            use_inventory_cap,
            recursive,
            depth,
            cancellation_token,
        )
        .await
    }
    /// C# member: `M:LibreMetaverse.InventoryAISClient.FetchCategorySubsetAsync(LibreMetaverse.UUID,System.Collections.Generic.IEnumerable{LibreMetaverse.UUID},System.Boolean,System.Boolean,System.Int32,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<System.ValueTuple<System.Boolean, System.Collections.Generic.List<LibreMetaverse.InventoryFolder>, System.Collections.Generic.List<LibreMetaverse.InventoryItem>, System.Collections.Generic.List<LibreMetaverse.InventoryItem>>> LibreMetaverse.InventoryAISClient.FetchCategorySubsetAsync(LibreMetaverse.UUID catId, System.Collections.Generic.IEnumerable<LibreMetaverse.UUID> specificChildren, System.Boolean useInventoryCap, System.Boolean recursive, System.Int32 depth = default, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,owned,optional_owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn fetch_category_subset(
        &self,
        cat_id: libremetaverse_types::UUID,
        specific_children: Box<dyn Iterator<Item = libremetaverse_types::UUID>>,
        use_inventory_cap: bool,
        recursive: bool,
        depth: Option<i32>,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<
        (
            bool,
            Vec<libremetaverse::InventoryFolder>,
            Vec<libremetaverse::InventoryItem>,
            Vec<libremetaverse::InventoryItem>,
        ),
        crate::Error,
    > {
        /* reviewed native compatibility body */
        self.native_fetch_category_subset(
            cat_id,
            specific_children,
            use_inventory_cap,
            recursive,
            depth,
            cancellation_token,
        )
        .await
    }
    /// C# member: `M:LibreMetaverse.InventoryAISClient.FetchItemAsync(LibreMetaverse.UUID,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<System.ValueTuple<System.Boolean, System.Collections.Generic.List<LibreMetaverse.InventoryFolder>, System.Collections.Generic.List<LibreMetaverse.InventoryItem>, System.Collections.Generic.List<LibreMetaverse.InventoryItem>>> LibreMetaverse.InventoryAISClient.FetchItemAsync(LibreMetaverse.UUID itemUuid, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn fetch_item(
        &self,
        item_uuid: libremetaverse_types::UUID,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<
        (
            bool,
            Vec<libremetaverse::InventoryFolder>,
            Vec<libremetaverse::InventoryItem>,
            Vec<libremetaverse::InventoryItem>,
        ),
        crate::Error,
    > {
        /* reviewed native compatibility body */
        self.native_fetch_item(item_uuid, cancellation_token).await
    }
    /// C# member: `M:LibreMetaverse.InventoryAISClient.FetchOrphansAsync(System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<System.Boolean> LibreMetaverse.InventoryAISClient.FetchOrphansAsync(System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn fetch_orphans(
        &self,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<bool, crate::Error> {
        /* reviewed native compatibility body */
        self.native_fetch_orphans(cancellation_token).await
    }
    /// C# member: `M:LibreMetaverse.InventoryAISClient.GetCategoryAsync(System.String,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<System.ValueTuple<System.Boolean, System.Collections.Generic.List<LibreMetaverse.InventoryFolder>, System.Collections.Generic.List<LibreMetaverse.InventoryItem>, System.Collections.Generic.List<LibreMetaverse.InventoryItem>>> LibreMetaverse.InventoryAISClient.GetCategoryAsync(System.String category, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn get_category(
        &self,
        category: String,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<
        (
            bool,
            Vec<libremetaverse::InventoryFolder>,
            Vec<libremetaverse::InventoryItem>,
            Vec<libremetaverse::InventoryItem>,
        ),
        crate::Error,
    > {
        /* reviewed native compatibility body */
        self.native_get_category(category, cancellation_token).await
    }
    /// C# member: `M:LibreMetaverse.InventoryAISClient.GetCategoryChildrenAsync(System.String,System.Int32,System.Boolean,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<System.ValueTuple<System.Boolean, System.Collections.Generic.List<LibreMetaverse.InventoryFolder>, System.Collections.Generic.List<LibreMetaverse.InventoryItem>, System.Collections.Generic.List<LibreMetaverse.InventoryItem>>> LibreMetaverse.InventoryAISClient.GetCategoryChildrenAsync(System.String category, System.Int32 depth, System.Boolean recursive, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn get_category_children(
        &self,
        category: String,
        depth: i32,
        recursive: bool,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<
        (
            bool,
            Vec<libremetaverse::InventoryFolder>,
            Vec<libremetaverse::InventoryItem>,
            Vec<libremetaverse::InventoryItem>,
        ),
        crate::Error,
    > {
        /* reviewed native compatibility body */
        self.native_get_category_children(category, depth, recursive, cancellation_token)
            .await
    }
    /// C# member: `M:LibreMetaverse.InventoryAISClient.GetCategoryLinksAsync(System.String,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<System.ValueTuple<System.Boolean, System.Collections.Generic.List<LibreMetaverse.InventoryFolder>, System.Collections.Generic.List<LibreMetaverse.InventoryItem>, System.Collections.Generic.List<LibreMetaverse.InventoryItem>>> LibreMetaverse.InventoryAISClient.GetCategoryLinksAsync(System.String category, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn get_category_links(
        &self,
        category: String,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<
        (
            bool,
            Vec<libremetaverse::InventoryFolder>,
            Vec<libremetaverse::InventoryItem>,
            Vec<libremetaverse::InventoryItem>,
        ),
        crate::Error,
    > {
        /* reviewed native compatibility body */
        self.native_get_category_links(category, cancellation_token)
            .await
    }
    /// C# member: `M:LibreMetaverse.InventoryAISClient.MoveCategoryAsync(LibreMetaverse.UUID,LibreMetaverse.UUID,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<System.Boolean> LibreMetaverse.InventoryAISClient.MoveCategoryAsync(LibreMetaverse.UUID sourceUuid, LibreMetaverse.UUID destUuid, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn move_category(
        &self,
        source_uuid: libremetaverse_types::UUID,
        dest_uuid: libremetaverse_types::UUID,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<bool, crate::Error> {
        /* reviewed native compatibility body */
        self.native_move_category(source_uuid, dest_uuid, cancellation_token)
            .await
    }
    /// C# member: `M:LibreMetaverse.InventoryAISClient.MoveCategoryChildrenAsync(System.String,LibreMetaverse.UUID,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<System.Boolean> LibreMetaverse.InventoryAISClient.MoveCategoryChildrenAsync(System.String category, LibreMetaverse.UUID destUuid, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn move_category_children(
        &self,
        category: String,
        dest_uuid: libremetaverse_types::UUID,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<bool, crate::Error> {
        /* reviewed native compatibility body */
        self.native_move_category_children(category, dest_uuid, cancellation_token)
            .await
    }
    /// C# member: `M:LibreMetaverse.InventoryAISClient.MoveCategoryLinksAsync(System.String,LibreMetaverse.UUID,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<System.Boolean> LibreMetaverse.InventoryAISClient.MoveCategoryLinksAsync(System.String category, LibreMetaverse.UUID destUuid, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn move_category_links(
        &self,
        category: String,
        dest_uuid: libremetaverse_types::UUID,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<bool, crate::Error> {
        /* reviewed native compatibility body */
        self.native_move_category_links(category, dest_uuid, cancellation_token)
            .await
    }
    /// C# member: `M:LibreMetaverse.InventoryAISClient.MoveItemAsync(LibreMetaverse.UUID,LibreMetaverse.UUID,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<System.Boolean> LibreMetaverse.InventoryAISClient.MoveItemAsync(LibreMetaverse.UUID itemUuid, LibreMetaverse.UUID destUuid, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn move_item(
        &self,
        item_uuid: libremetaverse_types::UUID,
        dest_uuid: libremetaverse_types::UUID,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<bool, crate::Error> {
        /* reviewed native compatibility body */
        self.native_move_item(item_uuid, dest_uuid, cancellation_token)
            .await
    }
    /// C# member: `M:LibreMetaverse.InventoryAISClient.ParseAISResponseMeta(LibreMetaverse.StructuredData.OSDMap)`.
    ///
    /// C# signature: `LibreMetaverse.AISResponseMeta LibreMetaverse.InventoryAISClient.ParseAISResponseMeta(LibreMetaverse.StructuredData.OSDMap response)`.
    /// Mapping contract: ownership `owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn parse_ais_response_meta(
        response: Option<libremetaverse_structured_data::OSDMap>,
    ) -> Result<libremetaverse::AISResponseMeta, crate::Error> {
        /* reviewed native compatibility body */
        crate::inventory_ais::InventoryAISClient::native_parse_ais_response_meta(response)
    }
    /// C# member: `M:LibreMetaverse.InventoryAISClient.ParseEmbedded(LibreMetaverse.StructuredData.OSDMap,System.Collections.Generic.List{LibreMetaverse.InventoryFolder}@,System.Collections.Generic.List{LibreMetaverse.InventoryItem}@,System.Collections.Generic.List{LibreMetaverse.InventoryItem}@)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.InventoryAISClient.ParseEmbedded(LibreMetaverse.StructuredData.OSDMap response, out System.Collections.Generic.List<LibreMetaverse.InventoryFolder>& folders, out System.Collections.Generic.List<LibreMetaverse.InventoryItem>& items, out System.Collections.Generic.List<LibreMetaverse.InventoryItem>& links)`.
    /// Mapping contract: ownership `shared_self,owned,mutable_output,mutable_output,mutable_output`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn parse_embedded(
        &self,
        response: libremetaverse_structured_data::OSD,
        folders: &mut Option<Vec<libremetaverse::InventoryFolder>>,
        items: &mut Option<Vec<libremetaverse::InventoryItem>>,
        links: &mut Option<Vec<libremetaverse::InventoryItem>>,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_parse_embedded(response, folders, items, links)
    }
    /// C# member: `M:LibreMetaverse.InventoryAISClient.ParseFoldersFromEmbedded(LibreMetaverse.StructuredData.OSDMap)`.
    ///
    /// C# signature: `System.Collections.Generic.List<LibreMetaverse.InventoryFolder> LibreMetaverse.InventoryAISClient.ParseFoldersFromEmbedded(LibreMetaverse.StructuredData.OSDMap response)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn parse_folders_from_embedded(
        &self,
        response: libremetaverse_structured_data::OSDMap,
    ) -> Result<Vec<libremetaverse::InventoryFolder>, crate::Error> {
        /* reviewed native compatibility body */
        self.native_parse_folders_from_embedded(response)
    }
    /// C# member: `M:LibreMetaverse.InventoryAISClient.ParseItemsFromEmbedded(LibreMetaverse.StructuredData.OSDMap)`.
    ///
    /// C# signature: `System.Collections.Generic.List<LibreMetaverse.InventoryItem> LibreMetaverse.InventoryAISClient.ParseItemsFromEmbedded(LibreMetaverse.StructuredData.OSDMap response)`.
    /// Mapping contract: ownership `shared_self,optional_owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn parse_items_from_embedded(
        &self,
        response: Option<libremetaverse_structured_data::OSD>,
    ) -> Result<Vec<libremetaverse::InventoryItem>, crate::Error> {
        /* reviewed native compatibility body */
        self.native_parse_items_from_embedded(response)
    }
    /// C# member: `M:LibreMetaverse.InventoryAISClient.ParseLinksFromEmbedded(LibreMetaverse.StructuredData.OSDMap)`.
    ///
    /// C# signature: `System.Collections.Generic.List<LibreMetaverse.InventoryItem> LibreMetaverse.InventoryAISClient.ParseLinksFromEmbedded(LibreMetaverse.StructuredData.OSDMap response)`.
    /// Mapping contract: ownership `shared_self,optional_owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn parse_links_from_embedded(
        &self,
        response: Option<libremetaverse_structured_data::OSD>,
    ) -> Result<Vec<libremetaverse::InventoryItem>, crate::Error> {
        /* reviewed native compatibility body */
        self.native_parse_links_from_embedded(response)
    }
    /// C# member: `M:LibreMetaverse.InventoryAISClient.PurgeDescendentsAsync(LibreMetaverse.UUID,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<System.Boolean> LibreMetaverse.InventoryAISClient.PurgeDescendentsAsync(LibreMetaverse.UUID categoryUuid, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn purge_descendents(
        &self,
        category_uuid: libremetaverse_types::UUID,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<bool, crate::Error> {
        /* reviewed native compatibility body */
        self.native_purge_descendents(category_uuid, cancellation_token)
            .await
    }
    /// C# member: `M:LibreMetaverse.InventoryAISClient.PutCategoryChildrenAsync(System.String,LibreMetaverse.StructuredData.OSD,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<System.Boolean> LibreMetaverse.InventoryAISClient.PutCategoryChildrenAsync(System.String category, LibreMetaverse.StructuredData.OSD childrenPayload, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn put_category_children(
        &self,
        category: String,
        children_payload: libremetaverse_structured_data::OSD,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<bool, crate::Error> {
        /* reviewed native compatibility body */
        self.native_put_category_children(category, children_payload, cancellation_token)
            .await
    }
    /// C# member: `M:LibreMetaverse.InventoryAISClient.PutCategoryLinksAsync(System.String,LibreMetaverse.StructuredData.OSD,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<System.Boolean> LibreMetaverse.InventoryAISClient.PutCategoryLinksAsync(System.String category, LibreMetaverse.StructuredData.OSD linksPayload, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn put_category_links(
        &self,
        category: String,
        links_payload: libremetaverse_structured_data::OSD,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<bool, crate::Error> {
        /* reviewed native compatibility body */
        self.native_put_category_links(category, links_payload, cancellation_token)
            .await
    }
    /// C# member: `M:LibreMetaverse.InventoryAISClient.RemoveCategoryAsync(LibreMetaverse.UUID,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<System.Boolean> LibreMetaverse.InventoryAISClient.RemoveCategoryAsync(LibreMetaverse.UUID categoryUuid, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn remove_category(
        &self,
        category_uuid: libremetaverse_types::UUID,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<bool, crate::Error> {
        /* reviewed native compatibility body */
        self.native_remove_category(category_uuid, cancellation_token)
            .await
    }
    /// C# member: `M:LibreMetaverse.InventoryAISClient.RemoveItemAsync(LibreMetaverse.UUID,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<System.Boolean> LibreMetaverse.InventoryAISClient.RemoveItemAsync(LibreMetaverse.UUID itemUuid, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn remove_item(
        &self,
        item_uuid: libremetaverse_types::UUID,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<bool, crate::Error> {
        /* reviewed native compatibility body */
        self.native_remove_item(item_uuid, cancellation_token).await
    }
    /// C# member: `M:LibreMetaverse.InventoryAISClient.SlamFolderAsync(LibreMetaverse.UUID,LibreMetaverse.StructuredData.OSD,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<System.Boolean> LibreMetaverse.InventoryAISClient.SlamFolderAsync(LibreMetaverse.UUID folderUuid, LibreMetaverse.StructuredData.OSD newInventory, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn slam_folder(
        &self,
        folder_uuid: libremetaverse_types::UUID,
        new_inventory: libremetaverse_structured_data::OSD,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<bool, crate::Error> {
        /* reviewed native compatibility body */
        self.native_slam_folder(folder_uuid, new_inventory, cancellation_token)
            .await
    }
    /// C# member: `M:LibreMetaverse.InventoryAISClient.UpdateCategoryAsync(LibreMetaverse.UUID,LibreMetaverse.StructuredData.OSD,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<System.Boolean> LibreMetaverse.InventoryAISClient.UpdateCategoryAsync(LibreMetaverse.UUID categoryUuid, LibreMetaverse.StructuredData.OSD updates, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn update_category(
        &self,
        category_uuid: libremetaverse_types::UUID,
        updates: libremetaverse_structured_data::OSD,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<bool, crate::Error> {
        /* reviewed native compatibility body */
        self.native_update_category(category_uuid, updates, cancellation_token)
            .await
    }
    /// C# member: `M:LibreMetaverse.InventoryAISClient.UpdateItemAsync(LibreMetaverse.UUID,LibreMetaverse.StructuredData.OSD,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<System.Boolean> LibreMetaverse.InventoryAISClient.UpdateItemAsync(LibreMetaverse.UUID itemUuid, LibreMetaverse.StructuredData.OSD updates, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn update_item(
        &self,
        item_uuid: libremetaverse_types::UUID,
        updates: libremetaverse_structured_data::OSD,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<bool, crate::Error> {
        /* reviewed native compatibility body */
        self.native_update_item(item_uuid, updates, cancellation_token)
            .await
    }
    /// C# member: `P:LibreMetaverse.InventoryAISClient.IsAvailable`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.InventoryAISClient.IsAvailable`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn is_available(&self) -> bool {
        /* reviewed native compatibility body */
        self.native_is_available()
    }
}

/// C# type: `T:LibreMetaverse.InventoryAnimation`.
///
/// Native Rust mapping of C# `LibreMetaverse.InventoryAnimation` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.InventoryAnimation.#ctor(LibreMetaverse.UUID)`.
///
/// C# signature: `LibreMetaverse.InventoryAnimation(LibreMetaverse.UUID UUID)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
pub use crate::inventory::InventoryAnimation;

/// C# type: `T:LibreMetaverse.InventoryAttachment`.
///
/// Native Rust mapping of C# `LibreMetaverse.InventoryAttachment` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.InventoryAttachment.#ctor(LibreMetaverse.UUID)`.
///
/// C# signature: `LibreMetaverse.InventoryAttachment(LibreMetaverse.UUID UUID)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.InventoryAttachment.AttachmentPoint`.
///
/// C# signature: `LibreMetaverse.AttachmentPoint LibreMetaverse.InventoryAttachment.AttachmentPoint`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::inventory::InventoryAttachment;

/// C# type: `T:LibreMetaverse.InventoryBase`.
///
/// Native Rust mapping of C# `LibreMetaverse.InventoryBase` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.InventoryBase.Equals(LibreMetaverse.InventoryBase)`.
///
/// C# signature: `System.Boolean LibreMetaverse.InventoryBase.Equals(LibreMetaverse.InventoryBase o)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `infallible_placeholder`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.InventoryBase.Equals(System.Object)`.
///
/// C# signature: `System.Boolean LibreMetaverse.InventoryBase.Equals(System.Object obj)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `infallible_placeholder`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.InventoryBase.GetHashCode`.
///
/// C# signature: `System.Int32 LibreMetaverse.InventoryBase.GetHashCode()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.InventoryBase.GetOSD`.
///
/// C# signature: `LibreMetaverse.StructuredData.OSD LibreMetaverse.InventoryBase.GetOSD()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.InventoryBase.Name`.
///
/// C# signature: `System.String LibreMetaverse.InventoryBase.Name`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.InventoryBase.OwnerID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.InventoryBase.OwnerID`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.InventoryBase.ParentUUID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.InventoryBase.ParentUUID`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.InventoryBase.UUID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.InventoryBase.UUID`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::inventory::InventoryBase;

/// C# type: `T:LibreMetaverse.InventoryCallingCard`.
///
/// Native Rust mapping of C# `LibreMetaverse.InventoryCallingCard` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.InventoryCallingCard.#ctor(LibreMetaverse.UUID)`.
///
/// C# signature: `LibreMetaverse.InventoryCallingCard(LibreMetaverse.UUID UUID)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
pub use crate::inventory::InventoryCallingCard;

/// C# type: `T:LibreMetaverse.InventoryCategory`.
///
/// Native Rust mapping of C# `LibreMetaverse.InventoryCategory` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.InventoryCategory.#ctor(LibreMetaverse.UUID)`.
///
/// C# signature: `LibreMetaverse.InventoryCategory(LibreMetaverse.UUID UUID)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
pub use crate::inventory::InventoryCategory;

/// C# type: `T:LibreMetaverse.InventoryException`.
///
/// Native Rust mapping of C# `LibreMetaverse.InventoryException` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.InventoryException.#ctor`.
///
/// C# signature: `LibreMetaverse.InventoryException()`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.InventoryException.#ctor(System.String)`.
///
/// C# signature: `LibreMetaverse.InventoryException(System.String message)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.InventoryException.#ctor(System.String,System.Exception)`.
///
/// C# signature: `LibreMetaverse.InventoryException(System.String message, System.Exception innerException)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
pub use crate::inventory_exception::InventoryException;

/// C# type: `T:LibreMetaverse.InventoryFolder`.
///
/// Native Rust mapping of C# `LibreMetaverse.InventoryFolder` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `F:LibreMetaverse.InventoryFolder.VERSION_UNKNOWN`.
///
/// C# signature: `System.Int32 LibreMetaverse.InventoryFolder.VERSION_UNKNOWN`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `M:LibreMetaverse.InventoryFolder.#ctor(LibreMetaverse.UUID)`.
///
/// C# signature: `LibreMetaverse.InventoryFolder(LibreMetaverse.UUID UUID)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.InventoryFolder.Equals(LibreMetaverse.InventoryBase)`.
///
/// C# signature: `System.Boolean LibreMetaverse.InventoryFolder.Equals(LibreMetaverse.InventoryBase o)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `infallible_placeholder`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.InventoryFolder.Equals(LibreMetaverse.InventoryFolder)`.
///
/// C# signature: `System.Boolean LibreMetaverse.InventoryFolder.Equals(LibreMetaverse.InventoryFolder o)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `infallible_placeholder`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.InventoryFolder.Equals(System.Object)`.
///
/// C# signature: `System.Boolean LibreMetaverse.InventoryFolder.Equals(System.Object obj)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `infallible_placeholder`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.InventoryFolder.FromOSD(LibreMetaverse.StructuredData.OSD)`.
///
/// C# signature: `LibreMetaverse.InventoryFolder LibreMetaverse.InventoryFolder.FromOSD(LibreMetaverse.StructuredData.OSD data)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.InventoryFolder.GetHashCode`.
///
/// C# signature: `System.Int32 LibreMetaverse.InventoryFolder.GetHashCode()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.InventoryFolder.GetOSD`.
///
/// C# signature: `LibreMetaverse.StructuredData.OSD LibreMetaverse.InventoryFolder.GetOSD()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.InventoryFolder.ToString`.
///
/// C# signature: `System.String LibreMetaverse.InventoryFolder.ToString()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.InventoryFolder.Update(LibreMetaverse.StructuredData.OSDMap)`.
///
/// C# signature: `System.Void LibreMetaverse.InventoryFolder.Update(LibreMetaverse.StructuredData.OSDMap data)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.InventoryFolder.DescendentCount`.
///
/// C# signature: `System.Int32 LibreMetaverse.InventoryFolder.DescendentCount`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.InventoryFolder.PreferredType`.
///
/// C# signature: `LibreMetaverse.FolderType LibreMetaverse.InventoryFolder.PreferredType`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.InventoryFolder.Version`.
///
/// C# signature: `System.Int32 LibreMetaverse.InventoryFolder.Version`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::inventory::InventoryFolder;

/// C# type: `T:LibreMetaverse.InventoryGesture`.
///
/// Native Rust mapping of C# `LibreMetaverse.InventoryGesture` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.InventoryGesture.#ctor(LibreMetaverse.UUID)`.
///
/// C# signature: `LibreMetaverse.InventoryGesture(LibreMetaverse.UUID UUID)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
pub use crate::inventory::InventoryGesture;

/// C# type: `T:LibreMetaverse.InventoryItem`.
///
/// Native Rust mapping of C# `LibreMetaverse.InventoryItem` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.InventoryItem.#ctor(LibreMetaverse.InventoryType,LibreMetaverse.UUID)`.
///
/// C# signature: `LibreMetaverse.InventoryItem(LibreMetaverse.InventoryType type, LibreMetaverse.UUID itemID)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.InventoryItem.#ctor(LibreMetaverse.UUID)`.
///
/// C# signature: `LibreMetaverse.InventoryItem(LibreMetaverse.UUID UUID)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.InventoryItem.Equals(LibreMetaverse.InventoryBase)`.
///
/// C# signature: `System.Boolean LibreMetaverse.InventoryItem.Equals(LibreMetaverse.InventoryBase o)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `infallible_placeholder`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.InventoryItem.Equals(LibreMetaverse.InventoryItem)`.
///
/// C# signature: `System.Boolean LibreMetaverse.InventoryItem.Equals(LibreMetaverse.InventoryItem o)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `infallible_placeholder`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.InventoryItem.Equals(System.Object)`.
///
/// C# signature: `System.Boolean LibreMetaverse.InventoryItem.Equals(System.Object obj)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `infallible_placeholder`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.InventoryItem.FromOSD(LibreMetaverse.StructuredData.OSD)`.
///
/// C# signature: `LibreMetaverse.InventoryItem LibreMetaverse.InventoryItem.FromOSD(LibreMetaverse.StructuredData.OSD data)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.InventoryItem.GetHashCode`.
///
/// C# signature: `System.Int32 LibreMetaverse.InventoryItem.GetHashCode()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.InventoryItem.GetOSD`.
///
/// C# signature: `LibreMetaverse.StructuredData.OSD LibreMetaverse.InventoryItem.GetOSD()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.InventoryItem.IsLink`.
///
/// C# signature: `System.Boolean LibreMetaverse.InventoryItem.IsLink()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.InventoryItem.ToString`.
///
/// C# signature: `System.String LibreMetaverse.InventoryItem.ToString()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.InventoryItem.Update(LibreMetaverse.StructuredData.OSDMap)`.
///
/// C# signature: `System.Void LibreMetaverse.InventoryItem.Update(LibreMetaverse.StructuredData.OSDMap data)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.InventoryItem.AssetType`.
///
/// C# signature: `LibreMetaverse.AssetType LibreMetaverse.InventoryItem.AssetType`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.InventoryItem.AssetUUID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.InventoryItem.AssetUUID`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.InventoryItem.CreationDate`.
///
/// C# signature: `System.DateTime LibreMetaverse.InventoryItem.CreationDate`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.InventoryItem.CreatorID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.InventoryItem.CreatorID`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.InventoryItem.Description`.
///
/// C# signature: `System.String LibreMetaverse.InventoryItem.Description`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.InventoryItem.Flags`.
///
/// C# signature: `System.UInt32 LibreMetaverse.InventoryItem.Flags`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.InventoryItem.GroupID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.InventoryItem.GroupID`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.InventoryItem.GroupOwned`.
///
/// C# signature: `System.Boolean LibreMetaverse.InventoryItem.GroupOwned`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.InventoryItem.InventoryType`.
///
/// C# signature: `LibreMetaverse.InventoryType LibreMetaverse.InventoryItem.InventoryType`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.InventoryItem.LastOwnerID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.InventoryItem.LastOwnerID`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.InventoryItem.Permissions`.
///
/// C# signature: `LibreMetaverse.Permissions LibreMetaverse.InventoryItem.Permissions`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.InventoryItem.ResolvedAssetID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.InventoryItem.ResolvedAssetID`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.InventoryItem.ResolvedItemID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.InventoryItem.ResolvedItemID`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.InventoryItem.SalePrice`.
///
/// C# signature: `System.Int32 LibreMetaverse.InventoryItem.SalePrice`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.InventoryItem.SaleType`.
///
/// C# signature: `LibreMetaverse.SaleType LibreMetaverse.InventoryItem.SaleType`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.InventoryItem.TransactionID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.InventoryItem.TransactionID`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::inventory::InventoryItem;

/// C# type: `T:LibreMetaverse.InventoryItemFlags`.
///
/// Native Rust mapping of C# `LibreMetaverse.InventoryItemFlags` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(transparent)]
pub struct InventoryItemFlags(pub u32);
impl InventoryItemFlags {
    /// C# member: `F:LibreMetaverse.InventoryItemFlags.None`.
    ///
    /// C# signature: `LibreMetaverse.InventoryItemFlags LibreMetaverse.InventoryItemFlags.None`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const NONE: Self = Self(0);
    /// C# member: `F:LibreMetaverse.InventoryItemFlags.ObjectHasMultipleItems`.
    ///
    /// C# signature: `LibreMetaverse.InventoryItemFlags LibreMetaverse.InventoryItemFlags.ObjectHasMultipleItems`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const OBJECT_HAS_MULTIPLE_ITEMS: Self = Self(2097152);
    /// C# member: `F:LibreMetaverse.InventoryItemFlags.ObjectOverwriteBase`.
    ///
    /// C# signature: `LibreMetaverse.InventoryItemFlags LibreMetaverse.InventoryItemFlags.ObjectOverwriteBase`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const OBJECT_OVERWRITE_BASE: Self = Self(65536);
    /// C# member: `F:LibreMetaverse.InventoryItemFlags.ObjectOverwriteEveryone`.
    ///
    /// C# signature: `LibreMetaverse.InventoryItemFlags LibreMetaverse.InventoryItemFlags.ObjectOverwriteEveryone`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const OBJECT_OVERWRITE_EVERYONE: Self = Self(524288);
    /// C# member: `F:LibreMetaverse.InventoryItemFlags.ObjectOverwriteGroup`.
    ///
    /// C# signature: `LibreMetaverse.InventoryItemFlags LibreMetaverse.InventoryItemFlags.ObjectOverwriteGroup`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const OBJECT_OVERWRITE_GROUP: Self = Self(262144);
    /// C# member: `F:LibreMetaverse.InventoryItemFlags.ObjectOverwriteNextOwner`.
    ///
    /// C# signature: `LibreMetaverse.InventoryItemFlags LibreMetaverse.InventoryItemFlags.ObjectOverwriteNextOwner`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const OBJECT_OVERWRITE_NEXT_OWNER: Self = Self(1048576);
    /// C# member: `F:LibreMetaverse.InventoryItemFlags.ObjectOverwriteOwner`.
    ///
    /// C# signature: `LibreMetaverse.InventoryItemFlags LibreMetaverse.InventoryItemFlags.ObjectOverwriteOwner`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const OBJECT_OVERWRITE_OWNER: Self = Self(131072);
    /// C# member: `F:LibreMetaverse.InventoryItemFlags.ObjectSlamPerm`.
    ///
    /// C# signature: `LibreMetaverse.InventoryItemFlags LibreMetaverse.InventoryItemFlags.ObjectSlamPerm`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const OBJECT_SLAM_PERM: Self = Self(256);
    /// C# member: `F:LibreMetaverse.InventoryItemFlags.ObjectSlamSale`.
    ///
    /// C# signature: `LibreMetaverse.InventoryItemFlags LibreMetaverse.InventoryItemFlags.ObjectSlamSale`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const OBJECT_SLAM_SALE: Self = Self(4096);
    /// C# member: `F:LibreMetaverse.InventoryItemFlags.SharedSingleReference`.
    ///
    /// C# signature: `LibreMetaverse.InventoryItemFlags LibreMetaverse.InventoryItemFlags.SharedSingleReference`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const SHARED_SINGLE_REFERENCE: Self = Self(1073741824);
}

/// C# type: `T:LibreMetaverse.InventoryLSL`.
///
/// Native Rust mapping of C# `LibreMetaverse.InventoryLSL` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.InventoryLSL.#ctor(LibreMetaverse.UUID)`.
///
/// C# signature: `LibreMetaverse.InventoryLSL(LibreMetaverse.UUID UUID)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
pub use crate::inventory::InventoryLSL;

/// C# type: `T:LibreMetaverse.InventoryLandmark`.
///
/// Native Rust mapping of C# `LibreMetaverse.InventoryLandmark` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.InventoryLandmark.#ctor(LibreMetaverse.UUID)`.
///
/// C# signature: `LibreMetaverse.InventoryLandmark(LibreMetaverse.UUID UUID)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.InventoryLandmark.LandmarkVisited`.
///
/// C# signature: `System.Boolean LibreMetaverse.InventoryLandmark.LandmarkVisited`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::inventory::InventoryLandmark;

/// C# type: `T:LibreMetaverse.InventoryManager`.
///
/// Native Rust mapping of C# `LibreMetaverse.InventoryManager` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
pub use crate::inventory_manager::InventoryManager;
impl InventoryManager {
    /// C# member: `E:LibreMetaverse.InventoryManager.FindObjectByPathReply`.
    ///
    /// C# signature: `System.EventHandler<LibreMetaverse.FindObjectByPathReplyEventArgs> LibreMetaverse.InventoryManager.FindObjectByPathReply`.
    /// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
    pub fn subscribe_find_object_by_path_reply(
        &self,
        handler: libremetaverse_types::compat::EventHandler<
            libremetaverse::FindObjectByPathReplyEventArgs,
        >,
    ) -> libremetaverse_types::compat::Subscription {
        /* reviewed native compatibility body */
        self.native_subscribe_find_object_by_path_reply(handler)
    }
    /// C# member: `E:LibreMetaverse.InventoryManager.FolderUpdated`.
    ///
    /// C# signature: `System.EventHandler<LibreMetaverse.FolderUpdatedEventArgs> LibreMetaverse.InventoryManager.FolderUpdated`.
    /// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
    pub fn subscribe_folder_updated(
        &self,
        handler: libremetaverse_types::compat::EventHandler<libremetaverse::FolderUpdatedEventArgs>,
    ) -> libremetaverse_types::compat::Subscription {
        /* reviewed native compatibility body */
        self.native_subscribe_folder_updated(handler)
    }
    /// C# member: `E:LibreMetaverse.InventoryManager.InventoryObjectOffered`.
    ///
    /// C# signature: `System.EventHandler<LibreMetaverse.InventoryObjectOfferedEventArgs> LibreMetaverse.InventoryManager.InventoryObjectOffered`.
    /// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
    pub fn subscribe_inventory_object_offered(
        &self,
        handler: libremetaverse_types::compat::EventHandler<
            libremetaverse::InventoryObjectOfferedEventArgs,
        >,
    ) -> libremetaverse_types::compat::Subscription {
        /* reviewed native compatibility body */
        self.native_subscribe_inventory_object_offered(handler)
    }
    /// C# member: `E:LibreMetaverse.InventoryManager.ItemReceived`.
    ///
    /// C# signature: `System.EventHandler<LibreMetaverse.ItemReceivedEventArgs> LibreMetaverse.InventoryManager.ItemReceived`.
    /// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
    pub fn subscribe_item_received(
        &self,
        handler: libremetaverse_types::compat::EventHandler<libremetaverse::ItemReceivedEventArgs>,
    ) -> libremetaverse_types::compat::Subscription {
        /* reviewed native compatibility body */
        self.native_subscribe_item_received(handler)
    }
    /// C# member: `E:LibreMetaverse.InventoryManager.SaveAssetToInventory`.
    ///
    /// C# signature: `System.EventHandler<LibreMetaverse.SaveAssetToInventoryEventArgs> LibreMetaverse.InventoryManager.SaveAssetToInventory`.
    /// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
    pub fn subscribe_save_asset_to_inventory(
        &self,
        handler: libremetaverse_types::compat::EventHandler<
            libremetaverse::SaveAssetToInventoryEventArgs,
        >,
    ) -> libremetaverse_types::compat::Subscription {
        /* reviewed native compatibility body */
        self.native_subscribe_save_asset_to_inventory(handler)
    }
    /// C# member: `E:LibreMetaverse.InventoryManager.ScriptRunningReply`.
    ///
    /// C# signature: `System.EventHandler<LibreMetaverse.ScriptRunningReplyEventArgs> LibreMetaverse.InventoryManager.ScriptRunningReply`.
    /// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
    pub fn subscribe_script_running_reply(
        &self,
        handler: libremetaverse_types::compat::EventHandler<
            libremetaverse::ScriptRunningReplyEventArgs,
        >,
    ) -> libremetaverse_types::compat::Subscription {
        /* reviewed native compatibility body */
        self.native_subscribe_script_running_reply(handler)
    }
    /// C# member: `E:LibreMetaverse.InventoryManager.TaskInventoryReply`.
    ///
    /// C# signature: `System.EventHandler<LibreMetaverse.TaskInventoryReplyEventArgs> LibreMetaverse.InventoryManager.TaskInventoryReply`.
    /// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
    pub fn subscribe_task_inventory_reply(
        &self,
        handler: libremetaverse_types::compat::EventHandler<
            libremetaverse::TaskInventoryReplyEventArgs,
        >,
    ) -> libremetaverse_types::compat::Subscription {
        /* reviewed native compatibility body */
        self.native_subscribe_task_inventory_reply(handler)
    }
    /// C# member: `E:LibreMetaverse.InventoryManager.TaskItemReceived`.
    ///
    /// C# signature: `System.EventHandler<LibreMetaverse.TaskItemReceivedEventArgs> LibreMetaverse.InventoryManager.TaskItemReceived`.
    /// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
    pub fn subscribe_task_item_received(
        &self,
        handler: libremetaverse_types::compat::EventHandler<
            libremetaverse::TaskItemReceivedEventArgs,
        >,
    ) -> libremetaverse_types::compat::Subscription {
        /* reviewed native compatibility body */
        self.native_subscribe_task_item_received(handler)
    }
    /// C# member: `F:LibreMetaverse.InventoryManager.MAGIC_ID`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.InventoryManager.MAGIC_ID`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn magic_id() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::inventory_manager::InventoryManager::native_magic_id()
    }
    /// C# member: `F:LibreMetaverse.InventoryManager.MAX_GIVE_ITEMS`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.InventoryManager.MAX_GIVE_ITEMS`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const MAX_GIVE_ITEMS: i32 = 66;
    /// C# member: `M:LibreMetaverse.InventoryManager.#ctor(LibreMetaverse.GridClient)`.
    ///
    /// C# signature: `LibreMetaverse.InventoryManager(LibreMetaverse.GridClient client)`.
    /// Mapping contract: ownership `optional_shared`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn new(
        client: Option<std::sync::Arc<libremetaverse::GridClient>>,
    ) -> Result<Self, crate::Error> {
        /* reviewed native compatibility body */
        crate::inventory_manager::InventoryManager::native_new(client)
    }
    /// C# member: `M:LibreMetaverse.InventoryManager.CopyItemAsync(LibreMetaverse.UUID,LibreMetaverse.UUID,System.String,LibreMetaverse.UUID,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<LibreMetaverse.InventoryBase> LibreMetaverse.InventoryManager.CopyItemAsync(LibreMetaverse.UUID item, LibreMetaverse.UUID newParent, System.String newName, LibreMetaverse.UUID oldOwnerID, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub async fn copy_item_with_uuid_uuid_string_uuid_cancellation_token(
        &self,
        item: libremetaverse_types::UUID,
        new_parent: libremetaverse_types::UUID,
        new_name: String,
        old_owner_id: libremetaverse_types::UUID,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<Option<libremetaverse::InventoryBase>, crate::Error> {
        /* reviewed native compatibility body */
        self.native_copy_item(item, new_parent, new_name, old_owner_id, cancellation_token)
            .await
    }
    /// C# member: `M:LibreMetaverse.InventoryManager.CopyItemAsync(LibreMetaverse.UUID,LibreMetaverse.UUID,System.String,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<LibreMetaverse.InventoryBase> LibreMetaverse.InventoryManager.CopyItemAsync(LibreMetaverse.UUID item, LibreMetaverse.UUID newParent, System.String newName, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub async fn copy_item_with_uuid_uuid_string_cancellation_token(
        &self,
        item: libremetaverse_types::UUID,
        new_parent: libremetaverse_types::UUID,
        new_name: String,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<Option<libremetaverse::InventoryBase>, crate::Error> {
        /* reviewed native compatibility body */
        self.native_copy_item_default_owner(item, new_parent, new_name, cancellation_token)
            .await
    }
    /// C# member: `M:LibreMetaverse.InventoryManager.CopyScriptToTask(System.UInt32,LibreMetaverse.InventoryItem,System.Boolean,LibreMetaverse.Simulator)`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.InventoryManager.CopyScriptToTask(System.UInt32 objectLocalID, LibreMetaverse.InventoryItem item, System.Boolean enableScript, LibreMetaverse.Simulator simulator = default)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,optional_owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn copy_script_to_task(
        &self,
        object_local_id: u32,
        item: libremetaverse::InventoryItem,
        enable_script: bool,
        simulator: Option<libremetaverse::Simulator>,
    ) -> Result<libremetaverse_types::UUID, crate::Error> {
        /* reviewed native compatibility body */
        self.native_copy_script_to_task(object_local_id, item, enable_script, simulator)
    }
    /// C# member: `M:LibreMetaverse.InventoryManager.CreateFolder(LibreMetaverse.UUID,System.String)`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.InventoryManager.CreateFolder(LibreMetaverse.UUID parentID, System.String name)`.
    /// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub fn create_folder_with_uuid_string(
        &self,
        parent_id: libremetaverse_types::UUID,
        name: String,
    ) -> Result<libremetaverse_types::UUID, crate::Error> {
        /* reviewed native compatibility body */
        self.native_create_folder(parent_id, name, libremetaverse_types::FolderType::None)
    }
    /// C# member: `M:LibreMetaverse.InventoryManager.CreateFolder(LibreMetaverse.UUID,System.String,LibreMetaverse.FolderType)`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.InventoryManager.CreateFolder(LibreMetaverse.UUID parentID, System.String name, LibreMetaverse.FolderType preferredType)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub fn create_folder_with_uuid_string_folder_type(
        &self,
        parent_id: libremetaverse_types::UUID,
        name: String,
        preferred_type: libremetaverse_types::FolderType,
    ) -> Result<libremetaverse_types::UUID, crate::Error> {
        /* reviewed native compatibility body */
        self.native_create_folder(parent_id, name, preferred_type)
    }
    /// C# member: `M:LibreMetaverse.InventoryManager.CreateInventoryItem(LibreMetaverse.InventoryType,LibreMetaverse.UUID)`.
    ///
    /// C# signature: `LibreMetaverse.InventoryItem LibreMetaverse.InventoryManager.CreateInventoryItem(LibreMetaverse.InventoryType type, LibreMetaverse.UUID id)`.
    /// Mapping contract: ownership `owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn create_inventory_item(
        type_: libremetaverse_types::InventoryType,
        id: libremetaverse_types::UUID,
    ) -> Result<Box<dyn libremetaverse::InventoryItemClass>, crate::Error> {
        /* reviewed native compatibility body */
        crate::inventory_manager::InventoryManager::native_create_inventory_item(type_, id)
    }
    /// C# member: `M:LibreMetaverse.InventoryManager.CreateItemAsync(LibreMetaverse.UUID,System.String,System.String,LibreMetaverse.AssetType,LibreMetaverse.UUID,LibreMetaverse.InventoryType,LibreMetaverse.PermissionMask,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<LibreMetaverse.InventoryItem> LibreMetaverse.InventoryManager.CreateItemAsync(LibreMetaverse.UUID parentFolder, System.String name, System.String description, LibreMetaverse.AssetType type, LibreMetaverse.UUID assetTransactionID, LibreMetaverse.InventoryType invType, LibreMetaverse.PermissionMask nextOwnerMask, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,owned,owned,owned,owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub async fn create_item_with_uuid_string_string_asset_type_uuid_inventory_type_permission_mask_cancellation_token(
        &self,
        parent_folder: libremetaverse_types::UUID,
        name: String,
        description: String,
        type_: libremetaverse_types::AssetType,
        asset_transaction_id: libremetaverse_types::UUID,
        inv_type: libremetaverse_types::InventoryType,
        next_owner_mask: libremetaverse::PermissionMask,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<Option<libremetaverse::InventoryItem>, crate::Error> {
        /* reviewed native compatibility body */
        self.native_create_item(
            parent_folder,
            name,
            description,
            type_,
            asset_transaction_id,
            inv_type,
            libremetaverse_types::WearableType::Shape,
            next_owner_mask,
            cancellation_token,
        )
        .await
    }
    /// C# member: `M:LibreMetaverse.InventoryManager.CreateItemAsync(LibreMetaverse.UUID,System.String,System.String,LibreMetaverse.AssetType,LibreMetaverse.UUID,LibreMetaverse.InventoryType,LibreMetaverse.WearableType,LibreMetaverse.PermissionMask,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<LibreMetaverse.InventoryItem> LibreMetaverse.InventoryManager.CreateItemAsync(LibreMetaverse.UUID parentFolder, System.String name, System.String description, LibreMetaverse.AssetType type, LibreMetaverse.UUID assetTransactionID, LibreMetaverse.InventoryType invType, LibreMetaverse.WearableType wearableType, LibreMetaverse.PermissionMask nextOwnerMask, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,owned,owned,owned,owned,owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub async fn create_item_with_uuid_string_string_asset_type_uuid_inventory_type_wearable_type_permission_mask_cancellation_token(
        &self,
        parent_folder: libremetaverse_types::UUID,
        name: String,
        description: String,
        type_: libremetaverse_types::AssetType,
        asset_transaction_id: libremetaverse_types::UUID,
        inv_type: libremetaverse_types::InventoryType,
        wearable_type: libremetaverse_types::WearableType,
        next_owner_mask: libremetaverse::PermissionMask,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<Option<libremetaverse::InventoryItem>, crate::Error> {
        /* reviewed native compatibility body */
        self.native_create_item(
            parent_folder,
            name,
            description,
            type_,
            asset_transaction_id,
            inv_type,
            wearable_type,
            next_owner_mask,
            cancellation_token,
        )
        .await
    }
    /// C# member: `M:LibreMetaverse.InventoryManager.CreateItemFromAssetAsync(System.Byte[],System.String,System.String,LibreMetaverse.AssetType,LibreMetaverse.InventoryType,LibreMetaverse.UUID,LibreMetaverse.Permissions,System.Threading.CancellationToken,System.IProgress{LibreMetaverse.HttpCapsClient.ProgressReport})`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<LibreMetaverse.InventoryManager.CreateItemFromAssetResult> LibreMetaverse.InventoryManager.CreateItemFromAssetAsync(System.Byte[] data, System.String name, System.String description, LibreMetaverse.AssetType assetType, LibreMetaverse.InventoryType invType, LibreMetaverse.UUID folderID, LibreMetaverse.Permissions permissions, System.Threading.CancellationToken cancellationToken = default, System.IProgress<LibreMetaverse.HttpCapsClient.ProgressReport> progress = default)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,owned,owned,owned,owned,optional_owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn create_item_from_asset(
        &self,
        data: Vec<u8>,
        name: String,
        description: String,
        asset_type: libremetaverse_types::AssetType,
        inv_type: libremetaverse_types::InventoryType,
        folder_id: libremetaverse_types::UUID,
        permissions: libremetaverse::Permissions,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
        progress: Option<
            Box<
                dyn libremetaverse_types::compat::IProgress<
                        libremetaverse::HttpCapsClientProgressReport,
                    >,
            >,
        >,
    ) -> Result<libremetaverse::InventoryManagerCreateItemFromAssetResult, crate::Error> {
        /* reviewed native compatibility body */
        self.native_create_item_from_asset(
            data,
            name,
            description,
            asset_type,
            inv_type,
            folder_id,
            permissions,
            cancellation_token,
            progress,
        )
        .await
    }
    /// C# member: `M:LibreMetaverse.InventoryManager.CreateItemFromAssetVariablePriceAsync(System.Byte[],System.String,System.String,LibreMetaverse.AssetType,LibreMetaverse.InventoryType,LibreMetaverse.UUID,LibreMetaverse.Permissions,System.Func{System.Int32,System.Boolean},System.Threading.CancellationToken,System.IProgress{LibreMetaverse.HttpCapsClient.ProgressReport})`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<LibreMetaverse.InventoryManager.CreateItemFromAssetResult> LibreMetaverse.InventoryManager.CreateItemFromAssetVariablePriceAsync(System.Byte[] data, System.String name, System.String description, LibreMetaverse.AssetType assetType, LibreMetaverse.InventoryType invType, LibreMetaverse.UUID folderID, LibreMetaverse.Permissions permissions, System.Func<System.Int32, System.Boolean> confirmCost = default, System.Threading.CancellationToken cancellationToken = default, System.IProgress<LibreMetaverse.HttpCapsClient.ProgressReport> progress = default)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,owned,owned,owned,owned,optional_owned,optional_owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn create_item_from_asset_variable_price(
        &self,
        data: Vec<u8>,
        name: String,
        description: String,
        asset_type: libremetaverse_types::AssetType,
        inv_type: libremetaverse_types::InventoryType,
        folder_id: libremetaverse_types::UUID,
        permissions: libremetaverse::Permissions,
        confirm_cost: Option<Box<dyn Fn(i32) -> bool + Send + Sync>>,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
        progress: Option<
            Box<
                dyn libremetaverse_types::compat::IProgress<
                        libremetaverse::HttpCapsClientProgressReport,
                    >,
            >,
        >,
    ) -> Result<libremetaverse::InventoryManagerCreateItemFromAssetResult, crate::Error> {
        /* reviewed native compatibility body */
        self.native_create_item_from_asset_variable_price(
            data,
            name,
            description,
            asset_type,
            inv_type,
            folder_id,
            permissions,
            confirm_cost,
            cancellation_token,
            progress,
        )
        .await
    }
    /// C# member: `M:LibreMetaverse.InventoryManager.CreateLinkAsync(LibreMetaverse.UUID,LibreMetaverse.UUID,System.String,System.String,LibreMetaverse.InventoryType,LibreMetaverse.UUID,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<LibreMetaverse.InventoryItem> LibreMetaverse.InventoryManager.CreateLinkAsync(LibreMetaverse.UUID folderID, LibreMetaverse.UUID itemID, System.String name, System.String description, LibreMetaverse.InventoryType invType, LibreMetaverse.UUID transactionID, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,owned,owned,owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn create_link(
        &self,
        folder_id: libremetaverse_types::UUID,
        item_id: libremetaverse_types::UUID,
        name: String,
        description: String,
        inv_type: libremetaverse_types::InventoryType,
        transaction_id: libremetaverse_types::UUID,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<Option<libremetaverse::InventoryItem>, crate::Error> {
        /* reviewed native compatibility body */
        self.native_create_link(
            folder_id,
            item_id,
            name,
            description,
            inv_type,
            transaction_id,
            cancellation_token,
        )
        .await
    }
    /// C# member: `M:LibreMetaverse.InventoryManager.CreateLinksAsync(LibreMetaverse.UUID,System.Collections.Generic.IEnumerable{System.ValueTuple{LibreMetaverse.InventoryBase,System.String}},System.Action{System.Boolean},System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task LibreMetaverse.InventoryManager.CreateLinksAsync(LibreMetaverse.UUID folderID, System.Collections.Generic.IEnumerable<System.ValueTuple<LibreMetaverse.InventoryBase, System.String>> linksToCreate, System.Action<System.Boolean> callback, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,owned,optional_owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn create_links(
        &self,
        folder_id: libremetaverse_types::UUID,
        links_to_create: Box<dyn Iterator<Item = (libremetaverse::InventoryItem, String)>>,
        callback: Option<Box<dyn Fn(bool) + Send + Sync>>,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_create_links(folder_id, links_to_create, callback, cancellation_token)
            .await
    }
    /// C# member: `M:LibreMetaverse.InventoryManager.CreateOrRetrieveInventoryItem(LibreMetaverse.InventoryType,LibreMetaverse.UUID)`.
    ///
    /// C# signature: `LibreMetaverse.InventoryItem LibreMetaverse.InventoryManager.CreateOrRetrieveInventoryItem(LibreMetaverse.InventoryType InvType, LibreMetaverse.UUID ItemID)`.
    /// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn create_or_retrieve_inventory_item(
        &self,
        inv_type: libremetaverse_types::InventoryType,
        item_id: libremetaverse_types::UUID,
    ) -> Result<libremetaverse::InventoryItem, crate::Error> {
        /* reviewed native compatibility body */
        self.native_create_or_retrieve_inventory_item(inv_type, item_id)
    }
    /// C# member: `M:LibreMetaverse.InventoryManager.DecryptShadowID(LibreMetaverse.UUID)`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.InventoryManager.DecryptShadowID(LibreMetaverse.UUID shadowID)`.
    /// Mapping contract: ownership `owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn decrypt_shadow_id(
        shadow_id: libremetaverse_types::UUID,
    ) -> Result<libremetaverse_types::UUID, crate::Error> {
        /* reviewed native compatibility body */
        crate::inventory_manager::InventoryManager::native_decrypt_shadow_id(shadow_id)
    }
    /// C# member: `M:LibreMetaverse.InventoryManager.Dispose`.
    ///
    /// C# signature: `System.Void LibreMetaverse.InventoryManager.Dispose()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn dispose(&self) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_dispose()
    }
    /// C# member: `M:LibreMetaverse.InventoryManager.EmptyFolder(LibreMetaverse.UUID)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.InventoryManager.EmptyFolder(LibreMetaverse.UUID folderID)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn empty_folder(&self, folder_id: libremetaverse_types::UUID) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_empty_folder(folder_id)
    }
    /// C# member: `M:LibreMetaverse.InventoryManager.EmptyLostAndFoundAsync(System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task LibreMetaverse.InventoryManager.EmptyLostAndFoundAsync(System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn empty_lost_and_found(
        &self,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_empty_system_folder(
            libremetaverse_types::FolderType::LostAndFound,
            cancellation_token,
        )
        .await
    }
    /// C# member: `M:LibreMetaverse.InventoryManager.EmptyTrashAsync(System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task LibreMetaverse.InventoryManager.EmptyTrashAsync(System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn empty_trash(
        &self,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_empty_system_folder(libremetaverse_types::FolderType::Trash, cancellation_token)
            .await
    }
    /// C# member: `M:LibreMetaverse.InventoryManager.EncryptAssetID(LibreMetaverse.UUID)`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.InventoryManager.EncryptAssetID(LibreMetaverse.UUID assetID)`.
    /// Mapping contract: ownership `owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn encrypt_asset_id(
        asset_id: libremetaverse_types::UUID,
    ) -> Result<libremetaverse_types::UUID, crate::Error> {
        /* reviewed native compatibility body */
        crate::inventory_manager::InventoryManager::native_encrypt_asset_id(asset_id)
    }
    /// C# member: `M:LibreMetaverse.InventoryManager.FetchItemAsync(LibreMetaverse.UUID,LibreMetaverse.UUID,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<LibreMetaverse.InventoryItem> LibreMetaverse.InventoryManager.FetchItemAsync(LibreMetaverse.UUID itemID, LibreMetaverse.UUID ownerID, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn fetch_item(
        &self,
        item_id: libremetaverse_types::UUID,
        owner_id: libremetaverse_types::UUID,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<Option<libremetaverse::InventoryItem>, crate::Error> {
        /* reviewed native compatibility body */
        self.native_fetch_item(item_id, owner_id, cancellation_token, false)
            .await
    }
    /// C# member: `M:LibreMetaverse.InventoryManager.FetchItemHttpAsync(LibreMetaverse.UUID,LibreMetaverse.UUID,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<LibreMetaverse.InventoryItem> LibreMetaverse.InventoryManager.FetchItemHttpAsync(LibreMetaverse.UUID itemId, LibreMetaverse.UUID ownerId, System.Threading.CancellationToken token = default)`.
    /// Mapping contract: ownership `shared_self,owned,owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn fetch_item_http(
        &self,
        item_id: libremetaverse_types::UUID,
        owner_id: libremetaverse_types::UUID,
        token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<Option<libremetaverse::InventoryItem>, crate::Error> {
        /* reviewed native compatibility body */
        self.native_fetch_item(item_id, owner_id, token, true).await
    }
    /// C# member: `M:LibreMetaverse.InventoryManager.FindFolderForType(LibreMetaverse.AssetType)`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.InventoryManager.FindFolderForType(LibreMetaverse.AssetType type)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub fn find_folder_for_type_with_asset_type(
        &self,
        type_: libremetaverse_types::AssetType,
    ) -> Result<libremetaverse_types::UUID, crate::Error> {
        /* reviewed native compatibility body */
        Ok(self.native_find_folder_for_asset_type(type_))
    }
    /// C# member: `M:LibreMetaverse.InventoryManager.FindFolderForType(LibreMetaverse.FolderType)`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.InventoryManager.FindFolderForType(LibreMetaverse.FolderType type)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub fn find_folder_for_type_with_folder_type(
        &self,
        type_: libremetaverse_types::FolderType,
    ) -> Result<libremetaverse_types::UUID, crate::Error> {
        /* reviewed native compatibility body */
        Ok(self.native_find_folder_for_type(type_))
    }
    /// C# member: `M:LibreMetaverse.InventoryManager.FindObjectByPathAsync(LibreMetaverse.UUID,LibreMetaverse.UUID,System.String,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<LibreMetaverse.UUID> LibreMetaverse.InventoryManager.FindObjectByPathAsync(LibreMetaverse.UUID baseFolder, LibreMetaverse.UUID inventoryOwner, System.String path, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn find_object_by_path(
        &self,
        base_folder: libremetaverse_types::UUID,
        inventory_owner: libremetaverse_types::UUID,
        path: String,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<libremetaverse_types::UUID, crate::Error> {
        /* reviewed native compatibility body */
        self.native_find_object_by_path(base_folder, inventory_owner, path, cancellation_token)
            .await
    }
    /// C# member: `M:LibreMetaverse.InventoryManager.FolderContentsAsync(LibreMetaverse.UUID,LibreMetaverse.UUID,System.Boolean,System.Boolean,LibreMetaverse.InventorySortOrder,System.Threading.CancellationToken,System.Boolean)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<System.Collections.Generic.List<LibreMetaverse.InventoryBase>> LibreMetaverse.InventoryManager.FolderContentsAsync(LibreMetaverse.UUID folder, LibreMetaverse.UUID owner, System.Boolean fetchFolders, System.Boolean fetchItems, LibreMetaverse.InventorySortOrder order, System.Threading.CancellationToken cancellationToken = default, System.Boolean followLinks = default)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,owned,owned,optional_owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn folder_contents(
        &self,
        folder: libremetaverse_types::UUID,
        owner: libremetaverse_types::UUID,
        fetch_folders: bool,
        fetch_items: bool,
        order: libremetaverse::InventorySortOrder,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
        follow_links: Option<bool>,
    ) -> Result<Vec<Box<dyn libremetaverse::InventoryObjectClass>>, crate::Error> {
        /* reviewed native compatibility body */
        self.native_folder_contents(
            folder,
            owner,
            fetch_folders,
            fetch_items,
            order,
            cancellation_token,
            follow_links.unwrap_or(false),
        )
        .await
    }
    /// C# member: `M:LibreMetaverse.InventoryManager.GetInventoryRecursiveAsync(LibreMetaverse.UUID,LibreMetaverse.UUID,System.Collections.Generic.List{LibreMetaverse.InventoryFolder},System.Collections.Generic.List{LibreMetaverse.InventoryItem},System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task LibreMetaverse.InventoryManager.GetInventoryRecursiveAsync(LibreMetaverse.UUID folderID, LibreMetaverse.UUID owner, System.Collections.Generic.List<LibreMetaverse.InventoryFolder> cats, System.Collections.Generic.List<LibreMetaverse.InventoryItem> items, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn get_inventory_recursive(
        &self,
        folder_id: libremetaverse_types::UUID,
        owner: libremetaverse_types::UUID,
        cats: Vec<libremetaverse::InventoryFolder>,
        items: Vec<libremetaverse::InventoryItem>,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_get_inventory_recursive(folder_id, owner, cats, items, cancellation_token)
            .await
    }
    /// C# member: `M:LibreMetaverse.InventoryManager.GetTaskInventoryAsync(LibreMetaverse.UUID,System.UInt32,LibreMetaverse.Simulator,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<System.Collections.Generic.List<LibreMetaverse.InventoryBase>> LibreMetaverse.InventoryManager.GetTaskInventoryAsync(LibreMetaverse.UUID objectID, System.UInt32 objectLocalID, LibreMetaverse.Simulator simulator = default, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,owned,optional_owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn get_task_inventory(
        &self,
        object_id: libremetaverse_types::UUID,
        object_local_id: u32,
        simulator: Option<libremetaverse::Simulator>,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<Vec<Box<dyn libremetaverse::InventoryObjectClass>>, crate::Error> {
        /* reviewed native compatibility body */
        self.native_get_task_inventory(object_id, object_local_id, simulator, cancellation_token)
            .await
    }
    /// C# member: `M:LibreMetaverse.InventoryManager.GiveFolderAsync(LibreMetaverse.UUID,System.String,LibreMetaverse.UUID,System.Boolean,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task LibreMetaverse.InventoryManager.GiveFolderAsync(LibreMetaverse.UUID folderID, System.String folderName, LibreMetaverse.UUID recipient, System.Boolean doEffect, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn give_folder(
        &self,
        folder_id: libremetaverse_types::UUID,
        folder_name: String,
        recipient: libremetaverse_types::UUID,
        do_effect: bool,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_give_folder(
            folder_id,
            folder_name,
            recipient,
            do_effect,
            cancellation_token,
        )
        .await
    }
    /// C# member: `M:LibreMetaverse.InventoryManager.GiveItem(LibreMetaverse.UUID,System.String,LibreMetaverse.AssetType,LibreMetaverse.UUID,System.Boolean)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.InventoryManager.GiveItem(LibreMetaverse.UUID itemID, System.String itemName, LibreMetaverse.AssetType assetType, LibreMetaverse.UUID recipient, System.Boolean doEffect)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn give_item(
        &self,
        item_id: libremetaverse_types::UUID,
        item_name: String,
        asset_type: libremetaverse_types::AssetType,
        recipient: libremetaverse_types::UUID,
        do_effect: bool,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_give_item(item_id, item_name, asset_type, recipient, do_effect)
    }
    /// C# member: `M:LibreMetaverse.InventoryManager.ItemCRC(LibreMetaverse.InventoryItem)`.
    ///
    /// C# signature: `System.UInt32 LibreMetaverse.InventoryManager.ItemCRC(LibreMetaverse.InventoryItem iitem)`.
    /// Mapping contract: ownership `shared_borrow`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn item_crc(iitem: &libremetaverse::InventoryItem) -> Result<u32, crate::Error> {
        /* reviewed native compatibility body */
        crate::inventory_manager::InventoryManager::native_item_crc(&iitem)
    }
    /// C# member: `M:LibreMetaverse.InventoryManager.LocalFind(LibreMetaverse.UUID,System.String[],System.Int32,System.Boolean)`.
    ///
    /// C# signature: `System.Collections.Generic.List<LibreMetaverse.InventoryBase> LibreMetaverse.InventoryManager.LocalFind(LibreMetaverse.UUID baseFolder, System.String[] path, System.Int32 level, System.Boolean firstOnly)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn local_find(
        &self,
        base_folder: libremetaverse_types::UUID,
        path: Vec<String>,
        level: i32,
        first_only: bool,
    ) -> Result<Vec<libremetaverse::InventoryBase>, crate::Error> {
        /* reviewed native compatibility body */
        self.native_local_find(base_folder, path, level, first_only)
    }
    /// C# member: `M:LibreMetaverse.InventoryManager.Move(LibreMetaverse.InventoryBase,LibreMetaverse.InventoryFolder)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.InventoryManager.Move(LibreMetaverse.InventoryBase item, LibreMetaverse.InventoryFolder newParent)`.
    /// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn move_(
        &self,
        item: libremetaverse::InventoryBase,
        new_parent: libremetaverse::InventoryFolder,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_move_object(item, new_parent)
    }
    /// C# member: `M:LibreMetaverse.InventoryManager.MoveFolder(LibreMetaverse.UUID,LibreMetaverse.UUID,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.InventoryManager.MoveFolder(LibreMetaverse.UUID folderID, LibreMetaverse.UUID newParentID, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,owned,optional_owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub fn move_folder_with_uuid_uuid_cancellation_token(
        &self,
        folder_id: libremetaverse_types::UUID,
        new_parent_id: libremetaverse_types::UUID,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_move_folders(
            std::collections::HashMap::from([(folder_id, new_parent_id)]),
            cancellation_token,
        )
    }
    /// C# member: `M:LibreMetaverse.InventoryManager.MoveFolderAsync(LibreMetaverse.UUID,LibreMetaverse.UUID,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task LibreMetaverse.InventoryManager.MoveFolderAsync(LibreMetaverse.UUID folderID, LibreMetaverse.UUID newParentID, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name_with_stable_id`; kind `method`.
    pub async fn move_folder_with_uuid_uuid_cancellation_token_4497f975(
        &self,
        folder_id: libremetaverse_types::UUID,
        new_parent_id: libremetaverse_types::UUID,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_move_folders_async(
            std::collections::HashMap::from([(folder_id, new_parent_id)]),
            cancellation_token,
        )
        .await
    }
    /// C# member: `M:LibreMetaverse.InventoryManager.MoveFolders(System.Collections.Generic.Dictionary{LibreMetaverse.UUID,LibreMetaverse.UUID},System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.InventoryManager.MoveFolders(System.Collections.Generic.Dictionary<LibreMetaverse.UUID, LibreMetaverse.UUID> foldersNewParents, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,optional_owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub fn move_folders_with_dictionary_cancellation_token(
        &self,
        folders_new_parents: std::collections::HashMap<
            libremetaverse_types::UUID,
            libremetaverse_types::UUID,
        >,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_move_folders(folders_new_parents, cancellation_token)
    }
    /// C# member: `M:LibreMetaverse.InventoryManager.MoveFoldersAsync(System.Collections.Generic.Dictionary{LibreMetaverse.UUID,LibreMetaverse.UUID},System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task LibreMetaverse.InventoryManager.MoveFoldersAsync(System.Collections.Generic.Dictionary<LibreMetaverse.UUID, LibreMetaverse.UUID> foldersNewParents, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name_with_stable_id`; kind `method`.
    pub async fn move_folders_with_dictionary_cancellation_token_d81a910e(
        &self,
        folders_new_parents: std::collections::HashMap<
            libremetaverse_types::UUID,
            libremetaverse_types::UUID,
        >,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_move_folders_async(folders_new_parents, cancellation_token)
            .await
    }
    /// C# member: `M:LibreMetaverse.InventoryManager.MoveItem(LibreMetaverse.UUID,LibreMetaverse.UUID,System.String,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.InventoryManager.MoveItem(LibreMetaverse.UUID itemID, LibreMetaverse.UUID folderID, System.String newName, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,optional_owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub fn move_item_with_uuid_uuid_string_cancellation_token(
        &self,
        item_id: libremetaverse_types::UUID,
        folder_id: libremetaverse_types::UUID,
        new_name: String,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_move_items(
            std::collections::HashMap::from([(item_id, (folder_id, new_name))]),
            cancellation_token,
        )
    }
    /// C# member: `M:LibreMetaverse.InventoryManager.MoveItem(LibreMetaverse.UUID,LibreMetaverse.UUID,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.InventoryManager.MoveItem(LibreMetaverse.UUID itemID, LibreMetaverse.UUID folderID, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,owned,optional_owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub fn move_item_with_uuid_uuid_cancellation_token(
        &self,
        item_id: libremetaverse_types::UUID,
        folder_id: libremetaverse_types::UUID,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_move_items(
            std::collections::HashMap::from([(item_id, (folder_id, String::new()))]),
            cancellation_token,
        )
    }
    /// C# member: `M:LibreMetaverse.InventoryManager.MoveItemAsync(LibreMetaverse.UUID,LibreMetaverse.UUID,System.String,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task LibreMetaverse.InventoryManager.MoveItemAsync(LibreMetaverse.UUID itemID, LibreMetaverse.UUID folderID, System.String newName, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name_with_stable_id`; kind `method`.
    pub async fn move_item_with_uuid_uuid_string_cancellation_token_44cd50ce(
        &self,
        item_id: libremetaverse_types::UUID,
        folder_id: libremetaverse_types::UUID,
        new_name: String,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_move_items_async(
            std::collections::HashMap::from([(item_id, (folder_id, new_name))]),
            cancellation_token,
        )
        .await
    }
    /// C# member: `M:LibreMetaverse.InventoryManager.MoveItemAsync(LibreMetaverse.UUID,LibreMetaverse.UUID,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task LibreMetaverse.InventoryManager.MoveItemAsync(LibreMetaverse.UUID itemID, LibreMetaverse.UUID folderID, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name_with_stable_id`; kind `method`.
    pub async fn move_item_with_uuid_uuid_cancellation_token_1cf693fd(
        &self,
        item_id: libremetaverse_types::UUID,
        folder_id: libremetaverse_types::UUID,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_move_items_async(
            std::collections::HashMap::from([(item_id, (folder_id, String::new()))]),
            cancellation_token,
        )
        .await
    }
    /// C# member: `M:LibreMetaverse.InventoryManager.MoveItems(System.Collections.Generic.Dictionary{LibreMetaverse.UUID,LibreMetaverse.UUID},System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.InventoryManager.MoveItems(System.Collections.Generic.Dictionary<LibreMetaverse.UUID, LibreMetaverse.UUID> itemsNewFolders, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,optional_owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub fn move_items_with_dictionary_cancellation_token(
        &self,
        items_new_folders: std::collections::HashMap<
            libremetaverse_types::UUID,
            libremetaverse_types::UUID,
        >,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_move_items(
            items_new_folders
                .into_iter()
                .map(|(item, folder)| (item, (folder, String::new())))
                .collect(),
            cancellation_token,
        )
    }
    /// C# member: `M:LibreMetaverse.InventoryManager.MoveItemsAsync(System.Collections.Generic.Dictionary{LibreMetaverse.UUID,LibreMetaverse.UUID},System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task LibreMetaverse.InventoryManager.MoveItemsAsync(System.Collections.Generic.Dictionary<LibreMetaverse.UUID, LibreMetaverse.UUID> itemsNewFolders, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name_with_stable_id`; kind `method`.
    pub async fn move_items_with_dictionary_cancellation_token_20892793(
        &self,
        items_new_folders: std::collections::HashMap<
            libremetaverse_types::UUID,
            libremetaverse_types::UUID,
        >,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_move_items_async(
            items_new_folders
                .into_iter()
                .map(|(item, folder)| (item, (folder, String::new())))
                .collect(),
            cancellation_token,
        )
        .await
    }
    /// C# member: `M:LibreMetaverse.InventoryManager.MoveTaskInventory(System.UInt32,LibreMetaverse.UUID,LibreMetaverse.UUID,LibreMetaverse.Simulator)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.InventoryManager.MoveTaskInventory(System.UInt32 objectLocalID, LibreMetaverse.UUID taskItemID, LibreMetaverse.UUID inventoryFolderID, LibreMetaverse.Simulator simulator)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn move_task_inventory(
        &self,
        object_local_id: u32,
        task_item_id: libremetaverse_types::UUID,
        inventory_folder_id: libremetaverse_types::UUID,
        simulator: libremetaverse::Simulator,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_move_task_inventory(
            object_local_id,
            task_item_id,
            inventory_folder_id,
            simulator,
        )
    }
    /// C# member: `M:LibreMetaverse.InventoryManager.ParseTaskInventory(System.String)`.
    ///
    /// C# signature: `System.Collections.Generic.List<LibreMetaverse.InventoryBase> LibreMetaverse.InventoryManager.ParseTaskInventory(System.String taskData)`.
    /// Mapping contract: ownership `owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn parse_task_inventory(
        task_data: String,
    ) -> Result<Vec<libremetaverse::InventoryBase>, crate::Error> {
        /* reviewed native compatibility body */
        crate::inventory_manager::InventoryManager::native_parse_task_inventory(task_data)
    }
    /// C# member: `M:LibreMetaverse.InventoryManager.RemoveDescendantsAsync(LibreMetaverse.UUID,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task LibreMetaverse.InventoryManager.RemoveDescendantsAsync(LibreMetaverse.UUID folder, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn remove_descendants(
        &self,
        folder: libremetaverse_types::UUID,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_remove_descendants(folder, cancellation_token)
            .await
    }
    /// C# member: `M:LibreMetaverse.InventoryManager.RemoveFolderAsync(LibreMetaverse.UUID,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task LibreMetaverse.InventoryManager.RemoveFolderAsync(LibreMetaverse.UUID folder, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn remove_folder(
        &self,
        folder: libremetaverse_types::UUID,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_remove_inventory_objects(Vec::new(), vec![folder], cancellation_token)
            .await
    }
    /// C# member: `M:LibreMetaverse.InventoryManager.RemoveItemAsync(LibreMetaverse.UUID,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task LibreMetaverse.InventoryManager.RemoveItemAsync(LibreMetaverse.UUID item, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn remove_item(
        &self,
        item: libremetaverse_types::UUID,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_remove_inventory_objects(vec![item], Vec::new(), cancellation_token)
            .await
    }
    /// C# member: `M:LibreMetaverse.InventoryManager.RemoveItemsAsync(System.Collections.Generic.IEnumerable{LibreMetaverse.UUID},System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task LibreMetaverse.InventoryManager.RemoveItemsAsync(System.Collections.Generic.IEnumerable<LibreMetaverse.UUID> items, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn remove_items(
        &self,
        items: Box<dyn Iterator<Item = libremetaverse_types::UUID>>,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_remove_inventory_objects(items.collect(), Vec::new(), cancellation_token)
            .await
    }
    /// C# member: `M:LibreMetaverse.InventoryManager.RemoveTaskInventory(System.UInt32,LibreMetaverse.UUID,LibreMetaverse.Simulator)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.InventoryManager.RemoveTaskInventory(System.UInt32 objectLocalID, LibreMetaverse.UUID taskItemID, LibreMetaverse.Simulator simulator)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn remove_task_inventory(
        &self,
        object_local_id: u32,
        task_item_id: libremetaverse_types::UUID,
        simulator: libremetaverse::Simulator,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_remove_task_inventory(object_local_id, task_item_id, simulator)
    }
    /// C# member: `M:LibreMetaverse.InventoryManager.RequestCopyItemAsync(LibreMetaverse.UUID,LibreMetaverse.UUID,System.String,LibreMetaverse.UUID,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<LibreMetaverse.InventoryBase> LibreMetaverse.InventoryManager.RequestCopyItemAsync(LibreMetaverse.UUID item, LibreMetaverse.UUID newParent, System.String newName, LibreMetaverse.UUID oldOwnerID, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub async fn request_copy_item_with_uuid_uuid_string_uuid_cancellation_token(
        &self,
        item: libremetaverse_types::UUID,
        new_parent: libremetaverse_types::UUID,
        new_name: String,
        old_owner_id: libremetaverse_types::UUID,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<Option<libremetaverse::InventoryBase>, crate::Error> {
        /* reviewed native compatibility body */
        self.native_copy_item(item, new_parent, new_name, old_owner_id, cancellation_token)
            .await
    }
    /// C# member: `M:LibreMetaverse.InventoryManager.RequestCopyItemAsync(LibreMetaverse.UUID,LibreMetaverse.UUID,System.String,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<LibreMetaverse.InventoryBase> LibreMetaverse.InventoryManager.RequestCopyItemAsync(LibreMetaverse.UUID item, LibreMetaverse.UUID newParent, System.String newName, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub async fn request_copy_item_with_uuid_uuid_string_cancellation_token(
        &self,
        item: libremetaverse_types::UUID,
        new_parent: libremetaverse_types::UUID,
        new_name: String,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<Option<libremetaverse::InventoryBase>, crate::Error> {
        /* reviewed native compatibility body */
        self.native_copy_item_default_owner(item, new_parent, new_name, cancellation_token)
            .await
    }
    /// C# member: `M:LibreMetaverse.InventoryManager.RequestCopyItemFromNotecardAsync(LibreMetaverse.UUID,LibreMetaverse.UUID,LibreMetaverse.UUID,LibreMetaverse.UUID,System.Threading.CancellationToken,System.IProgress{LibreMetaverse.HttpCapsClient.ProgressReport})`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<LibreMetaverse.InventoryBase> LibreMetaverse.InventoryManager.RequestCopyItemFromNotecardAsync(LibreMetaverse.UUID objectID, LibreMetaverse.UUID notecardID, LibreMetaverse.UUID folderID, LibreMetaverse.UUID itemID, System.Threading.CancellationToken cancellationToken = default, System.IProgress<LibreMetaverse.HttpCapsClient.ProgressReport> progress = default)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,owned,optional_owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn request_copy_item_from_notecard(
        &self,
        object_id: libremetaverse_types::UUID,
        notecard_id: libremetaverse_types::UUID,
        folder_id: libremetaverse_types::UUID,
        item_id: libremetaverse_types::UUID,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
        progress: Option<
            Box<
                dyn libremetaverse_types::compat::IProgress<
                        libremetaverse::HttpCapsClientProgressReport,
                    >,
            >,
        >,
    ) -> Result<Option<libremetaverse::InventoryBase>, crate::Error> {
        /* reviewed native compatibility body */
        self.native_copy_item_from_notecard(
            object_id,
            notecard_id,
            folder_id,
            item_id,
            cancellation_token,
            progress,
        )
        .await
    }
    /// C# member: `M:LibreMetaverse.InventoryManager.RequestCopyItemsAsync(System.Collections.Generic.List{LibreMetaverse.UUID},System.Collections.Generic.List{LibreMetaverse.UUID},System.Collections.Generic.List{System.String},LibreMetaverse.UUID,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<LibreMetaverse.InventoryManager.CopyItemsResult> LibreMetaverse.InventoryManager.RequestCopyItemsAsync(System.Collections.Generic.List<LibreMetaverse.UUID> items, System.Collections.Generic.List<LibreMetaverse.UUID> targetFolders, System.Collections.Generic.List<System.String> newNames, LibreMetaverse.UUID oldOwnerID, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn request_copy_items(
        &self,
        items: Vec<libremetaverse_types::UUID>,
        target_folders: Vec<libremetaverse_types::UUID>,
        new_names: Vec<String>,
        old_owner_id: libremetaverse_types::UUID,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<libremetaverse::InventoryManagerCopyItemsResult, crate::Error> {
        /* reviewed native compatibility body */
        self.native_copy_items(
            items,
            target_folders,
            new_names,
            old_owner_id,
            cancellation_token,
        )
        .await
    }
    /// C# member: `M:LibreMetaverse.InventoryManager.RequestCopyItemsWithResultAsync(System.Collections.Generic.List{LibreMetaverse.UUID},System.Collections.Generic.List{LibreMetaverse.UUID},System.Collections.Generic.List{System.String},LibreMetaverse.UUID,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<LibreMetaverse.InventoryManager.CopyItemsResult> LibreMetaverse.InventoryManager.RequestCopyItemsWithResultAsync(System.Collections.Generic.List<LibreMetaverse.UUID> items, System.Collections.Generic.List<LibreMetaverse.UUID> targetFolders, System.Collections.Generic.List<System.String> newNames, LibreMetaverse.UUID oldOwnerID, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn request_copy_items_with_result(
        &self,
        items: Vec<libremetaverse_types::UUID>,
        target_folders: Vec<libremetaverse_types::UUID>,
        new_names: Vec<String>,
        old_owner_id: libremetaverse_types::UUID,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<libremetaverse::InventoryManagerCopyItemsResult, crate::Error> {
        /* reviewed native compatibility body */
        self.native_copy_items(
            items,
            target_folders,
            new_names,
            old_owner_id,
            cancellation_token,
        )
        .await
    }
    /// C# member: `M:LibreMetaverse.InventoryManager.RequestCreateItemFromAssetAsync(System.Byte[],System.String,System.String,LibreMetaverse.AssetType,LibreMetaverse.InventoryType,LibreMetaverse.UUID,LibreMetaverse.Permissions,System.Threading.CancellationToken,System.IProgress{LibreMetaverse.HttpCapsClient.ProgressReport})`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<System.ValueTuple<System.Boolean, System.String, LibreMetaverse.UUID, LibreMetaverse.UUID>> LibreMetaverse.InventoryManager.RequestCreateItemFromAssetAsync(System.Byte[] data, System.String name, System.String description, LibreMetaverse.AssetType assetType, LibreMetaverse.InventoryType invType, LibreMetaverse.UUID folderID, LibreMetaverse.Permissions permissions, System.Threading.CancellationToken cancellationToken = default, System.IProgress<LibreMetaverse.HttpCapsClient.ProgressReport> progress = default)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,owned,owned,owned,owned,optional_owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn request_create_item_from_asset(
        &self,
        data: Vec<u8>,
        name: String,
        description: String,
        asset_type: libremetaverse_types::AssetType,
        inv_type: libremetaverse_types::InventoryType,
        folder_id: libremetaverse_types::UUID,
        permissions: libremetaverse::Permissions,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
        progress: Option<
            Box<
                dyn libremetaverse_types::compat::IProgress<
                        libremetaverse::HttpCapsClientProgressReport,
                    >,
            >,
        >,
    ) -> Result<
        (
            bool,
            String,
            libremetaverse_types::UUID,
            libremetaverse_types::UUID,
        ),
        crate::Error,
    > {
        /* reviewed native compatibility body */
        self.native_request_create_item_from_asset(
            data,
            name,
            description,
            asset_type,
            inv_type,
            folder_id,
            permissions,
            cancellation_token,
            progress,
        )
        .await
    }
    /// C# member: `M:LibreMetaverse.InventoryManager.RequestDeRezToInventory(System.UInt32)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.InventoryManager.RequestDeRezToInventory(System.UInt32 objectLocalID)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub fn request_de_rez_to_inventory_with_u_int32(
        &self,
        object_local_id: u32,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_de_rez_to_objects_folder(object_local_id)
    }
    /// C# member: `M:LibreMetaverse.InventoryManager.RequestDeRezToInventory(System.UInt32,LibreMetaverse.DeRezDestination,LibreMetaverse.UUID,LibreMetaverse.UUID)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.InventoryManager.RequestDeRezToInventory(System.UInt32 objectLocalID, LibreMetaverse.DeRezDestination destType, LibreMetaverse.UUID destFolder, LibreMetaverse.UUID transactionID)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub fn request_de_rez_to_inventory_with_u_int32_de_rez_destination_uuid_uuid(
        &self,
        object_local_id: u32,
        dest_type: libremetaverse::DeRezDestination,
        dest_folder: libremetaverse_types::UUID,
        transaction_id: libremetaverse_types::UUID,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_de_rez_to_inventory(object_local_id, dest_type, dest_folder, transaction_id)
    }
    /// C# member: `M:LibreMetaverse.InventoryManager.RequestFetchInventory(LibreMetaverse.UUID,LibreMetaverse.UUID,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.InventoryManager.RequestFetchInventory(LibreMetaverse.UUID itemID, LibreMetaverse.UUID ownerID, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,owned,optional_owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub fn request_fetch_inventory_with_uuid_uuid_cancellation_token(
        &self,
        item_id: libremetaverse_types::UUID,
        owner_id: libremetaverse_types::UUID,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_request_fetch_inventory(
            std::collections::HashMap::from([(item_id, owner_id)]),
            cancellation_token,
        )
    }
    /// C# member: `M:LibreMetaverse.InventoryManager.RequestFetchInventory(System.Collections.Generic.Dictionary{LibreMetaverse.UUID,LibreMetaverse.UUID},System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.InventoryManager.RequestFetchInventory(System.Collections.Generic.Dictionary<LibreMetaverse.UUID, LibreMetaverse.UUID> items, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,optional_owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub fn request_fetch_inventory_with_dictionary_cancellation_token(
        &self,
        items: std::collections::HashMap<libremetaverse_types::UUID, libremetaverse_types::UUID>,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_request_fetch_inventory(items, cancellation_token)
    }
    /// C# member: `M:LibreMetaverse.InventoryManager.RequestFetchInventoryAsync(LibreMetaverse.UUID,LibreMetaverse.UUID,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task LibreMetaverse.InventoryManager.RequestFetchInventoryAsync(LibreMetaverse.UUID itemID, LibreMetaverse.UUID ownerID, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name_with_stable_id`; kind `method`.
    pub async fn request_fetch_inventory_with_uuid_uuid_cancellation_token_6647b02a(
        &self,
        item_id: libremetaverse_types::UUID,
        owner_id: libremetaverse_types::UUID,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_request_fetch_inventory_async(
            std::collections::HashMap::from([(item_id, owner_id)]),
            cancellation_token,
            None,
        )
        .await
    }
    /// C# member: `M:LibreMetaverse.InventoryManager.RequestFetchInventoryAsync(System.Collections.Generic.Dictionary{LibreMetaverse.UUID,LibreMetaverse.UUID},System.Threading.CancellationToken,System.Action{System.Collections.Generic.List{LibreMetaverse.InventoryItem}})`.
    ///
    /// C# signature: `System.Threading.Tasks.Task LibreMetaverse.InventoryManager.RequestFetchInventoryAsync(System.Collections.Generic.Dictionary<LibreMetaverse.UUID, LibreMetaverse.UUID> items, System.Threading.CancellationToken cancellationToken = default, System.Action<System.Collections.Generic.List<LibreMetaverse.InventoryItem>> callback = default)`.
    /// Mapping contract: ownership `shared_self,owned,optional_owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub async fn request_fetch_inventory_with_dictionary_cancellation_token_action(
        &self,
        items: std::collections::HashMap<libremetaverse_types::UUID, libremetaverse_types::UUID>,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
        callback: Option<Box<dyn Fn(Vec<libremetaverse::InventoryItem>) + Send + Sync>>,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_request_fetch_inventory_async(items, cancellation_token, callback)
            .await
    }
    /// C# member: `M:LibreMetaverse.InventoryManager.RequestFindObjectByPathAsync(LibreMetaverse.UUID,LibreMetaverse.UUID,System.String,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task LibreMetaverse.InventoryManager.RequestFindObjectByPathAsync(LibreMetaverse.UUID baseFolder, LibreMetaverse.UUID inventoryOwner, System.String path, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn request_find_object_by_path(
        &self,
        base_folder: libremetaverse_types::UUID,
        inventory_owner: libremetaverse_types::UUID,
        path: String,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_find_object_by_path(base_folder, inventory_owner, path, cancellation_token)
            .await
            .map(|_| ())
    }
    /// C# member: `M:LibreMetaverse.InventoryManager.RequestFolderContentsAsync(LibreMetaverse.UUID,LibreMetaverse.UUID,System.Boolean,System.Boolean,LibreMetaverse.InventorySortOrder,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<System.Collections.Generic.List<LibreMetaverse.InventoryBase>> LibreMetaverse.InventoryManager.RequestFolderContentsAsync(LibreMetaverse.UUID folderID, LibreMetaverse.UUID ownerID, System.Boolean fetchFolders, System.Boolean fetchItems, LibreMetaverse.InventorySortOrder order, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,owned,owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub async fn request_folder_contents_with_uuid_uuid_boolean_boolean_inventory_sort_order_cancellation_token(
        &self,
        folder_id: libremetaverse_types::UUID,
        owner_id: libremetaverse_types::UUID,
        fetch_folders: bool,
        fetch_items: bool,
        order: libremetaverse::InventorySortOrder,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<Vec<libremetaverse::InventoryBase>, crate::Error> {
        /* reviewed native compatibility body */
        self.native_request_folder_contents(
            folder_id,
            owner_id,
            fetch_folders,
            fetch_items,
            order,
            cancellation_token,
        )
        .await
    }
    /// C# member: `M:LibreMetaverse.InventoryManager.RequestFolderContentsAsync(System.Collections.Generic.List{LibreMetaverse.InventoryFolder},System.Uri,System.Boolean,System.Boolean,LibreMetaverse.InventorySortOrder,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<System.Collections.Generic.List<LibreMetaverse.InventoryBase>> LibreMetaverse.InventoryManager.RequestFolderContentsAsync(System.Collections.Generic.List<LibreMetaverse.InventoryFolder> batch, System.Uri capabilityUri, System.Boolean fetchFolders, System.Boolean fetchItems, LibreMetaverse.InventorySortOrder order, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,owned,owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub async fn request_folder_contents_with_list_uri_boolean_boolean_inventory_sort_order_cancellation_token(
        &self,
        batch: Vec<libremetaverse::InventoryFolder>,
        capability_uri: libremetaverse_types::compat::Uri,
        fetch_folders: bool,
        fetch_items: bool,
        order: libremetaverse::InventorySortOrder,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<Vec<libremetaverse::InventoryBase>, crate::Error> {
        /* reviewed native compatibility body */
        self.native_request_folder_contents_batch(
            batch,
            capability_uri,
            fetch_folders,
            fetch_items,
            order,
            cancellation_token,
        )
        .await
    }
    /// C# member: `M:LibreMetaverse.InventoryManager.RequestFolderUpdateAsync(LibreMetaverse.UUID,LibreMetaverse.UUID,System.Boolean,System.Boolean,LibreMetaverse.InventorySortOrder,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<LibreMetaverse.InventoryManager.FolderUpdateResult> LibreMetaverse.InventoryManager.RequestFolderUpdateAsync(LibreMetaverse.UUID folderID, LibreMetaverse.UUID ownerID, System.Boolean fetchFolders = default, System.Boolean fetchItems = default, LibreMetaverse.InventorySortOrder order = default, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,owned,optional_owned,optional_owned,optional_owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn request_folder_update(
        &self,
        folder_id: libremetaverse_types::UUID,
        owner_id: libremetaverse_types::UUID,
        fetch_folders: Option<bool>,
        fetch_items: Option<bool>,
        order: Option<libremetaverse::InventorySortOrder>,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<libremetaverse::InventoryManagerFolderUpdateResult, crate::Error> {
        /* reviewed native compatibility body */
        self.native_request_folder_update(
            folder_id,
            owner_id,
            fetch_folders.unwrap_or(true),
            fetch_items.unwrap_or(true),
            order.unwrap_or(crate::InventorySortOrder::BY_NAME),
            cancellation_token,
        )
        .await
    }
    /// C# member: `M:LibreMetaverse.InventoryManager.RequestGetScriptRunning(LibreMetaverse.UUID,LibreMetaverse.UUID)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.InventoryManager.RequestGetScriptRunning(LibreMetaverse.UUID objectID, LibreMetaverse.UUID scriptID)`.
    /// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn request_get_script_running(
        &self,
        object_id: libremetaverse_types::UUID,
        script_id: libremetaverse_types::UUID,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_request_get_script_running(object_id, script_id)
    }
    /// C# member: `M:LibreMetaverse.InventoryManager.RequestRestoreRezFromInventory(LibreMetaverse.Simulator,LibreMetaverse.InventoryItem,LibreMetaverse.UUID)`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.InventoryManager.RequestRestoreRezFromInventory(LibreMetaverse.Simulator simulator, LibreMetaverse.InventoryItem item, LibreMetaverse.UUID queryID)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn request_restore_rez_from_inventory(
        &self,
        simulator: libremetaverse::Simulator,
        item: libremetaverse::InventoryItem,
        query_id: libremetaverse_types::UUID,
    ) -> Result<libremetaverse_types::UUID, crate::Error> {
        /* reviewed native compatibility body */
        self.native_restore_rez_from_inventory(simulator, item, query_id)
    }
    /// C# member: `M:LibreMetaverse.InventoryManager.RequestRezFromInventory(LibreMetaverse.Simulator,LibreMetaverse.Quaternion,LibreMetaverse.Vector3,LibreMetaverse.InventoryItem)`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.InventoryManager.RequestRezFromInventory(LibreMetaverse.Simulator simulator, LibreMetaverse.Quaternion rotation, LibreMetaverse.Vector3 position, LibreMetaverse.InventoryItem item)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub fn request_rez_from_inventory_with_simulator_quaternion_vector3_inventory_item(
        &self,
        simulator: libremetaverse::Simulator,
        rotation: libremetaverse_types::Quaternion,
        position: libremetaverse_types::Vector3,
        item: libremetaverse::InventoryItem,
    ) -> Result<libremetaverse_types::UUID, crate::Error> {
        /* reviewed native compatibility body */
        self.native_rez_from_inventory_default(simulator, rotation, position, item, None)
    }
    /// C# member: `M:LibreMetaverse.InventoryManager.RequestRezFromInventory(LibreMetaverse.Simulator,LibreMetaverse.Quaternion,LibreMetaverse.Vector3,LibreMetaverse.InventoryItem,LibreMetaverse.UUID)`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.InventoryManager.RequestRezFromInventory(LibreMetaverse.Simulator simulator, LibreMetaverse.Quaternion rotation, LibreMetaverse.Vector3 position, LibreMetaverse.InventoryItem item, LibreMetaverse.UUID groupOwner)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub fn request_rez_from_inventory_with_simulator_quaternion_vector3_inventory_item_uuid(
        &self,
        simulator: libremetaverse::Simulator,
        rotation: libremetaverse_types::Quaternion,
        position: libremetaverse_types::Vector3,
        item: libremetaverse::InventoryItem,
        group_owner: libremetaverse_types::UUID,
    ) -> Result<libremetaverse_types::UUID, crate::Error> {
        /* reviewed native compatibility body */
        self.native_rez_from_inventory_default(
            simulator,
            rotation,
            position,
            item,
            Some(group_owner),
        )
    }
    /// C# member: `M:LibreMetaverse.InventoryManager.RequestRezFromInventory(LibreMetaverse.Simulator,LibreMetaverse.UUID,LibreMetaverse.Quaternion,LibreMetaverse.Vector3,LibreMetaverse.InventoryItem,LibreMetaverse.UUID,LibreMetaverse.UUID,System.Boolean)`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.InventoryManager.RequestRezFromInventory(LibreMetaverse.Simulator simulator, LibreMetaverse.UUID taskID, LibreMetaverse.Quaternion rotation, LibreMetaverse.Vector3 position, LibreMetaverse.InventoryItem item, LibreMetaverse.UUID groupOwner, LibreMetaverse.UUID queryID, System.Boolean rezSelected)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,owned,owned,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub fn request_rez_from_inventory_with_simulator_uuid_quaternion_vector3_inventory_item_uuid_uuid_boolean(
        &self,
        simulator: libremetaverse::Simulator,
        task_id: libremetaverse_types::UUID,
        rotation: libremetaverse_types::Quaternion,
        position: libremetaverse_types::Vector3,
        item: libremetaverse::InventoryItem,
        group_owner: libremetaverse_types::UUID,
        query_id: libremetaverse_types::UUID,
        rez_selected: bool,
    ) -> Result<libremetaverse_types::UUID, crate::Error> {
        /* reviewed native compatibility body */
        self.native_rez_from_inventory(
            simulator,
            task_id,
            rotation,
            position,
            item,
            group_owner,
            query_id,
            rez_selected,
        )
    }
    /// C# member: `M:LibreMetaverse.InventoryManager.RequestSetScriptRunning(LibreMetaverse.UUID,LibreMetaverse.UUID,System.Boolean)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.InventoryManager.RequestSetScriptRunning(LibreMetaverse.UUID objectID, LibreMetaverse.UUID scriptID, System.Boolean running)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn request_set_script_running(
        &self,
        object_id: libremetaverse_types::UUID,
        script_id: libremetaverse_types::UUID,
        running: bool,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_request_set_script_running(object_id, script_id, running)
    }
    /// C# member: `M:LibreMetaverse.InventoryManager.RequestTaskInventory(System.UInt32)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.InventoryManager.RequestTaskInventory(System.UInt32 objectLocalID)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub fn request_task_inventory_with_u_int32(
        &self,
        object_local_id: u32,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_request_task_inventory(object_local_id, None)
    }
    /// C# member: `M:LibreMetaverse.InventoryManager.RequestTaskInventory(System.UInt32,LibreMetaverse.Simulator)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.InventoryManager.RequestTaskInventory(System.UInt32 objectLocalID, LibreMetaverse.Simulator simulator)`.
    /// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub fn request_task_inventory_with_u_int32_simulator(
        &self,
        object_local_id: u32,
        simulator: Option<libremetaverse::Simulator>,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_request_task_inventory(object_local_id, simulator)
    }
    /// C# member: `M:LibreMetaverse.InventoryManager.RequestUpdateItem(LibreMetaverse.InventoryItem)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.InventoryManager.RequestUpdateItem(LibreMetaverse.InventoryItem item)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn request_update_item(
        &self,
        item: libremetaverse::InventoryItem,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_request_update_items(vec![item], libremetaverse_types::UUID::random()?)
    }
    /// C# member: `M:LibreMetaverse.InventoryManager.RequestUpdateItems(System.Collections.Generic.List{LibreMetaverse.InventoryItem})`.
    ///
    /// C# signature: `System.Void LibreMetaverse.InventoryManager.RequestUpdateItems(System.Collections.Generic.List<LibreMetaverse.InventoryItem> items)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub fn request_update_items_with_list(
        &self,
        items: Vec<libremetaverse::InventoryItem>,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_request_update_items(items, libremetaverse_types::UUID::random()?)
    }
    /// C# member: `M:LibreMetaverse.InventoryManager.RequestUpdateItems(System.Collections.Generic.List{LibreMetaverse.InventoryItem},LibreMetaverse.UUID)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.InventoryManager.RequestUpdateItems(System.Collections.Generic.List<LibreMetaverse.InventoryItem> items, LibreMetaverse.UUID transactionID)`.
    /// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub fn request_update_items_with_list_uuid(
        &self,
        items: Vec<libremetaverse::InventoryItem>,
        transaction_id: libremetaverse_types::UUID,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_request_update_items(items, transaction_id)
    }
    /// C# member: `M:LibreMetaverse.InventoryManager.RequestUpdateMaterialAgentInventoryAsync(LibreMetaverse.Assets.AssetMaterial,LibreMetaverse.UUID,System.Threading.CancellationToken,System.IProgress{LibreMetaverse.HttpCapsClient.ProgressReport})`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<System.ValueTuple<System.Boolean, System.String, LibreMetaverse.UUID, LibreMetaverse.UUID>> LibreMetaverse.InventoryManager.RequestUpdateMaterialAgentInventoryAsync(LibreMetaverse.Assets.AssetMaterial material, LibreMetaverse.UUID materialItemID, System.Threading.CancellationToken cancellationToken = default, System.IProgress<LibreMetaverse.HttpCapsClient.ProgressReport> progress = default)`.
    /// Mapping contract: ownership `shared_self,owned,owned,optional_owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn request_update_material_agent_inventory(
        &self,
        material: libremetaverse::assets::AssetMaterial,
        material_item_id: libremetaverse_types::UUID,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
        progress: Option<
            Box<
                dyn libremetaverse_types::compat::IProgress<
                        libremetaverse::HttpCapsClientProgressReport,
                    >,
            >,
        >,
    ) -> Result<
        (
            bool,
            String,
            libremetaverse_types::UUID,
            libremetaverse_types::UUID,
        ),
        crate::Error,
    > {
        /* reviewed native compatibility body */
        self.native_update_material_inventory(
            material,
            material_item_id,
            None,
            cancellation_token,
            progress,
        )
        .await
    }
    /// C# member: `M:LibreMetaverse.InventoryManager.RequestUpdateMaterialTaskInventoryAsync(LibreMetaverse.Assets.AssetMaterial,LibreMetaverse.UUID,LibreMetaverse.UUID,System.Threading.CancellationToken,System.IProgress{LibreMetaverse.HttpCapsClient.ProgressReport})`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<System.ValueTuple<System.Boolean, System.String, LibreMetaverse.UUID, LibreMetaverse.UUID>> LibreMetaverse.InventoryManager.RequestUpdateMaterialTaskInventoryAsync(LibreMetaverse.Assets.AssetMaterial material, LibreMetaverse.UUID materialItemID, LibreMetaverse.UUID taskID, System.Threading.CancellationToken cancellationToken = default, System.IProgress<LibreMetaverse.HttpCapsClient.ProgressReport> progress = default)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,optional_owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn request_update_material_task_inventory(
        &self,
        material: libremetaverse::assets::AssetMaterial,
        material_item_id: libremetaverse_types::UUID,
        task_id: libremetaverse_types::UUID,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
        progress: Option<
            Box<
                dyn libremetaverse_types::compat::IProgress<
                        libremetaverse::HttpCapsClientProgressReport,
                    >,
            >,
        >,
    ) -> Result<
        (
            bool,
            String,
            libremetaverse_types::UUID,
            libremetaverse_types::UUID,
        ),
        crate::Error,
    > {
        /* reviewed native compatibility body */
        self.native_update_material_inventory(
            material,
            material_item_id,
            Some(task_id),
            cancellation_token,
            progress,
        )
        .await
    }
    /// C# member: `M:LibreMetaverse.InventoryManager.RequestUpdateNotecardTaskAsync(System.Byte[],LibreMetaverse.UUID,LibreMetaverse.UUID,System.Threading.CancellationToken,System.IProgress{LibreMetaverse.HttpCapsClient.ProgressReport})`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<System.ValueTuple<System.Boolean, System.String, LibreMetaverse.UUID, LibreMetaverse.UUID>> LibreMetaverse.InventoryManager.RequestUpdateNotecardTaskAsync(System.Byte[] data, LibreMetaverse.UUID notecardID, LibreMetaverse.UUID taskID, System.Threading.CancellationToken cancellationToken = default, System.IProgress<LibreMetaverse.HttpCapsClient.ProgressReport> progress = default)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,optional_owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn request_update_notecard_task(
        &self,
        data: Vec<u8>,
        notecard_id: libremetaverse_types::UUID,
        task_id: libremetaverse_types::UUID,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
        progress: Option<
            Box<
                dyn libremetaverse_types::compat::IProgress<
                        libremetaverse::HttpCapsClientProgressReport,
                    >,
            >,
        >,
    ) -> Result<
        (
            bool,
            String,
            libremetaverse_types::UUID,
            libremetaverse_types::UUID,
        ),
        crate::Error,
    > {
        /* reviewed native compatibility body */
        self.native_upload_inventory_asset(
            "UpdateNotecardTaskInventory",
            data,
            notecard_id,
            Some(task_id),
            cancellation_token,
            progress,
        )
        .await
    }
    /// C# member: `M:LibreMetaverse.InventoryManager.RequestUpdateScriptAgentInventoryAsync(System.Byte[],LibreMetaverse.UUID,System.Boolean,System.Threading.CancellationToken,System.IProgress{LibreMetaverse.HttpCapsClient.ProgressReport})`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<System.ValueTuple<System.Boolean, System.String, System.Boolean, System.Collections.Generic.List<System.String>, LibreMetaverse.UUID, LibreMetaverse.UUID>> LibreMetaverse.InventoryManager.RequestUpdateScriptAgentInventoryAsync(System.Byte[] data, LibreMetaverse.UUID itemID, System.Boolean mono, System.Threading.CancellationToken cancellationToken = default, System.IProgress<LibreMetaverse.HttpCapsClient.ProgressReport> progress = default)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,optional_owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn request_update_script_agent_inventory(
        &self,
        data: Vec<u8>,
        item_id: libremetaverse_types::UUID,
        mono: bool,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
        progress: Option<
            Box<
                dyn libremetaverse_types::compat::IProgress<
                        libremetaverse::HttpCapsClientProgressReport,
                    >,
            >,
        >,
    ) -> Result<
        (
            bool,
            String,
            bool,
            Option<Vec<String>>,
            libremetaverse_types::UUID,
            libremetaverse_types::UUID,
        ),
        crate::Error,
    > {
        /* reviewed native compatibility body */
        self.native_upload_script(
            "UpdateScriptAgent",
            data,
            item_id,
            None,
            mono,
            None,
            cancellation_token,
            progress,
        )
        .await
    }
    /// C# member: `M:LibreMetaverse.InventoryManager.RequestUpdateScriptTaskAsync(System.Byte[],LibreMetaverse.UUID,LibreMetaverse.UUID,System.Boolean,System.Boolean,System.Threading.CancellationToken,System.IProgress{LibreMetaverse.HttpCapsClient.ProgressReport})`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<System.ValueTuple<System.Boolean, System.String, System.Boolean, System.Collections.Generic.List<System.String>, LibreMetaverse.UUID, LibreMetaverse.UUID>> LibreMetaverse.InventoryManager.RequestUpdateScriptTaskAsync(System.Byte[] data, LibreMetaverse.UUID itemID, LibreMetaverse.UUID taskID, System.Boolean mono, System.Boolean running, System.Threading.CancellationToken cancellationToken = default, System.IProgress<LibreMetaverse.HttpCapsClient.ProgressReport> progress = default)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,owned,owned,optional_owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn request_update_script_task(
        &self,
        data: Vec<u8>,
        item_id: libremetaverse_types::UUID,
        task_id: libremetaverse_types::UUID,
        mono: bool,
        running: bool,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
        progress: Option<
            Box<
                dyn libremetaverse_types::compat::IProgress<
                        libremetaverse::HttpCapsClientProgressReport,
                    >,
            >,
        >,
    ) -> Result<
        (
            bool,
            String,
            bool,
            Option<Vec<String>>,
            libremetaverse_types::UUID,
            libremetaverse_types::UUID,
        ),
        crate::Error,
    > {
        /* reviewed native compatibility body */
        self.native_upload_script(
            "UpdateScriptTask",
            data,
            item_id,
            Some(task_id),
            mono,
            Some(running),
            cancellation_token,
            progress,
        )
        .await
    }
    /// C# member: `M:LibreMetaverse.InventoryManager.RequestUploadGestureAssetAsync(System.Byte[],LibreMetaverse.UUID,System.Threading.CancellationToken,System.IProgress{LibreMetaverse.HttpCapsClient.ProgressReport})`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<System.ValueTuple<System.Boolean, System.String, LibreMetaverse.UUID, LibreMetaverse.UUID>> LibreMetaverse.InventoryManager.RequestUploadGestureAssetAsync(System.Byte[] data, LibreMetaverse.UUID gestureID, System.Threading.CancellationToken cancellationToken = default, System.IProgress<LibreMetaverse.HttpCapsClient.ProgressReport> progress = default)`.
    /// Mapping contract: ownership `shared_self,owned,owned,optional_owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn request_upload_gesture_asset(
        &self,
        data: Vec<u8>,
        gesture_id: libremetaverse_types::UUID,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
        progress: Option<
            Box<
                dyn libremetaverse_types::compat::IProgress<
                        libremetaverse::HttpCapsClientProgressReport,
                    >,
            >,
        >,
    ) -> Result<
        (
            bool,
            String,
            libremetaverse_types::UUID,
            libremetaverse_types::UUID,
        ),
        crate::Error,
    > {
        /* reviewed native compatibility body */
        self.native_upload_inventory_asset(
            "UpdateGestureAgentInventory",
            data,
            gesture_id,
            None,
            cancellation_token,
            progress,
        )
        .await
    }
    /// C# member: `M:LibreMetaverse.InventoryManager.RequestUploadNotecardAssetAsync(System.Byte[],LibreMetaverse.UUID,System.Threading.CancellationToken,System.IProgress{LibreMetaverse.HttpCapsClient.ProgressReport})`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<System.ValueTuple<System.Boolean, System.String, LibreMetaverse.UUID, LibreMetaverse.UUID>> LibreMetaverse.InventoryManager.RequestUploadNotecardAssetAsync(System.Byte[] data, LibreMetaverse.UUID notecardID, System.Threading.CancellationToken cancellationToken = default, System.IProgress<LibreMetaverse.HttpCapsClient.ProgressReport> progress = default)`.
    /// Mapping contract: ownership `shared_self,owned,owned,optional_owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn request_upload_notecard_asset(
        &self,
        data: Vec<u8>,
        notecard_id: libremetaverse_types::UUID,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
        progress: Option<
            Box<
                dyn libremetaverse_types::compat::IProgress<
                        libremetaverse::HttpCapsClientProgressReport,
                    >,
            >,
        >,
    ) -> Result<
        (
            bool,
            String,
            libremetaverse_types::UUID,
            libremetaverse_types::UUID,
        ),
        crate::Error,
    > {
        /* reviewed native compatibility body */
        self.native_upload_inventory_asset(
            "UpdateNotecardAgentInventory",
            data,
            notecard_id,
            None,
            cancellation_token,
            progress,
        )
        .await
    }
    /// C# member: `M:LibreMetaverse.InventoryManager.UpdateFolderProperties(LibreMetaverse.UUID,LibreMetaverse.UUID,System.String,LibreMetaverse.FolderType)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.InventoryManager.UpdateFolderProperties(LibreMetaverse.UUID folderID, LibreMetaverse.UUID parentID, System.String name, LibreMetaverse.FolderType type)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn update_folder_properties(
        &self,
        folder_id: libremetaverse_types::UUID,
        parent_id: libremetaverse_types::UUID,
        name: String,
        type_: libremetaverse_types::FolderType,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_update_folder_properties(folder_id, parent_id, name, type_)
    }
    /// C# member: `M:LibreMetaverse.InventoryManager.UpdateTaskInventory(System.UInt32,LibreMetaverse.InventoryItem,LibreMetaverse.Simulator,System.Boolean)`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.InventoryManager.UpdateTaskInventory(System.UInt32 objectLocalID, LibreMetaverse.InventoryItem item, LibreMetaverse.Simulator simulator = default, System.Boolean only_mod_meta = default)`.
    /// Mapping contract: ownership `shared_self,owned,owned,optional_owned,optional_owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn update_task_inventory(
        &self,
        object_local_id: u32,
        item: libremetaverse::InventoryItem,
        simulator: Option<libremetaverse::Simulator>,
        only_mod_meta: Option<bool>,
    ) -> Result<libremetaverse_types::UUID, crate::Error> {
        /* reviewed native compatibility body */
        self.native_update_task_inventory(
            object_local_id,
            item,
            simulator,
            only_mod_meta.unwrap_or(true),
        )
    }
    /// C# member: `M:LibreMetaverse.InventoryManager.UploadThumbnailAsync(LibreMetaverse.UUID,LibreMetaverse.UUID,System.Byte[],System.Threading.CancellationToken,System.IProgress{LibreMetaverse.HttpCapsClient.ProgressReport})`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<System.Nullable<LibreMetaverse.UUID>> LibreMetaverse.InventoryManager.UploadThumbnailAsync(LibreMetaverse.UUID inventoryID, LibreMetaverse.UUID taskID, System.Byte[] j2cImageData, System.Threading.CancellationToken cancellationToken = default, System.IProgress<LibreMetaverse.HttpCapsClient.ProgressReport> progress = default)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,optional_owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn upload_thumbnail(
        &self,
        inventory_id: libremetaverse_types::UUID,
        task_id: libremetaverse_types::UUID,
        j2c_image_data: Vec<u8>,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
        progress: Option<
            Box<
                dyn libremetaverse_types::compat::IProgress<
                        libremetaverse::HttpCapsClientProgressReport,
                    >,
            >,
        >,
    ) -> Result<Option<Option<libremetaverse_types::UUID>>, crate::Error> {
        /* reviewed native compatibility body */
        self.native_upload_thumbnail(
            inventory_id,
            task_id,
            j2c_image_data,
            cancellation_token,
            progress,
        )
        .await
    }
    /// C# member: `M:LibreMetaverse.InventoryManager.WaitForNextInventoryOfferAsync(System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<LibreMetaverse.InventoryObjectOfferedEventArgs> LibreMetaverse.InventoryManager.WaitForNextInventoryOfferAsync(System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn wait_for_next_inventory_offer(
        &self,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<libremetaverse::InventoryObjectOfferedEventArgs, crate::Error> {
        /* reviewed native compatibility body */
        self.native_wait_for_next_inventory_offer(cancellation_token)
            .await
    }
    /// C# member: `P:LibreMetaverse.InventoryManager.CanUploadLargeTextures`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.InventoryManager.CanUploadLargeTextures`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn can_upload_large_textures(&self) -> bool {
        /* reviewed native compatibility body */
        self.native_can_upload_large_textures()
    }
    /// C# member: `P:LibreMetaverse.InventoryManager.NoResults`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<System.Collections.Generic.List<LibreMetaverse.InventoryBase>> LibreMetaverse.InventoryManager.NoResults`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn no_results() -> libremetaverse_types::compat::Task<Vec<libremetaverse::InventoryBase>> {
        /* reviewed native compatibility body */
        crate::inventory_manager::InventoryManager::native_no_results()
    }
    /// C# member: `P:LibreMetaverse.InventoryManager.Store`.
    ///
    /// C# signature: `LibreMetaverse.Inventory LibreMetaverse.InventoryManager.Store`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn store(&self) -> Option<libremetaverse::Inventory> {
        /* reviewed native compatibility body */
        self.native_store()
    }
}

/// C# type: `T:LibreMetaverse.InventoryManager.CopyItemsResult`.
///
/// Native Rust mapping of C# `LibreMetaverse.InventoryManager.CopyItemsResult` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.InventoryManager.CopyItemsResult.#ctor`.
///
/// C# signature: `LibreMetaverse.InventoryManager.CopyItemsResult()`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.InventoryManager.CopyItemsResult.CopiedItems`.
///
/// C# signature: `System.Collections.Generic.List<LibreMetaverse.InventoryBase> LibreMetaverse.InventoryManager.CopyItemsResult.CopiedItems`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.InventoryManager.CopyItemsResult.Error`.
///
/// C# signature: `System.Exception LibreMetaverse.InventoryManager.CopyItemsResult.Error`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.InventoryManager.CopyItemsResult.Success`.
///
/// C# signature: `System.Boolean LibreMetaverse.InventoryManager.CopyItemsResult.Success`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::inventory_manager::InventoryManagerCopyItemsResult;

/// C# type: `T:LibreMetaverse.InventoryManager.CreateItemFromAssetResult`.
///
/// Native Rust mapping of C# `LibreMetaverse.InventoryManager.CreateItemFromAssetResult` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
pub struct InventoryManagerCreateItemFromAssetResult {
    property_0: libremetaverse_types::UUID,
    property_1: Option<libremetaverse_types::compat::ExternalError>,
    property_2: libremetaverse_types::UUID,
    property_3: Option<libremetaverse_structured_data::OSD>,
    property_4: Option<String>,
    property_5: bool,
}
impl Default for InventoryManagerCreateItemFromAssetResult {
    fn default() -> Self {
        /* complete generated data model */
        Self {
            property_0: Default::default(),
            property_1: Default::default(),
            property_2: Default::default(),
            property_3: Default::default(),
            property_4: Default::default(),
            property_5: Default::default(),
        }
    }
}
impl InventoryManagerCreateItemFromAssetResult {
    /// C# member: `M:LibreMetaverse.InventoryManager.CreateItemFromAssetResult.#ctor`.
    ///
    /// C# signature: `LibreMetaverse.InventoryManager.CreateItemFromAssetResult()`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn new() -> Result<Self, crate::Error> {
        Ok(/* complete generated data model */ Self::default())
    }
    /// C# member: `P:LibreMetaverse.InventoryManager.CreateItemFromAssetResult.AssetID`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.InventoryManager.CreateItemFromAssetResult.AssetID`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn asset_id(&self) -> libremetaverse_types::UUID {
        /* complete generated data model */
        self.property_0.clone()
    }
    /// Setter for C# member: `P:LibreMetaverse.InventoryManager.CreateItemFromAssetResult.AssetID`.
    pub fn set_asset_id(&mut self, value: libremetaverse_types::UUID) {
        /* complete generated data model */
        self.property_0 = value
    }
    /// C# member: `P:LibreMetaverse.InventoryManager.CreateItemFromAssetResult.Error`.
    ///
    /// C# signature: `System.Exception LibreMetaverse.InventoryManager.CreateItemFromAssetResult.Error`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn error(&self) -> Option<libremetaverse_types::compat::ExternalError> {
        /* complete generated data model */
        self.property_1.clone()
    }
    /// Setter for C# member: `P:LibreMetaverse.InventoryManager.CreateItemFromAssetResult.Error`.
    pub fn set_error(&mut self, value: Option<libremetaverse_types::compat::ExternalError>) {
        /* complete generated data model */
        self.property_1 = value
    }
    /// C# member: `P:LibreMetaverse.InventoryManager.CreateItemFromAssetResult.ItemID`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.InventoryManager.CreateItemFromAssetResult.ItemID`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn item_id(&self) -> libremetaverse_types::UUID {
        /* complete generated data model */
        self.property_2.clone()
    }
    /// Setter for C# member: `P:LibreMetaverse.InventoryManager.CreateItemFromAssetResult.ItemID`.
    pub fn set_item_id(&mut self, value: libremetaverse_types::UUID) {
        /* complete generated data model */
        self.property_2 = value
    }
    /// C# member: `P:LibreMetaverse.InventoryManager.CreateItemFromAssetResult.RawResult`.
    ///
    /// C# signature: `LibreMetaverse.StructuredData.OSD LibreMetaverse.InventoryManager.CreateItemFromAssetResult.RawResult`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn raw_result(&self) -> Option<libremetaverse_structured_data::OSD> {
        /* complete generated data model */
        self.property_3.clone()
    }
    /// Setter for C# member: `P:LibreMetaverse.InventoryManager.CreateItemFromAssetResult.RawResult`.
    pub fn set_raw_result(&mut self, value: Option<libremetaverse_structured_data::OSD>) {
        /* complete generated data model */
        self.property_3 = value
    }
    /// C# member: `P:LibreMetaverse.InventoryManager.CreateItemFromAssetResult.Status`.
    ///
    /// C# signature: `System.String LibreMetaverse.InventoryManager.CreateItemFromAssetResult.Status`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn status(&self) -> Option<String> {
        /* complete generated data model */
        self.property_4.clone()
    }
    /// Setter for C# member: `P:LibreMetaverse.InventoryManager.CreateItemFromAssetResult.Status`.
    pub fn set_status(&mut self, value: Option<String>) {
        /* complete generated data model */
        self.property_4 = value
    }
    /// C# member: `P:LibreMetaverse.InventoryManager.CreateItemFromAssetResult.Success`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.InventoryManager.CreateItemFromAssetResult.Success`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn success(&self) -> bool {
        /* complete generated data model */
        self.property_5.clone()
    }
    /// Setter for C# member: `P:LibreMetaverse.InventoryManager.CreateItemFromAssetResult.Success`.
    pub fn set_success(&mut self, value: bool) {
        /* complete generated data model */
        self.property_5 = value
    }
}

/// C# type: `T:LibreMetaverse.InventoryManager.FolderUpdateResult`.
///
/// Native Rust mapping of C# `LibreMetaverse.InventoryManager.FolderUpdateResult` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.InventoryManager.FolderUpdateResult.#ctor`.
///
/// C# signature: `LibreMetaverse.InventoryManager.FolderUpdateResult()`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.InventoryManager.FolderUpdateResult.Contents`.
///
/// C# signature: `System.Collections.Generic.List<LibreMetaverse.InventoryBase> LibreMetaverse.InventoryManager.FolderUpdateResult.Contents`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.InventoryManager.FolderUpdateResult.FolderID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.InventoryManager.FolderUpdateResult.FolderID`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.InventoryManager.FolderUpdateResult.Success`.
///
/// C# signature: `System.Boolean LibreMetaverse.InventoryManager.FolderUpdateResult.Success`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::inventory_manager::InventoryManagerFolderUpdateResult;

/// C# type: `T:LibreMetaverse.InventoryMaterial`.
///
/// Native Rust mapping of C# `LibreMetaverse.InventoryMaterial` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.InventoryMaterial.#ctor(LibreMetaverse.UUID)`.
///
/// C# signature: `LibreMetaverse.InventoryMaterial(LibreMetaverse.UUID UUID)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
pub use crate::inventory::InventoryMaterial;

/// C# type: `T:LibreMetaverse.InventoryNode`.
///
/// Native Rust mapping of C# `LibreMetaverse.InventoryNode` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.InventoryNode.#ctor`.
///
/// C# signature: `LibreMetaverse.InventoryNode()`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.InventoryNode.#ctor(LibreMetaverse.InventoryBase)`.
///
/// C# signature: `LibreMetaverse.InventoryNode(LibreMetaverse.InventoryBase data)`.
/// Mapping contract: ownership `shared_borrow`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.InventoryNode.#ctor(LibreMetaverse.InventoryBase,LibreMetaverse.InventoryNode)`.
///
/// C# signature: `LibreMetaverse.InventoryNode(LibreMetaverse.InventoryBase data, LibreMetaverse.InventoryNode parent)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.InventoryNode.ToString`.
///
/// C# signature: `System.String LibreMetaverse.InventoryNode.ToString()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.InventoryNode.Data`.
///
/// C# signature: `LibreMetaverse.InventoryBase LibreMetaverse.InventoryNode.Data`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.InventoryNode.ModifyTime`.
///
/// C# signature: `System.DateTime LibreMetaverse.InventoryNode.ModifyTime`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.InventoryNode.NeedsUpdate`.
///
/// C# signature: `System.Boolean LibreMetaverse.InventoryNode.NeedsUpdate`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.InventoryNode.Nodes`.
///
/// C# signature: `LibreMetaverse.InventoryNodeDictionary LibreMetaverse.InventoryNode.Nodes`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.InventoryNode.Parent`.
///
/// C# signature: `LibreMetaverse.InventoryNode LibreMetaverse.InventoryNode.Parent`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::inventory::InventoryNode;

/// C# type: `T:LibreMetaverse.InventoryNodeDictionary`.
///
/// Native Rust mapping of C# `LibreMetaverse.InventoryNodeDictionary` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.InventoryNodeDictionary.#ctor(LibreMetaverse.InventoryNode)`.
///
/// C# signature: `LibreMetaverse.InventoryNodeDictionary(LibreMetaverse.InventoryNode parent)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.InventoryNodeDictionary.Add(LibreMetaverse.UUID,LibreMetaverse.InventoryNode)`.
///
/// C# signature: `System.Void LibreMetaverse.InventoryNodeDictionary.Add(LibreMetaverse.UUID key, LibreMetaverse.InventoryNode value)`.
/// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.InventoryNodeDictionary.Contains(LibreMetaverse.UUID)`.
///
/// C# signature: `System.Boolean LibreMetaverse.InventoryNodeDictionary.Contains(LibreMetaverse.UUID key)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.InventoryNodeDictionary.Remove(LibreMetaverse.UUID)`.
///
/// C# signature: `System.Void LibreMetaverse.InventoryNodeDictionary.Remove(LibreMetaverse.UUID key)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.InventoryNodeDictionary.Count`.
///
/// C# signature: `System.Int32 LibreMetaverse.InventoryNodeDictionary.Count`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.InventoryNodeDictionary.Item(LibreMetaverse.UUID)`.
///
/// C# signature: `LibreMetaverse.InventoryNode LibreMetaverse.InventoryNodeDictionary.Item`.
/// Mapping contract: ownership `shared_or_mutable_self,owned`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.InventoryNodeDictionary.Keys`.
///
/// C# signature: `System.Collections.Generic.ICollection<LibreMetaverse.UUID> LibreMetaverse.InventoryNodeDictionary.Keys`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.InventoryNodeDictionary.Parent`.
///
/// C# signature: `LibreMetaverse.InventoryNode LibreMetaverse.InventoryNodeDictionary.Parent`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.InventoryNodeDictionary.SyncRoot`.
///
/// C# signature: `System.Object LibreMetaverse.InventoryNodeDictionary.SyncRoot`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.InventoryNodeDictionary.Values`.
///
/// C# signature: `System.Collections.Generic.ICollection<LibreMetaverse.InventoryNode> LibreMetaverse.InventoryNodeDictionary.Values`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::inventory::InventoryNodeDictionary;

/// C# type: `T:LibreMetaverse.InventoryNotecard`.
///
/// Native Rust mapping of C# `LibreMetaverse.InventoryNotecard` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.InventoryNotecard.#ctor(LibreMetaverse.UUID)`.
///
/// C# signature: `LibreMetaverse.InventoryNotecard(LibreMetaverse.UUID UUID)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
pub use crate::inventory::InventoryNotecard;

/// C# type: `T:LibreMetaverse.InventoryObject`.
///
/// Native Rust mapping of C# `LibreMetaverse.InventoryObject` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.InventoryObject.#ctor(LibreMetaverse.UUID)`.
///
/// C# signature: `LibreMetaverse.InventoryObject(LibreMetaverse.UUID UUID)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.InventoryObject.AttachPoint`.
///
/// C# signature: `LibreMetaverse.AttachmentPoint LibreMetaverse.InventoryObject.AttachPoint`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.InventoryObject.ItemFlags`.
///
/// C# signature: `LibreMetaverse.InventoryItemFlags LibreMetaverse.InventoryObject.ItemFlags`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::inventory::InventoryObject;

/// C# type: `T:LibreMetaverse.InventoryObjectAddedEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.InventoryObjectAddedEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.InventoryObjectAddedEventArgs.#ctor(LibreMetaverse.InventoryBase)`.
///
/// C# signature: `LibreMetaverse.InventoryObjectAddedEventArgs(LibreMetaverse.InventoryBase obj)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.InventoryObjectAddedEventArgs.Obj`.
///
/// C# signature: `LibreMetaverse.InventoryBase LibreMetaverse.InventoryObjectAddedEventArgs.Obj`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::inventory::InventoryObjectAddedEventArgs;

/// C# type: `T:LibreMetaverse.InventoryObjectOfferedEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.InventoryObjectOfferedEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.InventoryObjectOfferedEventArgs.#ctor(LibreMetaverse.InstantMessage,LibreMetaverse.AssetType,LibreMetaverse.UUID,System.Boolean,LibreMetaverse.UUID)`.
///
/// C# signature: `LibreMetaverse.InventoryObjectOfferedEventArgs(LibreMetaverse.InstantMessage offerDetails, LibreMetaverse.AssetType type, LibreMetaverse.UUID objectID, System.Boolean fromTask, LibreMetaverse.UUID folderID)`.
/// Mapping contract: ownership `owned,owned,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.InventoryObjectOfferedEventArgs.Accept`.
///
/// C# signature: `System.Boolean LibreMetaverse.InventoryObjectOfferedEventArgs.Accept`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.InventoryObjectOfferedEventArgs.AssetType`.
///
/// C# signature: `LibreMetaverse.AssetType LibreMetaverse.InventoryObjectOfferedEventArgs.AssetType`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.InventoryObjectOfferedEventArgs.FolderID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.InventoryObjectOfferedEventArgs.FolderID`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.InventoryObjectOfferedEventArgs.FromTask`.
///
/// C# signature: `System.Boolean LibreMetaverse.InventoryObjectOfferedEventArgs.FromTask`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.InventoryObjectOfferedEventArgs.ObjectID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.InventoryObjectOfferedEventArgs.ObjectID`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.InventoryObjectOfferedEventArgs.Offer`.
///
/// C# signature: `LibreMetaverse.InstantMessage LibreMetaverse.InventoryObjectOfferedEventArgs.Offer`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::inventory_manager::InventoryObjectOfferedEventArgs;

/// C# type: `T:LibreMetaverse.InventoryObjectRemovedEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.InventoryObjectRemovedEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.InventoryObjectRemovedEventArgs.#ctor(LibreMetaverse.InventoryBase)`.
///
/// C# signature: `LibreMetaverse.InventoryObjectRemovedEventArgs(LibreMetaverse.InventoryBase obj)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.InventoryObjectRemovedEventArgs.Obj`.
///
/// C# signature: `LibreMetaverse.InventoryBase LibreMetaverse.InventoryObjectRemovedEventArgs.Obj`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::inventory::InventoryObjectRemovedEventArgs;

/// C# type: `T:LibreMetaverse.InventoryObjectUpdatedEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.InventoryObjectUpdatedEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.InventoryObjectUpdatedEventArgs.#ctor(LibreMetaverse.InventoryBase,LibreMetaverse.InventoryBase)`.
///
/// C# signature: `LibreMetaverse.InventoryObjectUpdatedEventArgs(LibreMetaverse.InventoryBase oldObject, LibreMetaverse.InventoryBase newObject)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.InventoryObjectUpdatedEventArgs.NewObject`.
///
/// C# signature: `LibreMetaverse.InventoryBase LibreMetaverse.InventoryObjectUpdatedEventArgs.NewObject`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.InventoryObjectUpdatedEventArgs.OldObject`.
///
/// C# signature: `LibreMetaverse.InventoryBase LibreMetaverse.InventoryObjectUpdatedEventArgs.OldObject`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::inventory::InventoryObjectUpdatedEventArgs;

/// C# type: `T:LibreMetaverse.InventorySettings`.
///
/// Native Rust mapping of C# `LibreMetaverse.InventorySettings` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.InventorySettings.#ctor(LibreMetaverse.UUID)`.
///
/// C# signature: `LibreMetaverse.InventorySettings(LibreMetaverse.UUID UUID)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
pub use crate::inventory::InventorySettings;

/// C# type: `T:LibreMetaverse.InventorySnapshot`.
///
/// Native Rust mapping of C# `LibreMetaverse.InventorySnapshot` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.InventorySnapshot.#ctor(LibreMetaverse.UUID)`.
///
/// C# signature: `LibreMetaverse.InventorySnapshot(LibreMetaverse.UUID UUID)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
pub use crate::inventory::InventorySnapshot;

/// C# type: `T:LibreMetaverse.InventorySortOrder`.
///
/// Native Rust mapping of C# `LibreMetaverse.InventorySortOrder` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(transparent)]
pub struct InventorySortOrder(pub i32);
impl InventorySortOrder {
    /// C# member: `F:LibreMetaverse.InventorySortOrder.ByDate`.
    ///
    /// C# signature: `LibreMetaverse.InventorySortOrder LibreMetaverse.InventorySortOrder.ByDate`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const BY_DATE: Self = Self(1);
    /// C# member: `F:LibreMetaverse.InventorySortOrder.ByName`.
    ///
    /// C# signature: `LibreMetaverse.InventorySortOrder LibreMetaverse.InventorySortOrder.ByName`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const BY_NAME: Self = Self(0);
    /// C# member: `F:LibreMetaverse.InventorySortOrder.FoldersByName`.
    ///
    /// C# signature: `LibreMetaverse.InventorySortOrder LibreMetaverse.InventorySortOrder.FoldersByName`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const FOLDERS_BY_NAME: Self = Self(2);
    /// C# member: `F:LibreMetaverse.InventorySortOrder.SystemFoldersToTop`.
    ///
    /// C# signature: `LibreMetaverse.InventorySortOrder LibreMetaverse.InventorySortOrder.SystemFoldersToTop`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const SYSTEM_FOLDERS_TO_TOP: Self = Self(4);
}

/// C# type: `T:LibreMetaverse.InventorySound`.
///
/// Native Rust mapping of C# `LibreMetaverse.InventorySound` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.InventorySound.#ctor(LibreMetaverse.UUID)`.
///
/// C# signature: `LibreMetaverse.InventorySound(LibreMetaverse.UUID UUID)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
pub use crate::inventory::InventorySound;

/// C# type: `T:LibreMetaverse.InventoryTexture`.
///
/// Native Rust mapping of C# `LibreMetaverse.InventoryTexture` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.InventoryTexture.#ctor(LibreMetaverse.UUID)`.
///
/// C# signature: `LibreMetaverse.InventoryTexture(LibreMetaverse.UUID UUID)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
pub use crate::inventory::InventoryTexture;

/// C# type: `T:LibreMetaverse.InventoryWearable`.
///
/// Native Rust mapping of C# `LibreMetaverse.InventoryWearable` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.InventoryWearable.#ctor(LibreMetaverse.UUID)`.
///
/// C# signature: `LibreMetaverse.InventoryWearable(LibreMetaverse.UUID UUID)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.InventoryWearable.WearableType`.
///
/// C# signature: `LibreMetaverse.WearableType LibreMetaverse.InventoryWearable.WearableType`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::inventory::InventoryWearable;

/// C# type: `T:LibreMetaverse.ItemReceivedEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.ItemReceivedEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.ItemReceivedEventArgs.#ctor(LibreMetaverse.InventoryItem)`.
///
/// C# signature: `LibreMetaverse.ItemReceivedEventArgs(LibreMetaverse.InventoryItem item)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.ItemReceivedEventArgs.Item`.
///
/// C# signature: `LibreMetaverse.InventoryItem LibreMetaverse.ItemReceivedEventArgs.Item`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::inventory_manager::ItemReceivedEventArgs;

/// C# type: `T:LibreMetaverse.KillObjectEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.KillObjectEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.KillObjectEventArgs.#ctor(LibreMetaverse.Simulator,System.UInt32)`.
///
/// C# signature: `LibreMetaverse.KillObjectEventArgs(LibreMetaverse.Simulator simulator, System.UInt32 objectID)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.KillObjectEventArgs.ObjectLocalID`.
///
/// C# signature: `System.UInt32 LibreMetaverse.KillObjectEventArgs.ObjectLocalID`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.KillObjectEventArgs.Simulator`.
///
/// C# signature: `LibreMetaverse.Simulator LibreMetaverse.KillObjectEventArgs.Simulator`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::object_manager::KillObjectEventArgs;

/// C# type: `T:LibreMetaverse.KillObjectsEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.KillObjectsEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.KillObjectsEventArgs.#ctor(LibreMetaverse.Simulator,System.UInt32[])`.
///
/// C# signature: `LibreMetaverse.KillObjectsEventArgs(LibreMetaverse.Simulator simulator, System.UInt32[] objectIDs)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.KillObjectsEventArgs.ObjectLocalIDs`.
///
/// C# signature: `System.UInt32[] LibreMetaverse.KillObjectsEventArgs.ObjectLocalIDs`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.KillObjectsEventArgs.Simulator`.
///
/// C# signature: `LibreMetaverse.Simulator LibreMetaverse.KillObjectsEventArgs.Simulator`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::object_manager::KillObjectsEventArgs;

/// C# type: `T:LibreMetaverse.LandPatchReceivedEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.LandPatchReceivedEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.LandPatchReceivedEventArgs.#ctor(LibreMetaverse.Simulator,System.Int32,System.Int32,System.Int32,System.Single[])`.
///
/// C# signature: `LibreMetaverse.LandPatchReceivedEventArgs(LibreMetaverse.Simulator simulator, System.Int32 x, System.Int32 y, System.Int32 patchSize, System.Single[] heightMap)`.
/// Mapping contract: ownership `owned,owned,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.LandPatchReceivedEventArgs.HeightMap`.
///
/// C# signature: `System.Single[] LibreMetaverse.LandPatchReceivedEventArgs.HeightMap`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.LandPatchReceivedEventArgs.PatchSize`.
///
/// C# signature: `System.Int32 LibreMetaverse.LandPatchReceivedEventArgs.PatchSize`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.LandPatchReceivedEventArgs.Simulator`.
///
/// C# signature: `LibreMetaverse.Simulator LibreMetaverse.LandPatchReceivedEventArgs.Simulator`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.LandPatchReceivedEventArgs.X`.
///
/// C# signature: `System.Int32 LibreMetaverse.LandPatchReceivedEventArgs.X`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.LandPatchReceivedEventArgs.Y`.
///
/// C# signature: `System.Int32 LibreMetaverse.LandPatchReceivedEventArgs.Y`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::terrain_manager::LandPatchReceivedEventArgs;

/// C# type: `T:LibreMetaverse.LandingType`.
///
/// Native Rust mapping of C# `LibreMetaverse.LandingType` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(u8)]
pub enum LandingType {
    /// C# member: `F:LibreMetaverse.LandingType.Direct`.
    ///
    /// C# signature: `LibreMetaverse.LandingType LibreMetaverse.LandingType.Direct`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Direct = 2,
    /// C# member: `F:LibreMetaverse.LandingType.LandingPoint`.
    ///
    /// C# signature: `LibreMetaverse.LandingType LibreMetaverse.LandingType.LandingPoint`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    LandingPoint = 1,
    /// C# member: `F:LibreMetaverse.LandingType.None`.
    ///
    /// C# signature: `LibreMetaverse.LandingType LibreMetaverse.LandingType.None`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    None = 0,
}

/// C# type: `T:LibreMetaverse.LastExecStatus`.
///
/// Native Rust mapping of C# `LibreMetaverse.LastExecStatus` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(i32)]
pub enum LastExecStatus {
    /// C# member: `F:LibreMetaverse.LastExecStatus.ForcedCrash`.
    ///
    /// C# signature: `LibreMetaverse.LastExecStatus LibreMetaverse.LastExecStatus.ForcedCrash`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    ForcedCrash = 2,
    /// C# member: `F:LibreMetaverse.LastExecStatus.Froze`.
    ///
    /// C# signature: `LibreMetaverse.LastExecStatus LibreMetaverse.LastExecStatus.Froze`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Froze = 1,
    /// C# member: `F:LibreMetaverse.LastExecStatus.LogoutCrash`.
    ///
    /// C# signature: `LibreMetaverse.LastExecStatus LibreMetaverse.LastExecStatus.LogoutCrash`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    LogoutCrash = 5,
    /// C# member: `F:LibreMetaverse.LastExecStatus.LogoutFroze`.
    ///
    /// C# signature: `LibreMetaverse.LastExecStatus LibreMetaverse.LastExecStatus.LogoutFroze`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    LogoutFroze = 4,
    /// C# member: `F:LibreMetaverse.LastExecStatus.Normal`.
    ///
    /// C# signature: `LibreMetaverse.LastExecStatus LibreMetaverse.LastExecStatus.Normal`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Normal = 0,
    /// C# member: `F:LibreMetaverse.LastExecStatus.OtherCrash`.
    ///
    /// C# signature: `LibreMetaverse.LastExecStatus LibreMetaverse.LastExecStatus.OtherCrash`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    OtherCrash = 3,
}

/// C# type: `T:LibreMetaverse.LegacyEnvironmentEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.LegacyEnvironmentEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.LegacyEnvironmentEventArgs.#ctor(LibreMetaverse.Messages.Linden.LegacyEnvironmentMessage)`.
///
/// C# signature: `LibreMetaverse.LegacyEnvironmentEventArgs(LibreMetaverse.Messages.Linden.LegacyEnvironmentMessage environment)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.LegacyEnvironmentEventArgs.Environment`.
///
/// C# signature: `LibreMetaverse.Messages.Linden.LegacyEnvironmentMessage LibreMetaverse.LegacyEnvironmentEventArgs.Environment`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::environment_manager::LegacyEnvironmentEventArgs;

/// C# type: `T:LibreMetaverse.LindenAttentions`.
///
/// Native Rust mapping of C# `LibreMetaverse.LindenAttentions` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `F:LibreMetaverse.LindenAttentions.Default`.
///
/// C# signature: `LibreMetaverse.AttentionSet[] LibreMetaverse.LindenAttentions.Default`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
/// C# member: `F:LibreMetaverse.LindenAttentions.Updated`.
///
/// C# signature: `LibreMetaverse.AttentionSet[] LibreMetaverse.LindenAttentions.Updated`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
/// C# member: `P:LibreMetaverse.LindenAttentions.DefaultFeminine`.
///
/// C# signature: `LibreMetaverse.AttentionSet& LibreMetaverse.LindenAttentions.DefaultFeminine`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.LindenAttentions.DefaultMasculine`.
///
/// C# signature: `LibreMetaverse.AttentionSet& LibreMetaverse.LindenAttentions.DefaultMasculine`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.LindenAttentions.UpdatedFeminine`.
///
/// C# signature: `LibreMetaverse.AttentionSet& LibreMetaverse.LindenAttentions.UpdatedFeminine`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.LindenAttentions.UpdatedMasculine`.
///
/// C# signature: `LibreMetaverse.AttentionSet& LibreMetaverse.LindenAttentions.UpdatedMasculine`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::attention_catalog::LindenAttentions;

/// C# type: `T:LibreMetaverse.LiveParticle`.
///
/// Native Rust mapping of C# `LibreMetaverse.LiveParticle` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct LiveParticle {
    /// C# member: `F:LibreMetaverse.LiveParticle.Age`.
    ///
    /// C# signature: `System.Single LibreMetaverse.LiveParticle.Age`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub age: f32,
    /// C# member: `F:LibreMetaverse.LiveParticle.Color`.
    ///
    /// C# signature: `LibreMetaverse.Color4 LibreMetaverse.LiveParticle.Color`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub color: libremetaverse_types::Color4,
    /// C# member: `F:LibreMetaverse.LiveParticle.Glow`.
    ///
    /// C# signature: `System.Single LibreMetaverse.LiveParticle.Glow`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub glow: f32,
    /// C# member: `F:LibreMetaverse.LiveParticle.NormalizedAge`.
    ///
    /// C# signature: `System.Single LibreMetaverse.LiveParticle.NormalizedAge`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub normalized_age: f32,
    /// C# member: `F:LibreMetaverse.LiveParticle.Position`.
    ///
    /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.LiveParticle.Position`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub position: libremetaverse_types::Vector3,
    /// C# member: `F:LibreMetaverse.LiveParticle.ScaleX`.
    ///
    /// C# signature: `System.Single LibreMetaverse.LiveParticle.ScaleX`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub scale_x: f32,
    /// C# member: `F:LibreMetaverse.LiveParticle.ScaleY`.
    ///
    /// C# signature: `System.Single LibreMetaverse.LiveParticle.ScaleY`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub scale_y: f32,
    /// C# member: `F:LibreMetaverse.LiveParticle.Velocity`.
    ///
    /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.LiveParticle.Velocity`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub velocity: libremetaverse_types::Vector3,
}
impl LiveParticle {}

/// C# type: `T:LibreMetaverse.LoadUrlEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.LoadUrlEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone)]
pub struct LoadUrlEventArgs {
    property_0: String,
    property_1: libremetaverse_types::UUID,
    property_2: String,
    property_3: libremetaverse_types::UUID,
    property_4: bool,
    property_5: String,
}
impl LoadUrlEventArgs {
    /// C# member: `M:LibreMetaverse.LoadUrlEventArgs.#ctor(System.String,LibreMetaverse.UUID,LibreMetaverse.UUID,System.Boolean,System.String,System.String)`.
    ///
    /// C# signature: `LibreMetaverse.LoadUrlEventArgs(System.String objectName, LibreMetaverse.UUID objectID, LibreMetaverse.UUID ownerID, System.Boolean ownerIsGroup, System.String message, System.String url)`.
    /// Mapping contract: ownership `owned,owned,owned,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn new(
        object_name: String,
        object_id: libremetaverse_types::UUID,
        owner_id: libremetaverse_types::UUID,
        owner_is_group: bool,
        message: String,
        url: String,
    ) -> Result<Self, crate::Error> {
        /* complete generated data model */
        Ok(Self {
            property_0: message,
            property_1: object_id,
            property_2: object_name,
            property_3: owner_id,
            property_4: owner_is_group,
            property_5: url,
        })
    }
    /// C# member: `P:LibreMetaverse.LoadUrlEventArgs.Message`.
    ///
    /// C# signature: `System.String LibreMetaverse.LoadUrlEventArgs.Message`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn message(&self) -> String {
        /* complete generated data model */
        self.property_0.clone()
    }
    /// C# member: `P:LibreMetaverse.LoadUrlEventArgs.ObjectID`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.LoadUrlEventArgs.ObjectID`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn object_id(&self) -> libremetaverse_types::UUID {
        /* complete generated data model */
        self.property_1.clone()
    }
    /// C# member: `P:LibreMetaverse.LoadUrlEventArgs.ObjectName`.
    ///
    /// C# signature: `System.String LibreMetaverse.LoadUrlEventArgs.ObjectName`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn object_name(&self) -> String {
        /* complete generated data model */
        self.property_2.clone()
    }
    /// C# member: `P:LibreMetaverse.LoadUrlEventArgs.OwnerID`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.LoadUrlEventArgs.OwnerID`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn owner_id(&self) -> libremetaverse_types::UUID {
        /* complete generated data model */
        self.property_3.clone()
    }
    /// C# member: `P:LibreMetaverse.LoadUrlEventArgs.OwnerIsGroup`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.LoadUrlEventArgs.OwnerIsGroup`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn owner_is_group(&self) -> bool {
        /* complete generated data model */
        self.property_4.clone()
    }
    /// C# member: `P:LibreMetaverse.LoadUrlEventArgs.URL`.
    ///
    /// C# signature: `System.String LibreMetaverse.LoadUrlEventArgs.URL`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn url(&self) -> String {
        /* complete generated data model */
        self.property_5.clone()
    }
}

/// C# type: `T:LibreMetaverse.LoggedOutEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.LoggedOutEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `F:LibreMetaverse.LoggedOutEventArgs.InventoryItems`.
///
/// C# signature: `System.Collections.Generic.List<LibreMetaverse.UUID> LibreMetaverse.LoggedOutEventArgs.InventoryItems`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `M:LibreMetaverse.LoggedOutEventArgs.#ctor(System.Collections.Generic.List{LibreMetaverse.UUID})`.
///
/// C# signature: `LibreMetaverse.LoggedOutEventArgs(System.Collections.Generic.List<LibreMetaverse.UUID> inventoryItems)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
pub use crate::network_manager::LoggedOutEventArgs;

/// C# type: `T:LibreMetaverse.Logger`.
///
/// Native Rust mapping of C# `LibreMetaverse.Logger` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `E:LibreMetaverse.Logger.OnLogMessage`.
///
/// C# signature: `LibreMetaverse.Logger.LogCallback LibreMetaverse.Logger.OnLogMessage`.
/// Mapping contract: ownership `stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `M:LibreMetaverse.Logger.BeginClientScope(LibreMetaverse.GridClient)`.
///
/// C# signature: `System.IDisposable LibreMetaverse.Logger.BeginClientScope(LibreMetaverse.GridClient client)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Logger.BeginRegionScope(LibreMetaverse.Simulator)`.
///
/// C# signature: `System.IDisposable LibreMetaverse.Logger.BeginRegionScope(LibreMetaverse.Simulator simulator)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Logger.BeginScope(System.Object)`.
///
/// C# signature: `System.IDisposable LibreMetaverse.Logger.BeginScope(System.Object state)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Logger.CreateDefaultConsoleLoggerFactory`.
///
/// C# signature: `Microsoft.Extensions.Logging.ILoggerFactory LibreMetaverse.Logger.CreateDefaultConsoleLoggerFactory()`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Logger.Critical(System.Object,LibreMetaverse.GridClient)`.
///
/// C# signature: `System.Void LibreMetaverse.Logger.Critical(System.Object message, LibreMetaverse.GridClient client = default)`.
/// Mapping contract: ownership `owned,optional_owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Logger.Critical(System.Object,System.Exception,LibreMetaverse.GridClient)`.
///
/// C# signature: `System.Void LibreMetaverse.Logger.Critical(System.Object message, System.Exception exception, LibreMetaverse.GridClient client = default)`.
/// Mapping contract: ownership `owned,owned,optional_owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Logger.Critical(System.Object,System.Exception,System.String)`.
///
/// C# signature: `System.Void LibreMetaverse.Logger.Critical(System.Object message, System.Exception exception, System.String clientName)`.
/// Mapping contract: ownership `owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Logger.Critical(System.Object,System.String)`.
///
/// C# signature: `System.Void LibreMetaverse.Logger.Critical(System.Object message, System.String clientName)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Logger.Debug(System.Object,LibreMetaverse.GridClient)`.
///
/// C# signature: `System.Void LibreMetaverse.Logger.Debug(System.Object message, LibreMetaverse.GridClient client = default)`.
/// Mapping contract: ownership `owned,optional_owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Logger.Debug(System.Object,System.Exception,LibreMetaverse.GridClient)`.
///
/// C# signature: `System.Void LibreMetaverse.Logger.Debug(System.Object message, System.Exception exception, LibreMetaverse.GridClient client = default)`.
/// Mapping contract: ownership `owned,owned,optional_owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Logger.Debug(System.Object,System.Exception,System.String)`.
///
/// C# signature: `System.Void LibreMetaverse.Logger.Debug(System.Object message, System.Exception exception, System.String clientName)`.
/// Mapping contract: ownership `owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Logger.Debug(System.Object,System.String)`.
///
/// C# signature: `System.Void LibreMetaverse.Logger.Debug(System.Object message, System.String clientName)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Logger.DebugLog(System.Object,LibreMetaverse.GridClient)`.
///
/// C# signature: `System.Void LibreMetaverse.Logger.DebugLog(System.Object message, LibreMetaverse.GridClient client = default)`.
/// Mapping contract: ownership `owned,optional_owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Logger.Error(System.Object,LibreMetaverse.GridClient)`.
///
/// C# signature: `System.Void LibreMetaverse.Logger.Error(System.Object message, LibreMetaverse.GridClient client = default)`.
/// Mapping contract: ownership `owned,optional_owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Logger.Error(System.Object,System.Exception,LibreMetaverse.GridClient)`.
///
/// C# signature: `System.Void LibreMetaverse.Logger.Error(System.Object message, System.Exception exception, LibreMetaverse.GridClient client = default)`.
/// Mapping contract: ownership `owned,owned,optional_owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Logger.Error(System.Object,System.Exception,System.String)`.
///
/// C# signature: `System.Void LibreMetaverse.Logger.Error(System.Object message, System.Exception exception, System.String clientName)`.
/// Mapping contract: ownership `owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Logger.Error(System.Object,System.String)`.
///
/// C# signature: `System.Void LibreMetaverse.Logger.Error(System.Object message, System.String clientName)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Logger.Info(System.Object,LibreMetaverse.GridClient)`.
///
/// C# signature: `System.Void LibreMetaverse.Logger.Info(System.Object message, LibreMetaverse.GridClient client = default)`.
/// Mapping contract: ownership `owned,optional_owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Logger.Info(System.Object,System.Exception,LibreMetaverse.GridClient)`.
///
/// C# signature: `System.Void LibreMetaverse.Logger.Info(System.Object message, System.Exception exception, LibreMetaverse.GridClient client = default)`.
/// Mapping contract: ownership `owned,owned,optional_owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Logger.Info(System.Object,System.Exception,System.String)`.
///
/// C# signature: `System.Void LibreMetaverse.Logger.Info(System.Object message, System.Exception exception, System.String clientName)`.
/// Mapping contract: ownership `owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Logger.Info(System.Object,System.String)`.
///
/// C# signature: `System.Void LibreMetaverse.Logger.Info(System.Object message, System.String clientName)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Logger.IsEnabled(Microsoft.Extensions.Logging.LogLevel)`.
///
/// C# signature: `System.Boolean LibreMetaverse.Logger.IsEnabled(Microsoft.Extensions.Logging.LogLevel level)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Logger.Log(System.Object,Microsoft.Extensions.Logging.LogLevel,LibreMetaverse.GridClient)`.
///
/// C# signature: `System.Void LibreMetaverse.Logger.Log(System.Object message, Microsoft.Extensions.Logging.LogLevel level, LibreMetaverse.GridClient client = default)`.
/// Mapping contract: ownership `owned,owned,optional_owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Logger.Log(System.Object,Microsoft.Extensions.Logging.LogLevel,LibreMetaverse.GridClient,System.Exception)`.
///
/// C# signature: `System.Void LibreMetaverse.Logger.Log(System.Object message, Microsoft.Extensions.Logging.LogLevel level, LibreMetaverse.GridClient client, System.Exception exception)`.
/// Mapping contract: ownership `owned,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Logger.Log(System.Object,Microsoft.Extensions.Logging.LogLevel,System.Exception)`.
///
/// C# signature: `System.Void LibreMetaverse.Logger.Log(System.Object message, Microsoft.Extensions.Logging.LogLevel level, System.Exception exception)`.
/// Mapping contract: ownership `owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Logger.SetLoggerFactory(Microsoft.Extensions.Logging.ILoggerFactory,System.String)`.
///
/// C# signature: `System.Void LibreMetaverse.Logger.SetLoggerFactory(Microsoft.Extensions.Logging.ILoggerFactory factory, System.String name)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Logger.Shutdown`.
///
/// C# signature: `System.Void LibreMetaverse.Logger.Shutdown()`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Logger.ShutdownAsync(System.Nullable{System.TimeSpan},System.Threading.CancellationToken)`.
///
/// C# signature: `System.Threading.Tasks.Task<System.Boolean> LibreMetaverse.Logger.ShutdownAsync(System.Nullable<System.TimeSpan> timeout = default, System.Threading.CancellationToken cancellationToken = default)`.
/// Mapping contract: ownership `optional_owned,optional_owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Logger.Trace(System.Object,LibreMetaverse.GridClient)`.
///
/// C# signature: `System.Void LibreMetaverse.Logger.Trace(System.Object message, LibreMetaverse.GridClient client = default)`.
/// Mapping contract: ownership `owned,optional_owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Logger.Trace(System.Object,System.Exception,LibreMetaverse.GridClient)`.
///
/// C# signature: `System.Void LibreMetaverse.Logger.Trace(System.Object message, System.Exception exception, LibreMetaverse.GridClient client = default)`.
/// Mapping contract: ownership `owned,owned,optional_owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Logger.Trace(System.Object,System.Exception,System.String)`.
///
/// C# signature: `System.Void LibreMetaverse.Logger.Trace(System.Object message, System.Exception exception, System.String clientName)`.
/// Mapping contract: ownership `owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Logger.Trace(System.Object,System.String)`.
///
/// C# signature: `System.Void LibreMetaverse.Logger.Trace(System.Object message, System.String clientName)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Logger.UseClientScopeAsync(LibreMetaverse.GridClient,System.Func{System.Threading.Tasks.Task})`.
///
/// C# signature: `System.Threading.Tasks.Task LibreMetaverse.Logger.UseClientScopeAsync(LibreMetaverse.GridClient client, System.Func<System.Threading.Tasks.Task> action)`.
/// Mapping contract: ownership `owned,owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Logger.UseRegionScopeAsync(LibreMetaverse.Simulator,System.Func{System.Threading.Tasks.Task})`.
///
/// C# signature: `System.Threading.Tasks.Task LibreMetaverse.Logger.UseRegionScopeAsync(LibreMetaverse.Simulator simulator, System.Func<System.Threading.Tasks.Task> action)`.
/// Mapping contract: ownership `owned,owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Logger.UseScopeAsync(System.Object,System.Func{System.Threading.Tasks.Task})`.
///
/// C# signature: `System.Threading.Tasks.Task LibreMetaverse.Logger.UseScopeAsync(System.Object state, System.Func<System.Threading.Tasks.Task> action)`.
/// Mapping contract: ownership `owned,owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Logger.Warn(System.Object,LibreMetaverse.GridClient)`.
///
/// C# signature: `System.Void LibreMetaverse.Logger.Warn(System.Object message, LibreMetaverse.GridClient client = default)`.
/// Mapping contract: ownership `owned,optional_owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Logger.Warn(System.Object,System.Exception,LibreMetaverse.GridClient)`.
///
/// C# signature: `System.Void LibreMetaverse.Logger.Warn(System.Object message, System.Exception exception, LibreMetaverse.GridClient client = default)`.
/// Mapping contract: ownership `owned,owned,optional_owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Logger.Warn(System.Object,System.Exception,System.String)`.
///
/// C# signature: `System.Void LibreMetaverse.Logger.Warn(System.Object message, System.Exception exception, System.String clientName)`.
/// Mapping contract: ownership `owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Logger.Warn(System.Object,System.String)`.
///
/// C# signature: `System.Void LibreMetaverse.Logger.Warn(System.Object message, System.String clientName)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
pub use crate::logger::Logger;

/// C# type: `T:LibreMetaverse.Logger.LogCallback`.
///
/// Native Rust mapping of C# `LibreMetaverse.Logger.LogCallback` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.Logger.LogCallback.#ctor(System.Object,System.IntPtr)`.
///
/// C# signature: `LibreMetaverse.Logger.LogCallback(System.Object object, System.IntPtr method)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Logger.LogCallback.BeginInvoke(System.Object,Microsoft.Extensions.Logging.LogLevel,System.AsyncCallback,System.Object)`.
///
/// C# signature: `System.IAsyncResult LibreMetaverse.Logger.LogCallback.BeginInvoke(System.Object message, Microsoft.Extensions.Logging.LogLevel level, System.AsyncCallback callback, System.Object object)`.
/// Mapping contract: ownership `shared_self,owned,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `native_callback_replaces_delegate_apm`.
/// C# member: `M:LibreMetaverse.Logger.LogCallback.EndInvoke(System.IAsyncResult)`.
///
/// C# signature: `System.Void LibreMetaverse.Logger.LogCallback.EndInvoke(System.IAsyncResult result)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `native_callback_replaces_delegate_apm`.
/// C# member: `M:LibreMetaverse.Logger.LogCallback.Invoke(System.Object,Microsoft.Extensions.Logging.LogLevel)`.
///
/// C# signature: `System.Void LibreMetaverse.Logger.LogCallback.Invoke(System.Object message, Microsoft.Extensions.Logging.LogLevel level)`.
/// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
pub use crate::logger::LoggerLogCallback;

/// C# type: `T:LibreMetaverse.LoggingSettings`.
///
/// Native Rust mapping of C# `LibreMetaverse.LoggingSettings` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct LoggingSettings {
    /// C# member: `F:LibreMetaverse.LoggingSettings.LogDiskCache`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.LoggingSettings.LogDiskCache`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub log_disk_cache: bool,
    /// C# member: `F:LibreMetaverse.LoggingSettings.LogNames`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.LoggingSettings.LogNames`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub log_names: bool,
    /// C# member: `F:LibreMetaverse.LoggingSettings.LogResends`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.LoggingSettings.LogResends`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub log_resends: bool,
}
impl LoggingSettings {
    /// C# member: `M:LibreMetaverse.LoggingSettings.#ctor`.
    ///
    /// C# signature: `LibreMetaverse.LoggingSettings()`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn new() -> Result<Self, crate::Error> {
        /* native client-core implementation */
        Ok(crate::client_core::logging_settings_defaults())
    }
}

/// C# type: `T:LibreMetaverse.LoginCredential`.
///
/// Native Rust mapping of C# `LibreMetaverse.LoginCredential` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.LoginCredential.#ctor(System.String,System.String,System.String)`.
///
/// C# signature: `LibreMetaverse.LoginCredential(System.String first, System.String last, System.String passwd)`.
/// Mapping contract: ownership `owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.LoginCredential.#ctor(System.String,System.String,System.String,System.String,System.String)`.
///
/// C# signature: `LibreMetaverse.LoginCredential(System.String first, System.String last, System.String passwd, System.String token, System.String mfaHash)`.
/// Mapping contract: ownership `owned,owned,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `P:LibreMetaverse.LoginCredential.FirstName`.
///
/// C# signature: `System.String LibreMetaverse.LoginCredential.FirstName`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.LoginCredential.LastName`.
///
/// C# signature: `System.String LibreMetaverse.LoginCredential.LastName`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.LoginCredential.MfaHash`.
///
/// C# signature: `System.String LibreMetaverse.LoginCredential.MfaHash`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.LoginCredential.Password`.
///
/// C# signature: `System.String LibreMetaverse.LoginCredential.Password`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.LoginCredential.Token`.
///
/// C# signature: `System.String LibreMetaverse.LoginCredential.Token`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::login::LoginCredential;

/// C# type: `T:LibreMetaverse.LoginException`.
///
/// Native Rust mapping of C# `LibreMetaverse.LoginException` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.LoginException.#ctor(System.String)`.
///
/// C# signature: `LibreMetaverse.LoginException(System.String message)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.LoginException.#ctor(System.String,System.Exception)`.
///
/// C# signature: `LibreMetaverse.LoginException(System.String message, System.Exception innerException)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
pub use crate::login::LoginException;

/// C# type: `T:LibreMetaverse.LoginParams`.
///
/// Native Rust mapping of C# `LibreMetaverse.LoginParams` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `F:LibreMetaverse.LoginParams.AgreeToTos`.
///
/// C# signature: `System.Boolean LibreMetaverse.LoginParams.AgreeToTos`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.LoginParams.Author`.
///
/// C# signature: `System.String LibreMetaverse.LoginParams.Author`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.LoginParams.Channel`.
///
/// C# signature: `System.String LibreMetaverse.LoginParams.Channel`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.LoginParams.FirstName`.
///
/// C# signature: `System.String LibreMetaverse.LoginParams.FirstName`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.LoginParams.ID0`.
///
/// C# signature: `System.String LibreMetaverse.LoginParams.ID0`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.LoginParams.LastExecEvent`.
///
/// C# signature: `LibreMetaverse.LastExecStatus LibreMetaverse.LoginParams.LastExecEvent`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.LoginParams.LastName`.
///
/// C# signature: `System.String LibreMetaverse.LoginParams.LastName`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.LoginParams.LoginLocation`.
///
/// C# signature: `System.String LibreMetaverse.LoginParams.LoginLocation`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.LoginParams.MAC`.
///
/// C# signature: `System.String LibreMetaverse.LoginParams.MAC`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.LoginParams.MethodName`.
///
/// C# signature: `System.String LibreMetaverse.LoginParams.MethodName`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.LoginParams.MfaEnabled`.
///
/// C# signature: `System.Boolean LibreMetaverse.LoginParams.MfaEnabled`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.LoginParams.MfaHash`.
///
/// C# signature: `System.String LibreMetaverse.LoginParams.MfaHash`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.LoginParams.Options`.
///
/// C# signature: `System.Collections.Generic.List<System.String> LibreMetaverse.LoginParams.Options`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.LoginParams.Password`.
///
/// C# signature: `System.String LibreMetaverse.LoginParams.Password`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.LoginParams.Platform`.
///
/// C# signature: `System.String LibreMetaverse.LoginParams.Platform`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.LoginParams.PlatformVersion`.
///
/// C# signature: `System.String LibreMetaverse.LoginParams.PlatformVersion`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.LoginParams.ReadCritical`.
///
/// C# signature: `System.Boolean LibreMetaverse.LoginParams.ReadCritical`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.LoginParams.Start`.
///
/// C# signature: `System.String LibreMetaverse.LoginParams.Start`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.LoginParams.Timeout`.
///
/// C# signature: `System.Int32 LibreMetaverse.LoginParams.Timeout`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.LoginParams.Token`.
///
/// C# signature: `System.String LibreMetaverse.LoginParams.Token`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.LoginParams.URI`.
///
/// C# signature: `System.String LibreMetaverse.LoginParams.URI`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.LoginParams.UserAgent`.
///
/// C# signature: `System.String LibreMetaverse.LoginParams.UserAgent`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.LoginParams.Version`.
///
/// C# signature: `System.String LibreMetaverse.LoginParams.Version`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.LoginParams.ViewerDigest`.
///
/// C# signature: `System.String LibreMetaverse.LoginParams.ViewerDigest`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `M:LibreMetaverse.LoginParams.#ctor`.
///
/// C# signature: `LibreMetaverse.LoginParams()`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.LoginParams.#ctor(LibreMetaverse.GridClient,LibreMetaverse.LoginCredential,System.String,System.String)`.
///
/// C# signature: `LibreMetaverse.LoginParams(LibreMetaverse.GridClient client, LibreMetaverse.LoginCredential credential, System.String channel, System.String version)`.
/// Mapping contract: ownership `owned,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.LoginParams.#ctor(LibreMetaverse.GridClient,LibreMetaverse.LoginCredential,System.String,System.String,System.String)`.
///
/// C# signature: `LibreMetaverse.LoginParams(LibreMetaverse.GridClient client, LibreMetaverse.LoginCredential credential, System.String channel, System.String version, System.String loginUri)`.
/// Mapping contract: ownership `owned,owned,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.LoginParams.#ctor(LibreMetaverse.GridClient,System.String,System.String,System.String,System.String,System.String)`.
///
/// C# signature: `LibreMetaverse.LoginParams(LibreMetaverse.GridClient client, System.String firstName, System.String lastName, System.String password, System.String channel, System.String version)`.
/// Mapping contract: ownership `owned,owned,owned,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.LoginParams.#ctor(LibreMetaverse.GridClient,System.String,System.String,System.String,System.String,System.String,System.String)`.
///
/// C# signature: `LibreMetaverse.LoginParams(LibreMetaverse.GridClient client, System.String firstName, System.String lastName, System.String password, System.String channel, System.String version, System.String loginURI)`.
/// Mapping contract: ownership `owned,owned,owned,owned,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
pub use crate::login::LoginParams;

/// C# type: `T:LibreMetaverse.LoginProgressEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.LoginProgressEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.LoginProgressEventArgs.#ctor(LibreMetaverse.LoginStatus,System.String,System.String)`.
///
/// C# signature: `LibreMetaverse.LoginProgressEventArgs(LibreMetaverse.LoginStatus login, System.String message, System.String failReason)`.
/// Mapping contract: ownership `owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.LoginProgressEventArgs.FailReason`.
///
/// C# signature: `System.String LibreMetaverse.LoginProgressEventArgs.FailReason`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.LoginProgressEventArgs.Message`.
///
/// C# signature: `System.String LibreMetaverse.LoginProgressEventArgs.Message`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.LoginProgressEventArgs.Status`.
///
/// C# signature: `LibreMetaverse.LoginStatus LibreMetaverse.LoginProgressEventArgs.Status`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::login::LoginProgressEventArgs;

/// C# type: `T:LibreMetaverse.LoginResponseData`.
///
/// Native Rust mapping of C# `LibreMetaverse.LoginResponseData` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.LoginResponseData.#ctor`.
///
/// C# signature: `LibreMetaverse.LoginResponseData()`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.LoginResponseData.Parse(LibreMetaverse.StructuredData.OSDMap)`.
///
/// C# signature: `LibreMetaverse.LoginResponseData.ParseResult LibreMetaverse.LoginResponseData.Parse(LibreMetaverse.StructuredData.OSDMap reply)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.LoginResponseData.Parse(System.Collections.Hashtable)`.
///
/// C# signature: `LibreMetaverse.LoginResponseData.ParseResult LibreMetaverse.LoginResponseData.Parse(System.Collections.Hashtable reply)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.LoginResponseData.ParseInventoryFolders(System.String,LibreMetaverse.UUID,LibreMetaverse.StructuredData.OSDMap)`.
///
/// C# signature: `LibreMetaverse.InventoryFolder[] LibreMetaverse.LoginResponseData.ParseInventoryFolders(System.String key, LibreMetaverse.UUID owner, LibreMetaverse.StructuredData.OSDMap reply)`.
/// Mapping contract: ownership `owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.LoginResponseData.ParseInventorySkeleton(System.String,LibreMetaverse.StructuredData.OSDMap)`.
///
/// C# signature: `LibreMetaverse.InventoryFolder[] LibreMetaverse.LoginResponseData.ParseInventorySkeleton(System.String key, LibreMetaverse.StructuredData.OSDMap reply)`.
/// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.LoginResponseData.ParseInventorySkeleton(System.String,System.Collections.Hashtable)`.
///
/// C# signature: `LibreMetaverse.InventoryFolder[] LibreMetaverse.LoginResponseData.ParseInventorySkeleton(System.String key, System.Collections.Hashtable reply)`.
/// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.LoginResponseData.ParseMappedUUID(System.String,System.String,LibreMetaverse.StructuredData.OSDMap)`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.LoginResponseData.ParseMappedUUID(System.String key, System.String key2, LibreMetaverse.StructuredData.OSDMap reply)`.
/// Mapping contract: ownership `owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.LoginResponseData.ParseMappedUUID(System.String,System.String,System.Collections.Hashtable)`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.LoginResponseData.ParseMappedUUID(System.String key, System.String key2, System.Collections.Hashtable reply)`.
/// Mapping contract: ownership `owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.LoginResponseData.ParseString(System.String,LibreMetaverse.StructuredData.OSDMap)`.
///
/// C# signature: `System.String LibreMetaverse.LoginResponseData.ParseString(System.String key, LibreMetaverse.StructuredData.OSDMap reply)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.LoginResponseData.ParseString(System.String,System.Collections.Hashtable)`.
///
/// C# signature: `System.String LibreMetaverse.LoginResponseData.ParseString(System.String key, System.Collections.Hashtable reply)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.LoginResponseData.ParseUInt(System.String,LibreMetaverse.StructuredData.OSDMap)`.
///
/// C# signature: `System.UInt32 LibreMetaverse.LoginResponseData.ParseUInt(System.String key, LibreMetaverse.StructuredData.OSDMap reply)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.LoginResponseData.ParseUInt(System.String,System.Collections.Hashtable)`.
///
/// C# signature: `System.UInt32 LibreMetaverse.LoginResponseData.ParseUInt(System.String key, System.Collections.Hashtable reply)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.LoginResponseData.ParseUUID(System.String,LibreMetaverse.StructuredData.OSDMap)`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.LoginResponseData.ParseUUID(System.String key, LibreMetaverse.StructuredData.OSDMap reply)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.LoginResponseData.ParseUUID(System.String,System.Collections.Hashtable)`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.LoginResponseData.ParseUUID(System.String key, System.Collections.Hashtable reply)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.LoginResponseData.ParseVector3(System.String,LibreMetaverse.StructuredData.OSDMap)`.
///
/// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.LoginResponseData.ParseVector3(System.String key, LibreMetaverse.StructuredData.OSDMap reply)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.LoginResponseData.ParseVector3(System.String,System.Collections.Hashtable)`.
///
/// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.LoginResponseData.ParseVector3(System.String key, System.Collections.Hashtable reply)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `P:LibreMetaverse.LoginResponseData.AccountLevelBenefits`.
///
/// C# signature: `LibreMetaverse.AccountLevelBenefits LibreMetaverse.LoginResponseData.AccountLevelBenefits`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.LoginResponseData.AccountType`.
///
/// C# signature: `System.String LibreMetaverse.LoginResponseData.AccountType`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.LoginResponseData.AgentAccess`.
///
/// C# signature: `System.String LibreMetaverse.LoginResponseData.AgentAccess`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.LoginResponseData.AgentAccessMax`.
///
/// C# signature: `System.String LibreMetaverse.LoginResponseData.AgentAccessMax`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.LoginResponseData.AgentAppearanceServiceURL`.
///
/// C# signature: `System.String LibreMetaverse.LoginResponseData.AgentAppearanceServiceURL`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.LoginResponseData.AgentID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.LoginResponseData.AgentID`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.LoginResponseData.AgentRegionAccess`.
///
/// C# signature: `System.String LibreMetaverse.LoginResponseData.AgentRegionAccess`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.LoginResponseData.BuddyList`.
///
/// C# signature: `LibreMetaverse.BuddyListEntry[] LibreMetaverse.LoginResponseData.BuddyList`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.LoginResponseData.COFVersion`.
///
/// C# signature: `System.UInt32 LibreMetaverse.LoginResponseData.COFVersion`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.LoginResponseData.CircuitCode`.
///
/// C# signature: `System.Int32 LibreMetaverse.LoginResponseData.CircuitCode`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.LoginResponseData.ClassifiedCategories`.
///
/// C# signature: `System.Collections.Generic.List<System.Object> LibreMetaverse.LoginResponseData.ClassifiedCategories`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.LoginResponseData.EventCategories`.
///
/// C# signature: `System.Collections.Generic.List<System.Object> LibreMetaverse.LoginResponseData.EventCategories`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.LoginResponseData.FirstLogin`.
///
/// C# signature: `System.Boolean LibreMetaverse.LoginResponseData.FirstLogin`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.LoginResponseData.FirstName`.
///
/// C# signature: `System.String LibreMetaverse.LoginResponseData.FirstName`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.LoginResponseData.Gestures`.
///
/// C# signature: `System.Collections.Generic.Dictionary<LibreMetaverse.UUID, LibreMetaverse.UUID> LibreMetaverse.LoginResponseData.Gestures`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.LoginResponseData.GlobalTextures`.
///
/// C# signature: `System.Collections.Generic.List<System.Object> LibreMetaverse.LoginResponseData.GlobalTextures`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.LoginResponseData.Home`.
///
/// C# signature: `LibreMetaverse.HomeInfo LibreMetaverse.LoginResponseData.Home`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.LoginResponseData.InitialOutfit`.
///
/// C# signature: `System.String LibreMetaverse.LoginResponseData.InitialOutfit`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.LoginResponseData.InventoryRoot`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.LoginResponseData.InventoryRoot`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.LoginResponseData.InventorySkeleton`.
///
/// C# signature: `LibreMetaverse.InventoryFolder[] LibreMetaverse.LoginResponseData.InventorySkeleton`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.LoginResponseData.LastName`.
///
/// C# signature: `System.String LibreMetaverse.LoginResponseData.LastName`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.LoginResponseData.LibraryOwner`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.LoginResponseData.LibraryOwner`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.LoginResponseData.LibraryRoot`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.LoginResponseData.LibraryRoot`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.LoginResponseData.LibrarySkeleton`.
///
/// C# signature: `LibreMetaverse.InventoryFolder[] LibreMetaverse.LoginResponseData.LibrarySkeleton`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.LoginResponseData.Login`.
///
/// C# signature: `LibreMetaverse.LoginState LibreMetaverse.LoginResponseData.Login`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.LoginResponseData.LookAt`.
///
/// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.LoginResponseData.LookAt`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.LoginResponseData.MapServerUrl`.
///
/// C# signature: `System.String LibreMetaverse.LoginResponseData.MapServerUrl`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.LoginResponseData.MaxAgentGroups`.
///
/// C# signature: `System.Int32 LibreMetaverse.LoginResponseData.MaxAgentGroups`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.LoginResponseData.Message`.
///
/// C# signature: `System.String LibreMetaverse.LoginResponseData.Message`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.LoginResponseData.MfaHash`.
///
/// C# signature: `System.String LibreMetaverse.LoginResponseData.MfaHash`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.LoginResponseData.NextDuration`.
///
/// C# signature: `System.Int32 LibreMetaverse.LoginResponseData.NextDuration`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.LoginResponseData.NextMethod`.
///
/// C# signature: `System.String LibreMetaverse.LoginResponseData.NextMethod`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.LoginResponseData.NextOptions`.
///
/// C# signature: `System.String[] LibreMetaverse.LoginResponseData.NextOptions`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.LoginResponseData.NextUrl`.
///
/// C# signature: `System.String LibreMetaverse.LoginResponseData.NextUrl`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.LoginResponseData.OpenIDUrl`.
///
/// C# signature: `System.String LibreMetaverse.LoginResponseData.OpenIDUrl`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.LoginResponseData.PremiumPackages`.
///
/// C# signature: `System.Collections.Generic.Dictionary<System.String, System.Object> LibreMetaverse.LoginResponseData.PremiumPackages`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.LoginResponseData.Reason`.
///
/// C# signature: `System.String LibreMetaverse.LoginResponseData.Reason`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.LoginResponseData.RegionSizeX`.
///
/// C# signature: `System.UInt32 LibreMetaverse.LoginResponseData.RegionSizeX`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.LoginResponseData.RegionSizeY`.
///
/// C# signature: `System.UInt32 LibreMetaverse.LoginResponseData.RegionSizeY`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.LoginResponseData.RegionX`.
///
/// C# signature: `System.UInt32 LibreMetaverse.LoginResponseData.RegionX`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.LoginResponseData.RegionY`.
///
/// C# signature: `System.UInt32 LibreMetaverse.LoginResponseData.RegionY`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.LoginResponseData.SecondsSinceEpoch`.
///
/// C# signature: `System.Int32 LibreMetaverse.LoginResponseData.SecondsSinceEpoch`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.LoginResponseData.SecureSessionID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.LoginResponseData.SecureSessionID`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.LoginResponseData.SeedCapability`.
///
/// C# signature: `System.String LibreMetaverse.LoginResponseData.SeedCapability`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.LoginResponseData.SessionID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.LoginResponseData.SessionID`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.LoginResponseData.SimIP`.
///
/// C# signature: `System.Net.IPAddress LibreMetaverse.LoginResponseData.SimIP`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.LoginResponseData.SimPort`.
///
/// C# signature: `System.UInt16 LibreMetaverse.LoginResponseData.SimPort`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.LoginResponseData.SnapshotConfigUrl`.
///
/// C# signature: `System.String LibreMetaverse.LoginResponseData.SnapshotConfigUrl`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.LoginResponseData.StartLocation`.
///
/// C# signature: `System.String LibreMetaverse.LoginResponseData.StartLocation`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.LoginResponseData.Success`.
///
/// C# signature: `System.Boolean LibreMetaverse.LoginResponseData.Success`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.LoginResponseData.UDPBlacklist`.
///
/// C# signature: `System.String LibreMetaverse.LoginResponseData.UDPBlacklist`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.LoginResponseData.UiConfig`.
///
/// C# signature: `System.Collections.Generic.List<System.Object> LibreMetaverse.LoginResponseData.UiConfig`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::login::LoginResponseData;

/// C# type: `T:LibreMetaverse.LoginResponseData.ParseMessage`.
///
/// Native Rust mapping of C# `LibreMetaverse.LoginResponseData.ParseMessage` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.LoginResponseData.ParseMessage.#ctor(LibreMetaverse.LoginResponseData.ParseMessageLevel,System.String,System.Exception)`.
///
/// C# signature: `LibreMetaverse.LoginResponseData.ParseMessage(LibreMetaverse.LoginResponseData.ParseMessageLevel level, System.String message, System.Exception ex = default)`.
/// Mapping contract: ownership `owned,owned,optional_owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.LoginResponseData.ParseMessage.Exception`.
///
/// C# signature: `System.Exception LibreMetaverse.LoginResponseData.ParseMessage.Exception`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.LoginResponseData.ParseMessage.Level`.
///
/// C# signature: `LibreMetaverse.LoginResponseData.ParseMessageLevel LibreMetaverse.LoginResponseData.ParseMessage.Level`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.LoginResponseData.ParseMessage.Message`.
///
/// C# signature: `System.String LibreMetaverse.LoginResponseData.ParseMessage.Message`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::login::LoginResponseDataParseMessage;

/// C# type: `T:LibreMetaverse.LoginResponseData.ParseMessageLevel`.
///
/// Native Rust mapping of C# `LibreMetaverse.LoginResponseData.ParseMessageLevel` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(i32)]
pub enum LoginResponseDataParseMessageLevel {
    /// C# member: `F:LibreMetaverse.LoginResponseData.ParseMessageLevel.Error`.
    ///
    /// C# signature: `LibreMetaverse.LoginResponseData.ParseMessageLevel LibreMetaverse.LoginResponseData.ParseMessageLevel.Error`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Error = 2,
    /// C# member: `F:LibreMetaverse.LoginResponseData.ParseMessageLevel.Info`.
    ///
    /// C# signature: `LibreMetaverse.LoginResponseData.ParseMessageLevel LibreMetaverse.LoginResponseData.ParseMessageLevel.Info`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Info = 0,
    /// C# member: `F:LibreMetaverse.LoginResponseData.ParseMessageLevel.Warning`.
    ///
    /// C# signature: `LibreMetaverse.LoginResponseData.ParseMessageLevel LibreMetaverse.LoginResponseData.ParseMessageLevel.Warning`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Warning = 1,
}

/// C# type: `T:LibreMetaverse.LoginResponseData.ParseResult`.
///
/// Native Rust mapping of C# `LibreMetaverse.LoginResponseData.ParseResult` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.LoginResponseData.ParseResult.#ctor`.
///
/// C# signature: `LibreMetaverse.LoginResponseData.ParseResult()`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.LoginResponseData.ParseResult.Add(LibreMetaverse.LoginResponseData.ParseMessageLevel,System.String,System.Exception)`.
///
/// C# signature: `System.Void LibreMetaverse.LoginResponseData.ParseResult.Add(LibreMetaverse.LoginResponseData.ParseMessageLevel level, System.String message, System.Exception ex = default)`.
/// Mapping contract: ownership `shared_self,owned,owned,optional_owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.LoginResponseData.ParseResult.Messages`.
///
/// C# signature: `System.Collections.Generic.IReadOnlyList<LibreMetaverse.LoginResponseData.ParseMessage> LibreMetaverse.LoginResponseData.ParseResult.Messages`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.LoginResponseData.ParseResult.ParsedData`.
///
/// C# signature: `LibreMetaverse.LoginResponseData LibreMetaverse.LoginResponseData.ParseResult.ParsedData`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.LoginResponseData.ParseResult.Success`.
///
/// C# signature: `System.Boolean LibreMetaverse.LoginResponseData.ParseResult.Success`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::login::LoginResponseDataParseResult;

/// C# type: `T:LibreMetaverse.LoginState`.
///
/// Native Rust mapping of C# `LibreMetaverse.LoginState` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(i32)]
pub enum LoginState {
    /// C# member: `F:LibreMetaverse.LoginState.False`.
    ///
    /// C# signature: `LibreMetaverse.LoginState LibreMetaverse.LoginState.False`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    False = 0,
    /// C# member: `F:LibreMetaverse.LoginState.Indeterminate`.
    ///
    /// C# signature: `LibreMetaverse.LoginState LibreMetaverse.LoginState.Indeterminate`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Indeterminate = 2,
    /// C# member: `F:LibreMetaverse.LoginState.True`.
    ///
    /// C# signature: `LibreMetaverse.LoginState LibreMetaverse.LoginState.True`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    True = 1,
}

/// C# type: `T:LibreMetaverse.LoginStatus`.
///
/// Native Rust mapping of C# `LibreMetaverse.LoginStatus` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(i32)]
pub enum LoginStatus {
    /// C# member: `F:LibreMetaverse.LoginStatus.ConnectingToLogin`.
    ///
    /// C# signature: `LibreMetaverse.LoginStatus LibreMetaverse.LoginStatus.ConnectingToLogin`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    ConnectingToLogin = 1,
    /// C# member: `F:LibreMetaverse.LoginStatus.ConnectingToSim`.
    ///
    /// C# signature: `LibreMetaverse.LoginStatus LibreMetaverse.LoginStatus.ConnectingToSim`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    ConnectingToSim = 3,
    /// C# member: `F:LibreMetaverse.LoginStatus.Failed`.
    ///
    /// C# signature: `LibreMetaverse.LoginStatus LibreMetaverse.LoginStatus.Failed`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Failed = -1,
    /// C# member: `F:LibreMetaverse.LoginStatus.None`.
    ///
    /// C# signature: `LibreMetaverse.LoginStatus LibreMetaverse.LoginStatus.None`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    None = 0,
    /// C# member: `F:LibreMetaverse.LoginStatus.ReadingResponse`.
    ///
    /// C# signature: `LibreMetaverse.LoginStatus LibreMetaverse.LoginStatus.ReadingResponse`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    ReadingResponse = 2,
    /// C# member: `F:LibreMetaverse.LoginStatus.Redirecting`.
    ///
    /// C# signature: `LibreMetaverse.LoginStatus LibreMetaverse.LoginStatus.Redirecting`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Redirecting = 4,
    /// C# member: `F:LibreMetaverse.LoginStatus.Success`.
    ///
    /// C# signature: `LibreMetaverse.LoginStatus LibreMetaverse.LoginStatus.Success`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Success = 5,
}

/// C# type: `T:LibreMetaverse.LookAtType`.
///
/// Native Rust mapping of C# `LibreMetaverse.LookAtType` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(u8)]
pub enum LookAtType {
    /// C# member: `F:LibreMetaverse.LookAtType.AutoListen`.
    ///
    /// C# signature: `LibreMetaverse.LookAtType LibreMetaverse.LookAtType.AutoListen`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    AutoListen = 2,
    /// C# member: `F:LibreMetaverse.LookAtType.Clear`.
    ///
    /// C# signature: `LibreMetaverse.LookAtType LibreMetaverse.LookAtType.Clear`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Clear = 10,
    /// C# member: `F:LibreMetaverse.LookAtType.Conversation`.
    ///
    /// C# signature: `LibreMetaverse.LookAtType LibreMetaverse.LookAtType.Conversation`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Conversation = 6,
    /// C# member: `F:LibreMetaverse.LookAtType.Focus`.
    ///
    /// C# signature: `LibreMetaverse.LookAtType LibreMetaverse.LookAtType.Focus`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Focus = 8,
    /// C# member: `F:LibreMetaverse.LookAtType.FreeLook`.
    ///
    /// C# signature: `LibreMetaverse.LookAtType LibreMetaverse.LookAtType.FreeLook`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    FreeLook = 3,
    /// C# member: `F:LibreMetaverse.LookAtType.Hover`.
    ///
    /// C# signature: `LibreMetaverse.LookAtType LibreMetaverse.LookAtType.Hover`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Hover = 5,
    /// C# member: `F:LibreMetaverse.LookAtType.Idle`.
    ///
    /// C# signature: `LibreMetaverse.LookAtType LibreMetaverse.LookAtType.Idle`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Idle = 1,
    /// C# member: `F:LibreMetaverse.LookAtType.Mouselook`.
    ///
    /// C# signature: `LibreMetaverse.LookAtType LibreMetaverse.LookAtType.Mouselook`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Mouselook = 9,
    /// C# member: `F:LibreMetaverse.LookAtType.None`.
    ///
    /// C# signature: `LibreMetaverse.LookAtType LibreMetaverse.LookAtType.None`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    None = 0,
    /// C# member: `F:LibreMetaverse.LookAtType.Respond`.
    ///
    /// C# signature: `LibreMetaverse.LookAtType LibreMetaverse.LookAtType.Respond`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Respond = 4,
    /// C# member: `F:LibreMetaverse.LookAtType.Select`.
    ///
    /// C# signature: `LibreMetaverse.LookAtType LibreMetaverse.LookAtType.Select`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Select = 7,
}

/// C# type: `T:LibreMetaverse.LslSyntax`.
///
/// Native Rust mapping of C# `LibreMetaverse.LslSyntax` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `E:LibreMetaverse.LslSyntax.SyntaxChanged`.
///
/// C# signature: `System.EventHandler LibreMetaverse.LslSyntax.SyntaxChanged`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `M:LibreMetaverse.LslSyntax.#ctor`.
///
/// C# signature: `LibreMetaverse.LslSyntax()`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.LslSyntax.#ctor(LibreMetaverse.GridClient)`.
///
/// C# signature: `LibreMetaverse.LslSyntax(LibreMetaverse.GridClient client)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.LslSyntax.Register(LibreMetaverse.GridClient)`.
///
/// C# signature: `System.Void LibreMetaverse.LslSyntax.Register(LibreMetaverse.GridClient client)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.LslSyntax.Keywords`.
///
/// C# signature: `System.Collections.Frozen.FrozenDictionary<System.String, LibreMetaverse.LslSyntax.LslKeyword> LibreMetaverse.LslSyntax.Keywords`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::lsl_syntax::LslSyntax;

/// C# type: `T:LibreMetaverse.LslSyntax.LslCategory`.
///
/// Native Rust mapping of C# `LibreMetaverse.LslSyntax.LslCategory` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(i32)]
pub enum LslSyntaxLslCategory {
    /// C# member: `F:LibreMetaverse.LslSyntax.LslCategory.Constant`.
    ///
    /// C# signature: `LibreMetaverse.LslSyntax.LslCategory LibreMetaverse.LslSyntax.LslCategory.Constant`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Constant = 4,
    /// C# member: `F:LibreMetaverse.LslSyntax.LslCategory.Control`.
    ///
    /// C# signature: `LibreMetaverse.LslSyntax.LslCategory LibreMetaverse.LslSyntax.LslCategory.Control`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Control = 1,
    /// C# member: `F:LibreMetaverse.LslSyntax.LslCategory.Datatype`.
    ///
    /// C# signature: `LibreMetaverse.LslSyntax.LslCategory LibreMetaverse.LslSyntax.LslCategory.Datatype`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Datatype = 3,
    /// C# member: `F:LibreMetaverse.LslSyntax.LslCategory.Event`.
    ///
    /// C# signature: `LibreMetaverse.LslSyntax.LslCategory LibreMetaverse.LslSyntax.LslCategory.Event`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Event = 2,
    /// C# member: `F:LibreMetaverse.LslSyntax.LslCategory.Flow`.
    ///
    /// C# signature: `LibreMetaverse.LslSyntax.LslCategory LibreMetaverse.LslSyntax.LslCategory.Flow`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Flow = 5,
    /// C# member: `F:LibreMetaverse.LslSyntax.LslCategory.Function`.
    ///
    /// C# signature: `LibreMetaverse.LslSyntax.LslCategory LibreMetaverse.LslSyntax.LslCategory.Function`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Function = 0,
    /// C# member: `F:LibreMetaverse.LslSyntax.LslCategory.Unknown`.
    ///
    /// C# signature: `LibreMetaverse.LslSyntax.LslCategory LibreMetaverse.LslSyntax.LslCategory.Unknown`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Unknown = -1,
}

/// C# type: `T:LibreMetaverse.LslSyntax.LslKeyword`.
///
/// Native Rust mapping of C# `LibreMetaverse.LslSyntax.LslKeyword` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Debug, PartialEq)]
pub struct LslSyntaxLslKeyword {
    /// C# member: `F:LibreMetaverse.LslSyntax.LslKeyword.Category`.
    ///
    /// C# signature: `LibreMetaverse.LslSyntax.LslCategory LibreMetaverse.LslSyntax.LslKeyword.Category`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub category: libremetaverse::LslSyntaxLslCategory,
    /// C# member: `F:LibreMetaverse.LslSyntax.LslKeyword.Deprecated`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.LslSyntax.LslKeyword.Deprecated`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub deprecated: bool,
    /// C# member: `F:LibreMetaverse.LslSyntax.LslKeyword.GodMode`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.LslSyntax.LslKeyword.GodMode`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub god_mode: bool,
    /// C# member: `F:LibreMetaverse.LslSyntax.LslKeyword.Keyword`.
    ///
    /// C# signature: `System.String LibreMetaverse.LslSyntax.LslKeyword.Keyword`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub keyword: String,
    /// C# member: `F:LibreMetaverse.LslSyntax.LslKeyword.Tooltip`.
    ///
    /// C# signature: `System.String LibreMetaverse.LslSyntax.LslKeyword.Tooltip`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub tooltip: String,
}
impl LslSyntaxLslKeyword {}

/// C# type: `T:LibreMetaverse.MapAdultEvent`.
///
/// Native Rust mapping of C# `LibreMetaverse.MapAdultEvent` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `F:LibreMetaverse.MapAdultEvent.Category`.
///
/// C# signature: `LibreMetaverse.DirectoryManager.EventCategories LibreMetaverse.MapAdultEvent.Category`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.MapAdultEvent.Description`.
///
/// C# signature: `System.String LibreMetaverse.MapAdultEvent.Description`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.MapAdultEvent.Flags`.
///
/// C# signature: `LibreMetaverse.DirectoryManager.EventFlags LibreMetaverse.MapAdultEvent.Flags`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `M:LibreMetaverse.MapAdultEvent.#ctor`.
///
/// C# signature: `LibreMetaverse.MapAdultEvent()`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
pub use crate::grid_manager::MapAdultEvent;

/// C# type: `T:LibreMetaverse.MapAdultLandForSale`.
///
/// Native Rust mapping of C# `LibreMetaverse.MapAdultLandForSale` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `F:LibreMetaverse.MapAdultLandForSale.ID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.MapAdultLandForSale.ID`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.MapAdultLandForSale.Name`.
///
/// C# signature: `System.String LibreMetaverse.MapAdultLandForSale.Name`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.MapAdultLandForSale.Price`.
///
/// C# signature: `System.Int32 LibreMetaverse.MapAdultLandForSale.Price`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.MapAdultLandForSale.Size`.
///
/// C# signature: `System.Int32 LibreMetaverse.MapAdultLandForSale.Size`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `M:LibreMetaverse.MapAdultLandForSale.#ctor`.
///
/// C# signature: `LibreMetaverse.MapAdultLandForSale()`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
pub use crate::grid_manager::MapAdultLandForSale;

/// C# type: `T:LibreMetaverse.MapAgentLocation`.
///
/// Native Rust mapping of C# `LibreMetaverse.MapAgentLocation` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `F:LibreMetaverse.MapAgentLocation.AvatarCount`.
///
/// C# signature: `System.Int32 LibreMetaverse.MapAgentLocation.AvatarCount`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.MapAgentLocation.Identifier`.
///
/// C# signature: `System.String LibreMetaverse.MapAgentLocation.Identifier`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `M:LibreMetaverse.MapAgentLocation.#ctor`.
///
/// C# signature: `LibreMetaverse.MapAgentLocation()`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
pub use crate::grid_manager::MapAgentLocation;

/// C# type: `T:LibreMetaverse.MapBlock`.
///
/// Native Rust mapping of C# `LibreMetaverse.MapBlock` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `F:LibreMetaverse.MapBlock.Count`.
///
/// C# signature: `System.Int32 LibreMetaverse.MapBlock.Count`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.MapBlock.Fields`.
///
/// C# signature: `System.Collections.Generic.List<LibreMetaverse.MapField> LibreMetaverse.MapBlock.Fields`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.MapBlock.KeywordPosition`.
///
/// C# signature: `System.Int32 LibreMetaverse.MapBlock.KeywordPosition`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.MapBlock.Name`.
///
/// C# signature: `System.String LibreMetaverse.MapBlock.Name`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `M:LibreMetaverse.MapBlock.#ctor`.
///
/// C# signature: `LibreMetaverse.MapBlock()`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.MapBlock.CompareTo(System.Object)`.
///
/// C# signature: `System.Int32 LibreMetaverse.MapBlock.CompareTo(System.Object obj)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
pub use crate::protocol_manager::MapBlock;

/// C# type: `T:LibreMetaverse.MapField`.
///
/// Native Rust mapping of C# `LibreMetaverse.MapField` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `F:LibreMetaverse.MapField.Count`.
///
/// C# signature: `System.Int32 LibreMetaverse.MapField.Count`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.MapField.KeywordPosition`.
///
/// C# signature: `System.Int32 LibreMetaverse.MapField.KeywordPosition`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.MapField.Name`.
///
/// C# signature: `System.String LibreMetaverse.MapField.Name`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.MapField.Type`.
///
/// C# signature: `LibreMetaverse.FieldType LibreMetaverse.MapField.Type`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `M:LibreMetaverse.MapField.#ctor`.
///
/// C# signature: `LibreMetaverse.MapField()`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.MapField.CompareTo(System.Object)`.
///
/// C# signature: `System.Int32 LibreMetaverse.MapField.CompareTo(System.Object obj)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
pub use crate::protocol_manager::MapField;

/// C# type: `T:LibreMetaverse.MapItem`.
///
/// Native Rust mapping of C# `LibreMetaverse.MapItem` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `F:LibreMetaverse.MapItem.GlobalX`.
///
/// C# signature: `System.UInt32 LibreMetaverse.MapItem.GlobalX`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.MapItem.GlobalY`.
///
/// C# signature: `System.UInt32 LibreMetaverse.MapItem.GlobalY`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `P:LibreMetaverse.MapItem.LocalX`.
///
/// C# signature: `System.UInt32 LibreMetaverse.MapItem.LocalX`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.MapItem.LocalY`.
///
/// C# signature: `System.UInt32 LibreMetaverse.MapItem.LocalY`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.MapItem.RegionHandle`.
///
/// C# signature: `System.UInt64 LibreMetaverse.MapItem.RegionHandle`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::grid_manager::MapItem;

/// C# type: `T:LibreMetaverse.MapLandForSale`.
///
/// Native Rust mapping of C# `LibreMetaverse.MapLandForSale` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `F:LibreMetaverse.MapLandForSale.ID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.MapLandForSale.ID`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.MapLandForSale.Name`.
///
/// C# signature: `System.String LibreMetaverse.MapLandForSale.Name`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.MapLandForSale.Price`.
///
/// C# signature: `System.Int32 LibreMetaverse.MapLandForSale.Price`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.MapLandForSale.Size`.
///
/// C# signature: `System.Int32 LibreMetaverse.MapLandForSale.Size`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `M:LibreMetaverse.MapLandForSale.#ctor`.
///
/// C# signature: `LibreMetaverse.MapLandForSale()`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
pub use crate::grid_manager::MapLandForSale;

/// C# type: `T:LibreMetaverse.MapMatureEvent`.
///
/// Native Rust mapping of C# `LibreMetaverse.MapMatureEvent` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `F:LibreMetaverse.MapMatureEvent.Category`.
///
/// C# signature: `LibreMetaverse.DirectoryManager.EventCategories LibreMetaverse.MapMatureEvent.Category`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.MapMatureEvent.Description`.
///
/// C# signature: `System.String LibreMetaverse.MapMatureEvent.Description`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.MapMatureEvent.Flags`.
///
/// C# signature: `LibreMetaverse.DirectoryManager.EventFlags LibreMetaverse.MapMatureEvent.Flags`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `M:LibreMetaverse.MapMatureEvent.#ctor`.
///
/// C# signature: `LibreMetaverse.MapMatureEvent()`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
pub use crate::grid_manager::MapMatureEvent;

/// C# type: `T:LibreMetaverse.MapPGEvent`.
///
/// Native Rust mapping of C# `LibreMetaverse.MapPGEvent` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `F:LibreMetaverse.MapPGEvent.Category`.
///
/// C# signature: `LibreMetaverse.DirectoryManager.EventCategories LibreMetaverse.MapPGEvent.Category`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.MapPGEvent.Description`.
///
/// C# signature: `System.String LibreMetaverse.MapPGEvent.Description`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.MapPGEvent.Flags`.
///
/// C# signature: `LibreMetaverse.DirectoryManager.EventFlags LibreMetaverse.MapPGEvent.Flags`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `M:LibreMetaverse.MapPGEvent.#ctor`.
///
/// C# signature: `LibreMetaverse.MapPGEvent()`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
pub use crate::grid_manager::MapPGEvent;

/// C# type: `T:LibreMetaverse.MapPacket`.
///
/// Native Rust mapping of C# `LibreMetaverse.MapPacket` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `F:LibreMetaverse.MapPacket.Blocks`.
///
/// C# signature: `System.Collections.Generic.List<LibreMetaverse.MapBlock> LibreMetaverse.MapPacket.Blocks`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.MapPacket.Encoded`.
///
/// C# signature: `System.Boolean LibreMetaverse.MapPacket.Encoded`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.MapPacket.Frequency`.
///
/// C# signature: `LibreMetaverse.PacketFrequency LibreMetaverse.MapPacket.Frequency`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.MapPacket.ID`.
///
/// C# signature: `System.UInt16 LibreMetaverse.MapPacket.ID`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.MapPacket.Name`.
///
/// C# signature: `System.String LibreMetaverse.MapPacket.Name`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.MapPacket.Trusted`.
///
/// C# signature: `System.Boolean LibreMetaverse.MapPacket.Trusted`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `M:LibreMetaverse.MapPacket.#ctor`.
///
/// C# signature: `LibreMetaverse.MapPacket()`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
pub use crate::protocol_manager::MapPacket;

/// C# type: `T:LibreMetaverse.MapTelehub`.
///
/// Native Rust mapping of C# `LibreMetaverse.MapTelehub` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.MapTelehub.#ctor`.
///
/// C# signature: `LibreMetaverse.MapTelehub()`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
pub use crate::grid_manager::MapTelehub;

/// C# type: `T:LibreMetaverse.MappingType`.
///
/// Native Rust mapping of C# `LibreMetaverse.MappingType` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(u8)]
pub enum MappingType {
    /// C# member: `F:LibreMetaverse.MappingType.Cylindrical`.
    ///
    /// C# signature: `LibreMetaverse.MappingType LibreMetaverse.MappingType.Cylindrical`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Cylindrical = 6,
    /// C# member: `F:LibreMetaverse.MappingType.Default`.
    ///
    /// C# signature: `LibreMetaverse.MappingType LibreMetaverse.MappingType.Default`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Default = 0,
    /// C# member: `F:LibreMetaverse.MappingType.Planar`.
    ///
    /// C# signature: `LibreMetaverse.MappingType LibreMetaverse.MappingType.Planar`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Planar = 2,
    /// C# member: `F:LibreMetaverse.MappingType.Spherical`.
    ///
    /// C# signature: `LibreMetaverse.MappingType LibreMetaverse.MappingType.Spherical`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Spherical = 4,
}

/// C# type: `T:LibreMetaverse.MeanCollisionEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.MeanCollisionEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone)]
pub struct MeanCollisionEventArgs {
    property_0: libremetaverse_types::UUID,
    property_1: f32,
    property_2: std::time::SystemTime,
    property_3: libremetaverse::MeanCollisionType,
    property_4: libremetaverse_types::UUID,
}
impl MeanCollisionEventArgs {
    /// C# member: `M:LibreMetaverse.MeanCollisionEventArgs.#ctor(LibreMetaverse.MeanCollisionType,LibreMetaverse.UUID,LibreMetaverse.UUID,System.Single,System.DateTime)`.
    ///
    /// C# signature: `LibreMetaverse.MeanCollisionEventArgs(LibreMetaverse.MeanCollisionType type, LibreMetaverse.UUID perp, LibreMetaverse.UUID victim, System.Single magnitude, System.DateTime time)`.
    /// Mapping contract: ownership `owned,owned,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn new(
        type_: libremetaverse::MeanCollisionType,
        perp: libremetaverse_types::UUID,
        victim: libremetaverse_types::UUID,
        magnitude: f32,
        time: std::time::SystemTime,
    ) -> Result<Self, crate::Error> {
        /* complete generated data model */
        Ok(Self {
            property_0: perp,
            property_1: magnitude,
            property_2: time,
            property_3: type_,
            property_4: victim,
        })
    }
    /// C# member: `P:LibreMetaverse.MeanCollisionEventArgs.Aggressor`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.MeanCollisionEventArgs.Aggressor`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn aggressor(&self) -> libremetaverse_types::UUID {
        /* complete generated data model */
        self.property_0.clone()
    }
    /// C# member: `P:LibreMetaverse.MeanCollisionEventArgs.Magnitude`.
    ///
    /// C# signature: `System.Single LibreMetaverse.MeanCollisionEventArgs.Magnitude`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn magnitude(&self) -> f32 {
        /* complete generated data model */
        self.property_1.clone()
    }
    /// C# member: `P:LibreMetaverse.MeanCollisionEventArgs.Time`.
    ///
    /// C# signature: `System.DateTime LibreMetaverse.MeanCollisionEventArgs.Time`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn time(&self) -> std::time::SystemTime {
        /* complete generated data model */
        self.property_2.clone()
    }
    /// C# member: `P:LibreMetaverse.MeanCollisionEventArgs.Type`.
    ///
    /// C# signature: `LibreMetaverse.MeanCollisionType LibreMetaverse.MeanCollisionEventArgs.Type`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn type_(&self) -> libremetaverse::MeanCollisionType {
        /* complete generated data model */
        self.property_3.clone()
    }
    /// C# member: `P:LibreMetaverse.MeanCollisionEventArgs.Victim`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.MeanCollisionEventArgs.Victim`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn victim(&self) -> libremetaverse_types::UUID {
        /* complete generated data model */
        self.property_4.clone()
    }
}

/// C# type: `T:LibreMetaverse.MeanCollisionType`.
///
/// Native Rust mapping of C# `LibreMetaverse.MeanCollisionType` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(u8)]
pub enum MeanCollisionType {
    /// C# member: `F:LibreMetaverse.MeanCollisionType.Bump`.
    ///
    /// C# signature: `LibreMetaverse.MeanCollisionType LibreMetaverse.MeanCollisionType.Bump`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Bump = 1,
    /// C# member: `F:LibreMetaverse.MeanCollisionType.LLPushObject`.
    ///
    /// C# signature: `LibreMetaverse.MeanCollisionType LibreMetaverse.MeanCollisionType.LLPushObject`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    LLPushObject = 2,
    /// C# member: `F:LibreMetaverse.MeanCollisionType.None`.
    ///
    /// C# signature: `LibreMetaverse.MeanCollisionType LibreMetaverse.MeanCollisionType.None`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    None = 0,
    /// C# member: `F:LibreMetaverse.MeanCollisionType.PhysicalObjectCollide`.
    ///
    /// C# signature: `LibreMetaverse.MeanCollisionType LibreMetaverse.MeanCollisionType.PhysicalObjectCollide`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    PhysicalObjectCollide = 5,
    /// C# member: `F:LibreMetaverse.MeanCollisionType.ScriptedObjectCollide`.
    ///
    /// C# signature: `LibreMetaverse.MeanCollisionType LibreMetaverse.MeanCollisionType.ScriptedObjectCollide`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    ScriptedObjectCollide = 4,
    /// C# member: `F:LibreMetaverse.MeanCollisionType.SelectedObjectCollide`.
    ///
    /// C# signature: `LibreMetaverse.MeanCollisionType LibreMetaverse.MeanCollisionType.SelectedObjectCollide`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    SelectedObjectCollide = 3,
}

/// C# type: `T:LibreMetaverse.MediaControls`.
///
/// Native Rust mapping of C# `LibreMetaverse.MediaControls` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(i32)]
pub enum MediaControls {
    /// C# member: `F:LibreMetaverse.MediaControls.Mini`.
    ///
    /// C# signature: `LibreMetaverse.MediaControls LibreMetaverse.MediaControls.Mini`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Mini = 1,
    /// C# member: `F:LibreMetaverse.MediaControls.Standard`.
    ///
    /// C# signature: `LibreMetaverse.MediaControls LibreMetaverse.MediaControls.Standard`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Standard = 0,
}

/// C# type: `T:LibreMetaverse.MediaEntry`.
///
/// Native Rust mapping of C# `LibreMetaverse.MediaEntry` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `F:LibreMetaverse.MediaEntry.AutoLoop`.
///
/// C# signature: `System.Boolean LibreMetaverse.MediaEntry.AutoLoop`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.MediaEntry.AutoPlay`.
///
/// C# signature: `System.Boolean LibreMetaverse.MediaEntry.AutoPlay`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.MediaEntry.AutoScale`.
///
/// C# signature: `System.Boolean LibreMetaverse.MediaEntry.AutoScale`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.MediaEntry.AutoZoom`.
///
/// C# signature: `System.Boolean LibreMetaverse.MediaEntry.AutoZoom`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.MediaEntry.ControlPermissions`.
///
/// C# signature: `LibreMetaverse.MediaPermission LibreMetaverse.MediaEntry.ControlPermissions`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.MediaEntry.Controls`.
///
/// C# signature: `LibreMetaverse.MediaControls LibreMetaverse.MediaEntry.Controls`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.MediaEntry.CurrentURL`.
///
/// C# signature: `System.String LibreMetaverse.MediaEntry.CurrentURL`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.MediaEntry.EnableWhiteList`.
///
/// C# signature: `System.Boolean LibreMetaverse.MediaEntry.EnableWhiteList`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.MediaEntry.Height`.
///
/// C# signature: `System.Int32 LibreMetaverse.MediaEntry.Height`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.MediaEntry.HomeURL`.
///
/// C# signature: `System.String LibreMetaverse.MediaEntry.HomeURL`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.MediaEntry.InteractOnFirstClick`.
///
/// C# signature: `System.Boolean LibreMetaverse.MediaEntry.InteractOnFirstClick`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.MediaEntry.InteractPermissions`.
///
/// C# signature: `LibreMetaverse.MediaPermission LibreMetaverse.MediaEntry.InteractPermissions`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.MediaEntry.WhiteList`.
///
/// C# signature: `System.String[] LibreMetaverse.MediaEntry.WhiteList`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.MediaEntry.Width`.
///
/// C# signature: `System.Int32 LibreMetaverse.MediaEntry.Width`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `M:LibreMetaverse.MediaEntry.#ctor`.
///
/// C# signature: `LibreMetaverse.MediaEntry()`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.MediaEntry.FromOSD(LibreMetaverse.StructuredData.OSD)`.
///
/// C# signature: `LibreMetaverse.MediaEntry LibreMetaverse.MediaEntry.FromOSD(LibreMetaverse.StructuredData.OSD osd)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.MediaEntry.GetOSD`.
///
/// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.MediaEntry.GetOSD()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.MediaEntry.EnableAlternativeImage`.
///
/// C# signature: `System.Boolean LibreMetaverse.MediaEntry.EnableAlternativeImage`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::message_decoder::MediaEntry;

/// C# type: `T:LibreMetaverse.MediaPermission`.
///
/// Native Rust mapping of C# `LibreMetaverse.MediaPermission` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(transparent)]
pub struct MediaPermission(pub u8);
impl MediaPermission {
    /// C# member: `F:LibreMetaverse.MediaPermission.All`.
    ///
    /// C# signature: `LibreMetaverse.MediaPermission LibreMetaverse.MediaPermission.All`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const ALL: Self = Self(7);
    /// C# member: `F:LibreMetaverse.MediaPermission.Anyone`.
    ///
    /// C# signature: `LibreMetaverse.MediaPermission LibreMetaverse.MediaPermission.Anyone`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const ANYONE: Self = Self(4);
    /// C# member: `F:LibreMetaverse.MediaPermission.Group`.
    ///
    /// C# signature: `LibreMetaverse.MediaPermission LibreMetaverse.MediaPermission.Group`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const GROUP: Self = Self(2);
    /// C# member: `F:LibreMetaverse.MediaPermission.None`.
    ///
    /// C# signature: `LibreMetaverse.MediaPermission LibreMetaverse.MediaPermission.None`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const NONE: Self = Self(0);
    /// C# member: `F:LibreMetaverse.MediaPermission.Owner`.
    ///
    /// C# signature: `LibreMetaverse.MediaPermission LibreMetaverse.MediaPermission.Owner`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const OWNER: Self = Self(1);
}

/// C# type: `T:LibreMetaverse.MoneyBalanceReplyEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.MoneyBalanceReplyEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.MoneyBalanceReplyEventArgs.#ctor(LibreMetaverse.UUID,System.Boolean,System.Int32,System.Int32,System.Int32,System.String,LibreMetaverse.TransactionInfo)`.
///
/// C# signature: `LibreMetaverse.MoneyBalanceReplyEventArgs(LibreMetaverse.UUID transactionID, System.Boolean transactionSuccess, System.Int32 balance, System.Int32 metersCredit, System.Int32 metersCommitted, System.String description, LibreMetaverse.TransactionInfo transactionInfo)`.
/// Mapping contract: ownership `owned,owned,owned,owned,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.MoneyBalanceReplyEventArgs.Balance`.
///
/// C# signature: `System.Int32 LibreMetaverse.MoneyBalanceReplyEventArgs.Balance`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.MoneyBalanceReplyEventArgs.Description`.
///
/// C# signature: `System.String LibreMetaverse.MoneyBalanceReplyEventArgs.Description`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.MoneyBalanceReplyEventArgs.MetersCommitted`.
///
/// C# signature: `System.Int32 LibreMetaverse.MoneyBalanceReplyEventArgs.MetersCommitted`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.MoneyBalanceReplyEventArgs.MetersCredit`.
///
/// C# signature: `System.Int32 LibreMetaverse.MoneyBalanceReplyEventArgs.MetersCredit`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.MoneyBalanceReplyEventArgs.Success`.
///
/// C# signature: `System.Boolean LibreMetaverse.MoneyBalanceReplyEventArgs.Success`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.MoneyBalanceReplyEventArgs.TransactionID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.MoneyBalanceReplyEventArgs.TransactionID`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.MoneyBalanceReplyEventArgs.TransactionInfo`.
///
/// C# signature: `LibreMetaverse.TransactionInfo LibreMetaverse.MoneyBalanceReplyEventArgs.TransactionInfo`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::agent_messages::MoneyBalanceReplyEventArgs;

/// C# type: `T:LibreMetaverse.MoneyTransactionType`.
///
/// Native Rust mapping of C# `LibreMetaverse.MoneyTransactionType` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(i32)]
pub enum MoneyTransactionType {
    /// C# member: `F:LibreMetaverse.MoneyTransactionType.ClassifiedCharge`.
    ///
    /// C# signature: `LibreMetaverse.MoneyTransactionType LibreMetaverse.MoneyTransactionType.ClassifiedCharge`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    ClassifiedCharge = 1103,
    /// C# member: `F:LibreMetaverse.MoneyTransactionType.ClassifiedRenew`.
    ///
    /// C# signature: `LibreMetaverse.MoneyTransactionType LibreMetaverse.MoneyTransactionType.ClassifiedRenew`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    ClassifiedRenew = 2005,
    /// C# member: `F:LibreMetaverse.MoneyTransactionType.DwellBonus`.
    ///
    /// C# signature: `LibreMetaverse.MoneyTransactionType LibreMetaverse.MoneyTransactionType.DwellBonus`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    DwellBonus = 5007,
    /// C# member: `F:LibreMetaverse.MoneyTransactionType.EventFee`.
    ///
    /// C# signature: `LibreMetaverse.MoneyTransactionType LibreMetaverse.MoneyTransactionType.EventFee`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    EventFee = 9003,
    /// C# member: `F:LibreMetaverse.MoneyTransactionType.EventPrize`.
    ///
    /// C# signature: `LibreMetaverse.MoneyTransactionType LibreMetaverse.MoneyTransactionType.EventPrize`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    EventPrize = 9004,
    /// C# member: `F:LibreMetaverse.MoneyTransactionType.FailDataserverTimeout`.
    ///
    /// C# signature: `LibreMetaverse.MoneyTransactionType LibreMetaverse.MoneyTransactionType.FailDataserverTimeout`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    FailDataserverTimeout = 2,
    /// C# member: `F:LibreMetaverse.MoneyTransactionType.FailSimulatorTimeout`.
    ///
    /// C# signature: `LibreMetaverse.MoneyTransactionType LibreMetaverse.MoneyTransactionType.FailSimulatorTimeout`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    FailSimulatorTimeout = 1,
    /// C# member: `F:LibreMetaverse.MoneyTransactionType.Gift`.
    ///
    /// C# signature: `LibreMetaverse.MoneyTransactionType LibreMetaverse.MoneyTransactionType.Gift`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Gift = 5001,
    /// C# member: `F:LibreMetaverse.MoneyTransactionType.GiveInventory`.
    ///
    /// C# signature: `LibreMetaverse.MoneyTransactionType LibreMetaverse.MoneyTransactionType.GiveInventory`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    GiveInventory = 3000,
    /// C# member: `F:LibreMetaverse.MoneyTransactionType.GroupCreate`.
    ///
    /// C# signature: `LibreMetaverse.MoneyTransactionType LibreMetaverse.MoneyTransactionType.GroupCreate`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    GroupCreate = 1002,
    /// C# member: `F:LibreMetaverse.MoneyTransactionType.GroupDividend`.
    ///
    /// C# signature: `LibreMetaverse.MoneyTransactionType LibreMetaverse.MoneyTransactionType.GroupDividend`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    GroupDividend = 6004,
    /// C# member: `F:LibreMetaverse.MoneyTransactionType.GroupJoin`.
    ///
    /// C# signature: `LibreMetaverse.MoneyTransactionType LibreMetaverse.MoneyTransactionType.GroupJoin`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    GroupJoin = 1004,
    /// C# member: `F:LibreMetaverse.MoneyTransactionType.GroupLandDeed`.
    ///
    /// C# signature: `LibreMetaverse.MoneyTransactionType LibreMetaverse.MoneyTransactionType.GroupLandDeed`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    GroupLandDeed = 6001,
    /// C# member: `F:LibreMetaverse.MoneyTransactionType.GroupLiability`.
    ///
    /// C# signature: `LibreMetaverse.MoneyTransactionType LibreMetaverse.MoneyTransactionType.GroupLiability`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    GroupLiability = 6003,
    /// C# member: `F:LibreMetaverse.MoneyTransactionType.GroupMembershipDues`.
    ///
    /// C# signature: `LibreMetaverse.MoneyTransactionType LibreMetaverse.MoneyTransactionType.GroupMembershipDues`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    GroupMembershipDues = 6005,
    /// C# member: `F:LibreMetaverse.MoneyTransactionType.GroupObjectDeed`.
    ///
    /// C# signature: `LibreMetaverse.MoneyTransactionType LibreMetaverse.MoneyTransactionType.GroupObjectDeed`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    GroupObjectDeed = 6002,
    /// C# member: `F:LibreMetaverse.MoneyTransactionType.GroupTax`.
    ///
    /// C# signature: `LibreMetaverse.MoneyTransactionType LibreMetaverse.MoneyTransactionType.GroupTax`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    GroupTax = 2004,
    /// C# member: `F:LibreMetaverse.MoneyTransactionType.InventorySale`.
    ///
    /// C# signature: `LibreMetaverse.MoneyTransactionType LibreMetaverse.MoneyTransactionType.InventorySale`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    InventorySale = 5004,
    /// C# member: `F:LibreMetaverse.MoneyTransactionType.LandAuction`.
    ///
    /// C# signature: `LibreMetaverse.MoneyTransactionType LibreMetaverse.MoneyTransactionType.LandAuction`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    LandAuction = 1102,
    /// C# member: `F:LibreMetaverse.MoneyTransactionType.LandClaim`.
    ///
    /// C# signature: `LibreMetaverse.MoneyTransactionType LibreMetaverse.MoneyTransactionType.LandClaim`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    LandClaim = 1001,
    /// C# member: `F:LibreMetaverse.MoneyTransactionType.LandPassSale`.
    ///
    /// C# signature: `LibreMetaverse.MoneyTransactionType LibreMetaverse.MoneyTransactionType.LandPassSale`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    LandPassSale = 5006,
    /// C# member: `F:LibreMetaverse.MoneyTransactionType.LandRelease`.
    ///
    /// C# signature: `LibreMetaverse.MoneyTransactionType LibreMetaverse.MoneyTransactionType.LandRelease`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    LandRelease = 8001,
    /// C# member: `F:LibreMetaverse.MoneyTransactionType.LandSale`.
    ///
    /// C# signature: `LibreMetaverse.MoneyTransactionType LibreMetaverse.MoneyTransactionType.LandSale`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    LandSale = 5002,
    /// C# member: `F:LibreMetaverse.MoneyTransactionType.LandTax`.
    ///
    /// C# signature: `LibreMetaverse.MoneyTransactionType LibreMetaverse.MoneyTransactionType.LandTax`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    LandTax = 2001,
    /// C# member: `F:LibreMetaverse.MoneyTransactionType.LightTax`.
    ///
    /// C# signature: `LibreMetaverse.MoneyTransactionType LibreMetaverse.MoneyTransactionType.LightTax`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    LightTax = 2002,
    /// C# member: `F:LibreMetaverse.MoneyTransactionType.LindenAdjustment`.
    ///
    /// C# signature: `LibreMetaverse.MoneyTransactionType LibreMetaverse.MoneyTransactionType.LindenAdjustment`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    LindenAdjustment = 9000,
    /// C# member: `F:LibreMetaverse.MoneyTransactionType.LindenGrant`.
    ///
    /// C# signature: `LibreMetaverse.MoneyTransactionType LibreMetaverse.MoneyTransactionType.LindenGrant`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    LindenGrant = 9001,
    /// C# member: `F:LibreMetaverse.MoneyTransactionType.LindenPenalty`.
    ///
    /// C# signature: `LibreMetaverse.MoneyTransactionType LibreMetaverse.MoneyTransactionType.LindenPenalty`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    LindenPenalty = 9002,
    /// C# member: `F:LibreMetaverse.MoneyTransactionType.None`.
    ///
    /// C# signature: `LibreMetaverse.MoneyTransactionType LibreMetaverse.MoneyTransactionType.None`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    None = 0,
    /// C# member: `F:LibreMetaverse.MoneyTransactionType.ObjectClaim`.
    ///
    /// C# signature: `LibreMetaverse.MoneyTransactionType LibreMetaverse.MoneyTransactionType.ObjectClaim`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    ObjectClaim = 1000,
    /// C# member: `F:LibreMetaverse.MoneyTransactionType.ObjectDelete`.
    ///
    /// C# signature: `LibreMetaverse.MoneyTransactionType LibreMetaverse.MoneyTransactionType.ObjectDelete`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    ObjectDelete = 8002,
    /// C# member: `F:LibreMetaverse.MoneyTransactionType.ObjectPays`.
    ///
    /// C# signature: `LibreMetaverse.MoneyTransactionType LibreMetaverse.MoneyTransactionType.ObjectPays`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    ObjectPays = 5009,
    /// C# member: `F:LibreMetaverse.MoneyTransactionType.ObjectPublicClaim`.
    ///
    /// C# signature: `LibreMetaverse.MoneyTransactionType LibreMetaverse.MoneyTransactionType.ObjectPublicClaim`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    ObjectPublicClaim = 1003,
    /// C# member: `F:LibreMetaverse.MoneyTransactionType.ObjectPublicDecay`.
    ///
    /// C# signature: `LibreMetaverse.MoneyTransactionType LibreMetaverse.MoneyTransactionType.ObjectPublicDecay`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    ObjectPublicDecay = 8003,
    /// C# member: `F:LibreMetaverse.MoneyTransactionType.ObjectPublicDelete`.
    ///
    /// C# signature: `LibreMetaverse.MoneyTransactionType LibreMetaverse.MoneyTransactionType.ObjectPublicDelete`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    ObjectPublicDelete = 8004,
    /// C# member: `F:LibreMetaverse.MoneyTransactionType.ObjectRelease`.
    ///
    /// C# signature: `LibreMetaverse.MoneyTransactionType LibreMetaverse.MoneyTransactionType.ObjectRelease`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    ObjectRelease = 8000,
    /// C# member: `F:LibreMetaverse.MoneyTransactionType.ObjectSale`.
    ///
    /// C# signature: `LibreMetaverse.MoneyTransactionType LibreMetaverse.MoneyTransactionType.ObjectSale`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    ObjectSale = 5000,
    /// C# member: `F:LibreMetaverse.MoneyTransactionType.ObjectTax`.
    ///
    /// C# signature: `LibreMetaverse.MoneyTransactionType LibreMetaverse.MoneyTransactionType.ObjectTax`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    ObjectTax = 2000,
    /// C# member: `F:LibreMetaverse.MoneyTransactionType.ParcelDirFee`.
    ///
    /// C# signature: `LibreMetaverse.MoneyTransactionType LibreMetaverse.MoneyTransactionType.ParcelDirFee`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    ParcelDirFee = 2003,
    /// C# member: `F:LibreMetaverse.MoneyTransactionType.PayObject`.
    ///
    /// C# signature: `LibreMetaverse.MoneyTransactionType LibreMetaverse.MoneyTransactionType.PayObject`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    PayObject = 5008,
    /// C# member: `F:LibreMetaverse.MoneyTransactionType.ReferBonus`.
    ///
    /// C# signature: `LibreMetaverse.MoneyTransactionType LibreMetaverse.MoneyTransactionType.ReferBonus`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    ReferBonus = 5003,
    /// C# member: `F:LibreMetaverse.MoneyTransactionType.RefundPurchase`.
    ///
    /// C# signature: `LibreMetaverse.MoneyTransactionType LibreMetaverse.MoneyTransactionType.RefundPurchase`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    RefundPurchase = 5005,
    /// C# member: `F:LibreMetaverse.MoneyTransactionType.StipendAlways`.
    ///
    /// C# signature: `LibreMetaverse.MoneyTransactionType LibreMetaverse.MoneyTransactionType.StipendAlways`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    StipendAlways = 10002,
    /// C# member: `F:LibreMetaverse.MoneyTransactionType.StipendBasic`.
    ///
    /// C# signature: `LibreMetaverse.MoneyTransactionType LibreMetaverse.MoneyTransactionType.StipendBasic`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    StipendBasic = 10000,
    /// C# member: `F:LibreMetaverse.MoneyTransactionType.StipendDaily`.
    ///
    /// C# signature: `LibreMetaverse.MoneyTransactionType LibreMetaverse.MoneyTransactionType.StipendDaily`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    StipendDaily = 10003,
    /// C# member: `F:LibreMetaverse.MoneyTransactionType.StipendDelta`.
    ///
    /// C# signature: `LibreMetaverse.MoneyTransactionType LibreMetaverse.MoneyTransactionType.StipendDelta`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    StipendDelta = 10005,
    /// C# member: `F:LibreMetaverse.MoneyTransactionType.StipendDeveloper`.
    ///
    /// C# signature: `LibreMetaverse.MoneyTransactionType LibreMetaverse.MoneyTransactionType.StipendDeveloper`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    StipendDeveloper = 10001,
    /// C# member: `F:LibreMetaverse.MoneyTransactionType.StipendRating`.
    ///
    /// C# signature: `LibreMetaverse.MoneyTransactionType LibreMetaverse.MoneyTransactionType.StipendRating`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    StipendRating = 10004,
    /// C# member: `F:LibreMetaverse.MoneyTransactionType.TeleportCharge`.
    ///
    /// C# signature: `LibreMetaverse.MoneyTransactionType LibreMetaverse.MoneyTransactionType.TeleportCharge`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    TeleportCharge = 1100,
    /// C# member: `F:LibreMetaverse.MoneyTransactionType.UploadCharge`.
    ///
    /// C# signature: `LibreMetaverse.MoneyTransactionType LibreMetaverse.MoneyTransactionType.UploadCharge`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    UploadCharge = 1101,
}

/// C# type: `T:LibreMetaverse.MuteEntry`.
///
/// Native Rust mapping of C# `LibreMetaverse.MuteEntry` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
pub struct MuteEntry {
    /// C# member: `F:LibreMetaverse.MuteEntry.Flags`.
    ///
    /// C# signature: `LibreMetaverse.MuteFlags LibreMetaverse.MuteEntry.Flags`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub flags: libremetaverse::MuteFlags,
    /// C# member: `F:LibreMetaverse.MuteEntry.ID`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.MuteEntry.ID`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub id: libremetaverse_types::UUID,
    /// C# member: `F:LibreMetaverse.MuteEntry.Name`.
    ///
    /// C# signature: `System.String LibreMetaverse.MuteEntry.Name`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub name: String,
    /// C# member: `F:LibreMetaverse.MuteEntry.Type`.
    ///
    /// C# signature: `LibreMetaverse.MuteType LibreMetaverse.MuteEntry.Type`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub type_: libremetaverse::MuteType,
}
impl MuteEntry {
    /// C# member: `M:LibreMetaverse.MuteEntry.#ctor`.
    ///
    /// C# signature: `LibreMetaverse.MuteEntry()`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn new() -> Result<Self, crate::Error> {
        /* reviewed native compatibility body */
        Ok(Self {
            flags: libremetaverse::MuteFlags::DEFAULT,
            id: libremetaverse_types::UUID::zero(),
            name: String::new(),
            type_: libremetaverse::MuteType::ByName,
        })
    }
}

/// C# type: `T:LibreMetaverse.MuteFlags`.
///
/// Native Rust mapping of C# `LibreMetaverse.MuteFlags` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(transparent)]
pub struct MuteFlags(pub i32);
impl MuteFlags {
    /// C# member: `F:LibreMetaverse.MuteFlags.All`.
    ///
    /// C# signature: `LibreMetaverse.MuteFlags LibreMetaverse.MuteFlags.All`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const ALL: Self = Self(15);
    /// C# member: `F:LibreMetaverse.MuteFlags.Default`.
    ///
    /// C# signature: `LibreMetaverse.MuteFlags LibreMetaverse.MuteFlags.Default`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const DEFAULT: Self = Self(0);
    /// C# member: `F:LibreMetaverse.MuteFlags.ObjectSounds`.
    ///
    /// C# signature: `LibreMetaverse.MuteFlags LibreMetaverse.MuteFlags.ObjectSounds`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const OBJECT_SOUNDS: Self = Self(8);
    /// C# member: `F:LibreMetaverse.MuteFlags.Particles`.
    ///
    /// C# signature: `LibreMetaverse.MuteFlags LibreMetaverse.MuteFlags.Particles`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const PARTICLES: Self = Self(4);
    /// C# member: `F:LibreMetaverse.MuteFlags.TextChat`.
    ///
    /// C# signature: `LibreMetaverse.MuteFlags LibreMetaverse.MuteFlags.TextChat`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const TEXT_CHAT: Self = Self(1);
    /// C# member: `F:LibreMetaverse.MuteFlags.VoiceChat`.
    ///
    /// C# signature: `LibreMetaverse.MuteFlags LibreMetaverse.MuteFlags.VoiceChat`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const VOICE_CHAT: Self = Self(2);
}

/// C# type: `T:LibreMetaverse.MuteType`.
///
/// Native Rust mapping of C# `LibreMetaverse.MuteType` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(i32)]
pub enum MuteType {
    /// C# member: `F:LibreMetaverse.MuteType.ByName`.
    ///
    /// C# signature: `LibreMetaverse.MuteType LibreMetaverse.MuteType.ByName`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    ByName = 0,
    /// C# member: `F:LibreMetaverse.MuteType.External`.
    ///
    /// C# signature: `LibreMetaverse.MuteType LibreMetaverse.MuteType.External`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    External = 4,
    /// C# member: `F:LibreMetaverse.MuteType.Group`.
    ///
    /// C# signature: `LibreMetaverse.MuteType LibreMetaverse.MuteType.Group`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Group = 3,
    /// C# member: `F:LibreMetaverse.MuteType.Object`.
    ///
    /// C# signature: `LibreMetaverse.MuteType LibreMetaverse.MuteType.Object`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Object = 2,
    /// C# member: `F:LibreMetaverse.MuteType.Resident`.
    ///
    /// C# signature: `LibreMetaverse.MuteType LibreMetaverse.MuteType.Resident`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Resident = 1,
}

/// C# type: `T:LibreMetaverse.NameValue`.
///
/// Native Rust mapping of C# `LibreMetaverse.NameValue` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `F:LibreMetaverse.NameValue.Class`.
///
/// C# signature: `LibreMetaverse.NameValue.ClassType LibreMetaverse.NameValue.Class`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.NameValue.Name`.
///
/// C# signature: `System.String LibreMetaverse.NameValue.Name`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.NameValue.Sendto`.
///
/// C# signature: `LibreMetaverse.NameValue.SendtoType LibreMetaverse.NameValue.Sendto`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.NameValue.Type`.
///
/// C# signature: `LibreMetaverse.NameValue.ValueType LibreMetaverse.NameValue.Type`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.NameValue.Value`.
///
/// C# signature: `System.Object LibreMetaverse.NameValue.Value`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `M:LibreMetaverse.NameValue.#ctor(System.String)`.
///
/// C# signature: `LibreMetaverse.NameValue(System.String data)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.NameValue.#ctor(System.String,LibreMetaverse.NameValue.ValueType,LibreMetaverse.NameValue.ClassType,LibreMetaverse.NameValue.SendtoType,System.Object)`.
///
/// C# signature: `LibreMetaverse.NameValue(System.String name, LibreMetaverse.NameValue.ValueType valueType, LibreMetaverse.NameValue.ClassType classType, LibreMetaverse.NameValue.SendtoType sendtoType, System.Object value)`.
/// Mapping contract: ownership `owned,owned,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.NameValue.Equals(LibreMetaverse.NameValue)`.
///
/// C# signature: `System.Boolean LibreMetaverse.NameValue.Equals(LibreMetaverse.NameValue other)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `infallible_placeholder`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.NameValue.Equals(System.Object)`.
///
/// C# signature: `System.Boolean LibreMetaverse.NameValue.Equals(System.Object obj)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `infallible_placeholder`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.NameValue.GetHashCode`.
///
/// C# signature: `System.Int32 LibreMetaverse.NameValue.GetHashCode()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.NameValue.NameValuesToString(LibreMetaverse.NameValue[])`.
///
/// C# signature: `System.String LibreMetaverse.NameValue.NameValuesToString(LibreMetaverse.NameValue[] values)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
pub use crate::name_value::NameValue;

/// C# type: `T:LibreMetaverse.NameValue.ClassType`.
///
/// Native Rust mapping of C# `LibreMetaverse.NameValue.ClassType` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(i32)]
pub enum NameValueClassType {
    /// C# member: `F:LibreMetaverse.NameValue.ClassType.Callback`.
    ///
    /// C# signature: `LibreMetaverse.NameValue.ClassType LibreMetaverse.NameValue.ClassType.Callback`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Callback = 2,
    /// C# member: `F:LibreMetaverse.NameValue.ClassType.ReadOnly`.
    ///
    /// C# signature: `LibreMetaverse.NameValue.ClassType LibreMetaverse.NameValue.ClassType.ReadOnly`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    ReadOnly = 0,
    /// C# member: `F:LibreMetaverse.NameValue.ClassType.ReadWrite`.
    ///
    /// C# signature: `LibreMetaverse.NameValue.ClassType LibreMetaverse.NameValue.ClassType.ReadWrite`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    ReadWrite = 1,
    /// C# member: `F:LibreMetaverse.NameValue.ClassType.Unknown`.
    ///
    /// C# signature: `LibreMetaverse.NameValue.ClassType LibreMetaverse.NameValue.ClassType.Unknown`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Unknown = -1,
}

/// C# type: `T:LibreMetaverse.NameValue.SendtoType`.
///
/// Native Rust mapping of C# `LibreMetaverse.NameValue.SendtoType` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(i32)]
pub enum NameValueSendtoType {
    /// C# member: `F:LibreMetaverse.NameValue.SendtoType.DataSim`.
    ///
    /// C# signature: `LibreMetaverse.NameValue.SendtoType LibreMetaverse.NameValue.SendtoType.DataSim`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    DataSim = 1,
    /// C# member: `F:LibreMetaverse.NameValue.SendtoType.DataSimViewer`.
    ///
    /// C# signature: `LibreMetaverse.NameValue.SendtoType LibreMetaverse.NameValue.SendtoType.DataSimViewer`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    DataSimViewer = 3,
    /// C# member: `F:LibreMetaverse.NameValue.SendtoType.Sim`.
    ///
    /// C# signature: `LibreMetaverse.NameValue.SendtoType LibreMetaverse.NameValue.SendtoType.Sim`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Sim = 0,
    /// C# member: `F:LibreMetaverse.NameValue.SendtoType.SimViewer`.
    ///
    /// C# signature: `LibreMetaverse.NameValue.SendtoType LibreMetaverse.NameValue.SendtoType.SimViewer`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    SimViewer = 2,
    /// C# member: `F:LibreMetaverse.NameValue.SendtoType.Unknown`.
    ///
    /// C# signature: `LibreMetaverse.NameValue.SendtoType LibreMetaverse.NameValue.SendtoType.Unknown`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Unknown = -1,
}

/// C# type: `T:LibreMetaverse.NameValue.ValueType`.
///
/// Native Rust mapping of C# `LibreMetaverse.NameValue.ValueType` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(i32)]
pub enum NameValueValueType {
    /// C# member: `F:LibreMetaverse.NameValue.ValueType.Asset`.
    ///
    /// C# signature: `LibreMetaverse.NameValue.ValueType LibreMetaverse.NameValue.ValueType.Asset`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Asset = 6,
    /// C# member: `F:LibreMetaverse.NameValue.ValueType.CAMERA`.
    ///
    /// C# signature: `LibreMetaverse.NameValue.ValueType LibreMetaverse.NameValue.ValueType.CAMERA`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    CAMERA = 5,
    /// C# member: `F:LibreMetaverse.NameValue.ValueType.F32`.
    ///
    /// C# signature: `LibreMetaverse.NameValue.ValueType LibreMetaverse.NameValue.ValueType.F32`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    F32 = 1,
    /// C# member: `F:LibreMetaverse.NameValue.ValueType.S32`.
    ///
    /// C# signature: `LibreMetaverse.NameValue.ValueType LibreMetaverse.NameValue.ValueType.S32`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    S32 = 2,
    /// C# member: `F:LibreMetaverse.NameValue.ValueType.String`.
    ///
    /// C# signature: `LibreMetaverse.NameValue.ValueType LibreMetaverse.NameValue.ValueType.String`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    String = 0,
    /// C# member: `F:LibreMetaverse.NameValue.ValueType.U32`.
    ///
    /// C# signature: `LibreMetaverse.NameValue.ValueType LibreMetaverse.NameValue.ValueType.U32`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    U32 = 4,
    /// C# member: `F:LibreMetaverse.NameValue.ValueType.U64`.
    ///
    /// C# signature: `LibreMetaverse.NameValue.ValueType LibreMetaverse.NameValue.ValueType.U64`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    U64 = 7,
    /// C# member: `F:LibreMetaverse.NameValue.ValueType.Unknown`.
    ///
    /// C# signature: `LibreMetaverse.NameValue.ValueType LibreMetaverse.NameValue.ValueType.Unknown`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Unknown = -1,
    /// C# member: `F:LibreMetaverse.NameValue.ValueType.VEC3`.
    ///
    /// C# signature: `LibreMetaverse.NameValue.ValueType LibreMetaverse.NameValue.ValueType.VEC3`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    VEC3 = 3,
}

/// C# type: `T:LibreMetaverse.NavMeshStatusUpdateEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.NavMeshStatusUpdateEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.NavMeshStatusUpdateEventArgs.#ctor(LibreMetaverse.Messages.Linden.NavMeshStatusUpdateMessage,LibreMetaverse.Simulator)`.
///
/// C# signature: `LibreMetaverse.NavMeshStatusUpdateEventArgs(LibreMetaverse.Messages.Linden.NavMeshStatusUpdateMessage message, LibreMetaverse.Simulator simulator)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.NavMeshStatusUpdateEventArgs.Message`.
///
/// C# signature: `LibreMetaverse.Messages.Linden.NavMeshStatusUpdateMessage LibreMetaverse.NavMeshStatusUpdateEventArgs.Message`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.NavMeshStatusUpdateEventArgs.Simulator`.
///
/// C# signature: `LibreMetaverse.Simulator LibreMetaverse.NavMeshStatusUpdateEventArgs.Simulator`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::agent_messages::NavMeshStatusUpdateEventArgs;

/// C# type: `T:LibreMetaverse.NetworkManager`.
///
/// Native Rust mapping of C# `LibreMetaverse.NetworkManager` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
pub use crate::network_manager::NetworkManager;
/// C# member: `F:LibreMetaverse.NetworkManager.LoginResponseData`.
///
/// C# signature: `LibreMetaverse.LoginResponseData LibreMetaverse.NetworkManager.LoginResponseData`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.NetworkManager.Simulators`.
///
/// C# signature: `System.Collections.Generic.List<LibreMetaverse.Simulator> LibreMetaverse.NetworkManager.Simulators`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
impl NetworkManager {
    /// C# member: `E:LibreMetaverse.NetworkManager.Disconnected`.
    ///
    /// C# signature: `System.EventHandler<LibreMetaverse.DisconnectedEventArgs> LibreMetaverse.NetworkManager.Disconnected`.
    /// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
    pub fn subscribe_disconnected(
        &self,
        handler: libremetaverse_types::compat::EventHandler<libremetaverse::DisconnectedEventArgs>,
    ) -> libremetaverse_types::compat::Subscription {
        /* native network implementation */
        self.native_subscribe_disconnected(handler)
    }
    /// C# member: `E:LibreMetaverse.NetworkManager.EventQueueRunning`.
    ///
    /// C# signature: `System.EventHandler<LibreMetaverse.EventQueueRunningEventArgs> LibreMetaverse.NetworkManager.EventQueueRunning`.
    /// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
    pub fn subscribe_event_queue_running(
        &self,
        handler: libremetaverse_types::compat::EventHandler<
            libremetaverse::EventQueueRunningEventArgs,
        >,
    ) -> libremetaverse_types::compat::Subscription {
        /* native network implementation */
        self.native_subscribe_event_queue_running(handler)
    }
    /// C# member: `E:LibreMetaverse.NetworkManager.GenericStreamingMessage`.
    ///
    /// C# signature: `System.EventHandler<LibreMetaverse.GenericStreamingMessageEventArgs> LibreMetaverse.NetworkManager.GenericStreamingMessage`.
    /// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
    pub fn subscribe_generic_streaming_message(
        &self,
        handler: libremetaverse_types::compat::EventHandler<
            libremetaverse::GenericStreamingMessageEventArgs,
        >,
    ) -> libremetaverse_types::compat::Subscription {
        /* native network implementation */
        self.native_subscribe_generic_streaming_message(handler)
    }
    /// C# member: `E:LibreMetaverse.NetworkManager.LoggedOut`.
    ///
    /// C# signature: `System.EventHandler<LibreMetaverse.LoggedOutEventArgs> LibreMetaverse.NetworkManager.LoggedOut`.
    /// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
    pub fn subscribe_logged_out(
        &self,
        handler: libremetaverse_types::compat::EventHandler<libremetaverse::LoggedOutEventArgs>,
    ) -> libremetaverse_types::compat::Subscription {
        /* native network implementation */
        self.native_subscribe_logged_out(handler)
    }
    /// C# member: `E:LibreMetaverse.NetworkManager.LoginProgress`.
    ///
    /// C# signature: `System.EventHandler<LibreMetaverse.LoginProgressEventArgs> LibreMetaverse.NetworkManager.LoginProgress`.
    /// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
    pub fn subscribe_login_progress(
        &self,
        handler: libremetaverse_types::compat::EventHandler<libremetaverse::LoginProgressEventArgs>,
    ) -> libremetaverse_types::compat::Subscription {
        /* native network implementation */
        self.native_subscribe_login_progress(handler)
    }
    /// C# member: `E:LibreMetaverse.NetworkManager.PacketSent`.
    ///
    /// C# signature: `System.EventHandler<LibreMetaverse.PacketSentEventArgs> LibreMetaverse.NetworkManager.PacketSent`.
    /// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
    pub fn subscribe_packet_sent(
        &self,
        handler: libremetaverse_types::compat::EventHandler<libremetaverse::PacketSentEventArgs>,
    ) -> libremetaverse_types::compat::Subscription {
        /* native network implementation */
        self.native_subscribe_packet_sent(handler)
    }
    /// C# member: `E:LibreMetaverse.NetworkManager.SimChanged`.
    ///
    /// C# signature: `System.EventHandler<LibreMetaverse.SimChangedEventArgs> LibreMetaverse.NetworkManager.SimChanged`.
    /// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
    pub fn subscribe_sim_changed(
        &self,
        handler: libremetaverse_types::compat::EventHandler<libremetaverse::SimChangedEventArgs>,
    ) -> libremetaverse_types::compat::Subscription {
        /* native network implementation */
        self.native_subscribe_sim_changed(handler)
    }
    /// C# member: `E:LibreMetaverse.NetworkManager.SimConnected`.
    ///
    /// C# signature: `System.EventHandler<LibreMetaverse.SimConnectedEventArgs> LibreMetaverse.NetworkManager.SimConnected`.
    /// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
    pub fn subscribe_sim_connected(
        &self,
        handler: libremetaverse_types::compat::EventHandler<libremetaverse::SimConnectedEventArgs>,
    ) -> libremetaverse_types::compat::Subscription {
        /* native network implementation */
        self.native_subscribe_sim_connected(handler)
    }
    /// C# member: `E:LibreMetaverse.NetworkManager.SimConnecting`.
    ///
    /// C# signature: `System.EventHandler<LibreMetaverse.SimConnectingEventArgs> LibreMetaverse.NetworkManager.SimConnecting`.
    /// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
    pub fn subscribe_sim_connecting(
        &self,
        handler: libremetaverse_types::compat::EventHandler<libremetaverse::SimConnectingEventArgs>,
    ) -> libremetaverse_types::compat::Subscription {
        /* native network implementation */
        self.native_subscribe_sim_connecting(handler)
    }
    /// C# member: `E:LibreMetaverse.NetworkManager.SimDisconnected`.
    ///
    /// C# signature: `System.EventHandler<LibreMetaverse.SimDisconnectedEventArgs> LibreMetaverse.NetworkManager.SimDisconnected`.
    /// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
    pub fn subscribe_sim_disconnected(
        &self,
        handler: libremetaverse_types::compat::EventHandler<
            libremetaverse::SimDisconnectedEventArgs,
        >,
    ) -> libremetaverse_types::compat::Subscription {
        /* native network implementation */
        self.native_subscribe_sim_disconnected(handler)
    }
    /// C# member: `M:LibreMetaverse.NetworkManager.#ctor(LibreMetaverse.GridClient)`.
    ///
    /// C# signature: `LibreMetaverse.NetworkManager(LibreMetaverse.GridClient client)`.
    /// Mapping contract: ownership `owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn new(client: libremetaverse::GridClient) -> Result<Self, crate::Error> {
        /* native network implementation */
        crate::network_manager::NetworkManager::native_new(client)
    }
    /// C# member: `M:LibreMetaverse.NetworkManager.AbortLogin`.
    ///
    /// C# signature: `System.Void LibreMetaverse.NetworkManager.AbortLogin()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn abort_login(&self) -> Result<(), crate::Error> {
        /* native network implementation */
        self.native_abort_login()
    }
    /// C# member: `M:LibreMetaverse.NetworkManager.BeginLogin(LibreMetaverse.LoginParams)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.NetworkManager.BeginLogin(LibreMetaverse.LoginParams loginParams)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn begin_login(
        &self,
        login_params: libremetaverse::LoginParams,
    ) -> Result<(), crate::Error> {
        /* native network implementation */
        self.native_begin_login(login_params)
    }
    /// C# member: `M:LibreMetaverse.NetworkManager.BeginLogout`.
    ///
    /// C# signature: `System.Void LibreMetaverse.NetworkManager.BeginLogout()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn begin_logout(&self) -> Result<(), crate::Error> {
        /* native network implementation */
        self.native_begin_logout()
    }
    /// C# member: `M:LibreMetaverse.NetworkManager.Connect(System.Net.IPAddress,System.UInt16,System.UInt64,System.Boolean,System.Uri)`.
    ///
    /// C# signature: `LibreMetaverse.Simulator LibreMetaverse.NetworkManager.Connect(System.Net.IPAddress ip, System.UInt16 port, System.UInt64 handle, System.Boolean setDefault, System.Uri seedcaps)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub fn connect_with_ip_address_u_int16_u_int64_boolean_uri(
        &self,
        ip: std::net::IpAddr,
        port: u16,
        handle: u64,
        set_default: bool,
        seedcaps: Option<libremetaverse_types::compat::Uri>,
    ) -> Result<Option<libremetaverse::Simulator>, crate::Error> {
        /* native network implementation */
        self.native_connect(
            std::net::SocketAddr::new(ip, port),
            handle,
            set_default,
            seedcaps,
            crate::network_manager::Simulator::DEFAULT_REGION_SIZE_X,
            crate::network_manager::Simulator::DEFAULT_REGION_SIZE_Y,
        )
    }
    /// C# member: `M:LibreMetaverse.NetworkManager.Connect(System.Net.IPAddress,System.UInt16,System.UInt64,System.Boolean,System.Uri,System.UInt32,System.UInt32)`.
    ///
    /// C# signature: `LibreMetaverse.Simulator LibreMetaverse.NetworkManager.Connect(System.Net.IPAddress ip, System.UInt16 port, System.UInt64 handle, System.Boolean setDefault, System.Uri seedcaps, System.UInt32 sizeX, System.UInt32 sizeY)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,owned,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub fn connect_with_ip_address_u_int16_u_int64_boolean_uri_u_int32_u_int32(
        &self,
        ip: std::net::IpAddr,
        port: u16,
        handle: u64,
        set_default: bool,
        seedcaps: Option<libremetaverse_types::compat::Uri>,
        size_x: u32,
        size_y: u32,
    ) -> Result<Option<libremetaverse::Simulator>, crate::Error> {
        /* native network implementation */
        self.native_connect(
            std::net::SocketAddr::new(ip, port),
            handle,
            set_default,
            seedcaps,
            size_x,
            size_y,
        )
    }
    /// C# member: `M:LibreMetaverse.NetworkManager.Connect(System.Net.IPEndPoint,System.UInt64,System.Boolean,System.Uri)`.
    ///
    /// C# signature: `LibreMetaverse.Simulator LibreMetaverse.NetworkManager.Connect(System.Net.IPEndPoint endPoint, System.UInt64 handle, System.Boolean setDefault, System.Uri seedcaps)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub fn connect_with_ip_end_point_u_int64_boolean_uri(
        &self,
        end_point: std::net::SocketAddr,
        handle: u64,
        set_default: bool,
        seedcaps: Option<libremetaverse_types::compat::Uri>,
    ) -> Result<Option<libremetaverse::Simulator>, crate::Error> {
        /* native network implementation */
        self.native_connect(
            end_point,
            handle,
            set_default,
            seedcaps,
            crate::network_manager::Simulator::DEFAULT_REGION_SIZE_X,
            crate::network_manager::Simulator::DEFAULT_REGION_SIZE_Y,
        )
    }
    /// C# member: `M:LibreMetaverse.NetworkManager.Connect(System.Net.IPEndPoint,System.UInt64,System.Boolean,System.Uri,System.UInt32,System.UInt32)`.
    ///
    /// C# signature: `LibreMetaverse.Simulator LibreMetaverse.NetworkManager.Connect(System.Net.IPEndPoint endPoint, System.UInt64 handle, System.Boolean setDefault, System.Uri seedcaps, System.UInt32 sizeX, System.UInt32 sizeY)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub fn connect_with_ip_end_point_u_int64_boolean_uri_u_int32_u_int32(
        &self,
        end_point: std::net::SocketAddr,
        handle: u64,
        set_default: bool,
        seedcaps: Option<libremetaverse_types::compat::Uri>,
        size_x: u32,
        size_y: u32,
    ) -> Result<Option<libremetaverse::Simulator>, crate::Error> {
        /* native network implementation */
        self.native_connect(end_point, handle, set_default, seedcaps, size_x, size_y)
    }
    /// C# member: `M:LibreMetaverse.NetworkManager.ConnectAsync(System.Net.IPAddress,System.UInt16,System.UInt64,System.Boolean,System.Uri)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<LibreMetaverse.Simulator> LibreMetaverse.NetworkManager.ConnectAsync(System.Net.IPAddress ip, System.UInt16 port, System.UInt64 handle, System.Boolean setDefault, System.Uri seedcaps)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,owned,owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name_with_stable_id`; kind `method`.
    pub async fn connect_with_ip_address_u_int16_u_int64_boolean_uri_ebec1fff(
        &self,
        ip: std::net::IpAddr,
        port: u16,
        handle: u64,
        set_default: bool,
        seedcaps: Option<libremetaverse_types::compat::Uri>,
    ) -> Result<Option<libremetaverse::Simulator>, crate::Error> {
        /* native network implementation */
        self.native_connect_async(
            std::net::SocketAddr::new(ip, port),
            handle,
            set_default,
            seedcaps,
            crate::network_manager::Simulator::DEFAULT_REGION_SIZE_X,
            crate::network_manager::Simulator::DEFAULT_REGION_SIZE_Y,
        )
        .await
    }
    /// C# member: `M:LibreMetaverse.NetworkManager.ConnectAsync(System.Net.IPEndPoint,System.UInt64,System.Boolean,System.Uri,System.UInt32,System.UInt32)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<LibreMetaverse.Simulator> LibreMetaverse.NetworkManager.ConnectAsync(System.Net.IPEndPoint endPoint, System.UInt64 handle, System.Boolean setDefault, System.Uri seedcaps, System.UInt32 sizeX, System.UInt32 sizeY)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,owned,owned,owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name_with_stable_id`; kind `method`.
    pub async fn connect_with_ip_end_point_u_int64_boolean_uri_u_int32_u_int32_20e51cc0(
        &self,
        end_point: std::net::SocketAddr,
        handle: u64,
        set_default: bool,
        seedcaps: Option<libremetaverse_types::compat::Uri>,
        size_x: u32,
        size_y: u32,
    ) -> Result<Option<libremetaverse::Simulator>, crate::Error> {
        /* native network implementation */
        self.native_connect_async(end_point, handle, set_default, seedcaps, size_x, size_y)
            .await
    }
    /// C# member: `M:LibreMetaverse.NetworkManager.DefaultLoginParams(System.String,System.String,System.String,System.String,System.String)`.
    ///
    /// C# signature: `LibreMetaverse.LoginParams LibreMetaverse.NetworkManager.DefaultLoginParams(System.String firstName, System.String lastName, System.String password, System.String channel, System.String version)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn default_login_params(
        &self,
        first_name: String,
        last_name: String,
        password: String,
        channel: String,
        version: String,
    ) -> Result<libremetaverse::LoginParams, crate::Error> {
        /* native network implementation */
        self.native_default_login_params(first_name, last_name, password, channel, version)
    }
    /// C# member: `M:LibreMetaverse.NetworkManager.DisconnectSim(LibreMetaverse.Simulator,System.Boolean)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.NetworkManager.DisconnectSim(LibreMetaverse.Simulator simulator, System.Boolean sendCloseCircuit)`.
    /// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn disconnect_sim(
        &self,
        simulator: libremetaverse::Simulator,
        send_close_circuit: bool,
    ) -> Result<(), crate::Error> {
        /* native network implementation */
        self.native_disconnect_sim(simulator, send_close_circuit)
    }
    /// C# member: `M:LibreMetaverse.NetworkManager.EnqueueIncoming(LibreMetaverse.NetworkManager.IncomingPacket)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.NetworkManager.EnqueueIncoming(LibreMetaverse.NetworkManager.IncomingPacket packet)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn enqueue_incoming(
        &self,
        packet: libremetaverse::NetworkManagerIncomingPacket,
    ) -> Result<(), crate::Error> {
        /* native network implementation */
        self.native_enqueue_incoming(packet)
    }
    /// C# member: `M:LibreMetaverse.NetworkManager.EnqueueOutgoing(LibreMetaverse.NetworkManager.OutgoingPacket)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.NetworkManager.EnqueueOutgoing(LibreMetaverse.NetworkManager.OutgoingPacket packet)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn enqueue_outgoing(
        &self,
        packet: libremetaverse::NetworkManagerOutgoingPacket,
    ) -> Result<(), crate::Error> {
        /* native network implementation */
        self.native_enqueue_outgoing(packet)
    }
    /// C# member: `M:LibreMetaverse.NetworkManager.FindSimulator(System.Net.IPEndPoint)`.
    ///
    /// C# signature: `LibreMetaverse.Simulator LibreMetaverse.NetworkManager.FindSimulator(System.Net.IPEndPoint endPoint)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub fn find_simulator_with_ip_end_point(
        &self,
        end_point: std::net::SocketAddr,
    ) -> Result<Option<libremetaverse::Simulator>, crate::Error> {
        /* native network implementation */
        Ok(self.native_find_endpoint(end_point))
    }
    /// C# member: `M:LibreMetaverse.NetworkManager.FindSimulator(System.UInt64)`.
    ///
    /// C# signature: `LibreMetaverse.Simulator LibreMetaverse.NetworkManager.FindSimulator(System.UInt64 handle)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub fn find_simulator_with_u_int64(
        &self,
        handle: u64,
    ) -> Result<Option<libremetaverse::Simulator>, crate::Error> {
        /* native network implementation */
        Ok(self.native_find_handle(handle))
    }
    /// C# member: `M:LibreMetaverse.NetworkManager.GetHashedMAC`.
    ///
    /// C# signature: `System.String LibreMetaverse.NetworkManager.GetHashedMAC()`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn get_hashed_mac() -> Result<String, crate::Error> {
        /* native network implementation */
        crate::login::hashed_mac()
    }
    /// C# member: `M:LibreMetaverse.NetworkManager.GetMAC`.
    ///
    /// C# signature: `System.String LibreMetaverse.NetworkManager.GetMAC()`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn get_mac() -> Result<String, crate::Error> {
        /* native network implementation */
        Ok(crate::login::mac_address())
    }
    /// C# member: `M:LibreMetaverse.NetworkManager.GetPlatform`.
    ///
    /// C# signature: `System.String LibreMetaverse.NetworkManager.GetPlatform()`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn get_platform() -> Result<String, crate::Error> {
        /* native network implementation */
        Ok(crate::login::platform())
    }
    /// C# member: `M:LibreMetaverse.NetworkManager.GetPlatformVersion`.
    ///
    /// C# signature: `System.String LibreMetaverse.NetworkManager.GetPlatformVersion()`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn get_platform_version() -> Result<String, crate::Error> {
        /* native network implementation */
        Ok(crate::login::platform_version())
    }
    /// C# member: `M:LibreMetaverse.NetworkManager.Login(LibreMetaverse.LoginResponseData)`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.NetworkManager.Login(LibreMetaverse.LoginResponseData response)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub fn login_with_login_response_data(
        &self,
        response: libremetaverse::LoginResponseData,
    ) -> Result<bool, crate::Error> {
        /* native network implementation */
        self.native_login_response(response)
    }
    /// C# member: `M:LibreMetaverse.NetworkManager.LoginAsync(LibreMetaverse.LoginCredential,System.String,System.String,System.String,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<System.Boolean> LibreMetaverse.NetworkManager.LoginAsync(LibreMetaverse.LoginCredential credential, System.String channel, System.String start, System.String version, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub async fn login_with_login_credential_string_string_string_cancellation_token(
        &self,
        credential: libremetaverse::LoginCredential,
        channel: String,
        start: String,
        version: String,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<bool, crate::Error> {
        /* native network implementation */
        self.native_login_credential(
            credential,
            channel,
            Some(start),
            version,
            cancellation_token,
        )
        .await
    }
    /// C# member: `M:LibreMetaverse.NetworkManager.LoginAsync(LibreMetaverse.LoginCredential,System.String,System.String,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<System.Boolean> LibreMetaverse.NetworkManager.LoginAsync(LibreMetaverse.LoginCredential credential, System.String channel, System.String version, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub async fn login_with_login_credential_string_string_cancellation_token(
        &self,
        credential: libremetaverse::LoginCredential,
        channel: String,
        version: String,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<bool, crate::Error> {
        /* native network implementation */
        self.native_login_credential(credential, channel, None, version, cancellation_token)
            .await
    }
    /// C# member: `M:LibreMetaverse.NetworkManager.LoginAsync(LibreMetaverse.LoginParams,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<System.Boolean> LibreMetaverse.NetworkManager.LoginAsync(LibreMetaverse.LoginParams loginParams, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub async fn login_with_login_params_cancellation_token(
        &self,
        login_params: libremetaverse::LoginParams,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<bool, crate::Error> {
        /* native network implementation */
        self.native_login(login_params, cancellation_token).await
    }
    /// C# member: `M:LibreMetaverse.NetworkManager.LoginAsync(System.String,System.String,System.String,System.String,System.String,System.String,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<System.Boolean> LibreMetaverse.NetworkManager.LoginAsync(System.String firstName, System.String lastName, System.String password, System.String channel, System.String start, System.String version, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,owned,owned,owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub async fn login_with_string_string_string_string_string_string_cancellation_token(
        &self,
        first_name: String,
        last_name: String,
        password: String,
        channel: String,
        start: String,
        version: String,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<bool, crate::Error> {
        /* native network implementation */
        self.native_login_strings(
            first_name,
            last_name,
            password,
            channel,
            start,
            version,
            cancellation_token,
        )
        .await
    }
    /// C# member: `M:LibreMetaverse.NetworkManager.LoginWithResponseAsync(LibreMetaverse.LoginCredential,System.String,System.String,System.String,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<LibreMetaverse.LoginResponseData> LibreMetaverse.NetworkManager.LoginWithResponseAsync(LibreMetaverse.LoginCredential credential, System.String channel, System.String start, System.String version, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub async fn login_with_response_with_login_credential_string_string_string_cancellation_token(
        &self,
        credential: libremetaverse::LoginCredential,
        channel: String,
        start: String,
        version: String,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<Option<libremetaverse::LoginResponseData>, crate::Error> {
        /* native network implementation */
        self.native_login_credential_response(
            credential,
            channel,
            Some(start),
            version,
            cancellation_token,
        )
        .await
    }
    /// C# member: `M:LibreMetaverse.NetworkManager.LoginWithResponseAsync(LibreMetaverse.LoginCredential,System.String,System.String,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<LibreMetaverse.LoginResponseData> LibreMetaverse.NetworkManager.LoginWithResponseAsync(LibreMetaverse.LoginCredential credential, System.String channel, System.String version, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub async fn login_with_response_with_login_credential_string_string_cancellation_token(
        &self,
        credential: libremetaverse::LoginCredential,
        channel: String,
        version: String,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<Option<libremetaverse::LoginResponseData>, crate::Error> {
        /* native network implementation */
        self.native_login_credential_response(
            credential,
            channel,
            None,
            version,
            cancellation_token,
        )
        .await
    }
    /// C# member: `M:LibreMetaverse.NetworkManager.LoginWithResponseAsync(LibreMetaverse.LoginParams,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<LibreMetaverse.LoginResponseData> LibreMetaverse.NetworkManager.LoginWithResponseAsync(LibreMetaverse.LoginParams loginParams, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub async fn login_with_response_with_login_params_cancellation_token(
        &self,
        login_params: libremetaverse::LoginParams,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<Option<libremetaverse::LoginResponseData>, crate::Error> {
        /* native network implementation */
        self.native_login_response_async(login_params, cancellation_token)
            .await
    }
    /// C# member: `M:LibreMetaverse.NetworkManager.LoginWithResponseAsync(System.String,System.String,System.String,System.String,System.String,System.String,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<LibreMetaverse.LoginResponseData> LibreMetaverse.NetworkManager.LoginWithResponseAsync(System.String firstName, System.String lastName, System.String password, System.String channel, System.String start, System.String version, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,owned,owned,owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub async fn login_with_response_with_string_string_string_string_string_string_cancellation_token(
        &self,
        first_name: String,
        last_name: String,
        password: String,
        channel: String,
        start: String,
        version: String,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<Option<libremetaverse::LoginResponseData>, crate::Error> {
        /* native network implementation */
        self.native_login_strings_response(
            first_name,
            last_name,
            password,
            channel,
            start,
            version,
            cancellation_token,
        )
        .await
    }
    /// C# member: `M:LibreMetaverse.NetworkManager.Logout`.
    ///
    /// C# signature: `System.Void LibreMetaverse.NetworkManager.Logout()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub fn logout_with_method(&self) -> Result<(), crate::Error> {
        /* native network implementation */
        self.native_logout()
    }
    /// C# member: `M:LibreMetaverse.NetworkManager.LogoutAsync(System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task LibreMetaverse.NetworkManager.LogoutAsync(System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub async fn logout_with_cancellation_token(
        &self,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<(), crate::Error> {
        /* native network implementation */
        self.native_logout_async(cancellation_token).await
    }
    /// C# member: `M:LibreMetaverse.NetworkManager.RefreshMac`.
    ///
    /// C# signature: `System.Void LibreMetaverse.NetworkManager.RefreshMac()`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn refresh_mac() -> Result<(), crate::Error> {
        /* native network implementation */
        Ok(crate::login::refresh_mac())
    }
    /// C# member: `M:LibreMetaverse.NetworkManager.RegisterCallback(LibreMetaverse.Packets.PacketType,System.EventHandler{LibreMetaverse.PacketReceivedEventArgs})`.
    ///
    /// C# signature: `System.Void LibreMetaverse.NetworkManager.RegisterCallback(LibreMetaverse.Packets.PacketType type, System.EventHandler<LibreMetaverse.PacketReceivedEventArgs> callback)`.
    /// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub fn register_callback_with_packet_type_event_handler(
        &self,
        type_: libremetaverse::packets::PacketType,
        callback: libremetaverse_types::compat::EventHandler<
            libremetaverse::PacketReceivedEventArgs,
        >,
    ) -> Result<(), crate::Error> {
        /* native network implementation */
        self.native_register_callback(type_, callback, true)
    }
    /// C# member: `M:LibreMetaverse.NetworkManager.RegisterCallback(LibreMetaverse.Packets.PacketType,System.EventHandler{LibreMetaverse.PacketReceivedEventArgs},System.Boolean)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.NetworkManager.RegisterCallback(LibreMetaverse.Packets.PacketType type, System.EventHandler<LibreMetaverse.PacketReceivedEventArgs> callback, System.Boolean isAsync)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub fn register_callback_with_packet_type_event_handler_boolean(
        &self,
        type_: libremetaverse::packets::PacketType,
        callback: libremetaverse_types::compat::EventHandler<
            libremetaverse::PacketReceivedEventArgs,
        >,
        is_async: bool,
    ) -> Result<(), crate::Error> {
        /* native network implementation */
        self.native_register_callback(type_, callback, is_async)
    }
    /// C# member: `M:LibreMetaverse.NetworkManager.RegisterEventCallback(System.String,LibreMetaverse.Caps.EventQueueCallback)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.NetworkManager.RegisterEventCallback(System.String capsEvent, LibreMetaverse.Caps.EventQueueCallback callback)`.
    /// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn register_event_callback(
        &self,
        caps_event: String,
        callback: libremetaverse::CapsEventQueueCallback,
    ) -> Result<(), crate::Error> {
        /* native network implementation */
        self.native_register_caps(caps_event, callback)
    }
    /// C# member: `M:LibreMetaverse.NetworkManager.RegisterLoginResponseCallback(LibreMetaverse.NetworkManager.LoginResponseCallback)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.NetworkManager.RegisterLoginResponseCallback(LibreMetaverse.NetworkManager.LoginResponseCallback callback)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub fn register_login_response_callback_with_login_response_callback(
        &self,
        callback: libremetaverse::NetworkManagerLoginResponseCallback,
    ) -> Result<(), crate::Error> {
        /* native network implementation */
        self.native_register_login_response_callback(callback, None)
    }
    /// C# member: `M:LibreMetaverse.NetworkManager.RegisterLoginResponseCallback(LibreMetaverse.NetworkManager.LoginResponseCallback,System.String[])`.
    ///
    /// C# signature: `System.Void LibreMetaverse.NetworkManager.RegisterLoginResponseCallback(LibreMetaverse.NetworkManager.LoginResponseCallback callback, System.String[] options)`.
    /// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub fn register_login_response_callback_with_login_response_callback_string_array(
        &self,
        callback: libremetaverse::NetworkManagerLoginResponseCallback,
        options: Option<Vec<String>>,
    ) -> Result<(), crate::Error> {
        /* native network implementation */
        self.native_register_login_response_callback(callback, options)
    }
    /// C# member: `M:LibreMetaverse.NetworkManager.RequestLogout`.
    ///
    /// C# signature: `System.Void LibreMetaverse.NetworkManager.RequestLogout()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn request_logout(&self) -> Result<(), crate::Error> {
        /* native network implementation */
        self.native_request_logout()
    }
    /// C# member: `M:LibreMetaverse.NetworkManager.SendPacket(LibreMetaverse.Packets.Packet)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.NetworkManager.SendPacket(LibreMetaverse.Packets.Packet packet)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub fn send_packet_with_packet(
        &self,
        packet: libremetaverse::packets::Packet,
    ) -> Result<(), crate::Error> {
        /* native network implementation */
        self.native_send_packet(packet, None)
    }
    /// C# member: `M:LibreMetaverse.NetworkManager.SendPacket(LibreMetaverse.Packets.Packet,LibreMetaverse.Simulator)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.NetworkManager.SendPacket(LibreMetaverse.Packets.Packet packet, LibreMetaverse.Simulator simulator)`.
    /// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub fn send_packet_with_packet_simulator(
        &self,
        packet: libremetaverse::packets::Packet,
        simulator: Option<libremetaverse::Simulator>,
    ) -> Result<(), crate::Error> {
        /* native network implementation */
        self.native_send_packet(packet, simulator)
    }
    /// C# member: `M:LibreMetaverse.NetworkManager.Shutdown(LibreMetaverse.NetworkManager.DisconnectType)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.NetworkManager.Shutdown(LibreMetaverse.NetworkManager.DisconnectType type)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub fn shutdown_with_disconnect_type(
        &self,
        type_: libremetaverse::NetworkManagerDisconnectType,
    ) -> Result<(), crate::Error> {
        /* native network implementation */
        self.native_shutdown(type_, format!("{type_:?}"))
    }
    /// C# member: `M:LibreMetaverse.NetworkManager.Shutdown(LibreMetaverse.NetworkManager.DisconnectType,System.String)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.NetworkManager.Shutdown(LibreMetaverse.NetworkManager.DisconnectType type, System.String message)`.
    /// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub fn shutdown_with_disconnect_type_string(
        &self,
        type_: libremetaverse::NetworkManagerDisconnectType,
        message: String,
    ) -> Result<(), crate::Error> {
        /* native network implementation */
        self.native_shutdown(type_, message)
    }
    /// C# member: `M:LibreMetaverse.NetworkManager.ShutdownAsync(LibreMetaverse.NetworkManager.DisconnectType,System.String)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task LibreMetaverse.NetworkManager.ShutdownAsync(LibreMetaverse.NetworkManager.DisconnectType type, System.String message)`.
    /// Mapping contract: ownership `shared_self,owned,owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name_with_stable_id`; kind `method`.
    pub async fn shutdown_with_disconnect_type_string_7641243c(
        &self,
        type_: libremetaverse::NetworkManagerDisconnectType,
        message: String,
    ) -> Result<(), crate::Error> {
        /* native network implementation */
        self.native_shutdown_async(type_, message).await
    }
    /// C# member: `M:LibreMetaverse.NetworkManager.StartLocation(System.String,System.Int32,System.Int32,System.Int32)`.
    ///
    /// C# signature: `System.String LibreMetaverse.NetworkManager.StartLocation(System.String sim, System.Int32 x, System.Int32 y, System.Int32 z)`.
    /// Mapping contract: ownership `owned,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn start_location(sim: String, x: i32, y: i32, z: i32) -> Result<String, crate::Error> {
        /* native network implementation */
        Ok(crate::login::start_location(&sim, x, y, z))
    }
    /// C# member: `M:LibreMetaverse.NetworkManager.UnregisterCallback(LibreMetaverse.Packets.PacketType,System.EventHandler{LibreMetaverse.PacketReceivedEventArgs})`.
    ///
    /// C# signature: `System.Void LibreMetaverse.NetworkManager.UnregisterCallback(LibreMetaverse.Packets.PacketType type, System.EventHandler<LibreMetaverse.PacketReceivedEventArgs> callback)`.
    /// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn unregister_callback(
        &self,
        type_: libremetaverse::packets::PacketType,
        callback: libremetaverse_types::compat::EventHandler<
            libremetaverse::PacketReceivedEventArgs,
        >,
    ) -> Result<(), crate::Error> {
        /* native network implementation */
        self.native_unregister_callback(type_, callback)
    }
    /// C# member: `M:LibreMetaverse.NetworkManager.UnregisterEventCallback(System.String,LibreMetaverse.Caps.EventQueueCallback)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.NetworkManager.UnregisterEventCallback(System.String capsEvent, LibreMetaverse.Caps.EventQueueCallback callback)`.
    /// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn unregister_event_callback(
        &self,
        caps_event: String,
        callback: libremetaverse::CapsEventQueueCallback,
    ) -> Result<(), crate::Error> {
        /* native network implementation */
        self.native_unregister_caps(caps_event, callback)
    }
    /// C# member: `M:LibreMetaverse.NetworkManager.UnregisterLoginResponseCallback(LibreMetaverse.NetworkManager.LoginResponseCallback)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.NetworkManager.UnregisterLoginResponseCallback(LibreMetaverse.NetworkManager.LoginResponseCallback callback)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn unregister_login_response_callback(
        &self,
        callback: libremetaverse::NetworkManagerLoginResponseCallback,
    ) -> Result<(), crate::Error> {
        /* native network implementation */
        self.native_unregister_login_response_callback(&callback)
    }
    /// C# member: `P:LibreMetaverse.NetworkManager.AccountLevelBenefits`.
    ///
    /// C# signature: `LibreMetaverse.AccountLevelBenefits LibreMetaverse.NetworkManager.AccountLevelBenefits`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn account_level_benefits(&self) -> Option<libremetaverse::AccountLevelBenefits> {
        /* native network implementation */
        self.native_account_level_benefits()
    }
    /// C# member: `P:LibreMetaverse.NetworkManager.AgentAppearanceServiceURL`.
    ///
    /// C# signature: `System.String LibreMetaverse.NetworkManager.AgentAppearanceServiceURL`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn agent_appearance_service_url(&self) -> Option<String> {
        /* native network implementation */
        self.native_agent_appearance_service_url()
    }
    /// C# member: `P:LibreMetaverse.NetworkManager.CircuitCode`.
    ///
    /// C# signature: `System.UInt32 LibreMetaverse.NetworkManager.CircuitCode`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn circuit_code(&self) -> u32 {
        /* native network implementation */
        self.native_circuit_code()
    }
    /// Setter for C# member: `P:LibreMetaverse.NetworkManager.CircuitCode`.
    pub fn set_circuit_code(&mut self, value: u32) {
        /* native network implementation */
        self.native_set_circuit_code(value)
    }
    /// C# member: `P:LibreMetaverse.NetworkManager.Connected`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.NetworkManager.Connected`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn connected(&self) -> bool {
        /* native network implementation */
        self.native_connected()
    }
    /// Setter for C# member: `P:LibreMetaverse.NetworkManager.Connected`.
    pub fn set_connected(&mut self, value: bool) {
        /* native network implementation */
        self.native_set_connected(value)
    }
    /// C# member: `P:LibreMetaverse.NetworkManager.CurrentSim`.
    ///
    /// C# signature: `LibreMetaverse.Simulator LibreMetaverse.NetworkManager.CurrentSim`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn current_sim(&self) -> Option<libremetaverse::Simulator> {
        /* native network implementation */
        self.native_current_sim()
    }
    /// Setter for C# member: `P:LibreMetaverse.NetworkManager.CurrentSim`.
    pub fn set_current_sim(&mut self, value: Option<libremetaverse::Simulator>) {
        /* native network implementation */
        self.native_set_current_sim(value)
    }
    /// C# member: `P:LibreMetaverse.NetworkManager.InboxCount`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.NetworkManager.InboxCount`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn inbox_count(&self) -> i32 {
        /* native network implementation */
        self.native_inbox_count()
    }
    /// C# member: `P:LibreMetaverse.NetworkManager.LoginErrorKey`.
    ///
    /// C# signature: `System.String LibreMetaverse.NetworkManager.LoginErrorKey`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn login_error_key(&self) -> String {
        /* native network implementation */
        self.native_login_error_key()
    }
    /// Setter for C# member: `P:LibreMetaverse.NetworkManager.LoginErrorKey`.
    pub fn set_login_error_key(&mut self, value: String) {
        /* native network implementation */
        self.native_set_login_error_key(value)
    }
    /// C# member: `P:LibreMetaverse.NetworkManager.LoginMessage`.
    ///
    /// C# signature: `System.String LibreMetaverse.NetworkManager.LoginMessage`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn login_message(&self) -> String {
        /* native network implementation */
        self.native_login_message()
    }
    /// Setter for C# member: `P:LibreMetaverse.NetworkManager.LoginMessage`.
    pub fn set_login_message(&mut self, value: String) {
        /* native network implementation */
        self.native_set_login_message(value)
    }
    /// C# member: `P:LibreMetaverse.NetworkManager.LoginSeedCapability`.
    ///
    /// C# signature: `System.Uri LibreMetaverse.NetworkManager.LoginSeedCapability`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn login_seed_capability(&self) -> Option<libremetaverse_types::compat::Uri> {
        /* native network implementation */
        self.native_login_seed_capability()
    }
    /// Setter for C# member: `P:LibreMetaverse.NetworkManager.LoginSeedCapability`.
    pub fn set_login_seed_capability(&mut self, value: Option<libremetaverse_types::compat::Uri>) {
        /* native network implementation */
        self.native_set_login_seed_capability(value)
    }
    /// C# member: `P:LibreMetaverse.NetworkManager.LoginStatusCode`.
    ///
    /// C# signature: `LibreMetaverse.LoginStatus LibreMetaverse.NetworkManager.LoginStatusCode`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn login_status_code(&self) -> libremetaverse::LoginStatus {
        /* native network implementation */
        self.native_login_status_code()
    }
    /// Setter for C# member: `P:LibreMetaverse.NetworkManager.LoginStatusCode`.
    pub fn set_login_status_code(&mut self, value: libremetaverse::LoginStatus) {
        /* native network implementation */
        self.native_set_login_status_code(value)
    }
    /// C# member: `P:LibreMetaverse.NetworkManager.MaxAgentGroups`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.NetworkManager.MaxAgentGroups`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn max_agent_groups(&self) -> i32 {
        /* native network implementation */
        self.native_max_agent_groups()
    }
    /// C# member: `P:LibreMetaverse.NetworkManager.OutboxCount`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.NetworkManager.OutboxCount`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn outbox_count(&self) -> i32 {
        /* native network implementation */
        self.native_outbox_count()
    }
}

/// C# type: `T:LibreMetaverse.NetworkManager.DisconnectType`.
///
/// Native Rust mapping of C# `LibreMetaverse.NetworkManager.DisconnectType` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(i32)]
pub enum NetworkManagerDisconnectType {
    /// C# member: `F:LibreMetaverse.NetworkManager.DisconnectType.ClientInitiated`.
    ///
    /// C# signature: `LibreMetaverse.NetworkManager.DisconnectType LibreMetaverse.NetworkManager.DisconnectType.ClientInitiated`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    ClientInitiated = 0,
    /// C# member: `F:LibreMetaverse.NetworkManager.DisconnectType.NetworkTimeout`.
    ///
    /// C# signature: `LibreMetaverse.NetworkManager.DisconnectType LibreMetaverse.NetworkManager.DisconnectType.NetworkTimeout`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    NetworkTimeout = 2,
    /// C# member: `F:LibreMetaverse.NetworkManager.DisconnectType.ServerInitiated`.
    ///
    /// C# signature: `LibreMetaverse.NetworkManager.DisconnectType LibreMetaverse.NetworkManager.DisconnectType.ServerInitiated`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    ServerInitiated = 1,
    /// C# member: `F:LibreMetaverse.NetworkManager.DisconnectType.SimShutdown`.
    ///
    /// C# signature: `LibreMetaverse.NetworkManager.DisconnectType LibreMetaverse.NetworkManager.DisconnectType.SimShutdown`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    SimShutdown = 3,
}

/// C# type: `T:LibreMetaverse.NetworkManager.IncomingPacket`.
///
/// Native Rust mapping of C# `LibreMetaverse.NetworkManager.IncomingPacket` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `F:LibreMetaverse.NetworkManager.IncomingPacket.Packet`.
///
/// C# signature: `LibreMetaverse.Packets.Packet LibreMetaverse.NetworkManager.IncomingPacket.Packet`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.NetworkManager.IncomingPacket.Simulator`.
///
/// C# signature: `LibreMetaverse.Simulator LibreMetaverse.NetworkManager.IncomingPacket.Simulator`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `M:LibreMetaverse.NetworkManager.IncomingPacket.#ctor`.
///
/// C# signature: `LibreMetaverse.NetworkManager.IncomingPacket()`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
pub use crate::network_manager::NetworkManagerIncomingPacket;

/// C# type: `T:LibreMetaverse.NetworkManager.LoginResponseCallback`.
///
/// Native Rust mapping of C# `LibreMetaverse.NetworkManager.LoginResponseCallback` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.NetworkManager.LoginResponseCallback.#ctor(System.Object,System.IntPtr)`.
///
/// C# signature: `LibreMetaverse.NetworkManager.LoginResponseCallback(System.Object object, System.IntPtr method)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.NetworkManager.LoginResponseCallback.BeginInvoke(System.Boolean,System.Boolean,System.String,System.String,LibreMetaverse.LoginResponseData,System.AsyncCallback,System.Object)`.
///
/// C# signature: `System.IAsyncResult LibreMetaverse.NetworkManager.LoginResponseCallback.BeginInvoke(System.Boolean loginSuccess, System.Boolean redirect, System.String message, System.String reason, LibreMetaverse.LoginResponseData replyData, System.AsyncCallback callback, System.Object object)`.
/// Mapping contract: ownership `shared_self,owned,owned,owned,owned,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `native_callback_replaces_delegate_apm`.
/// C# member: `M:LibreMetaverse.NetworkManager.LoginResponseCallback.EndInvoke(System.IAsyncResult)`.
///
/// C# signature: `System.Void LibreMetaverse.NetworkManager.LoginResponseCallback.EndInvoke(System.IAsyncResult result)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `native_callback_replaces_delegate_apm`.
/// C# member: `M:LibreMetaverse.NetworkManager.LoginResponseCallback.Invoke(System.Boolean,System.Boolean,System.String,System.String,LibreMetaverse.LoginResponseData)`.
///
/// C# signature: `System.Void LibreMetaverse.NetworkManager.LoginResponseCallback.Invoke(System.Boolean loginSuccess, System.Boolean redirect, System.String message, System.String reason, LibreMetaverse.LoginResponseData replyData)`.
/// Mapping contract: ownership `shared_self,owned,owned,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
pub use crate::login::NetworkManagerLoginResponseCallback;

/// C# type: `T:LibreMetaverse.NetworkManager.OutgoingPacket`.
///
/// Native Rust mapping of C# `LibreMetaverse.NetworkManager.OutgoingPacket` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `F:LibreMetaverse.NetworkManager.OutgoingPacket.Buffer`.
///
/// C# signature: `LibreMetaverse.UDPPacketBuffer LibreMetaverse.NetworkManager.OutgoingPacket.Buffer`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.NetworkManager.OutgoingPacket.ResendCount`.
///
/// C# signature: `System.Int32 LibreMetaverse.NetworkManager.OutgoingPacket.ResendCount`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.NetworkManager.OutgoingPacket.SequenceNumber`.
///
/// C# signature: `System.UInt32 LibreMetaverse.NetworkManager.OutgoingPacket.SequenceNumber`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.NetworkManager.OutgoingPacket.Simulator`.
///
/// C# signature: `LibreMetaverse.Simulator LibreMetaverse.NetworkManager.OutgoingPacket.Simulator`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.NetworkManager.OutgoingPacket.TickCount`.
///
/// C# signature: `System.Int32 LibreMetaverse.NetworkManager.OutgoingPacket.TickCount`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.NetworkManager.OutgoingPacket.Type`.
///
/// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.NetworkManager.OutgoingPacket.Type`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `M:LibreMetaverse.NetworkManager.OutgoingPacket.#ctor(LibreMetaverse.Simulator,LibreMetaverse.UDPPacketBuffer,LibreMetaverse.Packets.PacketType)`.
///
/// C# signature: `LibreMetaverse.NetworkManager.OutgoingPacket(LibreMetaverse.Simulator simulator, LibreMetaverse.UDPPacketBuffer buffer, LibreMetaverse.Packets.PacketType type)`.
/// Mapping contract: ownership `owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
pub use crate::network_manager::NetworkManagerOutgoingPacket;

/// C# type: `T:LibreMetaverse.ObjectAnimationEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.ObjectAnimationEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.ObjectAnimationEventArgs.#ctor(LibreMetaverse.Simulator,LibreMetaverse.UUID,System.Collections.Generic.List{LibreMetaverse.Animation})`.
///
/// C# signature: `LibreMetaverse.ObjectAnimationEventArgs(LibreMetaverse.Simulator simulator, LibreMetaverse.UUID objectID, System.Collections.Generic.List<LibreMetaverse.Animation> anims)`.
/// Mapping contract: ownership `owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.ObjectAnimationEventArgs.Animations`.
///
/// C# signature: `System.Collections.Generic.List<LibreMetaverse.Animation> LibreMetaverse.ObjectAnimationEventArgs.Animations`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.ObjectAnimationEventArgs.ObjectID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.ObjectAnimationEventArgs.ObjectID`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.ObjectAnimationEventArgs.Simulator`.
///
/// C# signature: `LibreMetaverse.Simulator LibreMetaverse.ObjectAnimationEventArgs.Simulator`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::object_manager::ObjectAnimationEventArgs;

/// C# type: `T:LibreMetaverse.ObjectDataBlockUpdateEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.ObjectDataBlockUpdateEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.ObjectDataBlockUpdateEventArgs.#ctor(LibreMetaverse.Simulator,LibreMetaverse.Primitive,LibreMetaverse.Primitive.ConstructionData,LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock,LibreMetaverse.ObjectMovementUpdate,LibreMetaverse.NameValue[])`.
///
/// C# signature: `LibreMetaverse.ObjectDataBlockUpdateEventArgs(LibreMetaverse.Simulator simulator, LibreMetaverse.Primitive prim, LibreMetaverse.Primitive.ConstructionData constructionData, LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock block, LibreMetaverse.ObjectMovementUpdate objectupdate, LibreMetaverse.NameValue[] nameValues)`.
/// Mapping contract: ownership `owned,owned,owned,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.ObjectDataBlockUpdateEventArgs.Block`.
///
/// C# signature: `LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock LibreMetaverse.ObjectDataBlockUpdateEventArgs.Block`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.ObjectDataBlockUpdateEventArgs.ConstructionData`.
///
/// C# signature: `LibreMetaverse.Primitive.ConstructionData LibreMetaverse.ObjectDataBlockUpdateEventArgs.ConstructionData`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.ObjectDataBlockUpdateEventArgs.NameValues`.
///
/// C# signature: `LibreMetaverse.NameValue[] LibreMetaverse.ObjectDataBlockUpdateEventArgs.NameValues`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.ObjectDataBlockUpdateEventArgs.Prim`.
///
/// C# signature: `LibreMetaverse.Primitive LibreMetaverse.ObjectDataBlockUpdateEventArgs.Prim`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.ObjectDataBlockUpdateEventArgs.Simulator`.
///
/// C# signature: `LibreMetaverse.Simulator LibreMetaverse.ObjectDataBlockUpdateEventArgs.Simulator`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.ObjectDataBlockUpdateEventArgs.Update`.
///
/// C# signature: `LibreMetaverse.ObjectMovementUpdate LibreMetaverse.ObjectDataBlockUpdateEventArgs.Update`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::object_manager::ObjectDataBlockUpdateEventArgs;

/// C# type: `T:LibreMetaverse.ObjectManager`.
///
/// Native Rust mapping of C# `LibreMetaverse.ObjectManager` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
pub use crate::object_material::ObjectManager;
impl ObjectManager {
    /// C# member: `E:LibreMetaverse.ObjectManager.AvatarSitChanged`.
    ///
    /// C# signature: `System.EventHandler<LibreMetaverse.AvatarSitChangedEventArgs> LibreMetaverse.ObjectManager.AvatarSitChanged`.
    /// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
    pub fn subscribe_avatar_sit_changed(
        &self,
        handler: libremetaverse_types::compat::EventHandler<
            libremetaverse::AvatarSitChangedEventArgs,
        >,
    ) -> libremetaverse_types::compat::Subscription {
        /* reviewed native compatibility body */
        self.native_subscribe_avatar_sit_changed(handler)
    }
    /// C# member: `E:LibreMetaverse.ObjectManager.AvatarUpdate`.
    ///
    /// C# signature: `System.EventHandler<LibreMetaverse.AvatarUpdateEventArgs> LibreMetaverse.ObjectManager.AvatarUpdate`.
    /// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
    pub fn subscribe_avatar_update(
        &self,
        handler: libremetaverse_types::compat::EventHandler<libremetaverse::AvatarUpdateEventArgs>,
    ) -> libremetaverse_types::compat::Subscription {
        /* reviewed native compatibility body */
        self.native_subscribe_avatar_update(handler)
    }
    /// C# member: `E:LibreMetaverse.ObjectManager.KillObject`.
    ///
    /// C# signature: `System.EventHandler<LibreMetaverse.KillObjectEventArgs> LibreMetaverse.ObjectManager.KillObject`.
    /// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
    pub fn subscribe_kill_object(
        &self,
        handler: libremetaverse_types::compat::EventHandler<libremetaverse::KillObjectEventArgs>,
    ) -> libremetaverse_types::compat::Subscription {
        /* reviewed native compatibility body */
        self.native_subscribe_kill_object(handler)
    }
    /// C# member: `E:LibreMetaverse.ObjectManager.KillObjects`.
    ///
    /// C# signature: `System.EventHandler<LibreMetaverse.KillObjectsEventArgs> LibreMetaverse.ObjectManager.KillObjects`.
    /// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
    pub fn subscribe_kill_objects(
        &self,
        handler: libremetaverse_types::compat::EventHandler<libremetaverse::KillObjectsEventArgs>,
    ) -> libremetaverse_types::compat::Subscription {
        /* reviewed native compatibility body */
        self.native_subscribe_kill_objects(handler)
    }
    /// C# member: `E:LibreMetaverse.ObjectManager.ObjectAnimation`.
    ///
    /// C# signature: `System.EventHandler<LibreMetaverse.ObjectAnimationEventArgs> LibreMetaverse.ObjectManager.ObjectAnimation`.
    /// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
    pub fn subscribe_object_animation(
        &self,
        handler: libremetaverse_types::compat::EventHandler<
            libremetaverse::ObjectAnimationEventArgs,
        >,
    ) -> libremetaverse_types::compat::Subscription {
        /* reviewed native compatibility body */
        self.native_subscribe_object_animation(handler)
    }
    /// C# member: `E:LibreMetaverse.ObjectManager.ObjectDataBlockUpdate`.
    ///
    /// C# signature: `System.EventHandler<LibreMetaverse.ObjectDataBlockUpdateEventArgs> LibreMetaverse.ObjectManager.ObjectDataBlockUpdate`.
    /// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
    pub fn subscribe_object_data_block_update(
        &self,
        handler: libremetaverse_types::compat::EventHandler<
            libremetaverse::ObjectDataBlockUpdateEventArgs,
        >,
    ) -> libremetaverse_types::compat::Subscription {
        /* reviewed native compatibility body */
        self.native_subscribe_object_data_block_update(handler)
    }
    /// C# member: `E:LibreMetaverse.ObjectManager.ObjectProperties`.
    ///
    /// C# signature: `System.EventHandler<LibreMetaverse.ObjectPropertiesEventArgs> LibreMetaverse.ObjectManager.ObjectProperties`.
    /// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
    pub fn subscribe_object_properties(
        &self,
        handler: libremetaverse_types::compat::EventHandler<
            libremetaverse::ObjectPropertiesEventArgs,
        >,
    ) -> libremetaverse_types::compat::Subscription {
        /* reviewed native compatibility body */
        self.native_subscribe_object_properties(handler)
    }
    /// C# member: `E:LibreMetaverse.ObjectManager.ObjectPropertiesFamily`.
    ///
    /// C# signature: `System.EventHandler<LibreMetaverse.ObjectPropertiesFamilyEventArgs> LibreMetaverse.ObjectManager.ObjectPropertiesFamily`.
    /// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
    pub fn subscribe_object_properties_family(
        &self,
        handler: libremetaverse_types::compat::EventHandler<
            libremetaverse::ObjectPropertiesFamilyEventArgs,
        >,
    ) -> libremetaverse_types::compat::Subscription {
        /* reviewed native compatibility body */
        self.native_subscribe_object_properties_family(handler)
    }
    /// C# member: `E:LibreMetaverse.ObjectManager.ObjectPropertiesUpdated`.
    ///
    /// C# signature: `System.EventHandler<LibreMetaverse.ObjectPropertiesUpdatedEventArgs> LibreMetaverse.ObjectManager.ObjectPropertiesUpdated`.
    /// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
    pub fn subscribe_object_properties_updated(
        &self,
        handler: libremetaverse_types::compat::EventHandler<
            libremetaverse::ObjectPropertiesUpdatedEventArgs,
        >,
    ) -> libremetaverse_types::compat::Subscription {
        /* reviewed native compatibility body */
        self.native_subscribe_object_properties_updated(handler)
    }
    /// C# member: `E:LibreMetaverse.ObjectManager.ObjectUpdate`.
    ///
    /// C# signature: `System.EventHandler<LibreMetaverse.PrimEventArgs> LibreMetaverse.ObjectManager.ObjectUpdate`.
    /// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
    pub fn subscribe_object_update(
        &self,
        handler: libremetaverse_types::compat::EventHandler<libremetaverse::PrimEventArgs>,
    ) -> libremetaverse_types::compat::Subscription {
        /* reviewed native compatibility body */
        self.native_subscribe_object_update(handler)
    }
    /// C# member: `E:LibreMetaverse.ObjectManager.ParticleUpdate`.
    ///
    /// C# signature: `System.EventHandler<LibreMetaverse.ParticleUpdateEventArgs> LibreMetaverse.ObjectManager.ParticleUpdate`.
    /// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
    pub fn subscribe_particle_update(
        &self,
        handler: libremetaverse_types::compat::EventHandler<
            libremetaverse::ParticleUpdateEventArgs,
        >,
    ) -> libremetaverse_types::compat::Subscription {
        /* reviewed native compatibility body */
        self.native_subscribe_particle_update(handler)
    }
    /// C# member: `E:LibreMetaverse.ObjectManager.PayPriceReply`.
    ///
    /// C# signature: `System.EventHandler<LibreMetaverse.PayPriceReplyEventArgs> LibreMetaverse.ObjectManager.PayPriceReply`.
    /// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
    pub fn subscribe_pay_price_reply(
        &self,
        handler: libremetaverse_types::compat::EventHandler<libremetaverse::PayPriceReplyEventArgs>,
    ) -> libremetaverse_types::compat::Subscription {
        /* reviewed native compatibility body */
        self.native_subscribe_pay_price_reply(handler)
    }
    /// C# member: `E:LibreMetaverse.ObjectManager.PhysicsProperties`.
    ///
    /// C# signature: `System.EventHandler<LibreMetaverse.PhysicsPropertiesEventArgs> LibreMetaverse.ObjectManager.PhysicsProperties`.
    /// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
    pub fn subscribe_physics_properties(
        &self,
        handler: libremetaverse_types::compat::EventHandler<
            libremetaverse::PhysicsPropertiesEventArgs,
        >,
    ) -> libremetaverse_types::compat::Subscription {
        /* reviewed native compatibility body */
        self.native_subscribe_physics_properties(handler)
    }
    /// C# member: `E:LibreMetaverse.ObjectManager.TerseObjectUpdate`.
    ///
    /// C# signature: `System.EventHandler<LibreMetaverse.TerseObjectUpdateEventArgs> LibreMetaverse.ObjectManager.TerseObjectUpdate`.
    /// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
    pub fn subscribe_terse_object_update(
        &self,
        handler: libremetaverse_types::compat::EventHandler<
            libremetaverse::TerseObjectUpdateEventArgs,
        >,
    ) -> libremetaverse_types::compat::Subscription {
        /* reviewed native compatibility body */
        self.native_subscribe_terse_object_update(handler)
    }
    /// C# member: `F:LibreMetaverse.ObjectManager.HAVOK_TIMESTEP`.
    ///
    /// C# signature: `System.Single LibreMetaverse.ObjectManager.HAVOK_TIMESTEP`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const HAVOK_TIMESTEP: f32 = 0.022222223;
    /// C# member: `M:LibreMetaverse.ObjectManager.#ctor(LibreMetaverse.GridClient)`.
    ///
    /// C# signature: `LibreMetaverse.ObjectManager(LibreMetaverse.GridClient client)`.
    /// Mapping contract: ownership `optional_shared`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn new(
        client: Option<std::sync::Arc<libremetaverse::GridClient>>,
    ) -> Result<Self, crate::Error> {
        /* reviewed native compatibility body */
        crate::object_material::ObjectManager::native_new(client)
    }
    /// C# member: `M:LibreMetaverse.ObjectManager.AddGrass(LibreMetaverse.Simulator,LibreMetaverse.Vector3,LibreMetaverse.Quaternion,LibreMetaverse.Vector3,LibreMetaverse.Grass,LibreMetaverse.UUID)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.ObjectManager.AddGrass(LibreMetaverse.Simulator simulator, LibreMetaverse.Vector3 scale, LibreMetaverse.Quaternion rotation, LibreMetaverse.Vector3 position, LibreMetaverse.Grass grassType, LibreMetaverse.UUID groupOwner)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn add_grass(
        &self,
        simulator: libremetaverse::Simulator,
        scale: libremetaverse_types::Vector3,
        rotation: libremetaverse_types::Quaternion,
        position: libremetaverse_types::Vector3,
        grass_type: libremetaverse::Grass,
        group_owner: libremetaverse_types::UUID,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_add_foliage(
            simulator,
            scale,
            rotation,
            position,
            grass_type as u8,
            group_owner,
            libremetaverse_types::PCode::Grass,
        )
    }
    /// C# member: `M:LibreMetaverse.ObjectManager.AddPrim(LibreMetaverse.Simulator,LibreMetaverse.Primitive.ConstructionData,LibreMetaverse.UUID,LibreMetaverse.Vector3,LibreMetaverse.Vector3,LibreMetaverse.Quaternion)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.ObjectManager.AddPrim(LibreMetaverse.Simulator simulator, LibreMetaverse.Primitive.ConstructionData prim, LibreMetaverse.UUID groupID, LibreMetaverse.Vector3 position, LibreMetaverse.Vector3 scale, LibreMetaverse.Quaternion rotation)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub fn add_prim_with_simulator_construction_data_uuid_vector3_vector3_quaternion(
        &self,
        simulator: libremetaverse::Simulator,
        prim: libremetaverse::PrimitiveConstructionData,
        group_id: libremetaverse_types::UUID,
        position: libremetaverse_types::Vector3,
        scale: libremetaverse_types::Vector3,
        rotation: libremetaverse_types::Quaternion,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_add_prim(
            simulator,
            prim,
            group_id,
            position,
            scale,
            rotation,
            libremetaverse_types::PrimFlags::CREATE_SELECTED,
        )
    }
    /// C# member: `M:LibreMetaverse.ObjectManager.AddPrim(LibreMetaverse.Simulator,LibreMetaverse.Primitive.ConstructionData,LibreMetaverse.UUID,LibreMetaverse.Vector3,LibreMetaverse.Vector3,LibreMetaverse.Quaternion,LibreMetaverse.PrimFlags)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.ObjectManager.AddPrim(LibreMetaverse.Simulator simulator, LibreMetaverse.Primitive.ConstructionData prim, LibreMetaverse.UUID groupID, LibreMetaverse.Vector3 position, LibreMetaverse.Vector3 scale, LibreMetaverse.Quaternion rotation, LibreMetaverse.PrimFlags createFlags)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,owned,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub fn add_prim_with_simulator_construction_data_uuid_vector3_vector3_quaternion_prim_flags(
        &self,
        simulator: libremetaverse::Simulator,
        prim: libremetaverse::PrimitiveConstructionData,
        group_id: libremetaverse_types::UUID,
        position: libremetaverse_types::Vector3,
        scale: libremetaverse_types::Vector3,
        rotation: libremetaverse_types::Quaternion,
        create_flags: libremetaverse_types::PrimFlags,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_add_prim(
            simulator,
            prim,
            group_id,
            position,
            scale,
            rotation,
            create_flags,
        )
    }
    /// C# member: `M:LibreMetaverse.ObjectManager.AddTree(LibreMetaverse.Simulator,LibreMetaverse.Vector3,LibreMetaverse.Quaternion,LibreMetaverse.Vector3,LibreMetaverse.Tree,LibreMetaverse.UUID,System.Boolean)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.ObjectManager.AddTree(LibreMetaverse.Simulator simulator, LibreMetaverse.Vector3 scale, LibreMetaverse.Quaternion rotation, LibreMetaverse.Vector3 position, LibreMetaverse.Tree treeType, LibreMetaverse.UUID groupOwner, System.Boolean newTree)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,owned,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn add_tree(
        &self,
        simulator: libremetaverse::Simulator,
        scale: libremetaverse_types::Vector3,
        rotation: libremetaverse_types::Quaternion,
        position: libremetaverse_types::Vector3,
        tree_type: libremetaverse::Tree,
        group_owner: libremetaverse_types::UUID,
        new_tree: bool,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_add_foliage(
            simulator,
            scale,
            rotation,
            position,
            tree_type as u8,
            group_owner,
            if new_tree {
                libremetaverse_types::PCode::NewTree
            } else {
                libremetaverse_types::PCode::Tree
            },
        )
    }
    /// C# member: `M:LibreMetaverse.ObjectManager.ApplyMaterialAsync(LibreMetaverse.Simulator,LibreMetaverse.UUID,System.Int32,LibreMetaverse.UUID,LibreMetaverse.Assets.AssetMaterial,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<System.Boolean> LibreMetaverse.ObjectManager.ApplyMaterialAsync(LibreMetaverse.Simulator sim, LibreMetaverse.UUID objectId, System.Int32 side, LibreMetaverse.UUID materialAssetId, LibreMetaverse.Assets.AssetMaterial overrideMaterial = default, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,owned,optional_owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn apply_material(
        &self,
        sim: libremetaverse::Simulator,
        object_id: libremetaverse_types::UUID,
        side: i32,
        material_asset_id: libremetaverse_types::UUID,
        override_material: Option<libremetaverse::assets::AssetMaterial>,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<bool, crate::Error> {
        /* reviewed native compatibility body */
        self.native_apply_material(
            sim,
            object_id,
            side,
            material_asset_id,
            override_material,
            cancellation_token,
        )
        .await
    }
    /// C# member: `M:LibreMetaverse.ObjectManager.AttachObject(LibreMetaverse.Simulator,System.UInt32,LibreMetaverse.AttachmentPoint,LibreMetaverse.Quaternion)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.ObjectManager.AttachObject(LibreMetaverse.Simulator simulator, System.UInt32 localID, LibreMetaverse.AttachmentPoint attachPoint, LibreMetaverse.Quaternion rotation)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn attach_object(
        &self,
        simulator: libremetaverse::Simulator,
        local_id: u32,
        attach_point: libremetaverse_types::AttachmentPoint,
        rotation: libremetaverse_types::Quaternion,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_attach(simulator, local_id, attach_point, rotation)
    }
    /// C# member: `M:LibreMetaverse.ObjectManager.BuildBasicShape(LibreMetaverse.PrimType)`.
    ///
    /// C# signature: `LibreMetaverse.Primitive.ConstructionData LibreMetaverse.ObjectManager.BuildBasicShape(LibreMetaverse.PrimType type)`.
    /// Mapping contract: ownership `owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn build_basic_shape(
        type_: libremetaverse_types::PrimType,
    ) -> Result<libremetaverse::PrimitiveConstructionData, crate::Error> {
        /* reviewed native compatibility body */
        crate::object_material::ObjectManager::native_basic_shape(type_)
    }
    /// C# member: `M:LibreMetaverse.ObjectManager.BuyObject(LibreMetaverse.Simulator,System.UInt32,LibreMetaverse.SaleType,System.Int32,LibreMetaverse.UUID,LibreMetaverse.UUID)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.ObjectManager.BuyObject(LibreMetaverse.Simulator simulator, System.UInt32 localID, LibreMetaverse.SaleType saleType, System.Int32 price, LibreMetaverse.UUID groupID, LibreMetaverse.UUID categoryID)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn buy_object(
        &self,
        simulator: libremetaverse::Simulator,
        local_id: u32,
        sale_type: libremetaverse_types::SaleType,
        price: i32,
        group_id: libremetaverse_types::UUID,
        category_id: libremetaverse_types::UUID,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_buy_object(simulator, local_id, sale_type, price, group_id, category_id)
    }
    /// C# member: `M:LibreMetaverse.ObjectManager.CleanupObjectTracking`.
    ///
    /// C# signature: `System.Void LibreMetaverse.ObjectManager.CleanupObjectTracking()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn cleanup_object_tracking(&self) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        {
            self.native_cleanup_tracking();
            Ok(())
        }
    }
    /// C# member: `M:LibreMetaverse.ObjectManager.ClearMaterialOverrideAsync(LibreMetaverse.Simulator,LibreMetaverse.UUID,System.Int32,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<System.Boolean> LibreMetaverse.ObjectManager.ClearMaterialOverrideAsync(LibreMetaverse.Simulator sim, LibreMetaverse.UUID objectId, System.Int32 side, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn clear_material_override(
        &self,
        sim: libremetaverse::Simulator,
        object_id: libremetaverse_types::UUID,
        side: i32,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<bool, crate::Error> {
        /* reviewed native compatibility body */
        self.native_clear_material_override(sim, object_id, side, cancellation_token)
            .await
    }
    /// C# member: `M:LibreMetaverse.ObjectManager.ClickObjectAsync(LibreMetaverse.Simulator,System.UInt32,LibreMetaverse.Vector3,LibreMetaverse.Vector3,System.Int32,LibreMetaverse.Vector3,LibreMetaverse.Vector3,LibreMetaverse.Vector3,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task LibreMetaverse.ObjectManager.ClickObjectAsync(LibreMetaverse.Simulator simulator, System.UInt32 localID, LibreMetaverse.Vector3 uvCoord, LibreMetaverse.Vector3 stCoord, System.Int32 faceIndex, LibreMetaverse.Vector3 position, LibreMetaverse.Vector3 normal, LibreMetaverse.Vector3 binormal, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,owned,owned,owned,owned,owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub async fn click_object_with_simulator_u_int32_vector3_vector3_int32_vector3_vector3_vector3_cancellation_token(
        &self,
        simulator: libremetaverse::Simulator,
        local_id: u32,
        uv_coord: libremetaverse_types::Vector3,
        st_coord: libremetaverse_types::Vector3,
        face_index: i32,
        position: libremetaverse_types::Vector3,
        normal: libremetaverse_types::Vector3,
        binormal: libremetaverse_types::Vector3,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_click_object(
            simulator,
            local_id,
            uv_coord,
            st_coord,
            face_index,
            position,
            normal,
            binormal,
            cancellation_token,
        )
        .await
    }
    /// C# member: `M:LibreMetaverse.ObjectManager.ClickObjectAsync(LibreMetaverse.Simulator,System.UInt32,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task LibreMetaverse.ObjectManager.ClickObjectAsync(LibreMetaverse.Simulator simulator, System.UInt32 localID, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub async fn click_object_with_simulator_u_int32_cancellation_token(
        &self,
        simulator: libremetaverse::Simulator,
        local_id: u32,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_click_object(
            simulator,
            local_id,
            libremetaverse_types::Vector3::zero(),
            libremetaverse_types::Vector3::zero(),
            0,
            libremetaverse_types::Vector3::zero(),
            libremetaverse_types::Vector3::zero(),
            libremetaverse_types::Vector3::zero(),
            cancellation_token,
        )
        .await
    }
    /// C# member: `M:LibreMetaverse.ObjectManager.DeedObject(LibreMetaverse.Simulator,System.UInt32,LibreMetaverse.UUID)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.ObjectManager.DeedObject(LibreMetaverse.Simulator simulator, System.UInt32 localID, LibreMetaverse.UUID groupOwner)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn deed_object(
        &self,
        simulator: libremetaverse::Simulator,
        local_id: u32,
        group_owner: libremetaverse_types::UUID,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_deed_objects(simulator, vec![local_id], group_owner)
    }
    /// C# member: `M:LibreMetaverse.ObjectManager.DeedObjects(LibreMetaverse.Simulator,System.Collections.Generic.List{System.UInt32},LibreMetaverse.UUID)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.ObjectManager.DeedObjects(LibreMetaverse.Simulator simulator, System.Collections.Generic.List<System.UInt32> localIDs, LibreMetaverse.UUID groupOwner)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn deed_objects(
        &self,
        simulator: libremetaverse::Simulator,
        local_i_ds: Vec<u32>,
        group_owner: libremetaverse_types::UUID,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_deed_objects(simulator, local_i_ds, group_owner)
    }
    /// C# member: `M:LibreMetaverse.ObjectManager.DelinkPrims(LibreMetaverse.Simulator,System.Collections.Generic.List{System.UInt32})`.
    ///
    /// C# signature: `System.Void LibreMetaverse.ObjectManager.DelinkPrims(LibreMetaverse.Simulator simulator, System.Collections.Generic.List<System.UInt32> localIDs)`.
    /// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn delink_prims(
        &self,
        simulator: libremetaverse::Simulator,
        local_i_ds: Vec<u32>,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_link_objects(simulator, local_i_ds, false)
    }
    /// C# member: `M:LibreMetaverse.ObjectManager.DeselectObject(LibreMetaverse.Simulator,System.UInt32)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.ObjectManager.DeselectObject(LibreMetaverse.Simulator simulator, System.UInt32 localID)`.
    /// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn deselect_object(
        &self,
        simulator: libremetaverse::Simulator,
        local_id: u32,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_deselect_objects(simulator, vec![local_id])
    }
    /// C# member: `M:LibreMetaverse.ObjectManager.DeselectObjects(LibreMetaverse.Simulator,System.UInt32[])`.
    ///
    /// C# signature: `System.Void LibreMetaverse.ObjectManager.DeselectObjects(LibreMetaverse.Simulator simulator, System.UInt32[] localIDs)`.
    /// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn deselect_objects(
        &self,
        simulator: libremetaverse::Simulator,
        local_i_ds: Vec<u32>,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_deselect_objects(simulator, local_i_ds)
    }
    /// C# member: `M:LibreMetaverse.ObjectManager.DetachObjects(LibreMetaverse.Simulator,System.Collections.Generic.List{System.UInt32})`.
    ///
    /// C# signature: `System.Void LibreMetaverse.ObjectManager.DetachObjects(LibreMetaverse.Simulator simulator, System.Collections.Generic.List<System.UInt32> localIDs)`.
    /// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn detach_objects(
        &self,
        simulator: libremetaverse::Simulator,
        local_i_ds: Vec<u32>,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_attachment_action(simulator, local_i_ds, false)
    }
    /// C# member: `M:LibreMetaverse.ObjectManager.Dispose`.
    ///
    /// C# signature: `System.Void LibreMetaverse.ObjectManager.Dispose()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn dispose(&self) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        {
            self.native_dispose();
            Ok(())
        }
    }
    /// C# member: `M:LibreMetaverse.ObjectManager.DropObject(LibreMetaverse.Simulator,System.UInt32)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.ObjectManager.DropObject(LibreMetaverse.Simulator simulator, System.UInt32 localID)`.
    /// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn drop_object(
        &self,
        simulator: libremetaverse::Simulator,
        local_id: u32,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_attachment_action(simulator, vec![local_id], true)
    }
    /// C# member: `M:LibreMetaverse.ObjectManager.GetPrimitive(LibreMetaverse.Simulator,System.UInt32,LibreMetaverse.UUID,System.Boolean)`.
    ///
    /// C# signature: `LibreMetaverse.Primitive LibreMetaverse.ObjectManager.GetPrimitive(LibreMetaverse.Simulator simulator, System.UInt32 localID, LibreMetaverse.UUID fullID, System.Boolean createIfMissing)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn get_primitive(
        &self,
        simulator: libremetaverse::Simulator,
        local_id: u32,
        full_id: libremetaverse_types::UUID,
        create_if_missing: bool,
    ) -> Result<libremetaverse::Primitive, crate::Error> {
        /* reviewed native compatibility body */
        self.native_get_primitive(simulator, local_id, full_id, create_if_missing)
    }
    /// C# member: `M:LibreMetaverse.ObjectManager.GetSimulatorsForObject(LibreMetaverse.UUID)`.
    ///
    /// C# signature: `System.Collections.Generic.List<LibreMetaverse.Simulator> LibreMetaverse.ObjectManager.GetSimulatorsForObject(LibreMetaverse.UUID objectID)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn get_simulators_for_object(
        &self,
        object_id: libremetaverse_types::UUID,
    ) -> Result<Vec<libremetaverse::Simulator>, crate::Error> {
        /* reviewed native compatibility body */
        Ok(self.native_simulators_for(object_id))
    }
    /// C# member: `M:LibreMetaverse.ObjectManager.IsNearBorder(LibreMetaverse.Vector3,System.UInt32,System.UInt32,System.Single)`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.ObjectManager.IsNearBorder(LibreMetaverse.Vector3 position, System.UInt32 regionSizeX, System.UInt32 regionSizeY, System.Single threshold = default)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,optional_owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn is_near_border(
        &self,
        position: libremetaverse_types::Vector3,
        region_size_x: u32,
        region_size_y: u32,
        threshold: Option<f32>,
    ) -> Result<bool, crate::Error> {
        /* reviewed native compatibility body */
        crate::object_material::ObjectManager::native_is_near_border(
            position,
            region_size_x,
            region_size_y,
            threshold,
        )
    }
    /// C# member: `M:LibreMetaverse.ObjectManager.LinkPrims(LibreMetaverse.Simulator,System.Collections.Generic.List{System.UInt32})`.
    ///
    /// C# signature: `System.Void LibreMetaverse.ObjectManager.LinkPrims(LibreMetaverse.Simulator simulator, System.Collections.Generic.List<System.UInt32> localIDs)`.
    /// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn link_prims(
        &self,
        simulator: libremetaverse::Simulator,
        local_i_ds: Vec<u32>,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_link_objects(simulator, local_i_ds, true)
    }
    /// C# member: `M:LibreMetaverse.ObjectManager.NavigateObjectMediaAsync(LibreMetaverse.UUID,System.Int32,System.String,LibreMetaverse.Simulator,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task LibreMetaverse.ObjectManager.NavigateObjectMediaAsync(LibreMetaverse.UUID primID, System.Int32 face, System.String newURL, LibreMetaverse.Simulator sim, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn navigate_object_media(
        &self,
        prim_id: libremetaverse_types::UUID,
        face: i32,
        new_url: String,
        sim: libremetaverse::Simulator,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_navigate_object_media(prim_id, face, new_url, sim, cancellation_token)
            .await
    }
    /// C# member: `M:LibreMetaverse.ObjectManager.RequestMaterialsAsync(LibreMetaverse.Simulator,System.Collections.Generic.IEnumerable{LibreMetaverse.UUID},System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<System.Collections.Generic.IEnumerable<LibreMetaverse.Materials.LegacyMaterial>> LibreMetaverse.ObjectManager.RequestMaterialsAsync(LibreMetaverse.Simulator sim, System.Collections.Generic.IEnumerable<LibreMetaverse.UUID> materials, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub async fn request_materials_with_simulator_i_enumerable_cancellation_token(
        &self,
        sim: libremetaverse::Simulator,
        materials: Box<dyn Iterator<Item = libremetaverse_types::UUID>>,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<Box<dyn Iterator<Item = libremetaverse::materials::LegacyMaterial>>, crate::Error>
    {
        /* reviewed native compatibility body */
        self.native_request_materials(sim, Some(materials.collect()), cancellation_token)
            .await
    }
    /// C# member: `M:LibreMetaverse.ObjectManager.RequestMaterialsAsync(LibreMetaverse.Simulator,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<System.Collections.Generic.IEnumerable<LibreMetaverse.Materials.LegacyMaterial>> LibreMetaverse.ObjectManager.RequestMaterialsAsync(LibreMetaverse.Simulator sim, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub async fn request_materials_with_simulator_cancellation_token(
        &self,
        sim: libremetaverse::Simulator,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<Box<dyn Iterator<Item = libremetaverse::materials::LegacyMaterial>>, crate::Error>
    {
        /* reviewed native compatibility body */
        self.native_request_materials(sim, None, cancellation_token)
            .await
    }
    /// C# member: `M:LibreMetaverse.ObjectManager.RequestObject(LibreMetaverse.Simulator,System.UInt32)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.ObjectManager.RequestObject(LibreMetaverse.Simulator simulator, System.UInt32 localID)`.
    /// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn request_object(
        &self,
        simulator: libremetaverse::Simulator,
        local_id: u32,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_request_objects(simulator, vec![local_id])
    }
    /// C# member: `M:LibreMetaverse.ObjectManager.RequestObjectMediaAsync(LibreMetaverse.UUID,LibreMetaverse.Simulator,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<System.ValueTuple<System.Boolean, System.String, LibreMetaverse.MediaEntry[]>> LibreMetaverse.ObjectManager.RequestObjectMediaAsync(LibreMetaverse.UUID primID, LibreMetaverse.Simulator sim, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn request_object_media(
        &self,
        prim_id: libremetaverse_types::UUID,
        sim: libremetaverse::Simulator,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<(bool, String, Option<Vec<libremetaverse::MediaEntry>>), crate::Error> {
        /* reviewed native compatibility body */
        self.native_request_object_media(prim_id, sim, cancellation_token)
            .await
    }
    /// C# member: `M:LibreMetaverse.ObjectManager.RequestObjectPropertiesFamily(LibreMetaverse.Simulator,LibreMetaverse.UUID)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.ObjectManager.RequestObjectPropertiesFamily(LibreMetaverse.Simulator simulator, LibreMetaverse.UUID objectID)`.
    /// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub fn request_object_properties_family_with_simulator_uuid(
        &self,
        simulator: libremetaverse::Simulator,
        object_id: libremetaverse_types::UUID,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_request_properties_family(simulator, object_id, true)
    }
    /// C# member: `M:LibreMetaverse.ObjectManager.RequestObjectPropertiesFamily(LibreMetaverse.Simulator,LibreMetaverse.UUID,System.Boolean)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.ObjectManager.RequestObjectPropertiesFamily(LibreMetaverse.Simulator simulator, LibreMetaverse.UUID objectID, System.Boolean reliable)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub fn request_object_properties_family_with_simulator_uuid_boolean(
        &self,
        simulator: libremetaverse::Simulator,
        object_id: libremetaverse_types::UUID,
        reliable: bool,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_request_properties_family(simulator, object_id, reliable)
    }
    /// C# member: `M:LibreMetaverse.ObjectManager.RequestObjects(LibreMetaverse.Simulator,System.Collections.Generic.List{System.UInt32})`.
    ///
    /// C# signature: `System.Void LibreMetaverse.ObjectManager.RequestObjects(LibreMetaverse.Simulator simulator, System.Collections.Generic.List<System.UInt32> localIDs)`.
    /// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn request_objects(
        &self,
        simulator: libremetaverse::Simulator,
        local_i_ds: Vec<u32>,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_request_objects(simulator, local_i_ds)
    }
    /// C# member: `M:LibreMetaverse.ObjectManager.RequestPayPrice(LibreMetaverse.Simulator,LibreMetaverse.UUID)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.ObjectManager.RequestPayPrice(LibreMetaverse.Simulator simulator, LibreMetaverse.UUID objectID)`.
    /// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn request_pay_price(
        &self,
        simulator: libremetaverse::Simulator,
        object_id: libremetaverse_types::UUID,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_request_pay_price(simulator, object_id)
    }
    /// C# member: `M:LibreMetaverse.ObjectManager.SelectObject(LibreMetaverse.Simulator,System.UInt32)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.ObjectManager.SelectObject(LibreMetaverse.Simulator simulator, System.UInt32 localID)`.
    /// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub fn select_object_with_simulator_u_int32(
        &self,
        simulator: libremetaverse::Simulator,
        local_id: u32,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_select_objects(simulator, vec![local_id], true)
    }
    /// C# member: `M:LibreMetaverse.ObjectManager.SelectObject(LibreMetaverse.Simulator,System.UInt32,System.Boolean)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.ObjectManager.SelectObject(LibreMetaverse.Simulator simulator, System.UInt32 localID, System.Boolean automaticDeselect)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub fn select_object_with_simulator_u_int32_boolean(
        &self,
        simulator: libremetaverse::Simulator,
        local_id: u32,
        automatic_deselect: bool,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_select_objects(simulator, vec![local_id], automatic_deselect)
    }
    /// C# member: `M:LibreMetaverse.ObjectManager.SelectObjects(LibreMetaverse.Simulator,System.UInt32[])`.
    ///
    /// C# signature: `System.Void LibreMetaverse.ObjectManager.SelectObjects(LibreMetaverse.Simulator simulator, System.UInt32[] localIDs)`.
    /// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub fn select_objects_with_simulator_u_int32_array(
        &self,
        simulator: libremetaverse::Simulator,
        local_i_ds: Vec<u32>,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_select_objects(simulator, local_i_ds, true)
    }
    /// C# member: `M:LibreMetaverse.ObjectManager.SelectObjects(LibreMetaverse.Simulator,System.UInt32[],System.Boolean)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.ObjectManager.SelectObjects(LibreMetaverse.Simulator simulator, System.UInt32[] localIDs, System.Boolean automaticDeselect)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub fn select_objects_with_simulator_u_int32_array_boolean(
        &self,
        simulator: libremetaverse::Simulator,
        local_i_ds: Vec<u32>,
        automatic_deselect: bool,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_select_objects(simulator, local_i_ds, automatic_deselect)
    }
    /// C# member: `M:LibreMetaverse.ObjectManager.SendMaterialUpdatesAsync(LibreMetaverse.Simulator,System.Collections.Generic.IEnumerable{LibreMetaverse.GLTFMaterialUpdate},System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<System.Boolean> LibreMetaverse.ObjectManager.SendMaterialUpdatesAsync(LibreMetaverse.Simulator sim, System.Collections.Generic.IEnumerable<LibreMetaverse.GLTFMaterialUpdate> updates, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn send_material_updates(
        &self,
        sim: libremetaverse::Simulator,
        updates: Box<dyn Iterator<Item = libremetaverse::GLTFMaterialUpdate>>,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<bool, crate::Error> {
        /* reviewed native compatibility body */
        self.native_send_material_updates(sim, updates, cancellation_token)
            .await
    }
    /// C# member: `M:LibreMetaverse.ObjectManager.SetDescription(LibreMetaverse.Simulator,System.UInt32,System.String)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.ObjectManager.SetDescription(LibreMetaverse.Simulator simulator, System.UInt32 localID, System.String description)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn set_description(
        &self,
        simulator: libremetaverse::Simulator,
        local_id: u32,
        description: String,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_set_descriptions(simulator, vec![local_id], vec![description])
    }
    /// C# member: `M:LibreMetaverse.ObjectManager.SetDescriptions(LibreMetaverse.Simulator,System.UInt32[],System.String[])`.
    ///
    /// C# signature: `System.Void LibreMetaverse.ObjectManager.SetDescriptions(LibreMetaverse.Simulator simulator, System.UInt32[] localIDs, System.String[] descriptions)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn set_descriptions(
        &self,
        simulator: libremetaverse::Simulator,
        local_i_ds: Vec<u32>,
        descriptions: Vec<String>,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_set_descriptions(simulator, local_i_ds, descriptions)
    }
    /// C# member: `M:LibreMetaverse.ObjectManager.SetExtraParamOff(LibreMetaverse.Simulator,System.UInt32,LibreMetaverse.ExtraParamType)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.ObjectManager.SetExtraParamOff(LibreMetaverse.Simulator simulator, System.UInt32 localID, LibreMetaverse.ExtraParamType type)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn set_extra_param_off(
        &self,
        simulator: libremetaverse::Simulator,
        local_id: u32,
        type_: libremetaverse_types::ExtraParamType,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_set_extra_param(simulator, local_id, type_, false, Vec::new())
    }
    /// C# member: `M:LibreMetaverse.ObjectManager.SetFlags(LibreMetaverse.Simulator,System.UInt32,System.Boolean,System.Boolean,System.Boolean,System.Boolean)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.ObjectManager.SetFlags(LibreMetaverse.Simulator simulator, System.UInt32 localID, System.Boolean physical, System.Boolean temporary, System.Boolean phantom, System.Boolean castsShadow)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub fn set_flags_with_simulator_u_int32_boolean_boolean_boolean_boolean(
        &self,
        simulator: libremetaverse::Simulator,
        local_id: u32,
        physical: bool,
        temporary: bool,
        phantom: bool,
        casts_shadow: bool,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_set_flags(
            simulator,
            local_id,
            physical,
            temporary,
            phantom,
            casts_shadow,
            libremetaverse_types::PhysicsShapeType::Prim,
            1000.0,
            0.6,
            0.5,
            1.0,
        )
    }
    /// C# member: `M:LibreMetaverse.ObjectManager.SetFlags(LibreMetaverse.Simulator,System.UInt32,System.Boolean,System.Boolean,System.Boolean,System.Boolean,LibreMetaverse.PhysicsShapeType,System.Single,System.Single,System.Single,System.Single)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.ObjectManager.SetFlags(LibreMetaverse.Simulator simulator, System.UInt32 localID, System.Boolean physical, System.Boolean temporary, System.Boolean phantom, System.Boolean castsShadow, LibreMetaverse.PhysicsShapeType physicsType, System.Single density, System.Single friction, System.Single restitution, System.Single gravityMultiplier)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,owned,owned,owned,owned,owned,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub fn set_flags_with_simulator_u_int32_boolean_boolean_boolean_boolean_physics_shape_type_single_single_single_single(
        &self,
        simulator: libremetaverse::Simulator,
        local_id: u32,
        physical: bool,
        temporary: bool,
        phantom: bool,
        casts_shadow: bool,
        physics_type: libremetaverse_types::PhysicsShapeType,
        density: f32,
        friction: f32,
        restitution: f32,
        gravity_multiplier: f32,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_set_flags(
            simulator,
            local_id,
            physical,
            temporary,
            phantom,
            casts_shadow,
            physics_type,
            density,
            friction,
            restitution,
            gravity_multiplier,
        )
    }
    /// C# member: `M:LibreMetaverse.ObjectManager.SetFlexible(LibreMetaverse.Simulator,System.UInt32,LibreMetaverse.Primitive.FlexibleData)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.ObjectManager.SetFlexible(LibreMetaverse.Simulator simulator, System.UInt32 localID, LibreMetaverse.Primitive.FlexibleData flexible)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn set_flexible(
        &self,
        simulator: libremetaverse::Simulator,
        local_id: u32,
        flexible: libremetaverse::PrimitiveFlexibleData,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        {
            let data = flexible.get_bytes()?;
            self.native_set_extra_param(
                simulator,
                local_id,
                libremetaverse_types::ExtraParamType::FLEXIBLE,
                true,
                data,
            )
        }
    }
    /// C# member: `M:LibreMetaverse.ObjectManager.SetLight(LibreMetaverse.Simulator,System.UInt32,LibreMetaverse.Primitive.LightData)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.ObjectManager.SetLight(LibreMetaverse.Simulator simulator, System.UInt32 localID, LibreMetaverse.Primitive.LightData light)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn set_light(
        &self,
        simulator: libremetaverse::Simulator,
        local_id: u32,
        light: libremetaverse::PrimitiveLightData,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        {
            let in_use = light.intensity != 0.0;
            let data = light.get_bytes()?;
            self.native_set_extra_param(
                simulator,
                local_id,
                libremetaverse_types::ExtraParamType::LIGHT,
                in_use,
                data,
            )
        }
    }
    /// C# member: `M:LibreMetaverse.ObjectManager.SetMaterial(LibreMetaverse.Simulator,System.UInt32,LibreMetaverse.Material)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.ObjectManager.SetMaterial(LibreMetaverse.Simulator simulator, System.UInt32 localID, LibreMetaverse.Material material)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn set_material(
        &self,
        simulator: libremetaverse::Simulator,
        local_id: u32,
        material: libremetaverse_types::Material,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_set_material(simulator, local_id, material)
    }
    /// C# member: `M:LibreMetaverse.ObjectManager.SetMaterialOverrideAsync(LibreMetaverse.Simulator,LibreMetaverse.UUID,System.Int32,LibreMetaverse.Assets.AssetMaterial,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<System.Boolean> LibreMetaverse.ObjectManager.SetMaterialOverrideAsync(LibreMetaverse.Simulator sim, LibreMetaverse.UUID objectId, System.Int32 side, LibreMetaverse.Assets.AssetMaterial overrideMaterial, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn set_material_override(
        &self,
        sim: libremetaverse::Simulator,
        object_id: libremetaverse_types::UUID,
        side: i32,
        override_material: libremetaverse::assets::AssetMaterial,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<bool, crate::Error> {
        /* reviewed native compatibility body */
        self.native_set_material_override(
            sim,
            object_id,
            side,
            override_material,
            cancellation_token,
        )
        .await
    }
    /// C# member: `M:LibreMetaverse.ObjectManager.SetName(LibreMetaverse.Simulator,System.UInt32,System.String)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.ObjectManager.SetName(LibreMetaverse.Simulator simulator, System.UInt32 localID, System.String name)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn set_name(
        &self,
        simulator: libremetaverse::Simulator,
        local_id: u32,
        name: String,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_set_names(simulator, vec![local_id], vec![name])
    }
    /// C# member: `M:LibreMetaverse.ObjectManager.SetNames(LibreMetaverse.Simulator,System.UInt32[],System.String[])`.
    ///
    /// C# signature: `System.Void LibreMetaverse.ObjectManager.SetNames(LibreMetaverse.Simulator simulator, System.UInt32[] localIDs, System.String[] names)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn set_names(
        &self,
        simulator: libremetaverse::Simulator,
        local_i_ds: Vec<u32>,
        names: Vec<String>,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_set_names(simulator, local_i_ds, names)
    }
    /// C# member: `M:LibreMetaverse.ObjectManager.SetObjectsGroup(LibreMetaverse.Simulator,System.Collections.Generic.List{System.UInt32},LibreMetaverse.UUID)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.ObjectManager.SetObjectsGroup(LibreMetaverse.Simulator simulator, System.Collections.Generic.List<System.UInt32> localIds, LibreMetaverse.UUID groupID)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn set_objects_group(
        &self,
        simulator: libremetaverse::Simulator,
        local_ids: Vec<u32>,
        group_id: libremetaverse_types::UUID,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_set_group(simulator, local_ids, group_id)
    }
    /// C# member: `M:LibreMetaverse.ObjectManager.SetPermissions(LibreMetaverse.Simulator,System.Collections.Generic.List{System.UInt32},LibreMetaverse.PermissionWho,LibreMetaverse.PermissionMask,System.Boolean)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.ObjectManager.SetPermissions(LibreMetaverse.Simulator simulator, System.Collections.Generic.List<System.UInt32> localIDs, LibreMetaverse.PermissionWho who, LibreMetaverse.PermissionMask permissions, System.Boolean set)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn set_permissions(
        &self,
        simulator: libremetaverse::Simulator,
        local_i_ds: Vec<u32>,
        who: libremetaverse::PermissionWho,
        permissions: libremetaverse::PermissionMask,
        set: bool,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_set_permissions(simulator, local_i_ds, who, permissions, set)
    }
    /// C# member: `M:LibreMetaverse.ObjectManager.SetPosition(LibreMetaverse.Simulator,System.UInt32,LibreMetaverse.Vector3)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.ObjectManager.SetPosition(LibreMetaverse.Simulator simulator, System.UInt32 localID, LibreMetaverse.Vector3 position)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub fn set_position_with_simulator_u_int32_vector3(
        &self,
        simulator: libremetaverse::Simulator,
        local_id: u32,
        position: libremetaverse_types::Vector3,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_update_vector(
            simulator,
            local_id,
            position,
            crate::UpdateType(crate::UpdateType::POSITION.0 | crate::UpdateType::LINKED.0),
        )
    }
    /// C# member: `M:LibreMetaverse.ObjectManager.SetPosition(LibreMetaverse.Simulator,System.UInt32,LibreMetaverse.Vector3,System.Boolean)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.ObjectManager.SetPosition(LibreMetaverse.Simulator simulator, System.UInt32 localID, LibreMetaverse.Vector3 position, System.Boolean childOnly)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub fn set_position_with_simulator_u_int32_vector3_boolean(
        &self,
        simulator: libremetaverse::Simulator,
        local_id: u32,
        position: libremetaverse_types::Vector3,
        child_only: bool,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_update_vector(
            simulator,
            local_id,
            position,
            crate::UpdateType(
                crate::UpdateType::POSITION.0
                    | if child_only {
                        0
                    } else {
                        crate::UpdateType::LINKED.0
                    },
            ),
        )
    }
    /// C# member: `M:LibreMetaverse.ObjectManager.SetRotation(LibreMetaverse.Simulator,System.UInt32,LibreMetaverse.Quaternion)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.ObjectManager.SetRotation(LibreMetaverse.Simulator simulator, System.UInt32 localID, LibreMetaverse.Quaternion rotation)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub fn set_rotation_with_simulator_u_int32_quaternion(
        &self,
        simulator: libremetaverse::Simulator,
        local_id: u32,
        rotation: libremetaverse_types::Quaternion,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_update_rotation(simulator, local_id, rotation, false)
    }
    /// C# member: `M:LibreMetaverse.ObjectManager.SetRotation(LibreMetaverse.Simulator,System.UInt32,LibreMetaverse.Quaternion,System.Boolean)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.ObjectManager.SetRotation(LibreMetaverse.Simulator simulator, System.UInt32 localID, LibreMetaverse.Quaternion quat, System.Boolean childOnly)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub fn set_rotation_with_simulator_u_int32_quaternion_boolean(
        &self,
        simulator: libremetaverse::Simulator,
        local_id: u32,
        quat: libremetaverse_types::Quaternion,
        child_only: bool,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_update_rotation(simulator, local_id, quat, child_only)
    }
    /// C# member: `M:LibreMetaverse.ObjectManager.SetSaleInfo(LibreMetaverse.Simulator,System.Collections.Generic.List{System.UInt32},LibreMetaverse.SaleType,System.Int32)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.ObjectManager.SetSaleInfo(LibreMetaverse.Simulator simulator, System.Collections.Generic.List<System.UInt32> localIDs, LibreMetaverse.SaleType saleType, System.Int32 price)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub fn set_sale_info_with_simulator_list_sale_type_int32(
        &self,
        simulator: libremetaverse::Simulator,
        local_i_ds: Vec<u32>,
        sale_type: libremetaverse_types::SaleType,
        price: i32,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_set_sale_info(simulator, local_i_ds, sale_type, price)
    }
    /// C# member: `M:LibreMetaverse.ObjectManager.SetSaleInfo(LibreMetaverse.Simulator,System.UInt32,LibreMetaverse.SaleType,System.Int32)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.ObjectManager.SetSaleInfo(LibreMetaverse.Simulator simulator, System.UInt32 localID, LibreMetaverse.SaleType saleType, System.Int32 price)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub fn set_sale_info_with_simulator_u_int32_sale_type_int32(
        &self,
        simulator: libremetaverse::Simulator,
        local_id: u32,
        sale_type: libremetaverse_types::SaleType,
        price: i32,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_set_sale_info(simulator, vec![local_id], sale_type, price)
    }
    /// C# member: `M:LibreMetaverse.ObjectManager.SetScale(LibreMetaverse.Simulator,System.UInt32,LibreMetaverse.Vector3,System.Boolean,System.Boolean)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.ObjectManager.SetScale(LibreMetaverse.Simulator simulator, System.UInt32 localID, LibreMetaverse.Vector3 scale, System.Boolean childOnly, System.Boolean uniform)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn set_scale(
        &self,
        simulator: libremetaverse::Simulator,
        local_id: u32,
        scale: libremetaverse_types::Vector3,
        child_only: bool,
        uniform: bool,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_update_vector(
            simulator,
            local_id,
            scale,
            crate::UpdateType(
                crate::UpdateType::SCALE.0
                    | if child_only {
                        0
                    } else {
                        crate::UpdateType::LINKED.0
                    }
                    | if uniform {
                        crate::UpdateType::UNIFORM.0
                    } else {
                        0
                    },
            ),
        )
    }
    /// C# member: `M:LibreMetaverse.ObjectManager.SetSculpt(LibreMetaverse.Simulator,System.UInt32,LibreMetaverse.Primitive.SculptData)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.ObjectManager.SetSculpt(LibreMetaverse.Simulator simulator, System.UInt32 localID, LibreMetaverse.Primitive.SculptData sculpt)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn set_sculpt(
        &self,
        simulator: libremetaverse::Simulator,
        local_id: u32,
        sculpt: libremetaverse::PrimitiveSculptData,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_set_sculpt(simulator, local_id, sculpt)
    }
    /// C# member: `M:LibreMetaverse.ObjectManager.SetShape(LibreMetaverse.Simulator,System.UInt32,LibreMetaverse.Primitive.ConstructionData)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.ObjectManager.SetShape(LibreMetaverse.Simulator simulator, System.UInt32 localID, LibreMetaverse.Primitive.ConstructionData prim)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn set_shape(
        &self,
        simulator: libremetaverse::Simulator,
        local_id: u32,
        prim: libremetaverse::PrimitiveConstructionData,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_set_shape(simulator, local_id, prim)
    }
    /// C# member: `M:LibreMetaverse.ObjectManager.SetTextures(LibreMetaverse.Simulator,System.UInt32,LibreMetaverse.Primitive.TextureEntry)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.ObjectManager.SetTextures(LibreMetaverse.Simulator simulator, System.UInt32 localID, LibreMetaverse.Primitive.TextureEntry textures)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub fn set_textures_with_simulator_u_int32_texture_entry(
        &self,
        simulator: libremetaverse::Simulator,
        local_id: u32,
        textures: libremetaverse::PrimitiveTextureEntry,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_set_textures(simulator, local_id, textures, String::new())
    }
    /// C# member: `M:LibreMetaverse.ObjectManager.SetTextures(LibreMetaverse.Simulator,System.UInt32,LibreMetaverse.Primitive.TextureEntry,System.String)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.ObjectManager.SetTextures(LibreMetaverse.Simulator simulator, System.UInt32 localID, LibreMetaverse.Primitive.TextureEntry textures, System.String mediaUrl)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub fn set_textures_with_simulator_u_int32_texture_entry_string(
        &self,
        simulator: libremetaverse::Simulator,
        local_id: u32,
        textures: libremetaverse::PrimitiveTextureEntry,
        media_url: String,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_set_textures(simulator, local_id, textures, media_url)
    }
    /// C# member: `M:LibreMetaverse.ObjectManager.TrackObjectInSimulator(LibreMetaverse.UUID,LibreMetaverse.Simulator)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.ObjectManager.TrackObjectInSimulator(LibreMetaverse.UUID objectID, LibreMetaverse.Simulator sim)`.
    /// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn track_object_in_simulator(
        &self,
        object_id: libremetaverse_types::UUID,
        sim: libremetaverse::Simulator,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        {
            self.native_track(object_id, sim);
            Ok(())
        }
    }
    /// C# member: `M:LibreMetaverse.ObjectManager.UntrackObjectInSimulator(LibreMetaverse.UUID,LibreMetaverse.Simulator)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.ObjectManager.UntrackObjectInSimulator(LibreMetaverse.UUID objectID, LibreMetaverse.Simulator sim)`.
    /// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn untrack_object_in_simulator(
        &self,
        object_id: libremetaverse_types::UUID,
        sim: libremetaverse::Simulator,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        {
            self.native_untrack(object_id, &sim);
            Ok(())
        }
    }
    /// C# member: `M:LibreMetaverse.ObjectManager.UpdateObject(LibreMetaverse.Simulator,System.UInt32,LibreMetaverse.Vector3,LibreMetaverse.UpdateType)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.ObjectManager.UpdateObject(LibreMetaverse.Simulator simulator, System.UInt32 localID, LibreMetaverse.Vector3 data, LibreMetaverse.UpdateType type)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn update_object(
        &self,
        simulator: libremetaverse::Simulator,
        local_id: u32,
        data: libremetaverse_types::Vector3,
        type_: libremetaverse::UpdateType,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_update_vector(simulator, local_id, data, type_)
    }
    /// C# member: `M:LibreMetaverse.ObjectManager.UpdateObjectMediaAsync(LibreMetaverse.UUID,LibreMetaverse.MediaEntry[],LibreMetaverse.Simulator,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task LibreMetaverse.ObjectManager.UpdateObjectMediaAsync(LibreMetaverse.UUID primID, LibreMetaverse.MediaEntry[] faceMedia, LibreMetaverse.Simulator sim, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn update_object_media(
        &self,
        prim_id: libremetaverse_types::UUID,
        face_media: Vec<libremetaverse::MediaEntry>,
        sim: libremetaverse::Simulator,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_update_object_media(prim_id, face_media, sim, cancellation_token)
            .await
    }
}

/// C# type: `T:LibreMetaverse.ObjectMediaEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.ObjectMediaEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.ObjectMediaEventArgs.#ctor(System.Boolean,System.String,LibreMetaverse.MediaEntry[])`.
///
/// C# signature: `LibreMetaverse.ObjectMediaEventArgs(System.Boolean success, System.String version, LibreMetaverse.MediaEntry[] faceMedia)`.
/// Mapping contract: ownership `owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.ObjectMediaEventArgs.FaceMedia`.
///
/// C# signature: `LibreMetaverse.MediaEntry[] LibreMetaverse.ObjectMediaEventArgs.FaceMedia`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.ObjectMediaEventArgs.Success`.
///
/// C# signature: `System.Boolean LibreMetaverse.ObjectMediaEventArgs.Success`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.ObjectMediaEventArgs.Version`.
///
/// C# signature: `System.String LibreMetaverse.ObjectMediaEventArgs.Version`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::object_material::ObjectMediaEventArgs;

/// C# type: `T:LibreMetaverse.ObjectMovementUpdate`.
///
/// Native Rust mapping of C# `LibreMetaverse.ObjectMovementUpdate` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `F:LibreMetaverse.ObjectMovementUpdate.Acceleration`.
///
/// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.ObjectMovementUpdate.Acceleration`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.ObjectMovementUpdate.AngularVelocity`.
///
/// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.ObjectMovementUpdate.AngularVelocity`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.ObjectMovementUpdate.Avatar`.
///
/// C# signature: `System.Boolean LibreMetaverse.ObjectMovementUpdate.Avatar`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.ObjectMovementUpdate.CollisionPlane`.
///
/// C# signature: `LibreMetaverse.Vector4 LibreMetaverse.ObjectMovementUpdate.CollisionPlane`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.ObjectMovementUpdate.LocalID`.
///
/// C# signature: `System.UInt32 LibreMetaverse.ObjectMovementUpdate.LocalID`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.ObjectMovementUpdate.Position`.
///
/// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.ObjectMovementUpdate.Position`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.ObjectMovementUpdate.Rotation`.
///
/// C# signature: `LibreMetaverse.Quaternion LibreMetaverse.ObjectMovementUpdate.Rotation`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.ObjectMovementUpdate.State`.
///
/// C# signature: `System.Byte LibreMetaverse.ObjectMovementUpdate.State`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.ObjectMovementUpdate.Textures`.
///
/// C# signature: `LibreMetaverse.Primitive.TextureEntry LibreMetaverse.ObjectMovementUpdate.Textures`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.ObjectMovementUpdate.Velocity`.
///
/// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.ObjectMovementUpdate.Velocity`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
pub use crate::object_manager::ObjectMovementUpdate;

/// C# type: `T:LibreMetaverse.ObjectPropertiesEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.ObjectPropertiesEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.ObjectPropertiesEventArgs.#ctor(LibreMetaverse.Simulator,LibreMetaverse.Primitive.ObjectProperties)`.
///
/// C# signature: `LibreMetaverse.ObjectPropertiesEventArgs(LibreMetaverse.Simulator simulator, LibreMetaverse.Primitive.ObjectProperties props)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.ObjectPropertiesEventArgs.Properties`.
///
/// C# signature: `LibreMetaverse.Primitive.ObjectProperties LibreMetaverse.ObjectPropertiesEventArgs.Properties`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.ObjectPropertiesEventArgs.Simulator`.
///
/// C# signature: `LibreMetaverse.Simulator LibreMetaverse.ObjectPropertiesEventArgs.Simulator`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::object_manager::ObjectPropertiesEventArgs;

/// C# type: `T:LibreMetaverse.ObjectPropertiesFamilyEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.ObjectPropertiesFamilyEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.ObjectPropertiesFamilyEventArgs.#ctor(LibreMetaverse.Simulator,LibreMetaverse.Primitive.ObjectProperties,LibreMetaverse.ReportType)`.
///
/// C# signature: `LibreMetaverse.ObjectPropertiesFamilyEventArgs(LibreMetaverse.Simulator simulator, LibreMetaverse.Primitive.ObjectProperties props, LibreMetaverse.ReportType type)`.
/// Mapping contract: ownership `owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.ObjectPropertiesFamilyEventArgs.Properties`.
///
/// C# signature: `LibreMetaverse.Primitive.ObjectProperties LibreMetaverse.ObjectPropertiesFamilyEventArgs.Properties`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.ObjectPropertiesFamilyEventArgs.Simulator`.
///
/// C# signature: `LibreMetaverse.Simulator LibreMetaverse.ObjectPropertiesFamilyEventArgs.Simulator`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.ObjectPropertiesFamilyEventArgs.Type`.
///
/// C# signature: `LibreMetaverse.ReportType LibreMetaverse.ObjectPropertiesFamilyEventArgs.Type`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::object_manager::ObjectPropertiesFamilyEventArgs;

/// C# type: `T:LibreMetaverse.ObjectPropertiesUpdatedEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.ObjectPropertiesUpdatedEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.ObjectPropertiesUpdatedEventArgs.#ctor(LibreMetaverse.Simulator,LibreMetaverse.Primitive,LibreMetaverse.Primitive.ObjectProperties)`.
///
/// C# signature: `LibreMetaverse.ObjectPropertiesUpdatedEventArgs(LibreMetaverse.Simulator simulator, LibreMetaverse.Primitive prim, LibreMetaverse.Primitive.ObjectProperties props)`.
/// Mapping contract: ownership `owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.ObjectPropertiesUpdatedEventArgs.Prim`.
///
/// C# signature: `LibreMetaverse.Primitive LibreMetaverse.ObjectPropertiesUpdatedEventArgs.Prim`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::object_manager::ObjectPropertiesUpdatedEventArgs;

/// C# type: `T:LibreMetaverse.ObjectReturnType`.
///
/// Native Rust mapping of C# `LibreMetaverse.ObjectReturnType` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(u32)]
pub enum ObjectReturnType {
    /// C# member: `F:LibreMetaverse.ObjectReturnType.Group`.
    ///
    /// C# signature: `LibreMetaverse.ObjectReturnType LibreMetaverse.ObjectReturnType.Group`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Group = 4,
    /// C# member: `F:LibreMetaverse.ObjectReturnType.List`.
    ///
    /// C# signature: `LibreMetaverse.ObjectReturnType LibreMetaverse.ObjectReturnType.List`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    List = 16,
    /// C# member: `F:LibreMetaverse.ObjectReturnType.None`.
    ///
    /// C# signature: `LibreMetaverse.ObjectReturnType LibreMetaverse.ObjectReturnType.None`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    None = 0,
    /// C# member: `F:LibreMetaverse.ObjectReturnType.Other`.
    ///
    /// C# signature: `LibreMetaverse.ObjectReturnType LibreMetaverse.ObjectReturnType.Other`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Other = 8,
    /// C# member: `F:LibreMetaverse.ObjectReturnType.Owner`.
    ///
    /// C# signature: `LibreMetaverse.ObjectReturnType LibreMetaverse.ObjectReturnType.Owner`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Owner = 2,
    /// C# member: `F:LibreMetaverse.ObjectReturnType.Sell`.
    ///
    /// C# signature: `LibreMetaverse.ObjectReturnType LibreMetaverse.ObjectReturnType.Sell`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Sell = 32,
}

/// C# type: `T:LibreMetaverse.ObservableDictionary`2`.
///
/// Native Rust mapping of C# `LibreMetaverse.ObservableDictionary<TKey, TValue>` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.ObservableDictionary`2.#ctor`.
///
/// C# signature: `LibreMetaverse.ObservableDictionary<TKey, TValue>()`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.ObservableDictionary`2.#ctor(System.Int32)`.
///
/// C# signature: `LibreMetaverse.ObservableDictionary<TKey, TValue>(System.Int32 capacity)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.ObservableDictionary`2.Add(`0,`1)`.
///
/// C# signature: `System.Void LibreMetaverse.ObservableDictionary<TKey, TValue>.Add(TKey key, TValue value)`.
/// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.ObservableDictionary`2.AddDelegate(LibreMetaverse.DictionaryEventAction,LibreMetaverse.DictionaryChangeCallback)`.
///
/// C# signature: `System.Void LibreMetaverse.ObservableDictionary<TKey, TValue>.AddDelegate(LibreMetaverse.DictionaryEventAction action, LibreMetaverse.DictionaryChangeCallback callback)`.
/// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.ObservableDictionary`2.Clear`.
///
/// C# signature: `System.Void LibreMetaverse.ObservableDictionary<TKey, TValue>.Clear()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.ObservableDictionary`2.ContainsKey(`0)`.
///
/// C# signature: `System.Boolean LibreMetaverse.ObservableDictionary<TKey, TValue>.ContainsKey(TKey key)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.ObservableDictionary`2.ContainsValue(`1)`.
///
/// C# signature: `System.Boolean LibreMetaverse.ObservableDictionary<TKey, TValue>.ContainsValue(TValue value)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.ObservableDictionary`2.Find(System.Predicate{`1})`.
///
/// C# signature: `TValue LibreMetaverse.ObservableDictionary<TKey, TValue>.Find(System.Predicate<TValue> match)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.ObservableDictionary`2.FindAll(System.Predicate{`0})`.
///
/// C# signature: `System.Collections.Generic.List<TKey> LibreMetaverse.ObservableDictionary<TKey, TValue>.FindAll(System.Predicate<TKey> match)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.ObservableDictionary`2.FindAll(System.Predicate{`1})`.
///
/// C# signature: `System.Collections.Generic.List<TValue> LibreMetaverse.ObservableDictionary<TKey, TValue>.FindAll(System.Predicate<TValue> match)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name_with_stable_id`; kind `method`.
/// C# member: `M:LibreMetaverse.ObservableDictionary`2.GetEnumerator`.
///
/// C# signature: `System.Collections.IEnumerator LibreMetaverse.ObservableDictionary<TKey, TValue>.GetEnumerator()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.ObservableDictionary`2.Remove(`0)`.
///
/// C# signature: `System.Boolean LibreMetaverse.ObservableDictionary<TKey, TValue>.Remove(TKey key)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.ObservableDictionary`2.RemoveDelegate(LibreMetaverse.DictionaryEventAction,LibreMetaverse.DictionaryChangeCallback)`.
///
/// C# signature: `System.Void LibreMetaverse.ObservableDictionary<TKey, TValue>.RemoveDelegate(LibreMetaverse.DictionaryEventAction action, LibreMetaverse.DictionaryChangeCallback callback)`.
/// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.ObservableDictionary`2.TryGetValue(`0,`1@)`.
///
/// C# signature: `System.Boolean LibreMetaverse.ObservableDictionary<TKey, TValue>.TryGetValue(TKey key, out TValue& value)`.
/// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.ObservableDictionary`2.Count`.
///
/// C# signature: `System.Int32 LibreMetaverse.ObservableDictionary<TKey, TValue>.Count`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.ObservableDictionary`2.Item(`0)`.
///
/// C# signature: `TValue LibreMetaverse.ObservableDictionary<TKey, TValue>.Item`.
/// Mapping contract: ownership `shared_or_mutable_self,owned`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::observable_dictionary::ObservableDictionary;

/// C# type: `T:LibreMetaverse.PacketEventDictionary`.
///
/// Native Rust mapping of C# `LibreMetaverse.PacketEventDictionary` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `F:LibreMetaverse.PacketEventDictionary.Client`.
///
/// C# signature: `LibreMetaverse.GridClient LibreMetaverse.PacketEventDictionary.Client`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `M:LibreMetaverse.PacketEventDictionary.#ctor(LibreMetaverse.GridClient)`.
///
/// C# signature: `LibreMetaverse.PacketEventDictionary(LibreMetaverse.GridClient client)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.PacketEventDictionary.InvokeRaiseEvent(LibreMetaverse.Packets.PacketType,LibreMetaverse.Packets.Packet,LibreMetaverse.Simulator)`.
///
/// C# signature: `System.Void LibreMetaverse.PacketEventDictionary.InvokeRaiseEvent(LibreMetaverse.Packets.PacketType packetType, LibreMetaverse.Packets.Packet packet, LibreMetaverse.Simulator simulator)`.
/// Mapping contract: ownership `shared_self,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.PacketEventDictionary.RegisterEvent(LibreMetaverse.Packets.PacketType,System.EventHandler{LibreMetaverse.PacketReceivedEventArgs},System.Boolean)`.
///
/// C# signature: `System.Void LibreMetaverse.PacketEventDictionary.RegisterEvent(LibreMetaverse.Packets.PacketType packetType, System.EventHandler<LibreMetaverse.PacketReceivedEventArgs> eventHandler, System.Boolean isAsync)`.
/// Mapping contract: ownership `shared_self,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.PacketEventDictionary.UnregisterEvent(LibreMetaverse.Packets.PacketType,System.EventHandler{LibreMetaverse.PacketReceivedEventArgs})`.
///
/// C# signature: `System.Void LibreMetaverse.PacketEventDictionary.UnregisterEvent(LibreMetaverse.Packets.PacketType packetType, System.EventHandler<LibreMetaverse.PacketReceivedEventArgs> eventHandler)`.
/// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
pub use crate::network_manager::PacketEventDictionary;

/// C# type: `T:LibreMetaverse.PacketFrequency`.
///
/// Native Rust mapping of C# `LibreMetaverse.PacketFrequency` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(u8)]
pub enum PacketFrequency {
    /// C# member: `F:LibreMetaverse.PacketFrequency.High`.
    ///
    /// C# signature: `LibreMetaverse.PacketFrequency LibreMetaverse.PacketFrequency.High`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    High = 2,
    /// C# member: `F:LibreMetaverse.PacketFrequency.Low`.
    ///
    /// C# signature: `LibreMetaverse.PacketFrequency LibreMetaverse.PacketFrequency.Low`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Low = 0,
    /// C# member: `F:LibreMetaverse.PacketFrequency.Medium`.
    ///
    /// C# signature: `LibreMetaverse.PacketFrequency LibreMetaverse.PacketFrequency.Medium`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Medium = 1,
}

/// C# type: `T:LibreMetaverse.PacketReceivedEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.PacketReceivedEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.PacketReceivedEventArgs.#ctor(LibreMetaverse.Packets.Packet,LibreMetaverse.Simulator)`.
///
/// C# signature: `LibreMetaverse.PacketReceivedEventArgs(LibreMetaverse.Packets.Packet packet, LibreMetaverse.Simulator simulator)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.PacketReceivedEventArgs.Packet`.
///
/// C# signature: `LibreMetaverse.Packets.Packet LibreMetaverse.PacketReceivedEventArgs.Packet`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.PacketReceivedEventArgs.Simulator`.
///
/// C# signature: `LibreMetaverse.Simulator LibreMetaverse.PacketReceivedEventArgs.Simulator`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::network_manager::PacketReceivedEventArgs;

/// C# type: `T:LibreMetaverse.PacketSentEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.PacketSentEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.PacketSentEventArgs.#ctor(System.Byte[],System.Int32,LibreMetaverse.Simulator)`.
///
/// C# signature: `LibreMetaverse.PacketSentEventArgs(System.Byte[] data, System.Int32 bytesSent, LibreMetaverse.Simulator simulator)`.
/// Mapping contract: ownership `owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.PacketSentEventArgs.Data`.
///
/// C# signature: `System.Byte[] LibreMetaverse.PacketSentEventArgs.Data`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.PacketSentEventArgs.SentBytes`.
///
/// C# signature: `System.Int32 LibreMetaverse.PacketSentEventArgs.SentBytes`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.PacketSentEventArgs.Simulator`.
///
/// C# signature: `LibreMetaverse.Simulator LibreMetaverse.PacketSentEventArgs.Simulator`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::network_manager::PacketSentEventArgs;

/// C# type: `T:LibreMetaverse.PacketSettings`.
///
/// Native Rust mapping of C# `LibreMetaverse.PacketSettings` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct PacketSettings {
    /// C# member: `F:LibreMetaverse.PacketSettings.EnableSimStats`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.PacketSettings.EnableSimStats`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub enable_sim_stats: bool,
    /// C# member: `F:LibreMetaverse.PacketSettings.MaxPendingAcks`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.PacketSettings.MaxPendingAcks`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub max_pending_acks: i32,
    /// C# member: `F:LibreMetaverse.PacketSettings.MaxResendCount`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.PacketSettings.MaxResendCount`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub max_resend_count: i32,
    /// C# member: `F:LibreMetaverse.PacketSettings.SendPings`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.PacketSettings.SendPings`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub send_pings: bool,
    /// C# member: `F:LibreMetaverse.PacketSettings.StatsQueueSize`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.PacketSettings.StatsQueueSize`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub stats_queue_size: i32,
    /// C# member: `F:LibreMetaverse.PacketSettings.ThrottleOutgoing`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.PacketSettings.ThrottleOutgoing`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub throttle_outgoing: bool,
    /// C# member: `F:LibreMetaverse.PacketSettings.TrackUtilization`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.PacketSettings.TrackUtilization`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub track_utilization: bool,
}
impl PacketSettings {
    /// C# member: `M:LibreMetaverse.PacketSettings.#ctor`.
    ///
    /// C# signature: `LibreMetaverse.PacketSettings()`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn new() -> Result<Self, crate::Error> {
        /* native client-core implementation */
        Ok(crate::client_core::packet_settings_defaults())
    }
}

/// C# type: `T:LibreMetaverse.Parcel`.
///
/// Native Rust mapping of C# `LibreMetaverse.Parcel` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `F:LibreMetaverse.Parcel.AABBMax`.
///
/// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Parcel.AABBMax`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Parcel.AABBMin`.
///
/// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Parcel.AABBMin`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Parcel.AccessBlackList`.
///
/// C# signature: `System.Collections.Generic.List<LibreMetaverse.ParcelManager.ParcelAccessEntry> LibreMetaverse.Parcel.AccessBlackList`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Parcel.AccessWhiteList`.
///
/// C# signature: `System.Collections.Generic.List<LibreMetaverse.ParcelManager.ParcelAccessEntry> LibreMetaverse.Parcel.AccessWhiteList`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Parcel.AnyAVSounds`.
///
/// C# signature: `System.Boolean LibreMetaverse.Parcel.AnyAVSounds`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Parcel.Area`.
///
/// C# signature: `System.Int32 LibreMetaverse.Parcel.Area`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Parcel.AuctionID`.
///
/// C# signature: `System.UInt32 LibreMetaverse.Parcel.AuctionID`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Parcel.AuthBuyerID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.Parcel.AuthBuyerID`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Parcel.Bitmap`.
///
/// C# signature: `System.Byte[] LibreMetaverse.Parcel.Bitmap`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Parcel.Category`.
///
/// C# signature: `LibreMetaverse.ParcelCategory LibreMetaverse.Parcel.Category`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Parcel.ClaimDate`.
///
/// C# signature: `System.DateTime LibreMetaverse.Parcel.ClaimDate`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Parcel.ClaimPrice`.
///
/// C# signature: `System.Int32 LibreMetaverse.Parcel.ClaimPrice`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Parcel.Desc`.
///
/// C# signature: `System.String LibreMetaverse.Parcel.Desc`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Parcel.Dwell`.
///
/// C# signature: `System.Single LibreMetaverse.Parcel.Dwell`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Parcel.Flags`.
///
/// C# signature: `LibreMetaverse.ParcelFlags LibreMetaverse.Parcel.Flags`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Parcel.GroupAVSounds`.
///
/// C# signature: `System.Boolean LibreMetaverse.Parcel.GroupAVSounds`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Parcel.GroupID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.Parcel.GroupID`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Parcel.GroupPrims`.
///
/// C# signature: `System.Int32 LibreMetaverse.Parcel.GroupPrims`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Parcel.IsGroupOwned`.
///
/// C# signature: `System.Boolean LibreMetaverse.Parcel.IsGroupOwned`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Parcel.Landing`.
///
/// C# signature: `LibreMetaverse.LandingType LibreMetaverse.Parcel.Landing`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Parcel.LocalID`.
///
/// C# signature: `System.Int32 LibreMetaverse.Parcel.LocalID`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Parcel.MaxPrims`.
///
/// C# signature: `System.Int32 LibreMetaverse.Parcel.MaxPrims`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Parcel.Media`.
///
/// C# signature: `LibreMetaverse.ParcelMedia LibreMetaverse.Parcel.Media`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Parcel.MusicURL`.
///
/// C# signature: `System.String LibreMetaverse.Parcel.MusicURL`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Parcel.Name`.
///
/// C# signature: `System.String LibreMetaverse.Parcel.Name`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Parcel.ObscureMedia`.
///
/// C# signature: `System.Boolean LibreMetaverse.Parcel.ObscureMedia`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Parcel.ObscureMusic`.
///
/// C# signature: `System.Boolean LibreMetaverse.Parcel.ObscureMusic`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Parcel.OtherCleanTime`.
///
/// C# signature: `System.Int32 LibreMetaverse.Parcel.OtherCleanTime`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Parcel.OtherCount`.
///
/// C# signature: `System.Int32 LibreMetaverse.Parcel.OtherCount`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Parcel.OtherPrims`.
///
/// C# signature: `System.Int32 LibreMetaverse.Parcel.OtherPrims`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Parcel.OwnerID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.Parcel.OwnerID`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Parcel.OwnerPrims`.
///
/// C# signature: `System.Int32 LibreMetaverse.Parcel.OwnerPrims`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Parcel.ParcelPrimBonus`.
///
/// C# signature: `System.Single LibreMetaverse.Parcel.ParcelPrimBonus`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Parcel.PassHours`.
///
/// C# signature: `System.Single LibreMetaverse.Parcel.PassHours`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Parcel.PassPrice`.
///
/// C# signature: `System.Int32 LibreMetaverse.Parcel.PassPrice`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Parcel.PublicCount`.
///
/// C# signature: `System.Int32 LibreMetaverse.Parcel.PublicCount`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Parcel.RegionDenyAgeUnverified`.
///
/// C# signature: `System.Boolean LibreMetaverse.Parcel.RegionDenyAgeUnverified`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Parcel.RegionDenyAnonymous`.
///
/// C# signature: `System.Boolean LibreMetaverse.Parcel.RegionDenyAnonymous`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Parcel.RegionPushOverride`.
///
/// C# signature: `System.Boolean LibreMetaverse.Parcel.RegionPushOverride`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Parcel.RentPrice`.
///
/// C# signature: `System.Int32 LibreMetaverse.Parcel.RentPrice`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Parcel.SalePrice`.
///
/// C# signature: `System.Int32 LibreMetaverse.Parcel.SalePrice`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Parcel.SeeAVs`.
///
/// C# signature: `System.Boolean LibreMetaverse.Parcel.SeeAVs`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Parcel.SelfCount`.
///
/// C# signature: `System.Int32 LibreMetaverse.Parcel.SelfCount`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Parcel.SimWideMaxPrims`.
///
/// C# signature: `System.Int32 LibreMetaverse.Parcel.SimWideMaxPrims`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Parcel.SimWideTotalPrims`.
///
/// C# signature: `System.Int32 LibreMetaverse.Parcel.SimWideTotalPrims`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Parcel.SnapshotID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.Parcel.SnapshotID`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Parcel.Status`.
///
/// C# signature: `LibreMetaverse.ParcelStatus LibreMetaverse.Parcel.Status`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Parcel.TotalPrims`.
///
/// C# signature: `System.Int32 LibreMetaverse.Parcel.TotalPrims`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Parcel.UserLocation`.
///
/// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Parcel.UserLocation`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Parcel.UserLookAt`.
///
/// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Parcel.UserLookAt`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `M:LibreMetaverse.Parcel.#ctor(System.Int32)`.
///
/// C# signature: `LibreMetaverse.Parcel(System.Int32 localID)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Parcel.ToString`.
///
/// C# signature: `System.String LibreMetaverse.Parcel.ToString()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Parcel.Update(LibreMetaverse.GridClient,LibreMetaverse.Simulator,System.Boolean)`.
///
/// C# signature: `System.Void LibreMetaverse.Parcel.Update(LibreMetaverse.GridClient client, LibreMetaverse.Simulator simulator, System.Boolean wantReply)`.
/// Mapping contract: ownership `shared_self,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Parcel.UpdateOtherCleanTime(LibreMetaverse.Simulator)`.
///
/// C# signature: `System.Void LibreMetaverse.Parcel.UpdateOtherCleanTime(LibreMetaverse.Simulator simulator)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
pub use crate::parcel_manager::Parcel;

/// C# type: `T:LibreMetaverse.ParcelAccessFlags`.
///
/// Native Rust mapping of C# `LibreMetaverse.ParcelAccessFlags` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(u32)]
pub enum ParcelAccessFlags {
    /// C# member: `F:LibreMetaverse.ParcelAccessFlags.Access`.
    ///
    /// C# signature: `LibreMetaverse.ParcelAccessFlags LibreMetaverse.ParcelAccessFlags.Access`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Access = 1,
    /// C# member: `F:LibreMetaverse.ParcelAccessFlags.NoAccess`.
    ///
    /// C# signature: `LibreMetaverse.ParcelAccessFlags LibreMetaverse.ParcelAccessFlags.NoAccess`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    NoAccess = 0,
}

/// C# type: `T:LibreMetaverse.ParcelAccessListReplyEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.ParcelAccessListReplyEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.ParcelAccessListReplyEventArgs.#ctor(LibreMetaverse.Simulator,System.Int32,System.Int32,System.UInt32,System.Collections.Generic.List{LibreMetaverse.ParcelManager.ParcelAccessEntry})`.
///
/// C# signature: `LibreMetaverse.ParcelAccessListReplyEventArgs(LibreMetaverse.Simulator simulator, System.Int32 sequenceID, System.Int32 localID, System.UInt32 flags, System.Collections.Generic.List<LibreMetaverse.ParcelManager.ParcelAccessEntry> accessEntries)`.
/// Mapping contract: ownership `owned,owned,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.ParcelAccessListReplyEventArgs.AccessList`.
///
/// C# signature: `System.Collections.Generic.List<LibreMetaverse.ParcelManager.ParcelAccessEntry> LibreMetaverse.ParcelAccessListReplyEventArgs.AccessList`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.ParcelAccessListReplyEventArgs.Flags`.
///
/// C# signature: `System.UInt32 LibreMetaverse.ParcelAccessListReplyEventArgs.Flags`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.ParcelAccessListReplyEventArgs.LocalID`.
///
/// C# signature: `System.Int32 LibreMetaverse.ParcelAccessListReplyEventArgs.LocalID`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.ParcelAccessListReplyEventArgs.SequenceID`.
///
/// C# signature: `System.Int32 LibreMetaverse.ParcelAccessListReplyEventArgs.SequenceID`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.ParcelAccessListReplyEventArgs.Simulator`.
///
/// C# signature: `LibreMetaverse.Simulator LibreMetaverse.ParcelAccessListReplyEventArgs.Simulator`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::parcel_manager::ParcelAccessListReplyEventArgs;

/// C# type: `T:LibreMetaverse.ParcelCategory`.
///
/// Native Rust mapping of C# `LibreMetaverse.ParcelCategory` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(i8)]
pub enum ParcelCategory {
    /// C# member: `F:LibreMetaverse.ParcelCategory.Adult`.
    ///
    /// C# signature: `LibreMetaverse.ParcelCategory LibreMetaverse.ParcelCategory.Adult`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Adult = 2,
    /// C# member: `F:LibreMetaverse.ParcelCategory.Any`.
    ///
    /// C# signature: `LibreMetaverse.ParcelCategory LibreMetaverse.ParcelCategory.Any`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Any = -1,
    /// C# member: `F:LibreMetaverse.ParcelCategory.Arts`.
    ///
    /// C# signature: `LibreMetaverse.ParcelCategory LibreMetaverse.ParcelCategory.Arts`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Arts = 3,
    /// C# member: `F:LibreMetaverse.ParcelCategory.Business`.
    ///
    /// C# signature: `LibreMetaverse.ParcelCategory LibreMetaverse.ParcelCategory.Business`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Business = 4,
    /// C# member: `F:LibreMetaverse.ParcelCategory.Educational`.
    ///
    /// C# signature: `LibreMetaverse.ParcelCategory LibreMetaverse.ParcelCategory.Educational`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Educational = 5,
    /// C# member: `F:LibreMetaverse.ParcelCategory.Gaming`.
    ///
    /// C# signature: `LibreMetaverse.ParcelCategory LibreMetaverse.ParcelCategory.Gaming`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Gaming = 6,
    /// C# member: `F:LibreMetaverse.ParcelCategory.Hangout`.
    ///
    /// C# signature: `LibreMetaverse.ParcelCategory LibreMetaverse.ParcelCategory.Hangout`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Hangout = 7,
    /// C# member: `F:LibreMetaverse.ParcelCategory.Linden`.
    ///
    /// C# signature: `LibreMetaverse.ParcelCategory LibreMetaverse.ParcelCategory.Linden`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Linden = 1,
    /// C# member: `F:LibreMetaverse.ParcelCategory.Newcomer`.
    ///
    /// C# signature: `LibreMetaverse.ParcelCategory LibreMetaverse.ParcelCategory.Newcomer`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Newcomer = 8,
    /// C# member: `F:LibreMetaverse.ParcelCategory.None`.
    ///
    /// C# signature: `LibreMetaverse.ParcelCategory LibreMetaverse.ParcelCategory.None`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    None = 0,
    /// C# member: `F:LibreMetaverse.ParcelCategory.Other`.
    ///
    /// C# signature: `LibreMetaverse.ParcelCategory LibreMetaverse.ParcelCategory.Other`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Other = 13,
    /// C# member: `F:LibreMetaverse.ParcelCategory.Park`.
    ///
    /// C# signature: `LibreMetaverse.ParcelCategory LibreMetaverse.ParcelCategory.Park`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Park = 9,
    /// C# member: `F:LibreMetaverse.ParcelCategory.Residential`.
    ///
    /// C# signature: `LibreMetaverse.ParcelCategory LibreMetaverse.ParcelCategory.Residential`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Residential = 10,
    /// C# member: `F:LibreMetaverse.ParcelCategory.Shopping`.
    ///
    /// C# signature: `LibreMetaverse.ParcelCategory LibreMetaverse.ParcelCategory.Shopping`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Shopping = 11,
    /// C# member: `F:LibreMetaverse.ParcelCategory.Stage`.
    ///
    /// C# signature: `LibreMetaverse.ParcelCategory LibreMetaverse.ParcelCategory.Stage`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Stage = 12,
}

/// C# type: `T:LibreMetaverse.ParcelDwellReplyEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.ParcelDwellReplyEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.ParcelDwellReplyEventArgs.#ctor(LibreMetaverse.UUID,System.Int32,System.Single)`.
///
/// C# signature: `LibreMetaverse.ParcelDwellReplyEventArgs(LibreMetaverse.UUID parcelID, System.Int32 localID, System.Single dwell)`.
/// Mapping contract: ownership `owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.ParcelDwellReplyEventArgs.Dwell`.
///
/// C# signature: `System.Single LibreMetaverse.ParcelDwellReplyEventArgs.Dwell`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.ParcelDwellReplyEventArgs.LocalID`.
///
/// C# signature: `System.Int32 LibreMetaverse.ParcelDwellReplyEventArgs.LocalID`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.ParcelDwellReplyEventArgs.ParcelID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.ParcelDwellReplyEventArgs.ParcelID`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::parcel_manager::ParcelDwellReplyEventArgs;

/// C# type: `T:LibreMetaverse.ParcelEnvironmentEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.ParcelEnvironmentEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.ParcelEnvironmentEventArgs.#ctor(System.Int32,LibreMetaverse.Messages.Linden.ExtEnvironmentMessage)`.
///
/// C# signature: `LibreMetaverse.ParcelEnvironmentEventArgs(System.Int32 parcelId, LibreMetaverse.Messages.Linden.ExtEnvironmentMessage environment)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.ParcelEnvironmentEventArgs.Environment`.
///
/// C# signature: `LibreMetaverse.Messages.Linden.ExtEnvironmentMessage LibreMetaverse.ParcelEnvironmentEventArgs.Environment`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.ParcelEnvironmentEventArgs.ParcelId`.
///
/// C# signature: `System.Int32 LibreMetaverse.ParcelEnvironmentEventArgs.ParcelId`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::environment_manager::ParcelEnvironmentEventArgs;

/// C# type: `T:LibreMetaverse.ParcelFlags`.
///
/// Native Rust mapping of C# `LibreMetaverse.ParcelFlags` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(transparent)]
pub struct ParcelFlags(pub u32);
impl ParcelFlags {
    /// C# member: `F:LibreMetaverse.ParcelFlags.AllowAPrimitiveEntry`.
    ///
    /// C# signature: `LibreMetaverse.ParcelFlags LibreMetaverse.ParcelFlags.AllowAPrimitiveEntry`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const ALLOW_A_PRIMITIVE_ENTRY: Self = Self(134217728);
    /// C# member: `F:LibreMetaverse.ParcelFlags.AllowDamage`.
    ///
    /// C# signature: `LibreMetaverse.ParcelFlags LibreMetaverse.ParcelFlags.AllowDamage`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const ALLOW_DAMAGE: Self = Self(32);
    /// C# member: `F:LibreMetaverse.ParcelFlags.AllowDeedToGroup`.
    ///
    /// C# signature: `LibreMetaverse.ParcelFlags LibreMetaverse.ParcelFlags.AllowDeedToGroup`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const ALLOW_DEED_TO_GROUP: Self = Self(8192);
    /// C# member: `F:LibreMetaverse.ParcelFlags.AllowFly`.
    ///
    /// C# signature: `LibreMetaverse.ParcelFlags LibreMetaverse.ParcelFlags.AllowFly`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const ALLOW_FLY: Self = Self(1);
    /// C# member: `F:LibreMetaverse.ParcelFlags.AllowGroupObjectEntry`.
    ///
    /// C# signature: `LibreMetaverse.ParcelFlags LibreMetaverse.ParcelFlags.AllowGroupObjectEntry`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const ALLOW_GROUP_OBJECT_ENTRY: Self = Self(268435456);
    /// C# member: `F:LibreMetaverse.ParcelFlags.AllowGroupScripts`.
    ///
    /// C# signature: `LibreMetaverse.ParcelFlags LibreMetaverse.ParcelFlags.AllowGroupScripts`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const ALLOW_GROUP_SCRIPTS: Self = Self(33554432);
    /// C# member: `F:LibreMetaverse.ParcelFlags.AllowLandmark`.
    ///
    /// C# signature: `LibreMetaverse.ParcelFlags LibreMetaverse.ParcelFlags.AllowLandmark`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const ALLOW_LANDMARK: Self = Self(8);
    /// C# member: `F:LibreMetaverse.ParcelFlags.AllowOtherScripts`.
    ///
    /// C# signature: `LibreMetaverse.ParcelFlags LibreMetaverse.ParcelFlags.AllowOtherScripts`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const ALLOW_OTHER_SCRIPTS: Self = Self(2);
    /// C# member: `F:LibreMetaverse.ParcelFlags.AllowPublish`.
    ///
    /// C# signature: `LibreMetaverse.ParcelFlags LibreMetaverse.ParcelFlags.AllowPublish`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const ALLOW_PUBLISH: Self = Self(131072);
    /// C# member: `F:LibreMetaverse.ParcelFlags.AllowTerraform`.
    ///
    /// C# signature: `LibreMetaverse.ParcelFlags LibreMetaverse.ParcelFlags.AllowTerraform`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const ALLOW_TERRAFORM: Self = Self(16);
    /// C# member: `F:LibreMetaverse.ParcelFlags.AllowVoiceChat`.
    ///
    /// C# signature: `LibreMetaverse.ParcelFlags LibreMetaverse.ParcelFlags.AllowVoiceChat`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const ALLOW_VOICE_CHAT: Self = Self(536870912);
    /// C# member: `F:LibreMetaverse.ParcelFlags.ContributeWithDeed`.
    ///
    /// C# signature: `LibreMetaverse.ParcelFlags LibreMetaverse.ParcelFlags.ContributeWithDeed`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const CONTRIBUTE_WITH_DEED: Self = Self(16384);
    /// C# member: `F:LibreMetaverse.ParcelFlags.CreateGroupObjects`.
    ///
    /// C# signature: `LibreMetaverse.ParcelFlags LibreMetaverse.ParcelFlags.CreateGroupObjects`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const CREATE_GROUP_OBJECTS: Self = Self(67108864);
    /// C# member: `F:LibreMetaverse.ParcelFlags.CreateObjects`.
    ///
    /// C# signature: `LibreMetaverse.ParcelFlags LibreMetaverse.ParcelFlags.CreateObjects`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const CREATE_OBJECTS: Self = Self(64);
    /// C# member: `F:LibreMetaverse.ParcelFlags.DenyAgeUnverified`.
    ///
    /// C# signature: `LibreMetaverse.ParcelFlags LibreMetaverse.ParcelFlags.DenyAgeUnverified`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const DENY_AGE_UNVERIFIED: Self = Self(2147483648);
    /// C# member: `F:LibreMetaverse.ParcelFlags.DenyAnonymous`.
    ///
    /// C# signature: `LibreMetaverse.ParcelFlags LibreMetaverse.ParcelFlags.DenyAnonymous`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const DENY_ANONYMOUS: Self = Self(4194304);
    /// C# member: `F:LibreMetaverse.ParcelFlags.ForSale`.
    ///
    /// C# signature: `LibreMetaverse.ParcelFlags LibreMetaverse.ParcelFlags.ForSale`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const FOR_SALE: Self = Self(4);
    /// C# member: `F:LibreMetaverse.ParcelFlags.ForSaleObjects`.
    ///
    /// C# signature: `LibreMetaverse.ParcelFlags LibreMetaverse.ParcelFlags.ForSaleObjects`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const FOR_SALE_OBJECTS: Self = Self(128);
    /// C# member: `F:LibreMetaverse.ParcelFlags.LindenHome`.
    ///
    /// C# signature: `LibreMetaverse.ParcelFlags LibreMetaverse.ParcelFlags.LindenHome`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const LINDEN_HOME: Self = Self(8388608);
    /// C# member: `F:LibreMetaverse.ParcelFlags.MaturePublish`.
    ///
    /// C# signature: `LibreMetaverse.ParcelFlags LibreMetaverse.ParcelFlags.MaturePublish`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const MATURE_PUBLISH: Self = Self(262144);
    /// C# member: `F:LibreMetaverse.ParcelFlags.None`.
    ///
    /// C# signature: `LibreMetaverse.ParcelFlags LibreMetaverse.ParcelFlags.None`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const NONE: Self = Self(0);
    /// C# member: `F:LibreMetaverse.ParcelFlags.RestrictPushObject`.
    ///
    /// C# signature: `LibreMetaverse.ParcelFlags LibreMetaverse.ParcelFlags.RestrictPushObject`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const RESTRICT_PUSH_OBJECT: Self = Self(2097152);
    /// C# member: `F:LibreMetaverse.ParcelFlags.SellParcelObjects`.
    ///
    /// C# signature: `LibreMetaverse.ParcelFlags LibreMetaverse.ParcelFlags.SellParcelObjects`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const SELL_PARCEL_OBJECTS: Self = Self(65536);
    /// C# member: `F:LibreMetaverse.ParcelFlags.ShowDirectory`.
    ///
    /// C# signature: `LibreMetaverse.ParcelFlags LibreMetaverse.ParcelFlags.ShowDirectory`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const SHOW_DIRECTORY: Self = Self(4096);
    /// C# member: `F:LibreMetaverse.ParcelFlags.SoundLocal`.
    ///
    /// C# signature: `LibreMetaverse.ParcelFlags LibreMetaverse.ParcelFlags.SoundLocal`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const SOUND_LOCAL: Self = Self(32768);
    /// C# member: `F:LibreMetaverse.ParcelFlags.UrlRawHtml`.
    ///
    /// C# signature: `LibreMetaverse.ParcelFlags LibreMetaverse.ParcelFlags.UrlRawHtml`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const URL_RAW_HTML: Self = Self(1048576);
    /// C# member: `F:LibreMetaverse.ParcelFlags.UrlWebPage`.
    ///
    /// C# signature: `LibreMetaverse.ParcelFlags LibreMetaverse.ParcelFlags.UrlWebPage`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const URL_WEB_PAGE: Self = Self(524288);
    /// C# member: `F:LibreMetaverse.ParcelFlags.UseAccessGroup`.
    ///
    /// C# signature: `LibreMetaverse.ParcelFlags LibreMetaverse.ParcelFlags.UseAccessGroup`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const USE_ACCESS_GROUP: Self = Self(256);
    /// C# member: `F:LibreMetaverse.ParcelFlags.UseAccessList`.
    ///
    /// C# signature: `LibreMetaverse.ParcelFlags LibreMetaverse.ParcelFlags.UseAccessList`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const USE_ACCESS_LIST: Self = Self(512);
    /// C# member: `F:LibreMetaverse.ParcelFlags.UseBanList`.
    ///
    /// C# signature: `LibreMetaverse.ParcelFlags LibreMetaverse.ParcelFlags.UseBanList`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const USE_BAN_LIST: Self = Self(1024);
    /// C# member: `F:LibreMetaverse.ParcelFlags.UseEstateVoiceChan`.
    ///
    /// C# signature: `LibreMetaverse.ParcelFlags LibreMetaverse.ParcelFlags.UseEstateVoiceChan`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const USE_ESTATE_VOICE_CHAN: Self = Self(1073741824);
    /// C# member: `F:LibreMetaverse.ParcelFlags.UsePassList`.
    ///
    /// C# signature: `LibreMetaverse.ParcelFlags LibreMetaverse.ParcelFlags.UsePassList`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const USE_PASS_LIST: Self = Self(2048);
}

/// C# type: `T:LibreMetaverse.ParcelInfo`.
///
/// Native Rust mapping of C# `LibreMetaverse.ParcelInfo` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `F:LibreMetaverse.ParcelInfo.ActualArea`.
///
/// C# signature: `System.Int32 LibreMetaverse.ParcelInfo.ActualArea`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.ParcelInfo.AuctionID`.
///
/// C# signature: `System.Int32 LibreMetaverse.ParcelInfo.AuctionID`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.ParcelInfo.BillableArea`.
///
/// C# signature: `System.Int32 LibreMetaverse.ParcelInfo.BillableArea`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.ParcelInfo.Description`.
///
/// C# signature: `System.String LibreMetaverse.ParcelInfo.Description`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.ParcelInfo.Dwell`.
///
/// C# signature: `System.Single LibreMetaverse.ParcelInfo.Dwell`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.ParcelInfo.GlobalX`.
///
/// C# signature: `System.Single LibreMetaverse.ParcelInfo.GlobalX`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.ParcelInfo.GlobalY`.
///
/// C# signature: `System.Single LibreMetaverse.ParcelInfo.GlobalY`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.ParcelInfo.GlobalZ`.
///
/// C# signature: `System.Single LibreMetaverse.ParcelInfo.GlobalZ`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.ParcelInfo.ID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.ParcelInfo.ID`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.ParcelInfo.Mature`.
///
/// C# signature: `System.Boolean LibreMetaverse.ParcelInfo.Mature`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.ParcelInfo.Name`.
///
/// C# signature: `System.String LibreMetaverse.ParcelInfo.Name`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.ParcelInfo.OwnerID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.ParcelInfo.OwnerID`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.ParcelInfo.SalePrice`.
///
/// C# signature: `System.Int32 LibreMetaverse.ParcelInfo.SalePrice`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.ParcelInfo.SimName`.
///
/// C# signature: `System.String LibreMetaverse.ParcelInfo.SimName`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.ParcelInfo.SnapshotID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.ParcelInfo.SnapshotID`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
pub use crate::parcel_manager::ParcelInfo;

/// C# type: `T:LibreMetaverse.ParcelInfoReplyEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.ParcelInfoReplyEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.ParcelInfoReplyEventArgs.#ctor(LibreMetaverse.ParcelInfo)`.
///
/// C# signature: `LibreMetaverse.ParcelInfoReplyEventArgs(LibreMetaverse.ParcelInfo parcel)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.ParcelInfoReplyEventArgs.Parcel`.
///
/// C# signature: `LibreMetaverse.ParcelInfo LibreMetaverse.ParcelInfoReplyEventArgs.Parcel`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::parcel_manager::ParcelInfoReplyEventArgs;

/// C# type: `T:LibreMetaverse.ParcelManager`.
///
/// Native Rust mapping of C# `LibreMetaverse.ParcelManager` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `E:LibreMetaverse.ParcelManager.ForceSelectObjectsReply`.
///
/// C# signature: `System.EventHandler<LibreMetaverse.ForceSelectObjectsReplyEventArgs> LibreMetaverse.ParcelManager.ForceSelectObjectsReply`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `E:LibreMetaverse.ParcelManager.ParcelAccessListReply`.
///
/// C# signature: `System.EventHandler<LibreMetaverse.ParcelAccessListReplyEventArgs> LibreMetaverse.ParcelManager.ParcelAccessListReply`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `E:LibreMetaverse.ParcelManager.ParcelDwellReply`.
///
/// C# signature: `System.EventHandler<LibreMetaverse.ParcelDwellReplyEventArgs> LibreMetaverse.ParcelManager.ParcelDwellReply`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `E:LibreMetaverse.ParcelManager.ParcelInfoReply`.
///
/// C# signature: `System.EventHandler<LibreMetaverse.ParcelInfoReplyEventArgs> LibreMetaverse.ParcelManager.ParcelInfoReply`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `E:LibreMetaverse.ParcelManager.ParcelMediaCommand`.
///
/// C# signature: `System.EventHandler<LibreMetaverse.ParcelMediaCommandEventArgs> LibreMetaverse.ParcelManager.ParcelMediaCommand`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `E:LibreMetaverse.ParcelManager.ParcelMediaUpdateReply`.
///
/// C# signature: `System.EventHandler<LibreMetaverse.ParcelMediaUpdateReplyEventArgs> LibreMetaverse.ParcelManager.ParcelMediaUpdateReply`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `E:LibreMetaverse.ParcelManager.ParcelObjectOwnersReply`.
///
/// C# signature: `System.EventHandler<LibreMetaverse.ParcelObjectOwnersReplyEventArgs> LibreMetaverse.ParcelManager.ParcelObjectOwnersReply`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `E:LibreMetaverse.ParcelManager.ParcelOverlaysDownloaded`.
///
/// C# signature: `System.EventHandler<LibreMetaverse.ParcelOverlayEventArgs> LibreMetaverse.ParcelManager.ParcelOverlaysDownloaded`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `E:LibreMetaverse.ParcelManager.ParcelProperties`.
///
/// C# signature: `System.EventHandler<LibreMetaverse.ParcelPropertiesEventArgs> LibreMetaverse.ParcelManager.ParcelProperties`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `E:LibreMetaverse.ParcelManager.SimParcelsDownloaded`.
///
/// C# signature: `System.EventHandler<LibreMetaverse.SimParcelsDownloadedEventArgs> LibreMetaverse.ParcelManager.SimParcelsDownloaded`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `M:LibreMetaverse.ParcelManager.#ctor(LibreMetaverse.GridClient)`.
///
/// C# signature: `LibreMetaverse.ParcelManager(LibreMetaverse.GridClient client)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.ParcelManager.Buy(LibreMetaverse.Simulator,System.Int32,System.Boolean,LibreMetaverse.UUID,System.Boolean,System.Int32,System.Int32)`.
///
/// C# signature: `System.Void LibreMetaverse.ParcelManager.Buy(LibreMetaverse.Simulator simulator, System.Int32 localID, System.Boolean forGroup, LibreMetaverse.UUID groupID, System.Boolean removeContribution, System.Int32 parcelArea, System.Int32 parcelPrice)`.
/// Mapping contract: ownership `shared_self,owned,owned,owned,owned,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.ParcelManager.DeedToGroup(LibreMetaverse.Simulator,System.Int32,LibreMetaverse.UUID)`.
///
/// C# signature: `System.Void LibreMetaverse.ParcelManager.DeedToGroup(LibreMetaverse.Simulator simulator, System.Int32 localID, LibreMetaverse.UUID groupID)`.
/// Mapping contract: ownership `shared_self,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.ParcelManager.Dispose`.
///
/// C# signature: `System.Void LibreMetaverse.ParcelManager.Dispose()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.ParcelManager.EjectUser(LibreMetaverse.UUID,System.Boolean)`.
///
/// C# signature: `System.Void LibreMetaverse.ParcelManager.EjectUser(LibreMetaverse.UUID targetID, System.Boolean ban)`.
/// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.ParcelManager.FreezeUser(LibreMetaverse.UUID,System.Boolean)`.
///
/// C# signature: `System.Void LibreMetaverse.ParcelManager.FreezeUser(LibreMetaverse.UUID targetID, System.Boolean freeze)`.
/// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.ParcelManager.GetParcelLocalID(LibreMetaverse.Simulator,LibreMetaverse.Vector3)`.
///
/// C# signature: `System.Int32 LibreMetaverse.ParcelManager.GetParcelLocalID(LibreMetaverse.Simulator simulator, LibreMetaverse.Vector3 position)`.
/// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.ParcelManager.GetParcelResourcesAsync(LibreMetaverse.UUID,System.Boolean,System.Threading.CancellationToken)`.
///
/// C# signature: `System.Threading.Tasks.Task<System.ValueTuple<System.Boolean, LibreMetaverse.Messages.Linden.LandResourcesInfo>> LibreMetaverse.ParcelManager.GetParcelResourcesAsync(LibreMetaverse.UUID parcelID, System.Boolean getDetails, System.Threading.CancellationToken cancellationToken = default)`.
/// Mapping contract: ownership `shared_self,owned,owned,optional_owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.ParcelManager.ParcelJoin(LibreMetaverse.Simulator,System.Single,System.Single,System.Single,System.Single)`.
///
/// C# signature: `System.Void LibreMetaverse.ParcelManager.ParcelJoin(LibreMetaverse.Simulator simulator, System.Single west, System.Single south, System.Single east, System.Single north)`.
/// Mapping contract: ownership `shared_self,owned,owned,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.ParcelManager.ParcelSubdivide(LibreMetaverse.Simulator,System.Single,System.Single,System.Single,System.Single)`.
///
/// C# signature: `System.Void LibreMetaverse.ParcelManager.ParcelSubdivide(LibreMetaverse.Simulator simulator, System.Single west, System.Single south, System.Single east, System.Single north)`.
/// Mapping contract: ownership `shared_self,owned,owned,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.ParcelManager.Reclaim(LibreMetaverse.Simulator,System.Int32)`.
///
/// C# signature: `System.Void LibreMetaverse.ParcelManager.Reclaim(LibreMetaverse.Simulator simulator, System.Int32 localID)`.
/// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.ParcelManager.ReleaseParcel(LibreMetaverse.Simulator,System.Int32)`.
///
/// C# signature: `System.Void LibreMetaverse.ParcelManager.ReleaseParcel(LibreMetaverse.Simulator simulator, System.Int32 localID)`.
/// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.ParcelManager.RequestAllSimParcelsAsync(LibreMetaverse.Simulator,System.Boolean,System.TimeSpan,System.Threading.CancellationToken)`.
///
/// C# signature: `System.Threading.Tasks.Task LibreMetaverse.ParcelManager.RequestAllSimParcelsAsync(LibreMetaverse.Simulator simulator, System.Boolean refresh, System.TimeSpan delay, System.Threading.CancellationToken cancellationToken = default)`.
/// Mapping contract: ownership `shared_self,owned,owned,owned,optional_owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.ParcelManager.RequestAllSimParcelsAsync(LibreMetaverse.Simulator,System.Threading.CancellationToken)`.
///
/// C# signature: `System.Threading.Tasks.Task LibreMetaverse.ParcelManager.RequestAllSimParcelsAsync(LibreMetaverse.Simulator simulator, System.Threading.CancellationToken cancellationToken = default)`.
/// Mapping contract: ownership `shared_self,owned,optional_owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.ParcelManager.RequestDwell(LibreMetaverse.Simulator,System.Int32)`.
///
/// C# signature: `System.Void LibreMetaverse.ParcelManager.RequestDwell(LibreMetaverse.Simulator simulator, System.Int32 localID)`.
/// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.ParcelManager.RequestObjectOwners(LibreMetaverse.Simulator,System.Int32)`.
///
/// C# signature: `System.Void LibreMetaverse.ParcelManager.RequestObjectOwners(LibreMetaverse.Simulator simulator, System.Int32 localID)`.
/// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.ParcelManager.RequestParcelAccessList(LibreMetaverse.Simulator,System.Int32,LibreMetaverse.AccessList,System.Int32)`.
///
/// C# signature: `System.Void LibreMetaverse.ParcelManager.RequestParcelAccessList(LibreMetaverse.Simulator simulator, System.Int32 localID, LibreMetaverse.AccessList flags, System.Int32 sequenceID)`.
/// Mapping contract: ownership `shared_self,owned,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.ParcelManager.RequestParcelInfo(LibreMetaverse.UUID)`.
///
/// C# signature: `System.Void LibreMetaverse.ParcelManager.RequestParcelInfo(LibreMetaverse.UUID parcelID)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.ParcelManager.RequestParcelProperties(LibreMetaverse.Simulator,System.Int32,System.Int32)`.
///
/// C# signature: `System.Void LibreMetaverse.ParcelManager.RequestParcelProperties(LibreMetaverse.Simulator simulator, System.Int32 localID, System.Int32 sequenceID)`.
/// Mapping contract: ownership `shared_self,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.ParcelManager.RequestParcelProperties(LibreMetaverse.Simulator,System.Single,System.Single,System.Single,System.Single,System.Int32,System.Boolean)`.
///
/// C# signature: `System.Void LibreMetaverse.ParcelManager.RequestParcelProperties(LibreMetaverse.Simulator simulator, System.Single north, System.Single east, System.Single south, System.Single west, System.Int32 sequenceID, System.Boolean snapSelection)`.
/// Mapping contract: ownership `shared_self,owned,owned,owned,owned,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.ParcelManager.RequestRemoteParcelIDAsync(LibreMetaverse.Vector3,System.UInt64,LibreMetaverse.UUID,System.Threading.CancellationToken)`.
///
/// C# signature: `System.Threading.Tasks.Task<LibreMetaverse.UUID> LibreMetaverse.ParcelManager.RequestRemoteParcelIDAsync(LibreMetaverse.Vector3 location, System.UInt64 regionHandle, LibreMetaverse.UUID regionID, System.Threading.CancellationToken cancellationToken = default)`.
/// Mapping contract: ownership `shared_self,owned,owned,owned,optional_owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.ParcelManager.RequestSelectObjects(System.Int32,LibreMetaverse.ObjectReturnType,LibreMetaverse.UUID)`.
///
/// C# signature: `System.Void LibreMetaverse.ParcelManager.RequestSelectObjects(System.Int32 localID, LibreMetaverse.ObjectReturnType selectType, LibreMetaverse.UUID ownerID)`.
/// Mapping contract: ownership `shared_self,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.ParcelManager.ReturnObjects(LibreMetaverse.Simulator,System.Int32,LibreMetaverse.ObjectReturnType,System.Collections.Generic.List{LibreMetaverse.UUID})`.
///
/// C# signature: `System.Void LibreMetaverse.ParcelManager.ReturnObjects(LibreMetaverse.Simulator simulator, System.Int32 localID, LibreMetaverse.ObjectReturnType type, System.Collections.Generic.List<LibreMetaverse.UUID> ownerIDs)`.
/// Mapping contract: ownership `shared_self,owned,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.ParcelManager.StartAuction(LibreMetaverse.Simulator,System.Int32,LibreMetaverse.UUID)`.
///
/// C# signature: `System.Void LibreMetaverse.ParcelManager.StartAuction(LibreMetaverse.Simulator simulator, System.Int32 localID, LibreMetaverse.UUID snapshotID)`.
/// Mapping contract: ownership `shared_self,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.ParcelManager.Terraform(LibreMetaverse.Simulator,System.Int32,LibreMetaverse.TerraformAction,LibreMetaverse.TerraformBrushSize)`.
///
/// C# signature: `System.Boolean LibreMetaverse.ParcelManager.Terraform(LibreMetaverse.Simulator simulator, System.Int32 localID, LibreMetaverse.TerraformAction action, LibreMetaverse.TerraformBrushSize brushSize)`.
/// Mapping contract: ownership `shared_self,owned,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.ParcelManager.Terraform(LibreMetaverse.Simulator,System.Int32,System.Single,System.Single,System.Single,System.Single,LibreMetaverse.TerraformAction,LibreMetaverse.TerraformBrushSize,System.Int32)`.
///
/// C# signature: `System.Boolean LibreMetaverse.ParcelManager.Terraform(LibreMetaverse.Simulator simulator, System.Int32 localID, System.Single west, System.Single south, System.Single east, System.Single north, LibreMetaverse.TerraformAction action, LibreMetaverse.TerraformBrushSize brushSize, System.Int32 seconds = default)`.
/// Mapping contract: ownership `shared_self,owned,owned,owned,owned,owned,owned,owned,owned,optional_owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.ParcelManager.Terraform(LibreMetaverse.Simulator,System.Int32,System.Single,System.Single,System.Single,System.Single,LibreMetaverse.TerraformAction,LibreMetaverse.TerraformBrushSize,System.Int32,System.Single)`.
///
/// C# signature: `System.Void LibreMetaverse.ParcelManager.Terraform(LibreMetaverse.Simulator simulator, System.Int32 localID, System.Single west, System.Single south, System.Single east, System.Single north, LibreMetaverse.TerraformAction action, LibreMetaverse.TerraformBrushSize brushSize, System.Int32 seconds, System.Single height)`.
/// Mapping contract: ownership `shared_self,owned,owned,owned,owned,owned,owned,owned,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `P:LibreMetaverse.ParcelManager.CurrentParcel`.
///
/// C# signature: `LibreMetaverse.Parcel LibreMetaverse.ParcelManager.CurrentParcel`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::parcel_manager::ParcelManager;

/// C# type: `T:LibreMetaverse.ParcelManager.ParcelAccessEntry`.
///
/// Native Rust mapping of C# `LibreMetaverse.ParcelManager.ParcelAccessEntry` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `F:LibreMetaverse.ParcelManager.ParcelAccessEntry.AgentID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.ParcelManager.ParcelAccessEntry.AgentID`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.ParcelManager.ParcelAccessEntry.Flags`.
///
/// C# signature: `LibreMetaverse.AccessList LibreMetaverse.ParcelManager.ParcelAccessEntry.Flags`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.ParcelManager.ParcelAccessEntry.Time`.
///
/// C# signature: `System.DateTime LibreMetaverse.ParcelManager.ParcelAccessEntry.Time`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
pub use crate::parcel_manager::ParcelManagerParcelAccessEntry;

/// C# type: `T:LibreMetaverse.ParcelManager.ParcelPrimOwners`.
///
/// Native Rust mapping of C# `LibreMetaverse.ParcelManager.ParcelPrimOwners` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `F:LibreMetaverse.ParcelManager.ParcelPrimOwners.Count`.
///
/// C# signature: `System.Int32 LibreMetaverse.ParcelManager.ParcelPrimOwners.Count`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.ParcelManager.ParcelPrimOwners.IsGroupOwned`.
///
/// C# signature: `System.Boolean LibreMetaverse.ParcelManager.ParcelPrimOwners.IsGroupOwned`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.ParcelManager.ParcelPrimOwners.NewestPrim`.
///
/// C# signature: `System.DateTime LibreMetaverse.ParcelManager.ParcelPrimOwners.NewestPrim`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.ParcelManager.ParcelPrimOwners.OnlineStatus`.
///
/// C# signature: `System.Boolean LibreMetaverse.ParcelManager.ParcelPrimOwners.OnlineStatus`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.ParcelManager.ParcelPrimOwners.OwnerID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.ParcelManager.ParcelPrimOwners.OwnerID`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
pub use crate::parcel_manager::ParcelManagerParcelPrimOwners;

/// C# type: `T:LibreMetaverse.ParcelMedia`.
///
/// Native Rust mapping of C# `LibreMetaverse.ParcelMedia` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `F:LibreMetaverse.ParcelMedia.MediaAutoScale`.
///
/// C# signature: `System.Boolean LibreMetaverse.ParcelMedia.MediaAutoScale`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.ParcelMedia.MediaDesc`.
///
/// C# signature: `System.String LibreMetaverse.ParcelMedia.MediaDesc`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.ParcelMedia.MediaHeight`.
///
/// C# signature: `System.Int32 LibreMetaverse.ParcelMedia.MediaHeight`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.ParcelMedia.MediaID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.ParcelMedia.MediaID`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.ParcelMedia.MediaLoop`.
///
/// C# signature: `System.Boolean LibreMetaverse.ParcelMedia.MediaLoop`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.ParcelMedia.MediaType`.
///
/// C# signature: `System.String LibreMetaverse.ParcelMedia.MediaType`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.ParcelMedia.MediaURL`.
///
/// C# signature: `System.String LibreMetaverse.ParcelMedia.MediaURL`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.ParcelMedia.MediaWidth`.
///
/// C# signature: `System.Int32 LibreMetaverse.ParcelMedia.MediaWidth`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
pub use crate::parcel_manager::ParcelMedia;

/// C# type: `T:LibreMetaverse.ParcelMediaCommand`.
///
/// Native Rust mapping of C# `LibreMetaverse.ParcelMediaCommand` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(u32)]
pub enum ParcelMediaCommand {
    /// C# member: `F:LibreMetaverse.ParcelMediaCommand.Agent`.
    ///
    /// C# signature: `LibreMetaverse.ParcelMediaCommand LibreMetaverse.ParcelMediaCommand.Agent`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Agent = 7,
    /// C# member: `F:LibreMetaverse.ParcelMediaCommand.AutoAlign`.
    ///
    /// C# signature: `LibreMetaverse.ParcelMediaCommand LibreMetaverse.ParcelMediaCommand.AutoAlign`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    AutoAlign = 9,
    /// C# member: `F:LibreMetaverse.ParcelMediaCommand.Desc`.
    ///
    /// C# signature: `LibreMetaverse.ParcelMediaCommand LibreMetaverse.ParcelMediaCommand.Desc`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Desc = 12,
    /// C# member: `F:LibreMetaverse.ParcelMediaCommand.Loop`.
    ///
    /// C# signature: `LibreMetaverse.ParcelMediaCommand LibreMetaverse.ParcelMediaCommand.Loop`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Loop = 3,
    /// C# member: `F:LibreMetaverse.ParcelMediaCommand.Pause`.
    ///
    /// C# signature: `LibreMetaverse.ParcelMediaCommand LibreMetaverse.ParcelMediaCommand.Pause`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Pause = 1,
    /// C# member: `F:LibreMetaverse.ParcelMediaCommand.Play`.
    ///
    /// C# signature: `LibreMetaverse.ParcelMediaCommand LibreMetaverse.ParcelMediaCommand.Play`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Play = 2,
    /// C# member: `F:LibreMetaverse.ParcelMediaCommand.Size`.
    ///
    /// C# signature: `LibreMetaverse.ParcelMediaCommand LibreMetaverse.ParcelMediaCommand.Size`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Size = 11,
    /// C# member: `F:LibreMetaverse.ParcelMediaCommand.Stop`.
    ///
    /// C# signature: `LibreMetaverse.ParcelMediaCommand LibreMetaverse.ParcelMediaCommand.Stop`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Stop = 0,
    /// C# member: `F:LibreMetaverse.ParcelMediaCommand.Texture`.
    ///
    /// C# signature: `LibreMetaverse.ParcelMediaCommand LibreMetaverse.ParcelMediaCommand.Texture`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Texture = 4,
    /// C# member: `F:LibreMetaverse.ParcelMediaCommand.Time`.
    ///
    /// C# signature: `LibreMetaverse.ParcelMediaCommand LibreMetaverse.ParcelMediaCommand.Time`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Time = 6,
    /// C# member: `F:LibreMetaverse.ParcelMediaCommand.Type`.
    ///
    /// C# signature: `LibreMetaverse.ParcelMediaCommand LibreMetaverse.ParcelMediaCommand.Type`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Type = 10,
    /// C# member: `F:LibreMetaverse.ParcelMediaCommand.URL`.
    ///
    /// C# signature: `LibreMetaverse.ParcelMediaCommand LibreMetaverse.ParcelMediaCommand.URL`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    URL = 5,
    /// C# member: `F:LibreMetaverse.ParcelMediaCommand.Unload`.
    ///
    /// C# signature: `LibreMetaverse.ParcelMediaCommand LibreMetaverse.ParcelMediaCommand.Unload`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Unload = 8,
}

/// C# type: `T:LibreMetaverse.ParcelMediaCommandEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.ParcelMediaCommandEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.ParcelMediaCommandEventArgs.#ctor(LibreMetaverse.Simulator,System.UInt32,LibreMetaverse.ParcelFlags,LibreMetaverse.ParcelMediaCommand,System.Single)`.
///
/// C# signature: `LibreMetaverse.ParcelMediaCommandEventArgs(LibreMetaverse.Simulator simulator, System.UInt32 sequence, LibreMetaverse.ParcelFlags flags, LibreMetaverse.ParcelMediaCommand command, System.Single time)`.
/// Mapping contract: ownership `owned,owned,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.ParcelMediaCommandEventArgs.MediaCommand`.
///
/// C# signature: `LibreMetaverse.ParcelMediaCommand LibreMetaverse.ParcelMediaCommandEventArgs.MediaCommand`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.ParcelMediaCommandEventArgs.ParcelFlags`.
///
/// C# signature: `LibreMetaverse.ParcelFlags LibreMetaverse.ParcelMediaCommandEventArgs.ParcelFlags`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.ParcelMediaCommandEventArgs.Sequence`.
///
/// C# signature: `System.UInt32 LibreMetaverse.ParcelMediaCommandEventArgs.Sequence`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.ParcelMediaCommandEventArgs.Simulator`.
///
/// C# signature: `LibreMetaverse.Simulator LibreMetaverse.ParcelMediaCommandEventArgs.Simulator`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.ParcelMediaCommandEventArgs.Time`.
///
/// C# signature: `System.Single LibreMetaverse.ParcelMediaCommandEventArgs.Time`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::parcel_manager::ParcelMediaCommandEventArgs;

/// C# type: `T:LibreMetaverse.ParcelMediaUpdateReplyEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.ParcelMediaUpdateReplyEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.ParcelMediaUpdateReplyEventArgs.#ctor(LibreMetaverse.Simulator,LibreMetaverse.ParcelMedia)`.
///
/// C# signature: `LibreMetaverse.ParcelMediaUpdateReplyEventArgs(LibreMetaverse.Simulator simulator, LibreMetaverse.ParcelMedia media)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.ParcelMediaUpdateReplyEventArgs.Media`.
///
/// C# signature: `LibreMetaverse.ParcelMedia LibreMetaverse.ParcelMediaUpdateReplyEventArgs.Media`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.ParcelMediaUpdateReplyEventArgs.Simulator`.
///
/// C# signature: `LibreMetaverse.Simulator LibreMetaverse.ParcelMediaUpdateReplyEventArgs.Simulator`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::parcel_manager::ParcelMediaUpdateReplyEventArgs;

/// C# type: `T:LibreMetaverse.ParcelObjectOwnersReplyEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.ParcelObjectOwnersReplyEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.ParcelObjectOwnersReplyEventArgs.#ctor(LibreMetaverse.Simulator,System.Collections.Generic.List{LibreMetaverse.ParcelManager.ParcelPrimOwners})`.
///
/// C# signature: `LibreMetaverse.ParcelObjectOwnersReplyEventArgs(LibreMetaverse.Simulator simulator, System.Collections.Generic.List<LibreMetaverse.ParcelManager.ParcelPrimOwners> primOwners)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.ParcelObjectOwnersReplyEventArgs.PrimOwners`.
///
/// C# signature: `System.Collections.Generic.List<LibreMetaverse.ParcelManager.ParcelPrimOwners> LibreMetaverse.ParcelObjectOwnersReplyEventArgs.PrimOwners`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.ParcelObjectOwnersReplyEventArgs.Simulator`.
///
/// C# signature: `LibreMetaverse.Simulator LibreMetaverse.ParcelObjectOwnersReplyEventArgs.Simulator`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::parcel_manager::ParcelObjectOwnersReplyEventArgs;

/// C# type: `T:LibreMetaverse.ParcelOverlayEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.ParcelOverlayEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.ParcelOverlayEventArgs.#ctor(LibreMetaverse.Simulator)`.
///
/// C# signature: `LibreMetaverse.ParcelOverlayEventArgs(LibreMetaverse.Simulator simulator)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.ParcelOverlayEventArgs.Simulator`.
///
/// C# signature: `LibreMetaverse.Simulator LibreMetaverse.ParcelOverlayEventArgs.Simulator`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::parcel_manager::ParcelOverlayEventArgs;

/// C# type: `T:LibreMetaverse.ParcelOverlayType`.
///
/// Native Rust mapping of C# `LibreMetaverse.ParcelOverlayType` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(transparent)]
pub struct ParcelOverlayType(pub u8);
impl ParcelOverlayType {
    /// C# member: `F:LibreMetaverse.ParcelOverlayType.Auction`.
    ///
    /// C# signature: `LibreMetaverse.ParcelOverlayType LibreMetaverse.ParcelOverlayType.Auction`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const AUCTION: Self = Self(5);
    /// C# member: `F:LibreMetaverse.ParcelOverlayType.BorderSouth`.
    ///
    /// C# signature: `LibreMetaverse.ParcelOverlayType LibreMetaverse.ParcelOverlayType.BorderSouth`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const BORDER_SOUTH: Self = Self(128);
    /// C# member: `F:LibreMetaverse.ParcelOverlayType.BorderWest`.
    ///
    /// C# signature: `LibreMetaverse.ParcelOverlayType LibreMetaverse.ParcelOverlayType.BorderWest`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const BORDER_WEST: Self = Self(64);
    /// C# member: `F:LibreMetaverse.ParcelOverlayType.ForSale`.
    ///
    /// C# signature: `LibreMetaverse.ParcelOverlayType LibreMetaverse.ParcelOverlayType.ForSale`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const FOR_SALE: Self = Self(4);
    /// C# member: `F:LibreMetaverse.ParcelOverlayType.OwnedByGroup`.
    ///
    /// C# signature: `LibreMetaverse.ParcelOverlayType LibreMetaverse.ParcelOverlayType.OwnedByGroup`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const OWNED_BY_GROUP: Self = Self(2);
    /// C# member: `F:LibreMetaverse.ParcelOverlayType.OwnedByOther`.
    ///
    /// C# signature: `LibreMetaverse.ParcelOverlayType LibreMetaverse.ParcelOverlayType.OwnedByOther`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const OWNED_BY_OTHER: Self = Self(1);
    /// C# member: `F:LibreMetaverse.ParcelOverlayType.OwnedBySelf`.
    ///
    /// C# signature: `LibreMetaverse.ParcelOverlayType LibreMetaverse.ParcelOverlayType.OwnedBySelf`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const OWNED_BY_SELF: Self = Self(3);
    /// C# member: `F:LibreMetaverse.ParcelOverlayType.Private`.
    ///
    /// C# signature: `LibreMetaverse.ParcelOverlayType LibreMetaverse.ParcelOverlayType.Private`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const PRIVATE: Self = Self(32);
    /// C# member: `F:LibreMetaverse.ParcelOverlayType.Public`.
    ///
    /// C# signature: `LibreMetaverse.ParcelOverlayType LibreMetaverse.ParcelOverlayType.Public`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const PUBLIC: Self = Self(0);
}

/// C# type: `T:LibreMetaverse.ParcelPropertiesEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.ParcelPropertiesEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.ParcelPropertiesEventArgs.#ctor(LibreMetaverse.Simulator,LibreMetaverse.Parcel,LibreMetaverse.ParcelResult,System.Int32,System.Int32,System.Boolean)`.
///
/// C# signature: `LibreMetaverse.ParcelPropertiesEventArgs(LibreMetaverse.Simulator simulator, LibreMetaverse.Parcel parcel, LibreMetaverse.ParcelResult result, System.Int32 selectedPrims, System.Int32 sequenceID, System.Boolean snapSelection)`.
/// Mapping contract: ownership `owned,owned,owned,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.ParcelPropertiesEventArgs.Parcel`.
///
/// C# signature: `LibreMetaverse.Parcel LibreMetaverse.ParcelPropertiesEventArgs.Parcel`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.ParcelPropertiesEventArgs.Result`.
///
/// C# signature: `LibreMetaverse.ParcelResult LibreMetaverse.ParcelPropertiesEventArgs.Result`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.ParcelPropertiesEventArgs.SelectedPrims`.
///
/// C# signature: `System.Int32 LibreMetaverse.ParcelPropertiesEventArgs.SelectedPrims`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.ParcelPropertiesEventArgs.SequenceID`.
///
/// C# signature: `System.Int32 LibreMetaverse.ParcelPropertiesEventArgs.SequenceID`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.ParcelPropertiesEventArgs.Simulator`.
///
/// C# signature: `LibreMetaverse.Simulator LibreMetaverse.ParcelPropertiesEventArgs.Simulator`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.ParcelPropertiesEventArgs.SnapSelection`.
///
/// C# signature: `System.Boolean LibreMetaverse.ParcelPropertiesEventArgs.SnapSelection`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::parcel_manager::ParcelPropertiesEventArgs;

/// C# type: `T:LibreMetaverse.ParcelPropertiesStatus`.
///
/// Native Rust mapping of C# `LibreMetaverse.ParcelPropertiesStatus` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(i32)]
pub enum ParcelPropertiesStatus {
    /// C# member: `F:LibreMetaverse.ParcelPropertiesStatus.CollisionBanned`.
    ///
    /// C# signature: `LibreMetaverse.ParcelPropertiesStatus LibreMetaverse.ParcelPropertiesStatus.CollisionBanned`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    CollisionBanned = -30000,
    /// C# member: `F:LibreMetaverse.ParcelPropertiesStatus.CollisionNotInGroup`.
    ///
    /// C# signature: `LibreMetaverse.ParcelPropertiesStatus LibreMetaverse.ParcelPropertiesStatus.CollisionNotInGroup`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    CollisionNotInGroup = -20000,
    /// C# member: `F:LibreMetaverse.ParcelPropertiesStatus.CollisionNotOnAccessList`.
    ///
    /// C# signature: `LibreMetaverse.ParcelPropertiesStatus LibreMetaverse.ParcelPropertiesStatus.CollisionNotOnAccessList`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    CollisionNotOnAccessList = -40000,
    /// C# member: `F:LibreMetaverse.ParcelPropertiesStatus.HoveredOverParcel`.
    ///
    /// C# signature: `LibreMetaverse.ParcelPropertiesStatus LibreMetaverse.ParcelPropertiesStatus.HoveredOverParcel`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    HoveredOverParcel = -50000,
    /// C# member: `F:LibreMetaverse.ParcelPropertiesStatus.ParcelSelected`.
    ///
    /// C# signature: `LibreMetaverse.ParcelPropertiesStatus LibreMetaverse.ParcelPropertiesStatus.ParcelSelected`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    ParcelSelected = -10000,
}

/// C# type: `T:LibreMetaverse.ParcelResult`.
///
/// Native Rust mapping of C# `LibreMetaverse.ParcelResult` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(i32)]
pub enum ParcelResult {
    /// C# member: `F:LibreMetaverse.ParcelResult.Multiple`.
    ///
    /// C# signature: `LibreMetaverse.ParcelResult LibreMetaverse.ParcelResult.Multiple`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Multiple = 1,
    /// C# member: `F:LibreMetaverse.ParcelResult.NoData`.
    ///
    /// C# signature: `LibreMetaverse.ParcelResult LibreMetaverse.ParcelResult.NoData`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    NoData = -1,
    /// C# member: `F:LibreMetaverse.ParcelResult.Single`.
    ///
    /// C# signature: `LibreMetaverse.ParcelResult LibreMetaverse.ParcelResult.Single`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Single = 0,
}

/// C# type: `T:LibreMetaverse.ParcelSettings`.
///
/// Native Rust mapping of C# `LibreMetaverse.ParcelSettings` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct ParcelSettings {
    /// C# member: `F:LibreMetaverse.ParcelSettings.AlwaysRequestAcl`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.ParcelSettings.AlwaysRequestAcl`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub always_request_acl: bool,
    /// C# member: `F:LibreMetaverse.ParcelSettings.AlwaysRequestDwell`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.ParcelSettings.AlwaysRequestDwell`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub always_request_dwell: bool,
    /// C# member: `F:LibreMetaverse.ParcelSettings.PoolParcelData`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.ParcelSettings.PoolParcelData`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub pool_parcel_data: bool,
    /// C# member: `F:LibreMetaverse.ParcelSettings.TrackParcels`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.ParcelSettings.TrackParcels`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub track_parcels: bool,
}
impl ParcelSettings {
    /// C# member: `M:LibreMetaverse.ParcelSettings.#ctor`.
    ///
    /// C# signature: `LibreMetaverse.ParcelSettings()`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn new() -> Result<Self, crate::Error> {
        /* native client-core implementation */
        Ok(crate::client_core::parcel_settings_defaults())
    }
}

/// C# type: `T:LibreMetaverse.ParcelStatus`.
///
/// Native Rust mapping of C# `LibreMetaverse.ParcelStatus` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(i8)]
pub enum ParcelStatus {
    /// C# member: `F:LibreMetaverse.ParcelStatus.Abandoned`.
    ///
    /// C# signature: `LibreMetaverse.ParcelStatus LibreMetaverse.ParcelStatus.Abandoned`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Abandoned = 2,
    /// C# member: `F:LibreMetaverse.ParcelStatus.LeasePending`.
    ///
    /// C# signature: `LibreMetaverse.ParcelStatus LibreMetaverse.ParcelStatus.LeasePending`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    LeasePending = 1,
    /// C# member: `F:LibreMetaverse.ParcelStatus.Leased`.
    ///
    /// C# signature: `LibreMetaverse.ParcelStatus LibreMetaverse.ParcelStatus.Leased`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Leased = 0,
    /// C# member: `F:LibreMetaverse.ParcelStatus.None`.
    ///
    /// C# signature: `LibreMetaverse.ParcelStatus LibreMetaverse.ParcelStatus.None`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    None = -1,
}

/// C# type: `T:LibreMetaverse.ParticleSimulator`.
///
/// Native Rust mapping of C# `LibreMetaverse.ParticleSimulator` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.ParticleSimulator.#ctor(LibreMetaverse.Primitive.ParticleSystem,System.Int32)`.
///
/// C# signature: `LibreMetaverse.ParticleSimulator(LibreMetaverse.Primitive.ParticleSystem sys, System.Int32 seed = default)`.
/// Mapping contract: ownership `owned,optional_owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.ParticleSimulator.GetParticles`.
///
/// C# signature: `System.Collections.Generic.IReadOnlyList<LibreMetaverse.LiveParticle> LibreMetaverse.ParticleSimulator.GetParticles()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.ParticleSimulator.Tick(System.Single)`.
///
/// C# signature: `System.Void LibreMetaverse.ParticleSimulator.Tick(System.Single dt)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.ParticleSimulator.IsActive`.
///
/// C# signature: `System.Boolean LibreMetaverse.ParticleSimulator.IsActive`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.ParticleSimulator.SourcePosition`.
///
/// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.ParticleSimulator.SourcePosition`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.ParticleSimulator.SourceRotation`.
///
/// C# signature: `LibreMetaverse.Quaternion LibreMetaverse.ParticleSimulator.SourceRotation`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.ParticleSimulator.SystemAge`.
///
/// C# signature: `System.Single LibreMetaverse.ParticleSimulator.SystemAge`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.ParticleSimulator.TargetPosition`.
///
/// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.ParticleSimulator.TargetPosition`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.ParticleSimulator.Wind`.
///
/// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.ParticleSimulator.Wind`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::particle_simulator::ParticleSimulator;

/// C# type: `T:LibreMetaverse.ParticleUpdateEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.ParticleUpdateEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.ParticleUpdateEventArgs.#ctor(LibreMetaverse.Simulator,LibreMetaverse.Primitive.ParticleSystem,LibreMetaverse.Primitive)`.
///
/// C# signature: `LibreMetaverse.ParticleUpdateEventArgs(LibreMetaverse.Simulator simulator, LibreMetaverse.Primitive.ParticleSystem particlesystem, LibreMetaverse.Primitive source)`.
/// Mapping contract: ownership `owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.ParticleUpdateEventArgs.ParticleSystem`.
///
/// C# signature: `LibreMetaverse.Primitive.ParticleSystem LibreMetaverse.ParticleUpdateEventArgs.ParticleSystem`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.ParticleUpdateEventArgs.Simulator`.
///
/// C# signature: `LibreMetaverse.Simulator LibreMetaverse.ParticleUpdateEventArgs.Simulator`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.ParticleUpdateEventArgs.Source`.
///
/// C# signature: `LibreMetaverse.Primitive LibreMetaverse.ParticleUpdateEventArgs.Source`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::object_manager::ParticleUpdateEventArgs;

/// C# type: `T:LibreMetaverse.PayPriceReplyEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.PayPriceReplyEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.PayPriceReplyEventArgs.#ctor(LibreMetaverse.Simulator,LibreMetaverse.UUID,System.Int32,System.Int32[])`.
///
/// C# signature: `LibreMetaverse.PayPriceReplyEventArgs(LibreMetaverse.Simulator simulator, LibreMetaverse.UUID objectID, System.Int32 defaultPrice, System.Int32[] buttonPrices)`.
/// Mapping contract: ownership `owned,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.PayPriceReplyEventArgs.ButtonPrices`.
///
/// C# signature: `System.Int32[] LibreMetaverse.PayPriceReplyEventArgs.ButtonPrices`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.PayPriceReplyEventArgs.DefaultPrice`.
///
/// C# signature: `System.Int32 LibreMetaverse.PayPriceReplyEventArgs.DefaultPrice`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.PayPriceReplyEventArgs.ObjectID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.PayPriceReplyEventArgs.ObjectID`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.PayPriceReplyEventArgs.Simulator`.
///
/// C# signature: `LibreMetaverse.Simulator LibreMetaverse.PayPriceReplyEventArgs.Simulator`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::object_manager::PayPriceReplyEventArgs;

/// C# type: `T:LibreMetaverse.PayPriceType`.
///
/// Native Rust mapping of C# `LibreMetaverse.PayPriceType` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(i32)]
pub enum PayPriceType {
    /// C# member: `F:LibreMetaverse.PayPriceType.Default`.
    ///
    /// C# signature: `LibreMetaverse.PayPriceType LibreMetaverse.PayPriceType.Default`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Default = -2,
    /// C# member: `F:LibreMetaverse.PayPriceType.Hide`.
    ///
    /// C# signature: `LibreMetaverse.PayPriceType LibreMetaverse.PayPriceType.Hide`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Hide = -1,
}

/// C# type: `T:LibreMetaverse.PermissionMask`.
///
/// Native Rust mapping of C# `LibreMetaverse.PermissionMask` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(transparent)]
pub struct PermissionMask(pub u32);
impl PermissionMask {
    /// C# member: `F:LibreMetaverse.PermissionMask.All`.
    ///
    /// C# signature: `LibreMetaverse.PermissionMask LibreMetaverse.PermissionMask.All`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const ALL: Self = Self(581632);
    /// C# member: `F:LibreMetaverse.PermissionMask.Copy`.
    ///
    /// C# signature: `LibreMetaverse.PermissionMask LibreMetaverse.PermissionMask.Copy`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const COPY: Self = Self(32768);
    /// C# member: `F:LibreMetaverse.PermissionMask.Damage`.
    ///
    /// C# signature: `LibreMetaverse.PermissionMask LibreMetaverse.PermissionMask.Damage`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const DAMAGE: Self = Self(1048576);
    /// C# member: `F:LibreMetaverse.PermissionMask.Export`.
    ///
    /// C# signature: `LibreMetaverse.PermissionMask LibreMetaverse.PermissionMask.Export`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const EXPORT: Self = Self(65536);
    /// C# member: `F:LibreMetaverse.PermissionMask.Modify`.
    ///
    /// C# signature: `LibreMetaverse.PermissionMask LibreMetaverse.PermissionMask.Modify`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const MODIFY: Self = Self(16384);
    /// C# member: `F:LibreMetaverse.PermissionMask.Move`.
    ///
    /// C# signature: `LibreMetaverse.PermissionMask LibreMetaverse.PermissionMask.Move`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const MOVE_: Self = Self(524288);
    /// C# member: `F:LibreMetaverse.PermissionMask.None`.
    ///
    /// C# signature: `LibreMetaverse.PermissionMask LibreMetaverse.PermissionMask.None`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const NONE: Self = Self(0);
    /// C# member: `F:LibreMetaverse.PermissionMask.Transfer`.
    ///
    /// C# signature: `LibreMetaverse.PermissionMask LibreMetaverse.PermissionMask.Transfer`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const TRANSFER: Self = Self(8192);
}

/// C# type: `T:LibreMetaverse.PermissionWho`.
///
/// Native Rust mapping of C# `LibreMetaverse.PermissionWho` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(transparent)]
pub struct PermissionWho(pub u8);
impl PermissionWho {
    /// C# member: `F:LibreMetaverse.PermissionWho.All`.
    ///
    /// C# signature: `LibreMetaverse.PermissionWho LibreMetaverse.PermissionWho.All`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const ALL: Self = Self(31);
    /// C# member: `F:LibreMetaverse.PermissionWho.Base`.
    ///
    /// C# signature: `LibreMetaverse.PermissionWho LibreMetaverse.PermissionWho.Base`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const BASE: Self = Self(1);
    /// C# member: `F:LibreMetaverse.PermissionWho.Everyone`.
    ///
    /// C# signature: `LibreMetaverse.PermissionWho LibreMetaverse.PermissionWho.Everyone`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const EVERYONE: Self = Self(8);
    /// C# member: `F:LibreMetaverse.PermissionWho.Group`.
    ///
    /// C# signature: `LibreMetaverse.PermissionWho LibreMetaverse.PermissionWho.Group`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const GROUP: Self = Self(4);
    /// C# member: `F:LibreMetaverse.PermissionWho.NextOwner`.
    ///
    /// C# signature: `LibreMetaverse.PermissionWho LibreMetaverse.PermissionWho.NextOwner`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const NEXT_OWNER: Self = Self(16);
    /// C# member: `F:LibreMetaverse.PermissionWho.Owner`.
    ///
    /// C# signature: `LibreMetaverse.PermissionWho LibreMetaverse.PermissionWho.Owner`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const OWNER: Self = Self(2);
}

/// C# type: `T:LibreMetaverse.Permissions`.
///
/// Native Rust mapping of C# `LibreMetaverse.Permissions` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `F:LibreMetaverse.Permissions.BaseMask`.
///
/// C# signature: `LibreMetaverse.PermissionMask LibreMetaverse.Permissions.BaseMask`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Permissions.EveryoneMask`.
///
/// C# signature: `LibreMetaverse.PermissionMask LibreMetaverse.Permissions.EveryoneMask`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Permissions.FullPermissions`.
///
/// C# signature: `LibreMetaverse.Permissions LibreMetaverse.Permissions.FullPermissions`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
/// C# member: `F:LibreMetaverse.Permissions.GroupMask`.
///
/// C# signature: `LibreMetaverse.PermissionMask LibreMetaverse.Permissions.GroupMask`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Permissions.NextOwnerMask`.
///
/// C# signature: `LibreMetaverse.PermissionMask LibreMetaverse.Permissions.NextOwnerMask`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Permissions.NoPermissions`.
///
/// C# signature: `LibreMetaverse.Permissions LibreMetaverse.Permissions.NoPermissions`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
/// C# member: `F:LibreMetaverse.Permissions.OwnerMask`.
///
/// C# signature: `LibreMetaverse.PermissionMask LibreMetaverse.Permissions.OwnerMask`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `M:LibreMetaverse.Permissions.#ctor(System.UInt32,System.UInt32,System.UInt32,System.UInt32,System.UInt32)`.
///
/// C# signature: `LibreMetaverse.Permissions(System.UInt32 baseMask, System.UInt32 everyoneMask, System.UInt32 groupMask, System.UInt32 nextOwnerMask, System.UInt32 ownerMask)`.
/// Mapping contract: ownership `owned,owned,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Permissions.Equals(LibreMetaverse.Permissions)`.
///
/// C# signature: `System.Boolean LibreMetaverse.Permissions.Equals(LibreMetaverse.Permissions other)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `infallible_placeholder`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Permissions.Equals(System.Object)`.
///
/// C# signature: `System.Boolean LibreMetaverse.Permissions.Equals(System.Object obj)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `infallible_placeholder`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Permissions.FromOSD(LibreMetaverse.StructuredData.OSD)`.
///
/// C# signature: `LibreMetaverse.Permissions LibreMetaverse.Permissions.FromOSD(LibreMetaverse.StructuredData.OSD llsd)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Permissions.GetHashCode`.
///
/// C# signature: `System.Int32 LibreMetaverse.Permissions.GetHashCode()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Permissions.GetNextPermissions`.
///
/// C# signature: `LibreMetaverse.Permissions LibreMetaverse.Permissions.GetNextPermissions()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Permissions.GetOSD`.
///
/// C# signature: `LibreMetaverse.StructuredData.OSD LibreMetaverse.Permissions.GetOSD()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Permissions.HasPermissions(LibreMetaverse.PermissionMask,LibreMetaverse.PermissionMask)`.
///
/// C# signature: `System.Boolean LibreMetaverse.Permissions.HasPermissions(LibreMetaverse.PermissionMask perms, LibreMetaverse.PermissionMask checkPerms)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Permissions.ToString`.
///
/// C# signature: `System.String LibreMetaverse.Permissions.ToString()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Permissions.op_Equality(LibreMetaverse.Permissions,LibreMetaverse.Permissions)`.
///
/// C# signature: `System.Boolean LibreMetaverse.Permissions.op_Equality(LibreMetaverse.Permissions lhs, LibreMetaverse.Permissions rhs)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Permissions.op_Inequality(LibreMetaverse.Permissions,LibreMetaverse.Permissions)`.
///
/// C# signature: `System.Boolean LibreMetaverse.Permissions.op_Inequality(LibreMetaverse.Permissions lhs, LibreMetaverse.Permissions rhs)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
pub use crate::inventory::Permissions;

/// C# type: `T:LibreMetaverse.PhysicsPropertiesEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.PhysicsPropertiesEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `F:LibreMetaverse.PhysicsPropertiesEventArgs.PhysicsProperties`.
///
/// C# signature: `LibreMetaverse.Primitive.PhysicsProperties LibreMetaverse.PhysicsPropertiesEventArgs.PhysicsProperties`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.PhysicsPropertiesEventArgs.Simulator`.
///
/// C# signature: `LibreMetaverse.Simulator LibreMetaverse.PhysicsPropertiesEventArgs.Simulator`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `M:LibreMetaverse.PhysicsPropertiesEventArgs.#ctor(LibreMetaverse.Simulator,LibreMetaverse.Primitive.PhysicsProperties)`.
///
/// C# signature: `LibreMetaverse.PhysicsPropertiesEventArgs(LibreMetaverse.Simulator sim, LibreMetaverse.Primitive.PhysicsProperties props)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
pub use crate::object_manager::PhysicsPropertiesEventArgs;

/// C# type: `T:LibreMetaverse.PickInfoReplyEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.PickInfoReplyEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
pub struct PickInfoReplyEventArgs {
    property_0: libremetaverse::ProfilePick,
    property_1: libremetaverse_types::UUID,
}
impl PickInfoReplyEventArgs {
    /// C# member: `M:LibreMetaverse.PickInfoReplyEventArgs.#ctor(LibreMetaverse.UUID,LibreMetaverse.ProfilePick)`.
    ///
    /// C# signature: `LibreMetaverse.PickInfoReplyEventArgs(LibreMetaverse.UUID pickid, LibreMetaverse.ProfilePick pick)`.
    /// Mapping contract: ownership `owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn new(
        pickid: libremetaverse_types::UUID,
        pick: libremetaverse::ProfilePick,
    ) -> Result<Self, crate::Error> {
        /* complete generated data model */
        Ok(Self {
            property_0: pick,
            property_1: pickid,
        })
    }
    /// C# member: `P:LibreMetaverse.PickInfoReplyEventArgs.Pick`.
    ///
    /// C# signature: `LibreMetaverse.ProfilePick LibreMetaverse.PickInfoReplyEventArgs.Pick`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn pick(&self) -> libremetaverse::ProfilePick {
        /* complete generated data model */
        self.property_0.clone()
    }
    /// C# member: `P:LibreMetaverse.PickInfoReplyEventArgs.PickID`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.PickInfoReplyEventArgs.PickID`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn pick_id(&self) -> libremetaverse_types::UUID {
        /* complete generated data model */
        self.property_1.clone()
    }
}

/// C# type: `T:LibreMetaverse.PlacesReplyEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.PlacesReplyEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.PlacesReplyEventArgs.#ctor(LibreMetaverse.UUID,System.Collections.Generic.List{LibreMetaverse.DirectoryManager.PlacesSearchData})`.
///
/// C# signature: `LibreMetaverse.PlacesReplyEventArgs(LibreMetaverse.UUID queryID, System.Collections.Generic.List<LibreMetaverse.DirectoryManager.PlacesSearchData> matchedPlaces)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.PlacesReplyEventArgs.MatchedPlaces`.
///
/// C# signature: `System.Collections.Generic.List<LibreMetaverse.DirectoryManager.PlacesSearchData> LibreMetaverse.PlacesReplyEventArgs.MatchedPlaces`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.PlacesReplyEventArgs.QueryID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.PlacesReplyEventArgs.QueryID`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::directory_manager::PlacesReplyEventArgs;

/// C# type: `T:LibreMetaverse.PointAtType`.
///
/// Native Rust mapping of C# `LibreMetaverse.PointAtType` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(u8)]
pub enum PointAtType {
    /// C# member: `F:LibreMetaverse.PointAtType.Clear`.
    ///
    /// C# signature: `LibreMetaverse.PointAtType LibreMetaverse.PointAtType.Clear`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Clear = 3,
    /// C# member: `F:LibreMetaverse.PointAtType.Grab`.
    ///
    /// C# signature: `LibreMetaverse.PointAtType LibreMetaverse.PointAtType.Grab`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Grab = 2,
    /// C# member: `F:LibreMetaverse.PointAtType.None`.
    ///
    /// C# signature: `LibreMetaverse.PointAtType LibreMetaverse.PointAtType.None`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    None = 0,
    /// C# member: `F:LibreMetaverse.PointAtType.Select`.
    ///
    /// C# signature: `LibreMetaverse.PointAtType LibreMetaverse.PointAtType.Select`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Select = 1,
}

/// C# type: `T:LibreMetaverse.PositionHelper`.
///
/// Native Rust mapping of C# `LibreMetaverse.PositionHelper` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.PositionHelper.FormatCoordinates(System.Nullable{System.Int32},System.Nullable{System.Int32},System.Nullable{System.Int32})`.
///
/// C# signature: `System.String LibreMetaverse.PositionHelper.FormatCoordinates(System.Nullable<System.Int32> x = default, System.Nullable<System.Int32> y = default, System.Nullable<System.Int32> z = default)`.
/// Mapping contract: ownership `optional_owned,optional_owned,optional_owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.PositionHelper.FormatRegionCoordinates(System.String,System.Nullable{System.Int32},System.Nullable{System.Int32},System.Nullable{System.Int32})`.
///
/// C# signature: `System.String LibreMetaverse.PositionHelper.FormatRegionCoordinates(System.String regionName, System.Nullable<System.Int32> x = default, System.Nullable<System.Int32> y = default, System.Nullable<System.Int32> z = default)`.
/// Mapping contract: ownership `owned,optional_owned,optional_owned,optional_owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.PositionHelper.GetAvatarPosition(LibreMetaverse.Simulator,LibreMetaverse.Avatar)`.
///
/// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.PositionHelper.GetAvatarPosition(LibreMetaverse.Simulator sim, LibreMetaverse.Avatar avatar)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.PositionHelper.GetPrimPosition(LibreMetaverse.Simulator,LibreMetaverse.Primitive)`.
///
/// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.PositionHelper.GetPrimPosition(LibreMetaverse.Simulator sim, LibreMetaverse.Primitive prim)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.PositionHelper.GlobalPosition(LibreMetaverse.Primitive,LibreMetaverse.Simulator)`.
///
/// C# signature: `LibreMetaverse.Vector3d LibreMetaverse.PositionHelper.GlobalPosition(LibreMetaverse.Primitive prim, LibreMetaverse.Simulator currentSim)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.PositionHelper.GlobalPosition(LibreMetaverse.Simulator,LibreMetaverse.Vector3)`.
///
/// C# signature: `LibreMetaverse.Vector3d LibreMetaverse.PositionHelper.GlobalPosition(LibreMetaverse.Simulator sim, LibreMetaverse.Vector3 localPos)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.PositionHelper.RegionHandleFromGlobal(System.UInt32,System.UInt32)`.
///
/// C# signature: `System.UInt64 LibreMetaverse.PositionHelper.RegionHandleFromGlobal(System.UInt32 globalX, System.UInt32 globalY)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.PositionHelper.RegionHandleFromGlobalPosition(LibreMetaverse.Vector3d)`.
///
/// C# signature: `System.UInt64 LibreMetaverse.PositionHelper.RegionHandleFromGlobalPosition(LibreMetaverse.Vector3d globalPos)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.PositionHelper.ToGlobalPosition(System.UInt64,LibreMetaverse.Vector3)`.
///
/// C# signature: `LibreMetaverse.Vector3d LibreMetaverse.PositionHelper.ToGlobalPosition(System.UInt64 simHandle, LibreMetaverse.Vector3 localPos)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.PositionHelper.ToLocalPosition(System.UInt64,LibreMetaverse.Vector3d)`.
///
/// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.PositionHelper.ToLocalPosition(System.UInt64 simHandle, LibreMetaverse.Vector3d globalPos)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
pub use crate::position_helper::PositionHelper;

/// C# type: `T:LibreMetaverse.PreloadSoundEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.PreloadSoundEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.PreloadSoundEventArgs.#ctor(LibreMetaverse.Simulator,LibreMetaverse.UUID,LibreMetaverse.UUID,LibreMetaverse.UUID)`.
///
/// C# signature: `LibreMetaverse.PreloadSoundEventArgs(LibreMetaverse.Simulator sim, LibreMetaverse.UUID soundID, LibreMetaverse.UUID ownerID, LibreMetaverse.UUID objectID)`.
/// Mapping contract: ownership `owned,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.PreloadSoundEventArgs.ObjectID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.PreloadSoundEventArgs.ObjectID`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.PreloadSoundEventArgs.OwnerID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.PreloadSoundEventArgs.OwnerID`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.PreloadSoundEventArgs.Simulator`.
///
/// C# signature: `LibreMetaverse.Simulator LibreMetaverse.PreloadSoundEventArgs.Simulator`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.PreloadSoundEventArgs.SoundID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.PreloadSoundEventArgs.SoundID`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::sound_manager::PreloadSoundEventArgs;

/// C# type: `T:LibreMetaverse.PrimEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.PrimEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.PrimEventArgs.#ctor(LibreMetaverse.Simulator,LibreMetaverse.Primitive,System.UInt16,System.Boolean,System.Boolean)`.
///
/// C# signature: `LibreMetaverse.PrimEventArgs(LibreMetaverse.Simulator simulator, LibreMetaverse.Primitive prim, System.UInt16 timeDilation, System.Boolean isNew, System.Boolean isAttachment)`.
/// Mapping contract: ownership `owned,owned,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.PrimEventArgs.IsAttachment`.
///
/// C# signature: `System.Boolean LibreMetaverse.PrimEventArgs.IsAttachment`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.PrimEventArgs.IsNew`.
///
/// C# signature: `System.Boolean LibreMetaverse.PrimEventArgs.IsNew`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.PrimEventArgs.Prim`.
///
/// C# signature: `LibreMetaverse.Primitive LibreMetaverse.PrimEventArgs.Prim`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.PrimEventArgs.Simulator`.
///
/// C# signature: `LibreMetaverse.Simulator LibreMetaverse.PrimEventArgs.Simulator`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.PrimEventArgs.TimeDilation`.
///
/// C# signature: `System.UInt16 LibreMetaverse.PrimEventArgs.TimeDilation`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::object_manager::PrimEventArgs;

/// C# type: `T:LibreMetaverse.Primitive`.
///
/// Native Rust mapping of C# `LibreMetaverse.Primitive` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `F:LibreMetaverse.Primitive.Acceleration`.
///
/// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Primitive.Acceleration`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.ActiveClients`.
///
/// C# signature: `System.Int32 LibreMetaverse.Primitive.ActiveClients`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.AngularVelocity`.
///
/// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Primitive.AngularVelocity`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.CRC`.
///
/// C# signature: `System.UInt32 LibreMetaverse.Primitive.CRC`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.ChildCount`.
///
/// C# signature: `System.Int32 LibreMetaverse.Primitive.ChildCount`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.ClickAction`.
///
/// C# signature: `LibreMetaverse.ClickAction LibreMetaverse.Primitive.ClickAction`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.CollisionPlane`.
///
/// C# signature: `LibreMetaverse.Vector4 LibreMetaverse.Primitive.CollisionPlane`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.ExtendedMeshFlags`.
///
/// C# signature: `System.UInt32 LibreMetaverse.Primitive.ExtendedMeshFlags`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.FaceMedia`.
///
/// C# signature: `LibreMetaverse.MediaEntry[] LibreMetaverse.Primitive.FaceMedia`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.Flags`.
///
/// C# signature: `LibreMetaverse.PrimFlags LibreMetaverse.Primitive.Flags`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.Flexible`.
///
/// C# signature: `LibreMetaverse.Primitive.FlexibleData LibreMetaverse.Primitive.Flexible`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.GroupID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.Primitive.GroupID`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.ID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.Primitive.ID`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.IsAttachment`.
///
/// C# signature: `System.Boolean LibreMetaverse.Primitive.IsAttachment`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.Joint`.
///
/// C# signature: `LibreMetaverse.JointType LibreMetaverse.Primitive.Joint`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.JointAxisOrAnchor`.
///
/// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Primitive.JointAxisOrAnchor`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.JointPivot`.
///
/// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Primitive.JointPivot`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.Light`.
///
/// C# signature: `LibreMetaverse.Primitive.LightData LibreMetaverse.Primitive.Light`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.LightMap`.
///
/// C# signature: `LibreMetaverse.Primitive.LightImage LibreMetaverse.Primitive.LightMap`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.LocalID`.
///
/// C# signature: `System.UInt32 LibreMetaverse.Primitive.LocalID`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.MediaURL`.
///
/// C# signature: `System.String LibreMetaverse.Primitive.MediaURL`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.MediaVersion`.
///
/// C# signature: `System.String LibreMetaverse.Primitive.MediaVersion`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.NameValues`.
///
/// C# signature: `LibreMetaverse.NameValue[] LibreMetaverse.Primitive.NameValues`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.OwnerID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.Primitive.OwnerID`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.ParentID`.
///
/// C# signature: `System.UInt32 LibreMetaverse.Primitive.ParentID`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.ParticleSys`.
///
/// C# signature: `LibreMetaverse.Primitive.ParticleSystem LibreMetaverse.Primitive.ParticleSys`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.PhysicsProps`.
///
/// C# signature: `LibreMetaverse.Primitive.PhysicsProperties LibreMetaverse.Primitive.PhysicsProps`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.Position`.
///
/// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Primitive.Position`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.PrimData`.
///
/// C# signature: `LibreMetaverse.Primitive.ConstructionData LibreMetaverse.Primitive.PrimData`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.Properties`.
///
/// C# signature: `LibreMetaverse.Primitive.ObjectProperties LibreMetaverse.Primitive.Properties`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.RegionHandle`.
///
/// C# signature: `System.UInt64 LibreMetaverse.Primitive.RegionHandle`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.Rotation`.
///
/// C# signature: `LibreMetaverse.Quaternion LibreMetaverse.Primitive.Rotation`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.Scale`.
///
/// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Primitive.Scale`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.ScratchPad`.
///
/// C# signature: `System.Byte[] LibreMetaverse.Primitive.ScratchPad`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.Sculpt`.
///
/// C# signature: `LibreMetaverse.Primitive.SculptData LibreMetaverse.Primitive.Sculpt`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.SignaledAnimations`.
///
/// C# signature: `System.Collections.Generic.List<LibreMetaverse.Animation> LibreMetaverse.Primitive.SignaledAnimations`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.Sound`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.Primitive.Sound`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.SoundFlags`.
///
/// C# signature: `LibreMetaverse.SoundFlags LibreMetaverse.Primitive.SoundFlags`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.SoundGain`.
///
/// C# signature: `System.Single LibreMetaverse.Primitive.SoundGain`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.SoundRadius`.
///
/// C# signature: `System.Single LibreMetaverse.Primitive.SoundRadius`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.Tag`.
///
/// C# signature: `System.Object LibreMetaverse.Primitive.Tag`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.Text`.
///
/// C# signature: `System.String LibreMetaverse.Primitive.Text`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.TextColor`.
///
/// C# signature: `LibreMetaverse.Color4 LibreMetaverse.Primitive.TextColor`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.TextureAnim`.
///
/// C# signature: `LibreMetaverse.Primitive.TextureAnimation LibreMetaverse.Primitive.TextureAnim`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.Textures`.
///
/// C# signature: `LibreMetaverse.Primitive.TextureEntry LibreMetaverse.Primitive.Textures`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.TreeSpecies`.
///
/// C# signature: `LibreMetaverse.Tree LibreMetaverse.Primitive.TreeSpecies`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.Velocity`.
///
/// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Primitive.Velocity`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `M:LibreMetaverse.Primitive.#ctor`.
///
/// C# signature: `LibreMetaverse.Primitive()`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Primitive.#ctor(LibreMetaverse.Primitive)`.
///
/// C# signature: `LibreMetaverse.Primitive(LibreMetaverse.Primitive prim)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Primitive.Equals(LibreMetaverse.Primitive)`.
///
/// C# signature: `System.Boolean LibreMetaverse.Primitive.Equals(LibreMetaverse.Primitive other)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `infallible_placeholder`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Primitive.Equals(System.Object)`.
///
/// C# signature: `System.Boolean LibreMetaverse.Primitive.Equals(System.Object obj)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `infallible_placeholder`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Primitive.FromOSD(LibreMetaverse.StructuredData.OSD)`.
///
/// C# signature: `LibreMetaverse.Primitive LibreMetaverse.Primitive.FromOSD(LibreMetaverse.StructuredData.OSD osd)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Primitive.GetChildren(LibreMetaverse.GridClient)`.
///
/// C# signature: `System.Collections.Generic.IEnumerable<LibreMetaverse.Primitive> LibreMetaverse.Primitive.GetChildren(LibreMetaverse.GridClient client)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Primitive.GetExtraParamsBytes`.
///
/// C# signature: `System.Byte[] LibreMetaverse.Primitive.GetExtraParamsBytes()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Primitive.GetGrassDefinition`.
///
/// C# signature: `LibreMetaverse.GrassDefinition& LibreMetaverse.Primitive.GetGrassDefinition()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Primitive.GetHashCode`.
///
/// C# signature: `System.Int32 LibreMetaverse.Primitive.GetHashCode()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Primitive.GetOSD`.
///
/// C# signature: `LibreMetaverse.StructuredData.OSD LibreMetaverse.Primitive.GetOSD()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Primitive.GetTreeDefinition`.
///
/// C# signature: `LibreMetaverse.TreeDefinition& LibreMetaverse.Primitive.GetTreeDefinition()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Primitive.PackBeginCut(System.Single)`.
///
/// C# signature: `System.UInt16 LibreMetaverse.Primitive.PackBeginCut(System.Single beginCut)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Primitive.PackEndCut(System.Single)`.
///
/// C# signature: `System.UInt16 LibreMetaverse.Primitive.PackEndCut(System.Single endCut)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Primitive.PackPathRevolutions(System.Single)`.
///
/// C# signature: `System.Byte LibreMetaverse.Primitive.PackPathRevolutions(System.Single pathRevolutions)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Primitive.PackPathScale(System.Single)`.
///
/// C# signature: `System.Byte LibreMetaverse.Primitive.PackPathScale(System.Single pathScale)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Primitive.PackPathShear(System.Single)`.
///
/// C# signature: `System.SByte LibreMetaverse.Primitive.PackPathShear(System.Single pathShear)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Primitive.PackPathTaper(System.Single)`.
///
/// C# signature: `System.SByte LibreMetaverse.Primitive.PackPathTaper(System.Single pathTaper)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Primitive.PackPathTwist(System.Single)`.
///
/// C# signature: `System.SByte LibreMetaverse.Primitive.PackPathTwist(System.Single pathTwist)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Primitive.PackProfileHollow(System.Single)`.
///
/// C# signature: `System.UInt16 LibreMetaverse.Primitive.PackProfileHollow(System.Single profileHollow)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Primitive.SetExtraParamsFromBytes(System.Byte[],System.Int32)`.
///
/// C# signature: `System.Int32 LibreMetaverse.Primitive.SetExtraParamsFromBytes(System.Byte[] data, System.Int32 pos)`.
/// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Primitive.ToString`.
///
/// C# signature: `System.String LibreMetaverse.Primitive.ToString()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Primitive.UnpackBeginCut(System.UInt16)`.
///
/// C# signature: `System.Single LibreMetaverse.Primitive.UnpackBeginCut(System.UInt16 beginCut)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Primitive.UnpackEndCut(System.UInt16)`.
///
/// C# signature: `System.Single LibreMetaverse.Primitive.UnpackEndCut(System.UInt16 endCut)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Primitive.UnpackPathRevolutions(System.Byte)`.
///
/// C# signature: `System.Single LibreMetaverse.Primitive.UnpackPathRevolutions(System.Byte pathRevolutions)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Primitive.UnpackPathScale(System.Byte)`.
///
/// C# signature: `System.Single LibreMetaverse.Primitive.UnpackPathScale(System.Byte pathScale)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Primitive.UnpackPathShear(System.SByte)`.
///
/// C# signature: `System.Single LibreMetaverse.Primitive.UnpackPathShear(System.SByte pathShear)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Primitive.UnpackPathTaper(System.SByte)`.
///
/// C# signature: `System.Single LibreMetaverse.Primitive.UnpackPathTaper(System.SByte pathTaper)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Primitive.UnpackPathTwist(System.SByte)`.
///
/// C# signature: `System.Single LibreMetaverse.Primitive.UnpackPathTwist(System.SByte pathTwist)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Primitive.UnpackProfileHollow(System.UInt16)`.
///
/// C# signature: `System.Single LibreMetaverse.Primitive.UnpackProfileHollow(System.UInt16 profileHollow)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Primitive.op_Equality(LibreMetaverse.Primitive,LibreMetaverse.Primitive)`.
///
/// C# signature: `System.Boolean LibreMetaverse.Primitive.op_Equality(LibreMetaverse.Primitive lhs, LibreMetaverse.Primitive rhs)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Primitive.op_Inequality(LibreMetaverse.Primitive,LibreMetaverse.Primitive)`.
///
/// C# signature: `System.Boolean LibreMetaverse.Primitive.op_Inequality(LibreMetaverse.Primitive lhs, LibreMetaverse.Primitive rhs)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.Primitive.GrassSpecies`.
///
/// C# signature: `LibreMetaverse.Grass LibreMetaverse.Primitive.GrassSpecies`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.Primitive.IsAnimatedObject`.
///
/// C# signature: `System.Boolean LibreMetaverse.Primitive.IsAnimatedObject`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.Primitive.Type`.
///
/// C# signature: `LibreMetaverse.PrimType LibreMetaverse.Primitive.Type`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::object_model::Primitive;

/// C# type: `T:LibreMetaverse.Primitive.ConstructionData`.
///
/// Native Rust mapping of C# `LibreMetaverse.Primitive.ConstructionData` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `F:LibreMetaverse.Primitive.ConstructionData.Material`.
///
/// C# signature: `LibreMetaverse.Material LibreMetaverse.Primitive.ConstructionData.Material`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.ConstructionData.PCode`.
///
/// C# signature: `LibreMetaverse.PCode LibreMetaverse.Primitive.ConstructionData.PCode`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.ConstructionData.PathBegin`.
///
/// C# signature: `System.Single LibreMetaverse.Primitive.ConstructionData.PathBegin`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.ConstructionData.PathCurve`.
///
/// C# signature: `LibreMetaverse.PathCurve LibreMetaverse.Primitive.ConstructionData.PathCurve`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.ConstructionData.PathEnd`.
///
/// C# signature: `System.Single LibreMetaverse.Primitive.ConstructionData.PathEnd`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.ConstructionData.PathRadiusOffset`.
///
/// C# signature: `System.Single LibreMetaverse.Primitive.ConstructionData.PathRadiusOffset`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.ConstructionData.PathRevolutions`.
///
/// C# signature: `System.Single LibreMetaverse.Primitive.ConstructionData.PathRevolutions`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.ConstructionData.PathScaleX`.
///
/// C# signature: `System.Single LibreMetaverse.Primitive.ConstructionData.PathScaleX`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.ConstructionData.PathScaleY`.
///
/// C# signature: `System.Single LibreMetaverse.Primitive.ConstructionData.PathScaleY`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.ConstructionData.PathShearX`.
///
/// C# signature: `System.Single LibreMetaverse.Primitive.ConstructionData.PathShearX`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.ConstructionData.PathShearY`.
///
/// C# signature: `System.Single LibreMetaverse.Primitive.ConstructionData.PathShearY`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.ConstructionData.PathSkew`.
///
/// C# signature: `System.Single LibreMetaverse.Primitive.ConstructionData.PathSkew`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.ConstructionData.PathTaperX`.
///
/// C# signature: `System.Single LibreMetaverse.Primitive.ConstructionData.PathTaperX`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.ConstructionData.PathTaperY`.
///
/// C# signature: `System.Single LibreMetaverse.Primitive.ConstructionData.PathTaperY`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.ConstructionData.PathTwist`.
///
/// C# signature: `System.Single LibreMetaverse.Primitive.ConstructionData.PathTwist`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.ConstructionData.PathTwistBegin`.
///
/// C# signature: `System.Single LibreMetaverse.Primitive.ConstructionData.PathTwistBegin`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.ConstructionData.ProfileBegin`.
///
/// C# signature: `System.Single LibreMetaverse.Primitive.ConstructionData.ProfileBegin`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.ConstructionData.ProfileEnd`.
///
/// C# signature: `System.Single LibreMetaverse.Primitive.ConstructionData.ProfileEnd`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.ConstructionData.ProfileHollow`.
///
/// C# signature: `System.Single LibreMetaverse.Primitive.ConstructionData.ProfileHollow`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.ConstructionData.State`.
///
/// C# signature: `System.Byte LibreMetaverse.Primitive.ConstructionData.State`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.ConstructionData.profileCurve`.
///
/// C# signature: `System.Byte LibreMetaverse.Primitive.ConstructionData.profileCurve`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `descriptive_overload_name`; kind `direct`.
/// C# member: `M:LibreMetaverse.Primitive.ConstructionData.#ctor`.
///
/// C# signature: `LibreMetaverse.Primitive.ConstructionData()`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Primitive.ConstructionData.#ctor(LibreMetaverse.Primitive.ConstructionData)`.
///
/// C# signature: `LibreMetaverse.Primitive.ConstructionData(LibreMetaverse.Primitive.ConstructionData other)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Primitive.ConstructionData.GetHashCode`.
///
/// C# signature: `System.Int32 LibreMetaverse.Primitive.ConstructionData.GetHashCode()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.Primitive.ConstructionData.AttachmentPoint`.
///
/// C# signature: `LibreMetaverse.AttachmentPoint LibreMetaverse.Primitive.ConstructionData.AttachmentPoint`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.Primitive.ConstructionData.PathBeginScale`.
///
/// C# signature: `LibreMetaverse.Vector2 LibreMetaverse.Primitive.ConstructionData.PathBeginScale`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.Primitive.ConstructionData.PathEndScale`.
///
/// C# signature: `LibreMetaverse.Vector2 LibreMetaverse.Primitive.ConstructionData.PathEndScale`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.Primitive.ConstructionData.ProfileCurve`.
///
/// C# signature: `LibreMetaverse.ProfileCurve LibreMetaverse.Primitive.ConstructionData.ProfileCurve`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `descriptive_overload_name`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.Primitive.ConstructionData.ProfileHole`.
///
/// C# signature: `LibreMetaverse.HoleType LibreMetaverse.Primitive.ConstructionData.ProfileHole`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::object_model::PrimitiveConstructionData;

/// C# type: `T:LibreMetaverse.Primitive.FlexibleData`.
///
/// Native Rust mapping of C# `LibreMetaverse.Primitive.FlexibleData` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `F:LibreMetaverse.Primitive.FlexibleData.Drag`.
///
/// C# signature: `System.Single LibreMetaverse.Primitive.FlexibleData.Drag`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.FlexibleData.Force`.
///
/// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Primitive.FlexibleData.Force`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.FlexibleData.Gravity`.
///
/// C# signature: `System.Single LibreMetaverse.Primitive.FlexibleData.Gravity`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.FlexibleData.Softness`.
///
/// C# signature: `System.Int32 LibreMetaverse.Primitive.FlexibleData.Softness`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.FlexibleData.Tension`.
///
/// C# signature: `System.Single LibreMetaverse.Primitive.FlexibleData.Tension`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.FlexibleData.Wind`.
///
/// C# signature: `System.Single LibreMetaverse.Primitive.FlexibleData.Wind`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `M:LibreMetaverse.Primitive.FlexibleData.#ctor`.
///
/// C# signature: `LibreMetaverse.Primitive.FlexibleData()`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Primitive.FlexibleData.#ctor(System.Byte[],System.Int32)`.
///
/// C# signature: `LibreMetaverse.Primitive.FlexibleData(System.Byte[] data, System.Int32 pos)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Primitive.FlexibleData.FromOSD(LibreMetaverse.StructuredData.OSD)`.
///
/// C# signature: `LibreMetaverse.Primitive.FlexibleData LibreMetaverse.Primitive.FlexibleData.FromOSD(LibreMetaverse.StructuredData.OSD osd)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Primitive.FlexibleData.GetBytes`.
///
/// C# signature: `System.Byte[] LibreMetaverse.Primitive.FlexibleData.GetBytes()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Primitive.FlexibleData.GetHashCode`.
///
/// C# signature: `System.Int32 LibreMetaverse.Primitive.FlexibleData.GetHashCode()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Primitive.FlexibleData.GetOSD`.
///
/// C# signature: `LibreMetaverse.StructuredData.OSD LibreMetaverse.Primitive.FlexibleData.GetOSD()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
pub use crate::object_model::PrimitiveFlexibleData;

/// C# type: `T:LibreMetaverse.Primitive.LightData`.
///
/// Native Rust mapping of C# `LibreMetaverse.Primitive.LightData` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `F:LibreMetaverse.Primitive.LightData.Color`.
///
/// C# signature: `LibreMetaverse.Color4 LibreMetaverse.Primitive.LightData.Color`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.LightData.Cutoff`.
///
/// C# signature: `System.Single LibreMetaverse.Primitive.LightData.Cutoff`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.LightData.Falloff`.
///
/// C# signature: `System.Single LibreMetaverse.Primitive.LightData.Falloff`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.LightData.Intensity`.
///
/// C# signature: `System.Single LibreMetaverse.Primitive.LightData.Intensity`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.LightData.Radius`.
///
/// C# signature: `System.Single LibreMetaverse.Primitive.LightData.Radius`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `M:LibreMetaverse.Primitive.LightData.#ctor`.
///
/// C# signature: `LibreMetaverse.Primitive.LightData()`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Primitive.LightData.#ctor(System.Byte[],System.Int32)`.
///
/// C# signature: `LibreMetaverse.Primitive.LightData(System.Byte[] data, System.Int32 pos)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Primitive.LightData.FromOSD(LibreMetaverse.StructuredData.OSD)`.
///
/// C# signature: `LibreMetaverse.Primitive.LightData LibreMetaverse.Primitive.LightData.FromOSD(LibreMetaverse.StructuredData.OSD osd)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Primitive.LightData.GetBytes`.
///
/// C# signature: `System.Byte[] LibreMetaverse.Primitive.LightData.GetBytes()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Primitive.LightData.GetHashCode`.
///
/// C# signature: `System.Int32 LibreMetaverse.Primitive.LightData.GetHashCode()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Primitive.LightData.GetOSD`.
///
/// C# signature: `LibreMetaverse.StructuredData.OSD LibreMetaverse.Primitive.LightData.GetOSD()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Primitive.LightData.ToString`.
///
/// C# signature: `System.String LibreMetaverse.Primitive.LightData.ToString()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
pub use crate::object_model::PrimitiveLightData;

/// C# type: `T:LibreMetaverse.Primitive.LightImage`.
///
/// Native Rust mapping of C# `LibreMetaverse.Primitive.LightImage` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `F:LibreMetaverse.Primitive.LightImage.LightTexture`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.Primitive.LightImage.LightTexture`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.LightImage.Params`.
///
/// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Primitive.LightImage.Params`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `M:LibreMetaverse.Primitive.LightImage.#ctor`.
///
/// C# signature: `LibreMetaverse.Primitive.LightImage()`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Primitive.LightImage.#ctor(System.Byte[],System.Int32)`.
///
/// C# signature: `LibreMetaverse.Primitive.LightImage(System.Byte[] data, System.Int32 pos)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Primitive.LightImage.FromOSD(LibreMetaverse.StructuredData.OSD)`.
///
/// C# signature: `LibreMetaverse.Primitive.LightImage LibreMetaverse.Primitive.LightImage.FromOSD(LibreMetaverse.StructuredData.OSD osd)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Primitive.LightImage.GetBytes`.
///
/// C# signature: `System.Byte[] LibreMetaverse.Primitive.LightImage.GetBytes()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Primitive.LightImage.GetHashCode`.
///
/// C# signature: `System.Int32 LibreMetaverse.Primitive.LightImage.GetHashCode()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Primitive.LightImage.GetOSD`.
///
/// C# signature: `LibreMetaverse.StructuredData.OSD LibreMetaverse.Primitive.LightImage.GetOSD()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Primitive.LightImage.ToString`.
///
/// C# signature: `System.String LibreMetaverse.Primitive.LightImage.ToString()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
pub use crate::object_model::PrimitiveLightImage;

/// C# type: `T:LibreMetaverse.Primitive.ObjectProperties`.
///
/// Native Rust mapping of C# `LibreMetaverse.Primitive.ObjectProperties` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `F:LibreMetaverse.Primitive.ObjectProperties.AggregatePermTextures`.
///
/// C# signature: `System.Byte LibreMetaverse.Primitive.ObjectProperties.AggregatePermTextures`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.ObjectProperties.AggregatePermTexturesOwner`.
///
/// C# signature: `System.Byte LibreMetaverse.Primitive.ObjectProperties.AggregatePermTexturesOwner`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.ObjectProperties.AggregatePerms`.
///
/// C# signature: `System.Byte LibreMetaverse.Primitive.ObjectProperties.AggregatePerms`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.ObjectProperties.Category`.
///
/// C# signature: `LibreMetaverse.ObjectCategory LibreMetaverse.Primitive.ObjectProperties.Category`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.ObjectProperties.CreationDate`.
///
/// C# signature: `System.DateTime LibreMetaverse.Primitive.ObjectProperties.CreationDate`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.ObjectProperties.CreatorID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.Primitive.ObjectProperties.CreatorID`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.ObjectProperties.Description`.
///
/// C# signature: `System.String LibreMetaverse.Primitive.ObjectProperties.Description`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.ObjectProperties.FolderID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.Primitive.ObjectProperties.FolderID`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.ObjectProperties.FromTaskID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.Primitive.ObjectProperties.FromTaskID`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.ObjectProperties.GroupID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.Primitive.ObjectProperties.GroupID`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.ObjectProperties.InventorySerial`.
///
/// C# signature: `System.Int16 LibreMetaverse.Primitive.ObjectProperties.InventorySerial`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.ObjectProperties.ItemID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.Primitive.ObjectProperties.ItemID`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.ObjectProperties.LastOwnerID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.Primitive.ObjectProperties.LastOwnerID`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.ObjectProperties.Name`.
///
/// C# signature: `System.String LibreMetaverse.Primitive.ObjectProperties.Name`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.ObjectProperties.ObjectID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.Primitive.ObjectProperties.ObjectID`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.ObjectProperties.OwnerID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.Primitive.ObjectProperties.OwnerID`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.ObjectProperties.OwnershipCost`.
///
/// C# signature: `System.Int32 LibreMetaverse.Primitive.ObjectProperties.OwnershipCost`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.ObjectProperties.Permissions`.
///
/// C# signature: `LibreMetaverse.Permissions LibreMetaverse.Primitive.ObjectProperties.Permissions`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.ObjectProperties.SalePrice`.
///
/// C# signature: `System.Int32 LibreMetaverse.Primitive.ObjectProperties.SalePrice`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.ObjectProperties.SaleType`.
///
/// C# signature: `LibreMetaverse.SaleType LibreMetaverse.Primitive.ObjectProperties.SaleType`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.ObjectProperties.SitName`.
///
/// C# signature: `System.String LibreMetaverse.Primitive.ObjectProperties.SitName`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.ObjectProperties.TextureIDs`.
///
/// C# signature: `LibreMetaverse.UUID[] LibreMetaverse.Primitive.ObjectProperties.TextureIDs`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.ObjectProperties.TouchName`.
///
/// C# signature: `System.String LibreMetaverse.Primitive.ObjectProperties.TouchName`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `M:LibreMetaverse.Primitive.ObjectProperties.#ctor`.
///
/// C# signature: `LibreMetaverse.Primitive.ObjectProperties()`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Primitive.ObjectProperties.GetTextureIDBytes`.
///
/// C# signature: `System.Byte[] LibreMetaverse.Primitive.ObjectProperties.GetTextureIDBytes()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Primitive.ObjectProperties.SetFamilyProperties(LibreMetaverse.Primitive.ObjectProperties)`.
///
/// C# signature: `System.Void LibreMetaverse.Primitive.ObjectProperties.SetFamilyProperties(LibreMetaverse.Primitive.ObjectProperties props)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
pub use crate::object_model::PrimitiveObjectProperties;

/// C# type: `T:LibreMetaverse.Primitive.ParticleSystem`.
///
/// Native Rust mapping of C# `LibreMetaverse.Primitive.ParticleSystem` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `F:LibreMetaverse.Primitive.ParticleSystem.AngularVelocity`.
///
/// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Primitive.ParticleSystem.AngularVelocity`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.ParticleSystem.BlendFuncDest`.
///
/// C# signature: `System.Byte LibreMetaverse.Primitive.ParticleSystem.BlendFuncDest`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.ParticleSystem.BlendFuncSource`.
///
/// C# signature: `System.Byte LibreMetaverse.Primitive.ParticleSystem.BlendFuncSource`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.ParticleSystem.BurstPartCount`.
///
/// C# signature: `System.Byte LibreMetaverse.Primitive.ParticleSystem.BurstPartCount`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.ParticleSystem.BurstRadius`.
///
/// C# signature: `System.Single LibreMetaverse.Primitive.ParticleSystem.BurstRadius`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.ParticleSystem.BurstRate`.
///
/// C# signature: `System.Single LibreMetaverse.Primitive.ParticleSystem.BurstRate`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.ParticleSystem.BurstSpeedMax`.
///
/// C# signature: `System.Single LibreMetaverse.Primitive.ParticleSystem.BurstSpeedMax`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.ParticleSystem.BurstSpeedMin`.
///
/// C# signature: `System.Single LibreMetaverse.Primitive.ParticleSystem.BurstSpeedMin`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.ParticleSystem.CRC`.
///
/// C# signature: `System.UInt32 LibreMetaverse.Primitive.ParticleSystem.CRC`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.ParticleSystem.InnerAngle`.
///
/// C# signature: `System.Single LibreMetaverse.Primitive.ParticleSystem.InnerAngle`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.ParticleSystem.LegacyDataBlockSize`.
///
/// C# signature: `System.Byte LibreMetaverse.Primitive.ParticleSystem.LegacyDataBlockSize`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.ParticleSystem.MaxAge`.
///
/// C# signature: `System.Single LibreMetaverse.Primitive.ParticleSystem.MaxAge`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.ParticleSystem.MaxDataBlockSize`.
///
/// C# signature: `System.Byte LibreMetaverse.Primitive.ParticleSystem.MaxDataBlockSize`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.ParticleSystem.OuterAngle`.
///
/// C# signature: `System.Single LibreMetaverse.Primitive.ParticleSystem.OuterAngle`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.ParticleSystem.PartAcceleration`.
///
/// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Primitive.ParticleSystem.PartAcceleration`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.ParticleSystem.PartDataFlags`.
///
/// C# signature: `LibreMetaverse.Primitive.ParticleSystem.ParticleDataFlags LibreMetaverse.Primitive.ParticleSystem.PartDataFlags`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.ParticleSystem.PartDataSize`.
///
/// C# signature: `System.Byte LibreMetaverse.Primitive.ParticleSystem.PartDataSize`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.ParticleSystem.PartEndColor`.
///
/// C# signature: `LibreMetaverse.Color4 LibreMetaverse.Primitive.ParticleSystem.PartEndColor`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.ParticleSystem.PartEndGlow`.
///
/// C# signature: `System.Single LibreMetaverse.Primitive.ParticleSystem.PartEndGlow`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.ParticleSystem.PartEndScaleX`.
///
/// C# signature: `System.Single LibreMetaverse.Primitive.ParticleSystem.PartEndScaleX`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.ParticleSystem.PartEndScaleY`.
///
/// C# signature: `System.Single LibreMetaverse.Primitive.ParticleSystem.PartEndScaleY`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.ParticleSystem.PartFlags`.
///
/// C# signature: `System.UInt32 LibreMetaverse.Primitive.ParticleSystem.PartFlags`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.ParticleSystem.PartMaxAge`.
///
/// C# signature: `System.Single LibreMetaverse.Primitive.ParticleSystem.PartMaxAge`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.ParticleSystem.PartStartColor`.
///
/// C# signature: `LibreMetaverse.Color4 LibreMetaverse.Primitive.ParticleSystem.PartStartColor`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.ParticleSystem.PartStartGlow`.
///
/// C# signature: `System.Single LibreMetaverse.Primitive.ParticleSystem.PartStartGlow`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.ParticleSystem.PartStartScaleX`.
///
/// C# signature: `System.Single LibreMetaverse.Primitive.ParticleSystem.PartStartScaleX`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.ParticleSystem.PartStartScaleY`.
///
/// C# signature: `System.Single LibreMetaverse.Primitive.ParticleSystem.PartStartScaleY`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.ParticleSystem.Pattern`.
///
/// C# signature: `LibreMetaverse.Primitive.ParticleSystem.SourcePattern LibreMetaverse.Primitive.ParticleSystem.Pattern`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.ParticleSystem.StartAge`.
///
/// C# signature: `System.Single LibreMetaverse.Primitive.ParticleSystem.StartAge`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.ParticleSystem.SysDataSize`.
///
/// C# signature: `System.Byte LibreMetaverse.Primitive.ParticleSystem.SysDataSize`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.ParticleSystem.Target`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.Primitive.ParticleSystem.Target`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.ParticleSystem.Texture`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.Primitive.ParticleSystem.Texture`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `M:LibreMetaverse.Primitive.ParticleSystem.#ctor(System.Byte[],System.Int32)`.
///
/// C# signature: `LibreMetaverse.Primitive.ParticleSystem(System.Byte[] data, System.Int32 pos)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Primitive.ParticleSystem.Equals(LibreMetaverse.Primitive.ParticleSystem)`.
///
/// C# signature: `System.Boolean LibreMetaverse.Primitive.ParticleSystem.Equals(LibreMetaverse.Primitive.ParticleSystem other)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `infallible_placeholder`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Primitive.ParticleSystem.Equals(System.Object)`.
///
/// C# signature: `System.Boolean LibreMetaverse.Primitive.ParticleSystem.Equals(System.Object obj)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `infallible_placeholder`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Primitive.ParticleSystem.FromOSD(LibreMetaverse.StructuredData.OSD)`.
///
/// C# signature: `LibreMetaverse.Primitive.ParticleSystem LibreMetaverse.Primitive.ParticleSystem.FromOSD(LibreMetaverse.StructuredData.OSD osd)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Primitive.ParticleSystem.GetBytes`.
///
/// C# signature: `System.Byte[] LibreMetaverse.Primitive.ParticleSystem.GetBytes()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Primitive.ParticleSystem.GetHashCode`.
///
/// C# signature: `System.Int32 LibreMetaverse.Primitive.ParticleSystem.GetHashCode()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Primitive.ParticleSystem.GetOSD`.
///
/// C# signature: `LibreMetaverse.StructuredData.OSD LibreMetaverse.Primitive.ParticleSystem.GetOSD()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Primitive.ParticleSystem.HasBlendFunc`.
///
/// C# signature: `System.Boolean LibreMetaverse.Primitive.ParticleSystem.HasBlendFunc()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Primitive.ParticleSystem.HasGlow`.
///
/// C# signature: `System.Boolean LibreMetaverse.Primitive.ParticleSystem.HasGlow()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Primitive.ParticleSystem.IsLegacyCompatible`.
///
/// C# signature: `System.Boolean LibreMetaverse.Primitive.ParticleSystem.IsLegacyCompatible()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
pub use crate::object_model::PrimitiveParticleSystem;

/// C# type: `T:LibreMetaverse.Primitive.ParticleSystem.BlendFunc`.
///
/// Native Rust mapping of C# `LibreMetaverse.Primitive.ParticleSystem.BlendFunc` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(u8)]
pub enum PrimitiveParticleSystemBlendFunc {
    /// C# member: `F:LibreMetaverse.Primitive.ParticleSystem.BlendFunc.DestAlpha`.
    ///
    /// C# signature: `LibreMetaverse.Primitive.ParticleSystem.BlendFunc LibreMetaverse.Primitive.ParticleSystem.BlendFunc.DestAlpha`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    DestAlpha = 6,
    /// C# member: `F:LibreMetaverse.Primitive.ParticleSystem.BlendFunc.DestColor`.
    ///
    /// C# signature: `LibreMetaverse.Primitive.ParticleSystem.BlendFunc LibreMetaverse.Primitive.ParticleSystem.BlendFunc.DestColor`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    DestColor = 2,
    /// C# member: `F:LibreMetaverse.Primitive.ParticleSystem.BlendFunc.One`.
    ///
    /// C# signature: `LibreMetaverse.Primitive.ParticleSystem.BlendFunc LibreMetaverse.Primitive.ParticleSystem.BlendFunc.One`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    One = 0,
    /// C# member: `F:LibreMetaverse.Primitive.ParticleSystem.BlendFunc.OneMinusDestAlpha`.
    ///
    /// C# signature: `LibreMetaverse.Primitive.ParticleSystem.BlendFunc LibreMetaverse.Primitive.ParticleSystem.BlendFunc.OneMinusDestAlpha`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    OneMinusDestAlpha = 8,
    /// C# member: `F:LibreMetaverse.Primitive.ParticleSystem.BlendFunc.OneMinusDestColor`.
    ///
    /// C# signature: `LibreMetaverse.Primitive.ParticleSystem.BlendFunc LibreMetaverse.Primitive.ParticleSystem.BlendFunc.OneMinusDestColor`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    OneMinusDestColor = 4,
    /// C# member: `F:LibreMetaverse.Primitive.ParticleSystem.BlendFunc.OneMinusSourceAlpha`.
    ///
    /// C# signature: `LibreMetaverse.Primitive.ParticleSystem.BlendFunc LibreMetaverse.Primitive.ParticleSystem.BlendFunc.OneMinusSourceAlpha`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    OneMinusSourceAlpha = 9,
    /// C# member: `F:LibreMetaverse.Primitive.ParticleSystem.BlendFunc.OneMinusSourceColor`.
    ///
    /// C# signature: `LibreMetaverse.Primitive.ParticleSystem.BlendFunc LibreMetaverse.Primitive.ParticleSystem.BlendFunc.OneMinusSourceColor`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    OneMinusSourceColor = 5,
    /// C# member: `F:LibreMetaverse.Primitive.ParticleSystem.BlendFunc.SourceAlpha`.
    ///
    /// C# signature: `LibreMetaverse.Primitive.ParticleSystem.BlendFunc LibreMetaverse.Primitive.ParticleSystem.BlendFunc.SourceAlpha`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    SourceAlpha = 7,
    /// C# member: `F:LibreMetaverse.Primitive.ParticleSystem.BlendFunc.SourceColor`.
    ///
    /// C# signature: `LibreMetaverse.Primitive.ParticleSystem.BlendFunc LibreMetaverse.Primitive.ParticleSystem.BlendFunc.SourceColor`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    SourceColor = 3,
    /// C# member: `F:LibreMetaverse.Primitive.ParticleSystem.BlendFunc.Zero`.
    ///
    /// C# signature: `LibreMetaverse.Primitive.ParticleSystem.BlendFunc LibreMetaverse.Primitive.ParticleSystem.BlendFunc.Zero`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Zero = 1,
}

/// C# type: `T:LibreMetaverse.Primitive.ParticleSystem.ParticleDataFlags`.
///
/// Native Rust mapping of C# `LibreMetaverse.Primitive.ParticleSystem.ParticleDataFlags` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(transparent)]
pub struct PrimitiveParticleSystemParticleDataFlags(pub u32);
impl PrimitiveParticleSystemParticleDataFlags {
    /// C# member: `F:LibreMetaverse.Primitive.ParticleSystem.ParticleDataFlags.Beam`.
    ///
    /// C# signature: `LibreMetaverse.Primitive.ParticleSystem.ParticleDataFlags LibreMetaverse.Primitive.ParticleSystem.ParticleDataFlags.Beam`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const BEAM: Self = Self(512);
    /// C# member: `F:LibreMetaverse.Primitive.ParticleSystem.ParticleDataFlags.Bounce`.
    ///
    /// C# signature: `LibreMetaverse.Primitive.ParticleSystem.ParticleDataFlags LibreMetaverse.Primitive.ParticleSystem.ParticleDataFlags.Bounce`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const BOUNCE: Self = Self(4);
    /// C# member: `F:LibreMetaverse.Primitive.ParticleSystem.ParticleDataFlags.DataBlend`.
    ///
    /// C# signature: `LibreMetaverse.Primitive.ParticleSystem.ParticleDataFlags LibreMetaverse.Primitive.ParticleSystem.ParticleDataFlags.DataBlend`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const DATA_BLEND: Self = Self(131072);
    /// C# member: `F:LibreMetaverse.Primitive.ParticleSystem.ParticleDataFlags.DataGlow`.
    ///
    /// C# signature: `LibreMetaverse.Primitive.ParticleSystem.ParticleDataFlags LibreMetaverse.Primitive.ParticleSystem.ParticleDataFlags.DataGlow`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const DATA_GLOW: Self = Self(65536);
    /// C# member: `F:LibreMetaverse.Primitive.ParticleSystem.ParticleDataFlags.Emissive`.
    ///
    /// C# signature: `LibreMetaverse.Primitive.ParticleSystem.ParticleDataFlags LibreMetaverse.Primitive.ParticleSystem.ParticleDataFlags.Emissive`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const EMISSIVE: Self = Self(256);
    /// C# member: `F:LibreMetaverse.Primitive.ParticleSystem.ParticleDataFlags.FollowSrc`.
    ///
    /// C# signature: `LibreMetaverse.Primitive.ParticleSystem.ParticleDataFlags LibreMetaverse.Primitive.ParticleSystem.ParticleDataFlags.FollowSrc`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const FOLLOW_SRC: Self = Self(16);
    /// C# member: `F:LibreMetaverse.Primitive.ParticleSystem.ParticleDataFlags.FollowVelocity`.
    ///
    /// C# signature: `LibreMetaverse.Primitive.ParticleSystem.ParticleDataFlags LibreMetaverse.Primitive.ParticleSystem.ParticleDataFlags.FollowVelocity`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const FOLLOW_VELOCITY: Self = Self(32);
    /// C# member: `F:LibreMetaverse.Primitive.ParticleSystem.ParticleDataFlags.InterpColor`.
    ///
    /// C# signature: `LibreMetaverse.Primitive.ParticleSystem.ParticleDataFlags LibreMetaverse.Primitive.ParticleSystem.ParticleDataFlags.InterpColor`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const INTERP_COLOR: Self = Self(1);
    /// C# member: `F:LibreMetaverse.Primitive.ParticleSystem.ParticleDataFlags.InterpScale`.
    ///
    /// C# signature: `LibreMetaverse.Primitive.ParticleSystem.ParticleDataFlags LibreMetaverse.Primitive.ParticleSystem.ParticleDataFlags.InterpScale`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const INTERP_SCALE: Self = Self(2);
    /// C# member: `F:LibreMetaverse.Primitive.ParticleSystem.ParticleDataFlags.None`.
    ///
    /// C# signature: `LibreMetaverse.Primitive.ParticleSystem.ParticleDataFlags LibreMetaverse.Primitive.ParticleSystem.ParticleDataFlags.None`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const NONE: Self = Self(0);
    /// C# member: `F:LibreMetaverse.Primitive.ParticleSystem.ParticleDataFlags.Ribbon`.
    ///
    /// C# signature: `LibreMetaverse.Primitive.ParticleSystem.ParticleDataFlags LibreMetaverse.Primitive.ParticleSystem.ParticleDataFlags.Ribbon`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const RIBBON: Self = Self(1024);
    /// C# member: `F:LibreMetaverse.Primitive.ParticleSystem.ParticleDataFlags.TargetLinear`.
    ///
    /// C# signature: `LibreMetaverse.Primitive.ParticleSystem.ParticleDataFlags LibreMetaverse.Primitive.ParticleSystem.ParticleDataFlags.TargetLinear`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const TARGET_LINEAR: Self = Self(128);
    /// C# member: `F:LibreMetaverse.Primitive.ParticleSystem.ParticleDataFlags.TargetPos`.
    ///
    /// C# signature: `LibreMetaverse.Primitive.ParticleSystem.ParticleDataFlags LibreMetaverse.Primitive.ParticleSystem.ParticleDataFlags.TargetPos`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const TARGET_POS: Self = Self(64);
    /// C# member: `F:LibreMetaverse.Primitive.ParticleSystem.ParticleDataFlags.Wind`.
    ///
    /// C# signature: `LibreMetaverse.Primitive.ParticleSystem.ParticleDataFlags LibreMetaverse.Primitive.ParticleSystem.ParticleDataFlags.Wind`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const WIND: Self = Self(8);
}

/// C# type: `T:LibreMetaverse.Primitive.ParticleSystem.ParticleFlags`.
///
/// Native Rust mapping of C# `LibreMetaverse.Primitive.ParticleSystem.ParticleFlags` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(transparent)]
pub struct PrimitiveParticleSystemParticleFlags(pub u32);
impl PrimitiveParticleSystemParticleFlags {
    /// C# member: `F:LibreMetaverse.Primitive.ParticleSystem.ParticleFlags.None`.
    ///
    /// C# signature: `LibreMetaverse.Primitive.ParticleSystem.ParticleFlags LibreMetaverse.Primitive.ParticleSystem.ParticleFlags.None`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const NONE: Self = Self(0);
    /// C# member: `F:LibreMetaverse.Primitive.ParticleSystem.ParticleFlags.ObjectRelative`.
    ///
    /// C# signature: `LibreMetaverse.Primitive.ParticleSystem.ParticleFlags LibreMetaverse.Primitive.ParticleSystem.ParticleFlags.ObjectRelative`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const OBJECT_RELATIVE: Self = Self(1);
    /// C# member: `F:LibreMetaverse.Primitive.ParticleSystem.ParticleFlags.UseNewAngle`.
    ///
    /// C# signature: `LibreMetaverse.Primitive.ParticleSystem.ParticleFlags LibreMetaverse.Primitive.ParticleSystem.ParticleFlags.UseNewAngle`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const USE_NEW_ANGLE: Self = Self(2);
}

/// C# type: `T:LibreMetaverse.Primitive.ParticleSystem.SourcePattern`.
///
/// Native Rust mapping of C# `LibreMetaverse.Primitive.ParticleSystem.SourcePattern` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(transparent)]
pub struct PrimitiveParticleSystemSourcePattern(pub u8);
impl PrimitiveParticleSystemSourcePattern {
    /// C# member: `F:LibreMetaverse.Primitive.ParticleSystem.SourcePattern.Angle`.
    ///
    /// C# signature: `LibreMetaverse.Primitive.ParticleSystem.SourcePattern LibreMetaverse.Primitive.ParticleSystem.SourcePattern.Angle`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const ANGLE: Self = Self(4);
    /// C# member: `F:LibreMetaverse.Primitive.ParticleSystem.SourcePattern.AngleCone`.
    ///
    /// C# signature: `LibreMetaverse.Primitive.ParticleSystem.SourcePattern LibreMetaverse.Primitive.ParticleSystem.SourcePattern.AngleCone`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const ANGLE_CONE: Self = Self(8);
    /// C# member: `F:LibreMetaverse.Primitive.ParticleSystem.SourcePattern.AngleConeEmpty`.
    ///
    /// C# signature: `LibreMetaverse.Primitive.ParticleSystem.SourcePattern LibreMetaverse.Primitive.ParticleSystem.SourcePattern.AngleConeEmpty`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const ANGLE_CONE_EMPTY: Self = Self(16);
    /// C# member: `F:LibreMetaverse.Primitive.ParticleSystem.SourcePattern.Drop`.
    ///
    /// C# signature: `LibreMetaverse.Primitive.ParticleSystem.SourcePattern LibreMetaverse.Primitive.ParticleSystem.SourcePattern.Drop`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const DROP: Self = Self(1);
    /// C# member: `F:LibreMetaverse.Primitive.ParticleSystem.SourcePattern.Explode`.
    ///
    /// C# signature: `LibreMetaverse.Primitive.ParticleSystem.SourcePattern LibreMetaverse.Primitive.ParticleSystem.SourcePattern.Explode`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const EXPLODE: Self = Self(2);
    /// C# member: `F:LibreMetaverse.Primitive.ParticleSystem.SourcePattern.None`.
    ///
    /// C# signature: `LibreMetaverse.Primitive.ParticleSystem.SourcePattern LibreMetaverse.Primitive.ParticleSystem.SourcePattern.None`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const NONE: Self = Self(0);
}

/// C# type: `T:LibreMetaverse.Primitive.PhysicsProperties`.
///
/// Native Rust mapping of C# `LibreMetaverse.Primitive.PhysicsProperties` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `F:LibreMetaverse.Primitive.PhysicsProperties.Density`.
///
/// C# signature: `System.Single LibreMetaverse.Primitive.PhysicsProperties.Density`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.PhysicsProperties.Friction`.
///
/// C# signature: `System.Single LibreMetaverse.Primitive.PhysicsProperties.Friction`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.PhysicsProperties.GravityMultiplier`.
///
/// C# signature: `System.Single LibreMetaverse.Primitive.PhysicsProperties.GravityMultiplier`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.PhysicsProperties.LocalID`.
///
/// C# signature: `System.UInt32 LibreMetaverse.Primitive.PhysicsProperties.LocalID`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.PhysicsProperties.PhysicsShapeType`.
///
/// C# signature: `LibreMetaverse.PhysicsShapeType LibreMetaverse.Primitive.PhysicsProperties.PhysicsShapeType`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.PhysicsProperties.Restitution`.
///
/// C# signature: `System.Single LibreMetaverse.Primitive.PhysicsProperties.Restitution`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `M:LibreMetaverse.Primitive.PhysicsProperties.#ctor`.
///
/// C# signature: `LibreMetaverse.Primitive.PhysicsProperties()`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Primitive.PhysicsProperties.FromOSD(LibreMetaverse.StructuredData.OSD)`.
///
/// C# signature: `LibreMetaverse.Primitive.PhysicsProperties LibreMetaverse.Primitive.PhysicsProperties.FromOSD(LibreMetaverse.StructuredData.OSD osd)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Primitive.PhysicsProperties.GetOSD`.
///
/// C# signature: `LibreMetaverse.StructuredData.OSD LibreMetaverse.Primitive.PhysicsProperties.GetOSD()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
pub use crate::message_decoder::PrimitivePhysicsProperties;

/// C# type: `T:LibreMetaverse.Primitive.SculptData`.
///
/// Native Rust mapping of C# `LibreMetaverse.Primitive.SculptData` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `F:LibreMetaverse.Primitive.SculptData.SculptTexture`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.Primitive.SculptData.SculptTexture`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `M:LibreMetaverse.Primitive.SculptData.#ctor`.
///
/// C# signature: `LibreMetaverse.Primitive.SculptData()`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Primitive.SculptData.#ctor(System.Byte[],System.Int32)`.
///
/// C# signature: `LibreMetaverse.Primitive.SculptData(System.Byte[] data, System.Int32 pos)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Primitive.SculptData.FromOSD(LibreMetaverse.StructuredData.OSD)`.
///
/// C# signature: `LibreMetaverse.Primitive.SculptData LibreMetaverse.Primitive.SculptData.FromOSD(LibreMetaverse.StructuredData.OSD osd)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Primitive.SculptData.GetBytes`.
///
/// C# signature: `System.Byte[] LibreMetaverse.Primitive.SculptData.GetBytes()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Primitive.SculptData.GetHashCode`.
///
/// C# signature: `System.Int32 LibreMetaverse.Primitive.SculptData.GetHashCode()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Primitive.SculptData.GetOSD`.
///
/// C# signature: `LibreMetaverse.StructuredData.OSD LibreMetaverse.Primitive.SculptData.GetOSD()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.Primitive.SculptData.Invert`.
///
/// C# signature: `System.Boolean LibreMetaverse.Primitive.SculptData.Invert`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.Primitive.SculptData.Mirror`.
///
/// C# signature: `System.Boolean LibreMetaverse.Primitive.SculptData.Mirror`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.Primitive.SculptData.Type`.
///
/// C# signature: `LibreMetaverse.SculptType LibreMetaverse.Primitive.SculptData.Type`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::object_model::PrimitiveSculptData;

/// C# type: `T:LibreMetaverse.Primitive.TextureAnimMode`.
///
/// Native Rust mapping of C# `LibreMetaverse.Primitive.TextureAnimMode` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(transparent)]
pub struct PrimitiveTextureAnimMode(pub u32);
impl PrimitiveTextureAnimMode {
    /// C# member: `F:LibreMetaverse.Primitive.TextureAnimMode.ANIM_OFF`.
    ///
    /// C# signature: `LibreMetaverse.Primitive.TextureAnimMode LibreMetaverse.Primitive.TextureAnimMode.ANIM_OFF`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const ANIM_OFF: Self = Self(0);
    /// C# member: `F:LibreMetaverse.Primitive.TextureAnimMode.ANIM_ON`.
    ///
    /// C# signature: `LibreMetaverse.Primitive.TextureAnimMode LibreMetaverse.Primitive.TextureAnimMode.ANIM_ON`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const ANIM_ON: Self = Self(1);
    /// C# member: `F:LibreMetaverse.Primitive.TextureAnimMode.LOOP`.
    ///
    /// C# signature: `LibreMetaverse.Primitive.TextureAnimMode LibreMetaverse.Primitive.TextureAnimMode.LOOP`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const LOOP_: Self = Self(2);
    /// C# member: `F:LibreMetaverse.Primitive.TextureAnimMode.PING_PONG`.
    ///
    /// C# signature: `LibreMetaverse.Primitive.TextureAnimMode LibreMetaverse.Primitive.TextureAnimMode.PING_PONG`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const PING_PONG: Self = Self(8);
    /// C# member: `F:LibreMetaverse.Primitive.TextureAnimMode.REVERSE`.
    ///
    /// C# signature: `LibreMetaverse.Primitive.TextureAnimMode LibreMetaverse.Primitive.TextureAnimMode.REVERSE`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const REVERSE: Self = Self(4);
    /// C# member: `F:LibreMetaverse.Primitive.TextureAnimMode.ROTATE`.
    ///
    /// C# signature: `LibreMetaverse.Primitive.TextureAnimMode LibreMetaverse.Primitive.TextureAnimMode.ROTATE`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const ROTATE: Self = Self(32);
    /// C# member: `F:LibreMetaverse.Primitive.TextureAnimMode.SCALE`.
    ///
    /// C# signature: `LibreMetaverse.Primitive.TextureAnimMode LibreMetaverse.Primitive.TextureAnimMode.SCALE`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const SCALE: Self = Self(64);
    /// C# member: `F:LibreMetaverse.Primitive.TextureAnimMode.SMOOTH`.
    ///
    /// C# signature: `LibreMetaverse.Primitive.TextureAnimMode LibreMetaverse.Primitive.TextureAnimMode.SMOOTH`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const SMOOTH: Self = Self(16);
}

/// C# type: `T:LibreMetaverse.Primitive.TextureAnimation`.
///
/// Native Rust mapping of C# `LibreMetaverse.Primitive.TextureAnimation` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `F:LibreMetaverse.Primitive.TextureAnimation.Face`.
///
/// C# signature: `System.UInt32 LibreMetaverse.Primitive.TextureAnimation.Face`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.TextureAnimation.Flags`.
///
/// C# signature: `LibreMetaverse.Primitive.TextureAnimMode LibreMetaverse.Primitive.TextureAnimation.Flags`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.TextureAnimation.Length`.
///
/// C# signature: `System.Single LibreMetaverse.Primitive.TextureAnimation.Length`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.TextureAnimation.Rate`.
///
/// C# signature: `System.Single LibreMetaverse.Primitive.TextureAnimation.Rate`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.TextureAnimation.SizeX`.
///
/// C# signature: `System.UInt32 LibreMetaverse.Primitive.TextureAnimation.SizeX`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.TextureAnimation.SizeY`.
///
/// C# signature: `System.UInt32 LibreMetaverse.Primitive.TextureAnimation.SizeY`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.TextureAnimation.Start`.
///
/// C# signature: `System.Single LibreMetaverse.Primitive.TextureAnimation.Start`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `M:LibreMetaverse.Primitive.TextureAnimation.#ctor(System.Byte[],System.Int32)`.
///
/// C# signature: `LibreMetaverse.Primitive.TextureAnimation(System.Byte[] data, System.Int32 pos)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Primitive.TextureAnimation.Equals(LibreMetaverse.Primitive.TextureAnimation)`.
///
/// C# signature: `System.Boolean LibreMetaverse.Primitive.TextureAnimation.Equals(LibreMetaverse.Primitive.TextureAnimation other)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `infallible_placeholder`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Primitive.TextureAnimation.Equals(System.Object)`.
///
/// C# signature: `System.Boolean LibreMetaverse.Primitive.TextureAnimation.Equals(System.Object obj)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `infallible_placeholder`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Primitive.TextureAnimation.FromOSD(LibreMetaverse.StructuredData.OSD)`.
///
/// C# signature: `LibreMetaverse.Primitive.TextureAnimation LibreMetaverse.Primitive.TextureAnimation.FromOSD(LibreMetaverse.StructuredData.OSD osd)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Primitive.TextureAnimation.GetBytes`.
///
/// C# signature: `System.Byte[] LibreMetaverse.Primitive.TextureAnimation.GetBytes()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Primitive.TextureAnimation.GetHashCode`.
///
/// C# signature: `System.Int32 LibreMetaverse.Primitive.TextureAnimation.GetHashCode()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Primitive.TextureAnimation.GetOSD`.
///
/// C# signature: `LibreMetaverse.StructuredData.OSD LibreMetaverse.Primitive.TextureAnimation.GetOSD()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
pub use crate::object_model::PrimitiveTextureAnimation;

/// C# type: `T:LibreMetaverse.Primitive.TextureEntry`.
///
/// Native Rust mapping of C# `LibreMetaverse.Primitive.TextureEntry` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `F:LibreMetaverse.Primitive.TextureEntry.DefaultTexture`.
///
/// C# signature: `LibreMetaverse.Primitive.TextureEntryFace LibreMetaverse.Primitive.TextureEntry.DefaultTexture`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.TextureEntry.FaceTextures`.
///
/// C# signature: `LibreMetaverse.Primitive.TextureEntryFace[] LibreMetaverse.Primitive.TextureEntry.FaceTextures`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.TextureEntry.MAX_FACES`.
///
/// C# signature: `System.Int32 LibreMetaverse.Primitive.TextureEntry.MAX_FACES`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Primitive.TextureEntry.WHITE_TEXTURE`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.Primitive.TextureEntry.WHITE_TEXTURE`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
/// C# member: `M:LibreMetaverse.Primitive.TextureEntry.#ctor(LibreMetaverse.Primitive.TextureEntry)`.
///
/// C# signature: `LibreMetaverse.Primitive.TextureEntry(LibreMetaverse.Primitive.TextureEntry source)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Primitive.TextureEntry.#ctor(LibreMetaverse.Primitive.TextureEntryFace)`.
///
/// C# signature: `LibreMetaverse.Primitive.TextureEntry(LibreMetaverse.Primitive.TextureEntryFace defaultFace)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Primitive.TextureEntry.#ctor(LibreMetaverse.UUID)`.
///
/// C# signature: `LibreMetaverse.Primitive.TextureEntry(LibreMetaverse.UUID defaultTextureID)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Primitive.TextureEntry.#ctor(System.Byte[],System.Int32,System.Int32)`.
///
/// C# signature: `LibreMetaverse.Primitive.TextureEntry(System.Byte[] data, System.Int32 pos, System.Int32 length)`.
/// Mapping contract: ownership `owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Primitive.TextureEntry.CreateFace(System.UInt32)`.
///
/// C# signature: `LibreMetaverse.Primitive.TextureEntryFace LibreMetaverse.Primitive.TextureEntry.CreateFace(System.UInt32 index)`.
/// Mapping contract: ownership `mutable_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Primitive.TextureEntry.FromOSD(LibreMetaverse.StructuredData.OSD)`.
///
/// C# signature: `LibreMetaverse.Primitive.TextureEntry LibreMetaverse.Primitive.TextureEntry.FromOSD(LibreMetaverse.StructuredData.OSD osd)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Primitive.TextureEntry.GetBytes`.
///
/// C# signature: `System.Byte[] LibreMetaverse.Primitive.TextureEntry.GetBytes()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Primitive.TextureEntry.GetFace(System.UInt32)`.
///
/// C# signature: `LibreMetaverse.Primitive.TextureEntryFace LibreMetaverse.Primitive.TextureEntry.GetFace(System.UInt32 index)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Primitive.TextureEntry.GetHashCode`.
///
/// C# signature: `System.Int32 LibreMetaverse.Primitive.TextureEntry.GetHashCode()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Primitive.TextureEntry.GetOSD`.
///
/// C# signature: `LibreMetaverse.StructuredData.OSD LibreMetaverse.Primitive.TextureEntry.GetOSD()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Primitive.TextureEntry.ToString`.
///
/// C# signature: `System.String LibreMetaverse.Primitive.TextureEntry.ToString()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
pub use crate::object_model::PrimitiveTextureEntry;

/// C# type: `T:LibreMetaverse.Primitive.TextureEntryFace`.
///
/// Native Rust mapping of C# `LibreMetaverse.Primitive.TextureEntryFace` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.Primitive.TextureEntryFace.#ctor(LibreMetaverse.Primitive.TextureEntryFace)`.
///
/// C# signature: `LibreMetaverse.Primitive.TextureEntryFace(LibreMetaverse.Primitive.TextureEntryFace defaultTexture)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Primitive.TextureEntryFace.Clone`.
///
/// C# signature: `System.Object LibreMetaverse.Primitive.TextureEntryFace.Clone()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Primitive.TextureEntryFace.FromOSD(LibreMetaverse.StructuredData.OSD,LibreMetaverse.Primitive.TextureEntryFace,System.Int32@)`.
///
/// C# signature: `LibreMetaverse.Primitive.TextureEntryFace LibreMetaverse.Primitive.TextureEntryFace.FromOSD(LibreMetaverse.StructuredData.OSD osd, LibreMetaverse.Primitive.TextureEntryFace defaultFace, out System.Int32& faceNumber)`.
/// Mapping contract: ownership `owned,owned,mutable_output`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Primitive.TextureEntryFace.GetHashCode`.
///
/// C# signature: `System.Int32 LibreMetaverse.Primitive.TextureEntryFace.GetHashCode()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Primitive.TextureEntryFace.GetOSD(System.Int32)`.
///
/// C# signature: `LibreMetaverse.StructuredData.OSD LibreMetaverse.Primitive.TextureEntryFace.GetOSD(System.Int32 faceNumber)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Primitive.TextureEntryFace.ToString`.
///
/// C# signature: `System.String LibreMetaverse.Primitive.TextureEntryFace.ToString()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.Primitive.TextureEntryFace.Bump`.
///
/// C# signature: `LibreMetaverse.Bumpiness LibreMetaverse.Primitive.TextureEntryFace.Bump`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.Primitive.TextureEntryFace.Fullbright`.
///
/// C# signature: `System.Boolean LibreMetaverse.Primitive.TextureEntryFace.Fullbright`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.Primitive.TextureEntryFace.Glow`.
///
/// C# signature: `System.Single LibreMetaverse.Primitive.TextureEntryFace.Glow`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.Primitive.TextureEntryFace.MaterialID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.Primitive.TextureEntryFace.MaterialID`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.Primitive.TextureEntryFace.MediaFlags`.
///
/// C# signature: `System.Boolean LibreMetaverse.Primitive.TextureEntryFace.MediaFlags`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.Primitive.TextureEntryFace.OffsetU`.
///
/// C# signature: `System.Single LibreMetaverse.Primitive.TextureEntryFace.OffsetU`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.Primitive.TextureEntryFace.OffsetV`.
///
/// C# signature: `System.Single LibreMetaverse.Primitive.TextureEntryFace.OffsetV`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.Primitive.TextureEntryFace.RGBA`.
///
/// C# signature: `LibreMetaverse.Color4 LibreMetaverse.Primitive.TextureEntryFace.RGBA`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.Primitive.TextureEntryFace.RenderMaterialID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.Primitive.TextureEntryFace.RenderMaterialID`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.Primitive.TextureEntryFace.RepeatU`.
///
/// C# signature: `System.Single LibreMetaverse.Primitive.TextureEntryFace.RepeatU`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.Primitive.TextureEntryFace.RepeatV`.
///
/// C# signature: `System.Single LibreMetaverse.Primitive.TextureEntryFace.RepeatV`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.Primitive.TextureEntryFace.Rotation`.
///
/// C# signature: `System.Single LibreMetaverse.Primitive.TextureEntryFace.Rotation`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.Primitive.TextureEntryFace.Shiny`.
///
/// C# signature: `LibreMetaverse.Shininess LibreMetaverse.Primitive.TextureEntryFace.Shiny`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.Primitive.TextureEntryFace.TexMapType`.
///
/// C# signature: `LibreMetaverse.MappingType LibreMetaverse.Primitive.TextureEntryFace.TexMapType`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.Primitive.TextureEntryFace.TextureID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.Primitive.TextureEntryFace.TextureID`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.Primitive.TextureEntryFace.Valid`.
///
/// C# signature: `System.Boolean LibreMetaverse.Primitive.TextureEntryFace.Valid`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::object_model::PrimitiveTextureEntryFace;

/// C# type: `T:LibreMetaverse.ProductInfoEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.ProductInfoEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.ProductInfoEventArgs.#ctor(LibreMetaverse.Messages.Linden.ProductInfoRequestMessage)`.
///
/// C# signature: `LibreMetaverse.ProductInfoEventArgs(LibreMetaverse.Messages.Linden.ProductInfoRequestMessage productInfo)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.ProductInfoEventArgs.ProductInfo`.
///
/// C# signature: `LibreMetaverse.Messages.Linden.ProductInfoRequestMessage LibreMetaverse.ProductInfoEventArgs.ProductInfo`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::agent_messages::ProductInfoEventArgs;

/// C# type: `T:LibreMetaverse.ProfileFlags`.
///
/// Native Rust mapping of C# `LibreMetaverse.ProfileFlags` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(transparent)]
pub struct ProfileFlags(pub u32);
impl ProfileFlags {
    /// C# member: `F:LibreMetaverse.ProfileFlags.AgeVerified`.
    ///
    /// C# signature: `LibreMetaverse.ProfileFlags LibreMetaverse.ProfileFlags.AgeVerified`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const AGE_VERIFIED: Self = Self(32);
    /// C# member: `F:LibreMetaverse.ProfileFlags.AllowPublish`.
    ///
    /// C# signature: `LibreMetaverse.ProfileFlags LibreMetaverse.ProfileFlags.AllowPublish`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const ALLOW_PUBLISH: Self = Self(1);
    /// C# member: `F:LibreMetaverse.ProfileFlags.Identified`.
    ///
    /// C# signature: `LibreMetaverse.ProfileFlags LibreMetaverse.ProfileFlags.Identified`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const IDENTIFIED: Self = Self(4);
    /// C# member: `F:LibreMetaverse.ProfileFlags.MaturePublish`.
    ///
    /// C# signature: `LibreMetaverse.ProfileFlags LibreMetaverse.ProfileFlags.MaturePublish`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const MATURE_PUBLISH: Self = Self(2);
    /// C# member: `F:LibreMetaverse.ProfileFlags.Online`.
    ///
    /// C# signature: `LibreMetaverse.ProfileFlags LibreMetaverse.ProfileFlags.Online`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const ONLINE: Self = Self(16);
    /// C# member: `F:LibreMetaverse.ProfileFlags.Transacted`.
    ///
    /// C# signature: `LibreMetaverse.ProfileFlags LibreMetaverse.ProfileFlags.Transacted`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const TRANSACTED: Self = Self(8);
}

/// C# type: `T:LibreMetaverse.ProfilePick`.
///
/// Native Rust mapping of C# `LibreMetaverse.ProfilePick` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone)]
pub struct ProfilePick {
    /// C# member: `F:LibreMetaverse.ProfilePick.CreatorID`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.ProfilePick.CreatorID`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub creator_id: libremetaverse_types::UUID,
    /// C# member: `F:LibreMetaverse.ProfilePick.Desc`.
    ///
    /// C# signature: `System.String LibreMetaverse.ProfilePick.Desc`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub desc: String,
    /// C# member: `F:LibreMetaverse.ProfilePick.Enabled`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.ProfilePick.Enabled`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub enabled: bool,
    /// C# member: `F:LibreMetaverse.ProfilePick.Name`.
    ///
    /// C# signature: `System.String LibreMetaverse.ProfilePick.Name`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub name: String,
    /// C# member: `F:LibreMetaverse.ProfilePick.OriginalName`.
    ///
    /// C# signature: `System.String LibreMetaverse.ProfilePick.OriginalName`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub original_name: String,
    /// C# member: `F:LibreMetaverse.ProfilePick.ParcelID`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.ProfilePick.ParcelID`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub parcel_id: libremetaverse_types::UUID,
    /// C# member: `F:LibreMetaverse.ProfilePick.PickID`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.ProfilePick.PickID`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub pick_id: libremetaverse_types::UUID,
    /// C# member: `F:LibreMetaverse.ProfilePick.PosGlobal`.
    ///
    /// C# signature: `LibreMetaverse.Vector3d LibreMetaverse.ProfilePick.PosGlobal`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub pos_global: libremetaverse_types::Vector3d,
    /// C# member: `F:LibreMetaverse.ProfilePick.SimName`.
    ///
    /// C# signature: `System.String LibreMetaverse.ProfilePick.SimName`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub sim_name: String,
    /// C# member: `F:LibreMetaverse.ProfilePick.SnapshotID`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.ProfilePick.SnapshotID`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub snapshot_id: libremetaverse_types::UUID,
    /// C# member: `F:LibreMetaverse.ProfilePick.SortOrder`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.ProfilePick.SortOrder`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub sort_order: i32,
    /// C# member: `F:LibreMetaverse.ProfilePick.TopPick`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.ProfilePick.TopPick`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub top_pick: bool,
    /// C# member: `F:LibreMetaverse.ProfilePick.User`.
    ///
    /// C# signature: `System.String LibreMetaverse.ProfilePick.User`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub user: String,
}
impl ProfilePick {}

/// C# type: `T:LibreMetaverse.ProtocolManager`.
///
/// Native Rust mapping of C# `LibreMetaverse.ProtocolManager` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `F:LibreMetaverse.ProtocolManager.HighMaps`.
///
/// C# signature: `LibreMetaverse.MapPacket[] LibreMetaverse.ProtocolManager.HighMaps`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.ProtocolManager.KeywordPositions`.
///
/// C# signature: `System.Collections.Generic.Dictionary<System.String, System.Int32> LibreMetaverse.ProtocolManager.KeywordPositions`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.ProtocolManager.LowMaps`.
///
/// C# signature: `LibreMetaverse.MapPacket[] LibreMetaverse.ProtocolManager.LowMaps`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.ProtocolManager.MediumMaps`.
///
/// C# signature: `LibreMetaverse.MapPacket[] LibreMetaverse.ProtocolManager.MediumMaps`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.ProtocolManager.TypeSizes`.
///
/// C# signature: `System.Collections.Generic.Dictionary<LibreMetaverse.FieldType, System.Int32> LibreMetaverse.ProtocolManager.TypeSizes`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `M:LibreMetaverse.ProtocolManager.#ctor(System.String,LibreMetaverse.GridClient)`.
///
/// C# signature: `LibreMetaverse.ProtocolManager(System.String mapFile, LibreMetaverse.GridClient client)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.ProtocolManager.Command(System.Byte[])`.
///
/// C# signature: `LibreMetaverse.MapPacket LibreMetaverse.ProtocolManager.Command(System.Byte[] data)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.ProtocolManager.Command(System.String)`.
///
/// C# signature: `LibreMetaverse.MapPacket LibreMetaverse.ProtocolManager.Command(System.String command)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.ProtocolManager.Command(System.UInt16,LibreMetaverse.PacketFrequency)`.
///
/// C# signature: `LibreMetaverse.MapPacket LibreMetaverse.ProtocolManager.Command(System.UInt16 command, LibreMetaverse.PacketFrequency frequency)`.
/// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.ProtocolManager.DecodeMapFile(System.String,System.String)`.
///
/// C# signature: `System.Void LibreMetaverse.ProtocolManager.DecodeMapFile(System.String mapFile, System.String outputFile)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.ProtocolManager.PrintMap`.
///
/// C# signature: `System.Void LibreMetaverse.ProtocolManager.PrintMap()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
pub use crate::protocol_manager::ProtocolManager;

/// C# type: `T:LibreMetaverse.RebakeAvatarTexturesEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.RebakeAvatarTexturesEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
pub use crate::appearance_manager::RebakeAvatarTexturesEventArgs;
impl RebakeAvatarTexturesEventArgs {
    /// C# member: `M:LibreMetaverse.RebakeAvatarTexturesEventArgs.#ctor(LibreMetaverse.UUID)`.
    ///
    /// C# signature: `LibreMetaverse.RebakeAvatarTexturesEventArgs(LibreMetaverse.UUID textureID)`.
    /// Mapping contract: ownership `owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn new(texture_id: libremetaverse_types::UUID) -> Result<Self, crate::Error> {
        /* reviewed native compatibility body */
        Ok(crate::appearance_manager::RebakeAvatarTexturesEventArgs::native_new(texture_id))
    }
    /// C# member: `P:LibreMetaverse.RebakeAvatarTexturesEventArgs.TextureID`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.RebakeAvatarTexturesEventArgs.TextureID`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn texture_id(&self) -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        self.native_texture_id()
    }
}

/// C# type: `T:LibreMetaverse.RegionCrossedEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.RegionCrossedEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.RegionCrossedEventArgs.#ctor(LibreMetaverse.Simulator,LibreMetaverse.Simulator)`.
///
/// C# signature: `LibreMetaverse.RegionCrossedEventArgs(LibreMetaverse.Simulator oldSim, LibreMetaverse.Simulator newSim)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.RegionCrossedEventArgs.NewSimulator`.
///
/// C# signature: `LibreMetaverse.Simulator LibreMetaverse.RegionCrossedEventArgs.NewSimulator`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.RegionCrossedEventArgs.OldSimulator`.
///
/// C# signature: `LibreMetaverse.Simulator LibreMetaverse.RegionCrossedEventArgs.OldSimulator`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::agent_movement::RegionCrossedEventArgs;

/// C# type: `T:LibreMetaverse.RegionCrossingPredictionEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.RegionCrossingPredictionEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.RegionCrossingPredictionEventArgs.#ctor(LibreMetaverse.Simulator,LibreMetaverse.BorderCrossingDirection,System.Single)`.
///
/// C# signature: `LibreMetaverse.RegionCrossingPredictionEventArgs(LibreMetaverse.Simulator currentSim, LibreMetaverse.BorderCrossingDirection direction, System.Single timeUntilCrossing)`.
/// Mapping contract: ownership `owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.RegionCrossingPredictionEventArgs.CurrentSimulator`.
///
/// C# signature: `LibreMetaverse.Simulator LibreMetaverse.RegionCrossingPredictionEventArgs.CurrentSimulator`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.RegionCrossingPredictionEventArgs.Direction`.
///
/// C# signature: `LibreMetaverse.BorderCrossingDirection LibreMetaverse.RegionCrossingPredictionEventArgs.Direction`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.RegionCrossingPredictionEventArgs.TimeUntilCrossing`.
///
/// C# signature: `System.Single LibreMetaverse.RegionCrossingPredictionEventArgs.TimeUntilCrossing`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::agent_movement::RegionCrossingPredictionEventArgs;

/// C# type: `T:LibreMetaverse.RegionEnvironmentEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.RegionEnvironmentEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.RegionEnvironmentEventArgs.#ctor(LibreMetaverse.Messages.Linden.ExtEnvironmentMessage)`.
///
/// C# signature: `LibreMetaverse.RegionEnvironmentEventArgs(LibreMetaverse.Messages.Linden.ExtEnvironmentMessage environment)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.RegionEnvironmentEventArgs.Environment`.
///
/// C# signature: `LibreMetaverse.Messages.Linden.ExtEnvironmentMessage LibreMetaverse.RegionEnvironmentEventArgs.Environment`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::environment_manager::RegionEnvironmentEventArgs;

/// C# type: `T:LibreMetaverse.RegionExperiencesEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.RegionExperiencesEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.RegionExperiencesEventArgs.#ctor(LibreMetaverse.Messages.Linden.RegionExperiencesMessage)`.
///
/// C# signature: `LibreMetaverse.RegionExperiencesEventArgs(LibreMetaverse.Messages.Linden.RegionExperiencesMessage regionExperiences)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.RegionExperiencesEventArgs.RegionExperiences`.
///
/// C# signature: `LibreMetaverse.Messages.Linden.RegionExperiencesMessage LibreMetaverse.RegionExperiencesEventArgs.RegionExperiences`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::agent_messages::RegionExperiencesEventArgs;

/// C# type: `T:LibreMetaverse.RegionFlags`.
///
/// Native Rust mapping of C# `LibreMetaverse.RegionFlags` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(transparent)]
pub struct RegionFlags(pub u64);
impl RegionFlags {
    /// C# member: `F:LibreMetaverse.RegionFlags.AbuseEmailToEstateOwner`.
    ///
    /// C# signature: `LibreMetaverse.RegionFlags LibreMetaverse.RegionFlags.AbuseEmailToEstateOwner`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const ABUSE_EMAIL_TO_ESTATE_OWNER: Self = Self(134217728);
    /// C# member: `F:LibreMetaverse.RegionFlags.AllowAccessOverride`.
    ///
    /// C# signature: `LibreMetaverse.RegionFlags LibreMetaverse.RegionFlags.AllowAccessOverride`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const ALLOW_ACCESS_OVERRIDE: Self = Self(32);
    /// C# member: `F:LibreMetaverse.RegionFlags.AllowDamage`.
    ///
    /// C# signature: `LibreMetaverse.RegionFlags LibreMetaverse.RegionFlags.AllowDamage`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const ALLOW_DAMAGE: Self = Self(1);
    /// C# member: `F:LibreMetaverse.RegionFlags.AllowDirectTeleport`.
    ///
    /// C# signature: `LibreMetaverse.RegionFlags LibreMetaverse.RegionFlags.AllowDirectTeleport`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const ALLOW_DIRECT_TELEPORT: Self = Self(1048576);
    /// C# member: `F:LibreMetaverse.RegionFlags.AllowLandmark`.
    ///
    /// C# signature: `LibreMetaverse.RegionFlags LibreMetaverse.RegionFlags.AllowLandmark`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const ALLOW_LANDMARK: Self = Self(2);
    /// C# member: `F:LibreMetaverse.RegionFlags.AllowParcelChanges`.
    ///
    /// C# signature: `LibreMetaverse.RegionFlags LibreMetaverse.RegionFlags.AllowParcelChanges`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const ALLOW_PARCEL_CHANGES: Self = Self(67108864);
    /// C# member: `F:LibreMetaverse.RegionFlags.AllowSetHome`.
    ///
    /// C# signature: `LibreMetaverse.RegionFlags LibreMetaverse.RegionFlags.AllowSetHome`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const ALLOW_SET_HOME: Self = Self(4);
    /// C# member: `F:LibreMetaverse.RegionFlags.AllowVoice`.
    ///
    /// C# signature: `LibreMetaverse.RegionFlags LibreMetaverse.RegionFlags.AllowVoice`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const ALLOW_VOICE: Self = Self(268435456);
    /// C# member: `F:LibreMetaverse.RegionFlags.BlockDwell`.
    ///
    /// C# signature: `LibreMetaverse.RegionFlags LibreMetaverse.RegionFlags.BlockDwell`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const BLOCK_DWELL: Self = Self(262144);
    /// C# member: `F:LibreMetaverse.RegionFlags.BlockLandResell`.
    ///
    /// C# signature: `LibreMetaverse.RegionFlags LibreMetaverse.RegionFlags.BlockLandResell`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const BLOCK_LAND_RESELL: Self = Self(128);
    /// C# member: `F:LibreMetaverse.RegionFlags.BlockParcelSearch`.
    ///
    /// C# signature: `LibreMetaverse.RegionFlags LibreMetaverse.RegionFlags.BlockParcelSearch`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const BLOCK_PARCEL_SEARCH: Self = Self(536870912);
    /// C# member: `F:LibreMetaverse.RegionFlags.BlockTerraform`.
    ///
    /// C# signature: `LibreMetaverse.RegionFlags LibreMetaverse.RegionFlags.BlockTerraform`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const BLOCK_TERRAFORM: Self = Self(64);
    /// C# member: `F:LibreMetaverse.RegionFlags.DenyAgeUnverified`.
    ///
    /// C# signature: `LibreMetaverse.RegionFlags LibreMetaverse.RegionFlags.DenyAgeUnverified`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const DENY_AGE_UNVERIFIED: Self = Self(1073741824);
    /// C# member: `F:LibreMetaverse.RegionFlags.DenyAnonymous`.
    ///
    /// C# signature: `LibreMetaverse.RegionFlags LibreMetaverse.RegionFlags.DenyAnonymous`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const DENY_ANONYMOUS: Self = Self(8388608);
    /// C# member: `F:LibreMetaverse.RegionFlags.DenyBots`.
    ///
    /// C# signature: `LibreMetaverse.RegionFlags LibreMetaverse.RegionFlags.DenyBots`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const DENY_BOTS: Self = Self(2147483648);
    /// C# member: `F:LibreMetaverse.RegionFlags.DenyIdentified`.
    ///
    /// C# signature: `LibreMetaverse.RegionFlags LibreMetaverse.RegionFlags.DenyIdentified`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const DENY_IDENTIFIED: Self = Self(16777216);
    /// C# member: `F:LibreMetaverse.RegionFlags.DenyTransacted`.
    ///
    /// C# signature: `LibreMetaverse.RegionFlags LibreMetaverse.RegionFlags.DenyTransacted`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const DENY_TRANSACTED: Self = Self(33554432);
    /// C# member: `F:LibreMetaverse.RegionFlags.EstateSkipScripts`.
    ///
    /// C# signature: `LibreMetaverse.RegionFlags LibreMetaverse.RegionFlags.EstateSkipScripts`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const ESTATE_SKIP_SCRIPTS: Self = Self(2097152);
    /// C# member: `F:LibreMetaverse.RegionFlags.ExternallyVisible`.
    ///
    /// C# signature: `LibreMetaverse.RegionFlags LibreMetaverse.RegionFlags.ExternallyVisible`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const EXTERNALLY_VISIBLE: Self = Self(32768);
    /// C# member: `F:LibreMetaverse.RegionFlags.MainlandVisible`.
    ///
    /// C# signature: `LibreMetaverse.RegionFlags LibreMetaverse.RegionFlags.MainlandVisible`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const MAINLAND_VISIBLE: Self = Self(65536);
    /// C# member: `F:LibreMetaverse.RegionFlags.NoFly`.
    ///
    /// C# signature: `LibreMetaverse.RegionFlags LibreMetaverse.RegionFlags.NoFly`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const NO_FLY: Self = Self(524288);
    /// C# member: `F:LibreMetaverse.RegionFlags.None`.
    ///
    /// C# signature: `LibreMetaverse.RegionFlags LibreMetaverse.RegionFlags.None`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const NONE: Self = Self(0);
    /// C# member: `F:LibreMetaverse.RegionFlags.NullLayer`.
    ///
    /// C# signature: `LibreMetaverse.RegionFlags LibreMetaverse.RegionFlags.NullLayer`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const NULL_LAYER: Self = Self(512);
    /// C# member: `F:LibreMetaverse.RegionFlags.PublicAllowed`.
    ///
    /// C# signature: `LibreMetaverse.RegionFlags LibreMetaverse.RegionFlags.PublicAllowed`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const PUBLIC_ALLOWED: Self = Self(131072);
    /// C# member: `F:LibreMetaverse.RegionFlags.ResetHomeOnTeleport`.
    ///
    /// C# signature: `LibreMetaverse.RegionFlags LibreMetaverse.RegionFlags.ResetHomeOnTeleport`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const RESET_HOME_ON_TELEPORT: Self = Self(8);
    /// C# member: `F:LibreMetaverse.RegionFlags.RestrictPushObject`.
    ///
    /// C# signature: `LibreMetaverse.RegionFlags LibreMetaverse.RegionFlags.RestrictPushObject`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const RESTRICT_PUSH_OBJECT: Self = Self(4194304);
    /// C# member: `F:LibreMetaverse.RegionFlags.Sandbox`.
    ///
    /// C# signature: `LibreMetaverse.RegionFlags LibreMetaverse.RegionFlags.Sandbox`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const SANDBOX: Self = Self(256);
    /// C# member: `F:LibreMetaverse.RegionFlags.SkipAgentAction`.
    ///
    /// C# signature: `LibreMetaverse.RegionFlags LibreMetaverse.RegionFlags.SkipAgentAction`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const SKIP_AGENT_ACTION: Self = Self(1024);
    /// C# member: `F:LibreMetaverse.RegionFlags.SkipCollisions`.
    ///
    /// C# signature: `LibreMetaverse.RegionFlags LibreMetaverse.RegionFlags.SkipCollisions`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const SKIP_COLLISIONS: Self = Self(4096);
    /// C# member: `F:LibreMetaverse.RegionFlags.SkipPhysics`.
    ///
    /// C# signature: `LibreMetaverse.RegionFlags LibreMetaverse.RegionFlags.SkipPhysics`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const SKIP_PHYSICS: Self = Self(16384);
    /// C# member: `F:LibreMetaverse.RegionFlags.SkipScripts`.
    ///
    /// C# signature: `LibreMetaverse.RegionFlags LibreMetaverse.RegionFlags.SkipScripts`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const SKIP_SCRIPTS: Self = Self(8192);
    /// C# member: `F:LibreMetaverse.RegionFlags.SkipUpdateInterestList`.
    ///
    /// C# signature: `LibreMetaverse.RegionFlags LibreMetaverse.RegionFlags.SkipUpdateInterestList`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const SKIP_UPDATE_INTEREST_LIST: Self = Self(2048);
    /// C# member: `F:LibreMetaverse.RegionFlags.SunFixed`.
    ///
    /// C# signature: `LibreMetaverse.RegionFlags LibreMetaverse.RegionFlags.SunFixed`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const SUN_FIXED: Self = Self(16);
}

/// C# type: `T:LibreMetaverse.RegionHandleReplyEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.RegionHandleReplyEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.RegionHandleReplyEventArgs.#ctor(LibreMetaverse.UUID,System.UInt64)`.
///
/// C# signature: `LibreMetaverse.RegionHandleReplyEventArgs(LibreMetaverse.UUID regionID, System.UInt64 regionHandle)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.RegionHandleReplyEventArgs.RegionHandle`.
///
/// C# signature: `System.UInt64 LibreMetaverse.RegionHandleReplyEventArgs.RegionHandle`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.RegionHandleReplyEventArgs.RegionID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.RegionHandleReplyEventArgs.RegionID`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::grid_manager::RegionHandleReplyEventArgs;

/// C# type: `T:LibreMetaverse.RegionProtocols`.
///
/// Native Rust mapping of C# `LibreMetaverse.RegionProtocols` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(transparent)]
pub struct RegionProtocols(pub u64);
impl RegionProtocols {
    /// C# member: `F:LibreMetaverse.RegionProtocols.AgentAppearanceService`.
    ///
    /// C# signature: `LibreMetaverse.RegionProtocols LibreMetaverse.RegionProtocols.AgentAppearanceService`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const AGENT_APPEARANCE_SERVICE: Self = Self(1);
    /// C# member: `F:LibreMetaverse.RegionProtocols.None`.
    ///
    /// C# signature: `LibreMetaverse.RegionProtocols LibreMetaverse.RegionProtocols.None`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const NONE: Self = Self(0);
    /// C# member: `F:LibreMetaverse.RegionProtocols.SelfAppearanceSupport`.
    ///
    /// C# signature: `LibreMetaverse.RegionProtocols LibreMetaverse.RegionProtocols.SelfAppearanceSupport`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const SELF_APPEARANCE_SUPPORT: Self = Self(4);
}

/// C# type: `T:LibreMetaverse.RegionRestartDays`.
///
/// Native Rust mapping of C# `LibreMetaverse.RegionRestartDays` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(transparent)]
pub struct RegionRestartDays(pub i32);
impl RegionRestartDays {
    /// C# member: `F:LibreMetaverse.RegionRestartDays.All`.
    ///
    /// C# signature: `LibreMetaverse.RegionRestartDays LibreMetaverse.RegionRestartDays.All`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const ALL: Self = Self(127);
    /// C# member: `F:LibreMetaverse.RegionRestartDays.Friday`.
    ///
    /// C# signature: `LibreMetaverse.RegionRestartDays LibreMetaverse.RegionRestartDays.Friday`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const FRIDAY: Self = Self(32);
    /// C# member: `F:LibreMetaverse.RegionRestartDays.Monday`.
    ///
    /// C# signature: `LibreMetaverse.RegionRestartDays LibreMetaverse.RegionRestartDays.Monday`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const MONDAY: Self = Self(2);
    /// C# member: `F:LibreMetaverse.RegionRestartDays.None`.
    ///
    /// C# signature: `LibreMetaverse.RegionRestartDays LibreMetaverse.RegionRestartDays.None`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const NONE: Self = Self(0);
    /// C# member: `F:LibreMetaverse.RegionRestartDays.Saturday`.
    ///
    /// C# signature: `LibreMetaverse.RegionRestartDays LibreMetaverse.RegionRestartDays.Saturday`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const SATURDAY: Self = Self(64);
    /// C# member: `F:LibreMetaverse.RegionRestartDays.Sunday`.
    ///
    /// C# signature: `LibreMetaverse.RegionRestartDays LibreMetaverse.RegionRestartDays.Sunday`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const SUNDAY: Self = Self(1);
    /// C# member: `F:LibreMetaverse.RegionRestartDays.Thursday`.
    ///
    /// C# signature: `LibreMetaverse.RegionRestartDays LibreMetaverse.RegionRestartDays.Thursday`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const THURSDAY: Self = Self(16);
    /// C# member: `F:LibreMetaverse.RegionRestartDays.Tuesday`.
    ///
    /// C# signature: `LibreMetaverse.RegionRestartDays LibreMetaverse.RegionRestartDays.Tuesday`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const TUESDAY: Self = Self(4);
    /// C# member: `F:LibreMetaverse.RegionRestartDays.Wednesday`.
    ///
    /// C# signature: `LibreMetaverse.RegionRestartDays LibreMetaverse.RegionRestartDays.Wednesday`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const WEDNESDAY: Self = Self(8);
}

/// C# type: `T:LibreMetaverse.RegionRestartSchedule`.
///
/// Native Rust mapping of C# `LibreMetaverse.RegionRestartSchedule` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.RegionRestartSchedule.#ctor`.
///
/// C# signature: `LibreMetaverse.RegionRestartSchedule()`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.RegionRestartSchedule.Days`.
///
/// C# signature: `LibreMetaverse.RegionRestartDays LibreMetaverse.RegionRestartSchedule.Days`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.RegionRestartSchedule.IsDaily`.
///
/// C# signature: `System.Boolean LibreMetaverse.RegionRestartSchedule.IsDaily`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.RegionRestartSchedule.Time`.
///
/// C# signature: `System.TimeSpan LibreMetaverse.RegionRestartSchedule.Time`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::estate_tools::RegionRestartSchedule;

/// C# type: `T:LibreMetaverse.Repeat`.
///
/// Native Rust mapping of C# `LibreMetaverse.Repeat` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.Repeat.Interval(System.TimeSpan,System.Action,System.Threading.CancellationToken,System.Boolean)`.
///
/// C# signature: `System.Threading.Tasks.Task LibreMetaverse.Repeat.Interval(System.TimeSpan pollInterval, System.Action action, System.Threading.CancellationToken token, System.Boolean immediately = default)`.
/// Mapping contract: ownership `owned,owned,owned,optional_owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Repeat.IntervalAsync(System.TimeSpan,System.Func{System.Threading.Tasks.Task},System.Threading.CancellationToken,System.Boolean)`.
///
/// C# signature: `System.Threading.Tasks.Task LibreMetaverse.Repeat.IntervalAsync(System.TimeSpan pollInterval, System.Func<System.Threading.Tasks.Task> asyncAction, System.Threading.CancellationToken token, System.Boolean immediately = default)`.
/// Mapping contract: ownership `owned,owned,owned,optional_owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
pub use crate::repeat::Repeat;

/// C# type: `T:LibreMetaverse.ReportType`.
///
/// Native Rust mapping of C# `LibreMetaverse.ReportType` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(u32)]
pub enum ReportType {
    /// C# member: `F:LibreMetaverse.ReportType.Bug`.
    ///
    /// C# signature: `LibreMetaverse.ReportType LibreMetaverse.ReportType.Bug`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Bug = 2,
    /// C# member: `F:LibreMetaverse.ReportType.Complaint`.
    ///
    /// C# signature: `LibreMetaverse.ReportType LibreMetaverse.ReportType.Complaint`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Complaint = 3,
    /// C# member: `F:LibreMetaverse.ReportType.CustomerServiceRequest`.
    ///
    /// C# signature: `LibreMetaverse.ReportType LibreMetaverse.ReportType.CustomerServiceRequest`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    CustomerServiceRequest = 4,
    /// C# member: `F:LibreMetaverse.ReportType.None`.
    ///
    /// C# signature: `LibreMetaverse.ReportType LibreMetaverse.ReportType.None`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    None = 0,
    /// C# member: `F:LibreMetaverse.ReportType.Unknown`.
    ///
    /// C# signature: `LibreMetaverse.ReportType LibreMetaverse.ReportType.Unknown`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Unknown = 1,
}

/// C# type: `T:LibreMetaverse.SaveAssetToInventoryEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.SaveAssetToInventoryEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.SaveAssetToInventoryEventArgs.#ctor(LibreMetaverse.UUID,LibreMetaverse.UUID)`.
///
/// C# signature: `LibreMetaverse.SaveAssetToInventoryEventArgs(LibreMetaverse.UUID itemID, LibreMetaverse.UUID newAssetID)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.SaveAssetToInventoryEventArgs.ItemID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.SaveAssetToInventoryEventArgs.ItemID`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.SaveAssetToInventoryEventArgs.NewAssetID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.SaveAssetToInventoryEventArgs.NewAssetID`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::inventory_manager::SaveAssetToInventoryEventArgs;

/// C# type: `T:LibreMetaverse.ScriptControlChange`.
///
/// Native Rust mapping of C# `LibreMetaverse.ScriptControlChange` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(transparent)]
pub struct ScriptControlChange(pub u32);
impl ScriptControlChange {
    /// C# member: `F:LibreMetaverse.ScriptControlChange.Back`.
    ///
    /// C# signature: `LibreMetaverse.ScriptControlChange LibreMetaverse.ScriptControlChange.Back`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const BACK: Self = Self(2);
    /// C# member: `F:LibreMetaverse.ScriptControlChange.Down`.
    ///
    /// C# signature: `LibreMetaverse.ScriptControlChange LibreMetaverse.ScriptControlChange.Down`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const DOWN: Self = Self(32);
    /// C# member: `F:LibreMetaverse.ScriptControlChange.Forward`.
    ///
    /// C# signature: `LibreMetaverse.ScriptControlChange LibreMetaverse.ScriptControlChange.Forward`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const FORWARD: Self = Self(1);
    /// C# member: `F:LibreMetaverse.ScriptControlChange.Left`.
    ///
    /// C# signature: `LibreMetaverse.ScriptControlChange LibreMetaverse.ScriptControlChange.Left`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const LEFT: Self = Self(4);
    /// C# member: `F:LibreMetaverse.ScriptControlChange.LeftButton`.
    ///
    /// C# signature: `LibreMetaverse.ScriptControlChange LibreMetaverse.ScriptControlChange.LeftButton`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const LEFT_BUTTON: Self = Self(268435456);
    /// C# member: `F:LibreMetaverse.ScriptControlChange.MouseLookLeftButton`.
    ///
    /// C# signature: `LibreMetaverse.ScriptControlChange LibreMetaverse.ScriptControlChange.MouseLookLeftButton`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const MOUSE_LOOK_LEFT_BUTTON: Self = Self(1073741824);
    /// C# member: `F:LibreMetaverse.ScriptControlChange.None`.
    ///
    /// C# signature: `LibreMetaverse.ScriptControlChange LibreMetaverse.ScriptControlChange.None`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const NONE: Self = Self(0);
    /// C# member: `F:LibreMetaverse.ScriptControlChange.Right`.
    ///
    /// C# signature: `LibreMetaverse.ScriptControlChange LibreMetaverse.ScriptControlChange.Right`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const RIGHT: Self = Self(8);
    /// C# member: `F:LibreMetaverse.ScriptControlChange.RotateLeft`.
    ///
    /// C# signature: `LibreMetaverse.ScriptControlChange LibreMetaverse.ScriptControlChange.RotateLeft`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const ROTATE_LEFT: Self = Self(256);
    /// C# member: `F:LibreMetaverse.ScriptControlChange.RotateRight`.
    ///
    /// C# signature: `LibreMetaverse.ScriptControlChange LibreMetaverse.ScriptControlChange.RotateRight`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const ROTATE_RIGHT: Self = Self(512);
    /// C# member: `F:LibreMetaverse.ScriptControlChange.Up`.
    ///
    /// C# signature: `LibreMetaverse.ScriptControlChange LibreMetaverse.ScriptControlChange.Up`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const UP: Self = Self(16);
}

/// C# type: `T:LibreMetaverse.ScriptControlEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.ScriptControlEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone)]
pub struct ScriptControlEventArgs {
    property_0: libremetaverse::ScriptControlChange,
    property_1: bool,
    property_2: bool,
}
impl ScriptControlEventArgs {
    /// C# member: `M:LibreMetaverse.ScriptControlEventArgs.#ctor(LibreMetaverse.ScriptControlChange,System.Boolean,System.Boolean)`.
    ///
    /// C# signature: `LibreMetaverse.ScriptControlEventArgs(LibreMetaverse.ScriptControlChange controls, System.Boolean pass, System.Boolean take)`.
    /// Mapping contract: ownership `owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn new(
        controls: libremetaverse::ScriptControlChange,
        pass_: bool,
        take: bool,
    ) -> Result<Self, crate::Error> {
        /* complete generated data model */
        Ok(Self {
            property_0: controls,
            property_1: pass_,
            property_2: take,
        })
    }
    /// C# member: `P:LibreMetaverse.ScriptControlEventArgs.Controls`.
    ///
    /// C# signature: `LibreMetaverse.ScriptControlChange LibreMetaverse.ScriptControlEventArgs.Controls`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn controls(&self) -> libremetaverse::ScriptControlChange {
        /* complete generated data model */
        self.property_0.clone()
    }
    /// C# member: `P:LibreMetaverse.ScriptControlEventArgs.Pass`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.ScriptControlEventArgs.Pass`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn pass_(&self) -> bool {
        /* complete generated data model */
        self.property_1.clone()
    }
    /// C# member: `P:LibreMetaverse.ScriptControlEventArgs.Take`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.ScriptControlEventArgs.Take`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn take(&self) -> bool {
        /* complete generated data model */
        self.property_2.clone()
    }
}

/// C# type: `T:LibreMetaverse.ScriptDialogEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.ScriptDialogEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone)]
pub struct ScriptDialogEventArgs {
    property_0: Vec<String>,
    property_1: i32,
    property_2: String,
    property_3: libremetaverse_types::UUID,
    property_4: String,
    property_5: String,
    property_6: libremetaverse_types::UUID,
    property_7: String,
    property_8: libremetaverse_types::UUID,
}
impl ScriptDialogEventArgs {
    /// C# member: `M:LibreMetaverse.ScriptDialogEventArgs.#ctor(System.String,System.String,LibreMetaverse.UUID,LibreMetaverse.UUID,System.String,System.String,System.Int32,System.Collections.Generic.List{System.String},LibreMetaverse.UUID)`.
    ///
    /// C# signature: `LibreMetaverse.ScriptDialogEventArgs(System.String message, System.String objectName, LibreMetaverse.UUID imageID, LibreMetaverse.UUID objectID, System.String firstName, System.String lastName, System.Int32 chatChannel, System.Collections.Generic.List<System.String> buttons, LibreMetaverse.UUID ownerID)`.
    /// Mapping contract: ownership `owned,owned,owned,owned,owned,owned,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn new(
        message: String,
        object_name: String,
        image_id: libremetaverse_types::UUID,
        object_id: libremetaverse_types::UUID,
        first_name: String,
        last_name: String,
        chat_channel: i32,
        buttons: Vec<String>,
        owner_id: libremetaverse_types::UUID,
    ) -> Result<Self, crate::Error> {
        /* complete generated data model */
        Ok(Self {
            property_0: buttons,
            property_1: chat_channel,
            property_2: first_name,
            property_3: image_id,
            property_4: last_name,
            property_5: message,
            property_6: object_id,
            property_7: object_name,
            property_8: owner_id,
        })
    }
    /// C# member: `P:LibreMetaverse.ScriptDialogEventArgs.ButtonLabels`.
    ///
    /// C# signature: `System.Collections.Generic.List<System.String> LibreMetaverse.ScriptDialogEventArgs.ButtonLabels`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn button_labels(&self) -> Vec<String> {
        /* complete generated data model */
        self.property_0.clone()
    }
    /// C# member: `P:LibreMetaverse.ScriptDialogEventArgs.Channel`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.ScriptDialogEventArgs.Channel`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn channel(&self) -> i32 {
        /* complete generated data model */
        self.property_1.clone()
    }
    /// C# member: `P:LibreMetaverse.ScriptDialogEventArgs.FirstName`.
    ///
    /// C# signature: `System.String LibreMetaverse.ScriptDialogEventArgs.FirstName`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn first_name(&self) -> String {
        /* complete generated data model */
        self.property_2.clone()
    }
    /// C# member: `P:LibreMetaverse.ScriptDialogEventArgs.ImageID`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.ScriptDialogEventArgs.ImageID`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn image_id(&self) -> libremetaverse_types::UUID {
        /* complete generated data model */
        self.property_3.clone()
    }
    /// C# member: `P:LibreMetaverse.ScriptDialogEventArgs.LastName`.
    ///
    /// C# signature: `System.String LibreMetaverse.ScriptDialogEventArgs.LastName`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn last_name(&self) -> String {
        /* complete generated data model */
        self.property_4.clone()
    }
    /// C# member: `P:LibreMetaverse.ScriptDialogEventArgs.Message`.
    ///
    /// C# signature: `System.String LibreMetaverse.ScriptDialogEventArgs.Message`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn message(&self) -> String {
        /* complete generated data model */
        self.property_5.clone()
    }
    /// C# member: `P:LibreMetaverse.ScriptDialogEventArgs.ObjectID`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.ScriptDialogEventArgs.ObjectID`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn object_id(&self) -> libremetaverse_types::UUID {
        /* complete generated data model */
        self.property_6.clone()
    }
    /// C# member: `P:LibreMetaverse.ScriptDialogEventArgs.ObjectName`.
    ///
    /// C# signature: `System.String LibreMetaverse.ScriptDialogEventArgs.ObjectName`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn object_name(&self) -> String {
        /* complete generated data model */
        self.property_7.clone()
    }
    /// C# member: `P:LibreMetaverse.ScriptDialogEventArgs.OwnerID`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.ScriptDialogEventArgs.OwnerID`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn owner_id(&self) -> libremetaverse_types::UUID {
        /* complete generated data model */
        self.property_8.clone()
    }
}

/// C# type: `T:LibreMetaverse.ScriptPermission`.
///
/// Native Rust mapping of C# `LibreMetaverse.ScriptPermission` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(transparent)]
pub struct ScriptPermission(pub i32);
impl ScriptPermission {
    /// C# member: `F:LibreMetaverse.ScriptPermission.Attach`.
    ///
    /// C# signature: `LibreMetaverse.ScriptPermission LibreMetaverse.ScriptPermission.Attach`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const ATTACH: Self = Self(32);
    /// C# member: `F:LibreMetaverse.ScriptPermission.ChangeJoints`.
    ///
    /// C# signature: `LibreMetaverse.ScriptPermission LibreMetaverse.ScriptPermission.ChangeJoints`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const CHANGE_JOINTS: Self = Self(256);
    /// C# member: `F:LibreMetaverse.ScriptPermission.ChangeLinks`.
    ///
    /// C# signature: `LibreMetaverse.ScriptPermission LibreMetaverse.ScriptPermission.ChangeLinks`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const CHANGE_LINKS: Self = Self(128);
    /// C# member: `F:LibreMetaverse.ScriptPermission.ChangePermissions`.
    ///
    /// C# signature: `LibreMetaverse.ScriptPermission LibreMetaverse.ScriptPermission.ChangePermissions`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const CHANGE_PERMISSIONS: Self = Self(512);
    /// C# member: `F:LibreMetaverse.ScriptPermission.ControlCamera`.
    ///
    /// C# signature: `LibreMetaverse.ScriptPermission LibreMetaverse.ScriptPermission.ControlCamera`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const CONTROL_CAMERA: Self = Self(2048);
    /// C# member: `F:LibreMetaverse.ScriptPermission.Debit`.
    ///
    /// C# signature: `LibreMetaverse.ScriptPermission LibreMetaverse.ScriptPermission.Debit`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const DEBIT: Self = Self(2);
    /// C# member: `F:LibreMetaverse.ScriptPermission.None`.
    ///
    /// C# signature: `LibreMetaverse.ScriptPermission LibreMetaverse.ScriptPermission.None`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const NONE: Self = Self(0);
    /// C# member: `F:LibreMetaverse.ScriptPermission.ReleaseOwnership`.
    ///
    /// C# signature: `LibreMetaverse.ScriptPermission LibreMetaverse.ScriptPermission.ReleaseOwnership`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const RELEASE_OWNERSHIP: Self = Self(64);
    /// C# member: `F:LibreMetaverse.ScriptPermission.RemapControls`.
    ///
    /// C# signature: `LibreMetaverse.ScriptPermission LibreMetaverse.ScriptPermission.RemapControls`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const REMAP_CONTROLS: Self = Self(8);
    /// C# member: `F:LibreMetaverse.ScriptPermission.TakeControls`.
    ///
    /// C# signature: `LibreMetaverse.ScriptPermission LibreMetaverse.ScriptPermission.TakeControls`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const TAKE_CONTROLS: Self = Self(4);
    /// C# member: `F:LibreMetaverse.ScriptPermission.Teleport`.
    ///
    /// C# signature: `LibreMetaverse.ScriptPermission LibreMetaverse.ScriptPermission.Teleport`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const TELEPORT: Self = Self(4096);
    /// C# member: `F:LibreMetaverse.ScriptPermission.TrackCamera`.
    ///
    /// C# signature: `LibreMetaverse.ScriptPermission LibreMetaverse.ScriptPermission.TrackCamera`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const TRACK_CAMERA: Self = Self(1024);
    /// C# member: `F:LibreMetaverse.ScriptPermission.TriggerAnimation`.
    ///
    /// C# signature: `LibreMetaverse.ScriptPermission LibreMetaverse.ScriptPermission.TriggerAnimation`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const TRIGGER_ANIMATION: Self = Self(16);
}

/// C# type: `T:LibreMetaverse.ScriptQuestionEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.ScriptQuestionEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone)]
pub struct ScriptQuestionEventArgs {
    property_0: libremetaverse_types::UUID,
    property_1: String,
    property_2: String,
    property_3: libremetaverse::ScriptPermission,
    property_4: libremetaverse::Simulator,
    property_5: libremetaverse_types::UUID,
}
impl ScriptQuestionEventArgs {
    /// C# member: `M:LibreMetaverse.ScriptQuestionEventArgs.#ctor(LibreMetaverse.Simulator,LibreMetaverse.UUID,LibreMetaverse.UUID,System.String,System.String,LibreMetaverse.ScriptPermission)`.
    ///
    /// C# signature: `LibreMetaverse.ScriptQuestionEventArgs(LibreMetaverse.Simulator simulator, LibreMetaverse.UUID taskID, LibreMetaverse.UUID itemID, System.String objectName, System.String objectOwner, LibreMetaverse.ScriptPermission questions)`.
    /// Mapping contract: ownership `owned,owned,owned,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn new(
        simulator: libremetaverse::Simulator,
        task_id: libremetaverse_types::UUID,
        item_id: libremetaverse_types::UUID,
        object_name: String,
        object_owner: String,
        questions: libremetaverse::ScriptPermission,
    ) -> Result<Self, crate::Error> {
        /* complete generated data model */
        Ok(Self {
            property_0: item_id,
            property_1: object_name,
            property_2: object_owner,
            property_3: questions,
            property_4: simulator,
            property_5: task_id,
        })
    }
    /// C# member: `P:LibreMetaverse.ScriptQuestionEventArgs.ItemID`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.ScriptQuestionEventArgs.ItemID`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn item_id(&self) -> libremetaverse_types::UUID {
        /* complete generated data model */
        self.property_0.clone()
    }
    /// C# member: `P:LibreMetaverse.ScriptQuestionEventArgs.ObjectName`.
    ///
    /// C# signature: `System.String LibreMetaverse.ScriptQuestionEventArgs.ObjectName`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn object_name(&self) -> String {
        /* complete generated data model */
        self.property_1.clone()
    }
    /// C# member: `P:LibreMetaverse.ScriptQuestionEventArgs.ObjectOwnerName`.
    ///
    /// C# signature: `System.String LibreMetaverse.ScriptQuestionEventArgs.ObjectOwnerName`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn object_owner_name(&self) -> String {
        /* complete generated data model */
        self.property_2.clone()
    }
    /// C# member: `P:LibreMetaverse.ScriptQuestionEventArgs.Questions`.
    ///
    /// C# signature: `LibreMetaverse.ScriptPermission LibreMetaverse.ScriptQuestionEventArgs.Questions`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn questions(&self) -> libremetaverse::ScriptPermission {
        /* complete generated data model */
        self.property_3.clone()
    }
    /// C# member: `P:LibreMetaverse.ScriptQuestionEventArgs.Simulator`.
    ///
    /// C# signature: `LibreMetaverse.Simulator LibreMetaverse.ScriptQuestionEventArgs.Simulator`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn simulator(&self) -> libremetaverse::Simulator {
        /* complete generated data model */
        self.property_4.clone()
    }
    /// C# member: `P:LibreMetaverse.ScriptQuestionEventArgs.TaskID`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.ScriptQuestionEventArgs.TaskID`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn task_id(&self) -> libremetaverse_types::UUID {
        /* complete generated data model */
        self.property_5.clone()
    }
}

/// C# type: `T:LibreMetaverse.ScriptRunningReplyEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.ScriptRunningReplyEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.ScriptRunningReplyEventArgs.#ctor(LibreMetaverse.UUID,LibreMetaverse.UUID,System.Boolean,System.Boolean)`.
///
/// C# signature: `LibreMetaverse.ScriptRunningReplyEventArgs(LibreMetaverse.UUID objectID, LibreMetaverse.UUID sctriptID, System.Boolean isMono, System.Boolean isRunning)`.
/// Mapping contract: ownership `owned,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.ScriptRunningReplyEventArgs.IsMono`.
///
/// C# signature: `System.Boolean LibreMetaverse.ScriptRunningReplyEventArgs.IsMono`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.ScriptRunningReplyEventArgs.IsRunning`.
///
/// C# signature: `System.Boolean LibreMetaverse.ScriptRunningReplyEventArgs.IsRunning`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.ScriptRunningReplyEventArgs.ObjectID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.ScriptRunningReplyEventArgs.ObjectID`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.ScriptRunningReplyEventArgs.ScriptID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.ScriptRunningReplyEventArgs.ScriptID`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::inventory_manager::ScriptRunningReplyEventArgs;

/// C# type: `T:LibreMetaverse.ScriptSensorReplyEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.ScriptSensorReplyEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone)]
pub struct ScriptSensorReplyEventArgs {
    property_0: libremetaverse_types::UUID,
    property_1: String,
    property_2: libremetaverse_types::UUID,
    property_3: libremetaverse_types::UUID,
    property_4: libremetaverse_types::Vector3,
    property_5: f32,
    property_6: libremetaverse_types::UUID,
    property_7: libremetaverse_types::Quaternion,
    property_8: libremetaverse::ScriptSensorTypeFlags,
    property_9: libremetaverse_types::Vector3,
}
impl ScriptSensorReplyEventArgs {
    /// C# member: `M:LibreMetaverse.ScriptSensorReplyEventArgs.#ctor(LibreMetaverse.UUID,LibreMetaverse.UUID,System.String,LibreMetaverse.UUID,LibreMetaverse.UUID,LibreMetaverse.Vector3,System.Single,LibreMetaverse.Quaternion,LibreMetaverse.ScriptSensorTypeFlags,LibreMetaverse.Vector3)`.
    ///
    /// C# signature: `LibreMetaverse.ScriptSensorReplyEventArgs(LibreMetaverse.UUID requesterId, LibreMetaverse.UUID groupID, System.String name, LibreMetaverse.UUID objectID, LibreMetaverse.UUID ownerID, LibreMetaverse.Vector3 position, System.Single range, LibreMetaverse.Quaternion rotation, LibreMetaverse.ScriptSensorTypeFlags type, LibreMetaverse.Vector3 velocity)`.
    /// Mapping contract: ownership `owned,owned,owned,owned,owned,owned,owned,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn new(
        requester_id: libremetaverse_types::UUID,
        group_id: libremetaverse_types::UUID,
        name: String,
        object_id: libremetaverse_types::UUID,
        owner_id: libremetaverse_types::UUID,
        position: libremetaverse_types::Vector3,
        range: f32,
        rotation: libremetaverse_types::Quaternion,
        type_: libremetaverse::ScriptSensorTypeFlags,
        velocity: libremetaverse_types::Vector3,
    ) -> Result<Self, crate::Error> {
        /* complete generated data model */
        Ok(Self {
            property_0: group_id,
            property_1: name,
            property_2: object_id,
            property_3: owner_id,
            property_4: position,
            property_5: range,
            property_6: requester_id,
            property_7: rotation,
            property_8: type_,
            property_9: velocity,
        })
    }
    /// C# member: `P:LibreMetaverse.ScriptSensorReplyEventArgs.GroupID`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.ScriptSensorReplyEventArgs.GroupID`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn group_id(&self) -> libremetaverse_types::UUID {
        /* complete generated data model */
        self.property_0.clone()
    }
    /// C# member: `P:LibreMetaverse.ScriptSensorReplyEventArgs.Name`.
    ///
    /// C# signature: `System.String LibreMetaverse.ScriptSensorReplyEventArgs.Name`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn name(&self) -> String {
        /* complete generated data model */
        self.property_1.clone()
    }
    /// C# member: `P:LibreMetaverse.ScriptSensorReplyEventArgs.ObjectID`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.ScriptSensorReplyEventArgs.ObjectID`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn object_id(&self) -> libremetaverse_types::UUID {
        /* complete generated data model */
        self.property_2.clone()
    }
    /// C# member: `P:LibreMetaverse.ScriptSensorReplyEventArgs.OwnerID`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.ScriptSensorReplyEventArgs.OwnerID`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn owner_id(&self) -> libremetaverse_types::UUID {
        /* complete generated data model */
        self.property_3.clone()
    }
    /// C# member: `P:LibreMetaverse.ScriptSensorReplyEventArgs.Position`.
    ///
    /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.ScriptSensorReplyEventArgs.Position`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn position(&self) -> libremetaverse_types::Vector3 {
        /* complete generated data model */
        self.property_4.clone()
    }
    /// C# member: `P:LibreMetaverse.ScriptSensorReplyEventArgs.Range`.
    ///
    /// C# signature: `System.Single LibreMetaverse.ScriptSensorReplyEventArgs.Range`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn range(&self) -> f32 {
        /* complete generated data model */
        self.property_5.clone()
    }
    /// C# member: `P:LibreMetaverse.ScriptSensorReplyEventArgs.RequesterID`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.ScriptSensorReplyEventArgs.RequesterID`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn requester_id(&self) -> libremetaverse_types::UUID {
        /* complete generated data model */
        self.property_6.clone()
    }
    /// C# member: `P:LibreMetaverse.ScriptSensorReplyEventArgs.Rotation`.
    ///
    /// C# signature: `LibreMetaverse.Quaternion LibreMetaverse.ScriptSensorReplyEventArgs.Rotation`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn rotation(&self) -> libremetaverse_types::Quaternion {
        /* complete generated data model */
        self.property_7.clone()
    }
    /// C# member: `P:LibreMetaverse.ScriptSensorReplyEventArgs.Type`.
    ///
    /// C# signature: `LibreMetaverse.ScriptSensorTypeFlags LibreMetaverse.ScriptSensorReplyEventArgs.Type`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn type_(&self) -> libremetaverse::ScriptSensorTypeFlags {
        /* complete generated data model */
        self.property_8.clone()
    }
    /// C# member: `P:LibreMetaverse.ScriptSensorReplyEventArgs.Velocity`.
    ///
    /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.ScriptSensorReplyEventArgs.Velocity`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn velocity(&self) -> libremetaverse_types::Vector3 {
        /* complete generated data model */
        self.property_9.clone()
    }
}

/// C# type: `T:LibreMetaverse.ScriptSensorTypeFlags`.
///
/// Native Rust mapping of C# `LibreMetaverse.ScriptSensorTypeFlags` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(transparent)]
pub struct ScriptSensorTypeFlags(pub i32);
impl ScriptSensorTypeFlags {
    /// C# member: `F:LibreMetaverse.ScriptSensorTypeFlags.Active`.
    ///
    /// C# signature: `LibreMetaverse.ScriptSensorTypeFlags LibreMetaverse.ScriptSensorTypeFlags.Active`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const ACTIVE: Self = Self(2);
    /// C# member: `F:LibreMetaverse.ScriptSensorTypeFlags.Agent`.
    ///
    /// C# signature: `LibreMetaverse.ScriptSensorTypeFlags LibreMetaverse.ScriptSensorTypeFlags.Agent`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const AGENT: Self = Self(1);
    /// C# member: `F:LibreMetaverse.ScriptSensorTypeFlags.Passive`.
    ///
    /// C# signature: `LibreMetaverse.ScriptSensorTypeFlags LibreMetaverse.ScriptSensorTypeFlags.Passive`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const PASSIVE: Self = Self(4);
    /// C# member: `F:LibreMetaverse.ScriptSensorTypeFlags.Scripted`.
    ///
    /// C# signature: `LibreMetaverse.ScriptSensorTypeFlags LibreMetaverse.ScriptSensorTypeFlags.Scripted`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const SCRIPTED: Self = Self(8);
}

/// C# type: `T:LibreMetaverse.SetDisplayNameReplyEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.SetDisplayNameReplyEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.SetDisplayNameReplyEventArgs.#ctor(System.Int32,System.String,LibreMetaverse.AgentDisplayName)`.
///
/// C# signature: `LibreMetaverse.SetDisplayNameReplyEventArgs(System.Int32 status, System.String reason, LibreMetaverse.AgentDisplayName displayName)`.
/// Mapping contract: ownership `owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.SetDisplayNameReplyEventArgs.DisplayName`.
///
/// C# signature: `LibreMetaverse.AgentDisplayName LibreMetaverse.SetDisplayNameReplyEventArgs.DisplayName`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.SetDisplayNameReplyEventArgs.Reason`.
///
/// C# signature: `System.String LibreMetaverse.SetDisplayNameReplyEventArgs.Reason`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.SetDisplayNameReplyEventArgs.Status`.
///
/// C# signature: `System.Int32 LibreMetaverse.SetDisplayNameReplyEventArgs.Status`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::agent_messages::SetDisplayNameReplyEventArgs;

/// C# type: `T:LibreMetaverse.Settings`.
///
/// Native Rust mapping of C# `LibreMetaverse.Settings` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
pub use crate::client_core::Settings;
/// C# member: `F:LibreMetaverse.Settings.DefaultEffectColor`.
///
/// C# signature: `LibreMetaverse.Color4 LibreMetaverse.Settings.DefaultEffectColor`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
impl Settings {
    /// C# member: `F:LibreMetaverse.Settings.AditiLoginServer`.
    ///
    /// C# signature: `System.String LibreMetaverse.Settings.AditiLoginServer`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const ADITI_LOGIN_SERVER: &'static str =
        "https://login.aditi.lindenlab.com/cgi-bin/login.cgi";
    /// C# member: `F:LibreMetaverse.Settings.AgniLoginServer`.
    ///
    /// C# signature: `System.String LibreMetaverse.Settings.AgniLoginServer`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const AGNI_LOGIN_SERVER: &'static str =
        "https://login.agni.lindenlab.com/cgi-bin/login.cgi";
    /// C# member: `F:LibreMetaverse.Settings.BindAddress`.
    ///
    /// C# signature: `System.Net.IPAddress LibreMetaverse.Settings.BindAddress`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn bind_address() -> std::net::IpAddr {
        /* native client-core implementation */
        std::net::IpAddr::V4(std::net::Ipv4Addr::UNSPECIFIED)
    }
    /// C# member: `F:LibreMetaverse.Settings.EnableInventoryStore`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.Settings.EnableInventoryStore`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const ENABLE_INVENTORY_STORE: bool = true;
    /// C# member: `F:LibreMetaverse.Settings.EnableLibraryStore`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.Settings.EnableLibraryStore`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const ENABLE_LIBRARY_STORE: bool = true;
    /// C# member: `F:LibreMetaverse.Settings.LogLevel`.
    ///
    /// C# signature: `Microsoft.Extensions.Logging.LogLevel LibreMetaverse.Settings.LogLevel`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn log_level() -> libremetaverse::logging::LogLevel {
        /* native client-core implementation */
        crate::logging::LogLevel(1)
    }
    /// C# member: `F:LibreMetaverse.Settings.MaxHttpConnections`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.Settings.MaxHttpConnections`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn max_http_connections() -> i32 {
        /* native client-core implementation */
        32
    }
    /// C# member: `F:LibreMetaverse.Settings.MaxPacketSize`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.Settings.MaxPacketSize`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const MAX_PACKET_SIZE: i32 = 1200;
    /// C# member: `F:LibreMetaverse.Settings.MaxSequence`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.Settings.MaxSequence`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const MAX_SEQUENCE: i32 = 16777215;
    /// C# member: `F:LibreMetaverse.Settings.NetworkTickInterval`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.Settings.NetworkTickInterval`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const NETWORK_TICK_INTERVAL: i32 = 500;
    /// C# member: `F:LibreMetaverse.Settings.PacketArchiveSize`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.Settings.PacketArchiveSize`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn packet_archive_size() -> i32 {
        /* native client-core implementation */
        1000
    }
    /// C# member: `F:LibreMetaverse.Settings.PingInterval`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.Settings.PingInterval`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const PING_INTERVAL: i32 = 2200;
    /// C# member: `F:LibreMetaverse.Settings.ResourceDir`.
    ///
    /// C# signature: `System.String LibreMetaverse.Settings.ResourceDir`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn resource_dir() -> String {
        /* native client-core implementation */
        "linden".to_owned()
    }
    /// C# member: `F:LibreMetaverse.Settings.SimulatorPoolTimeout`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.Settings.SimulatorPoolTimeout`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn simulator_pool_timeout() -> i32 {
        /* native client-core implementation */
        120_000
    }
    /// C# member: `F:LibreMetaverse.Settings.TexturePipelineRefreshInterval`.
    ///
    /// C# signature: `System.Single LibreMetaverse.Settings.TexturePipelineRefreshInterval`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn texture_pipeline_refresh_interval() -> f32 {
        /* native client-core implementation */
        500.0
    }
    /// C# member: `F:LibreMetaverse.Settings.UdpReceiveQueueCapacity`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.Settings.UdpReceiveQueueCapacity`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn udp_receive_queue_capacity() -> i32 {
        /* native client-core implementation */
        512
    }
    /// C# member: `F:LibreMetaverse.Settings.UserAgent`.
    ///
    /// C# signature: `System.String LibreMetaverse.Settings.UserAgent`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn user_agent() -> String {
        /* native client-core implementation */
        "LibreMetaverse".to_owned()
    }
    /// C# member: `M:LibreMetaverse.Settings.#ctor(LibreMetaverse.GridClient)`.
    ///
    /// C# signature: `LibreMetaverse.Settings(LibreMetaverse.GridClient client)`.
    /// Mapping contract: ownership `owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn new(client: libremetaverse::GridClient) -> Result<Self, crate::Error> {
        /* native client-core implementation */
        Ok(crate::client_core::Settings::defaults())
    }
    /// C# member: `P:LibreMetaverse.Settings.Agent`.
    ///
    /// C# signature: `LibreMetaverse.AgentSettings LibreMetaverse.Settings.Agent`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn agent(&self) -> libremetaverse::AgentSettings {
        /* native client-core implementation */
        self.agent.clone()
    }
    /// C# member: `P:LibreMetaverse.Settings.AssetCache`.
    ///
    /// C# signature: `LibreMetaverse.AssetCacheSettings LibreMetaverse.Settings.AssetCache`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn asset_cache(&self) -> libremetaverse::AssetCacheSettings {
        /* native client-core implementation */
        self.asset_cache.clone()
    }
    /// C# member: `P:LibreMetaverse.Settings.Connection`.
    ///
    /// C# signature: `LibreMetaverse.ConnectionSettings LibreMetaverse.Settings.Connection`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn connection(&self) -> libremetaverse::ConnectionSettings {
        /* native client-core implementation */
        self.connection.clone()
    }
    /// C# member: `P:LibreMetaverse.Settings.Logging`.
    ///
    /// C# signature: `LibreMetaverse.LoggingSettings LibreMetaverse.Settings.Logging`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn logging(&self) -> libremetaverse::LoggingSettings {
        /* native client-core implementation */
        self.logging.clone()
    }
    /// C# member: `P:LibreMetaverse.Settings.Packets`.
    ///
    /// C# signature: `LibreMetaverse.PacketSettings LibreMetaverse.Settings.Packets`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn packets(&self) -> libremetaverse::PacketSettings {
        /* native client-core implementation */
        self.packets.clone()
    }
    /// C# member: `P:LibreMetaverse.Settings.Parcel`.
    ///
    /// C# signature: `LibreMetaverse.ParcelSettings LibreMetaverse.Settings.Parcel`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn parcel(&self) -> libremetaverse::ParcelSettings {
        /* native client-core implementation */
        self.parcel.clone()
    }
    /// C# member: `P:LibreMetaverse.Settings.TexturePipeline`.
    ///
    /// C# signature: `LibreMetaverse.TexturePipelineSettings LibreMetaverse.Settings.TexturePipeline`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn texture_pipeline(&self) -> libremetaverse::TexturePipelineSettings {
        /* native client-core implementation */
        self.texture_pipeline.clone()
    }
    /// C# member: `P:LibreMetaverse.Settings.Timing`.
    ///
    /// C# signature: `LibreMetaverse.TimingSettings LibreMetaverse.Settings.Timing`.
    /// Mapping contract: ownership `mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn timing(&mut self) -> &mut libremetaverse::TimingSettings {
        /* native client-core implementation */
        &mut self.timing
    }
    /// C# member: `P:LibreMetaverse.Settings.UploadCost`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.Settings.UploadCost`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn upload_cost(&self) -> i32 {
        /* native client-core implementation */
        self.upload_cost
    }
    /// Setter for C# member: `P:LibreMetaverse.Settings.UploadCost`.
    pub fn set_upload_cost(&mut self, value: i32) {
        /* native client-core implementation */
        self.upload_cost = value
    }
    /// C# member: `P:LibreMetaverse.Settings.World`.
    ///
    /// C# signature: `LibreMetaverse.WorldSettings LibreMetaverse.Settings.World`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn world(&self) -> libremetaverse::WorldSettings {
        /* native client-core implementation */
        self.world.clone()
    }
}

/// C# type: `T:LibreMetaverse.Shininess`.
///
/// Native Rust mapping of C# `LibreMetaverse.Shininess` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(u8)]
pub enum Shininess {
    /// C# member: `F:LibreMetaverse.Shininess.High`.
    ///
    /// C# signature: `LibreMetaverse.Shininess LibreMetaverse.Shininess.High`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    High = 192,
    /// C# member: `F:LibreMetaverse.Shininess.Low`.
    ///
    /// C# signature: `LibreMetaverse.Shininess LibreMetaverse.Shininess.Low`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Low = 64,
    /// C# member: `F:LibreMetaverse.Shininess.Medium`.
    ///
    /// C# signature: `LibreMetaverse.Shininess LibreMetaverse.Shininess.Medium`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Medium = 128,
    /// C# member: `F:LibreMetaverse.Shininess.None`.
    ///
    /// C# signature: `LibreMetaverse.Shininess LibreMetaverse.Shininess.None`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    None = 0,
}

/// C# type: `T:LibreMetaverse.SimAccess`.
///
/// Native Rust mapping of C# `LibreMetaverse.SimAccess` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(transparent)]
pub struct SimAccess(pub u8);
impl SimAccess {
    /// C# member: `F:LibreMetaverse.SimAccess.Adult`.
    ///
    /// C# signature: `LibreMetaverse.SimAccess LibreMetaverse.SimAccess.Adult`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const ADULT: Self = Self(42);
    /// C# member: `F:LibreMetaverse.SimAccess.Down`.
    ///
    /// C# signature: `LibreMetaverse.SimAccess LibreMetaverse.SimAccess.Down`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const DOWN: Self = Self(254);
    /// C# member: `F:LibreMetaverse.SimAccess.Mature`.
    ///
    /// C# signature: `LibreMetaverse.SimAccess LibreMetaverse.SimAccess.Mature`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const MATURE: Self = Self(21);
    /// C# member: `F:LibreMetaverse.SimAccess.NonExistent`.
    ///
    /// C# signature: `LibreMetaverse.SimAccess LibreMetaverse.SimAccess.NonExistent`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const NON_EXISTENT: Self = Self(255);
    /// C# member: `F:LibreMetaverse.SimAccess.PG`.
    ///
    /// C# signature: `LibreMetaverse.SimAccess LibreMetaverse.SimAccess.PG`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const PG: Self = Self(13);
    /// C# member: `F:LibreMetaverse.SimAccess.Trial`.
    ///
    /// C# signature: `LibreMetaverse.SimAccess LibreMetaverse.SimAccess.Trial`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const TRIAL: Self = Self(7);
    /// C# member: `F:LibreMetaverse.SimAccess.Unknown`.
    ///
    /// C# signature: `LibreMetaverse.SimAccess LibreMetaverse.SimAccess.Unknown`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const UNKNOWN: Self = Self(0);
}

/// C# type: `T:LibreMetaverse.SimChangedEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.SimChangedEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.SimChangedEventArgs.#ctor(LibreMetaverse.Simulator)`.
///
/// C# signature: `LibreMetaverse.SimChangedEventArgs(LibreMetaverse.Simulator previousSimulator)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.SimChangedEventArgs.PreviousSimulator`.
///
/// C# signature: `LibreMetaverse.Simulator LibreMetaverse.SimChangedEventArgs.PreviousSimulator`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::network_manager::SimChangedEventArgs;

/// C# type: `T:LibreMetaverse.SimConnectedEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.SimConnectedEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.SimConnectedEventArgs.#ctor(LibreMetaverse.Simulator)`.
///
/// C# signature: `LibreMetaverse.SimConnectedEventArgs(LibreMetaverse.Simulator simulator)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.SimConnectedEventArgs.Simulator`.
///
/// C# signature: `LibreMetaverse.Simulator LibreMetaverse.SimConnectedEventArgs.Simulator`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::network_manager::SimConnectedEventArgs;

/// C# type: `T:LibreMetaverse.SimConnectingEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.SimConnectingEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.SimConnectingEventArgs.#ctor(LibreMetaverse.Simulator)`.
///
/// C# signature: `LibreMetaverse.SimConnectingEventArgs(LibreMetaverse.Simulator simulator)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.SimConnectingEventArgs.Cancel`.
///
/// C# signature: `System.Boolean LibreMetaverse.SimConnectingEventArgs.Cancel`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.SimConnectingEventArgs.Simulator`.
///
/// C# signature: `LibreMetaverse.Simulator LibreMetaverse.SimConnectingEventArgs.Simulator`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::network_manager::SimConnectingEventArgs;

/// C# type: `T:LibreMetaverse.SimDisconnectedEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.SimDisconnectedEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.SimDisconnectedEventArgs.#ctor(LibreMetaverse.Simulator,LibreMetaverse.NetworkManager.DisconnectType,System.Boolean)`.
///
/// C# signature: `LibreMetaverse.SimDisconnectedEventArgs(LibreMetaverse.Simulator simulator, LibreMetaverse.NetworkManager.DisconnectType reason, System.Boolean wasConnected)`.
/// Mapping contract: ownership `owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.SimDisconnectedEventArgs.Reason`.
///
/// C# signature: `LibreMetaverse.NetworkManager.DisconnectType LibreMetaverse.SimDisconnectedEventArgs.Reason`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.SimDisconnectedEventArgs.Simulator`.
///
/// C# signature: `LibreMetaverse.Simulator LibreMetaverse.SimDisconnectedEventArgs.Simulator`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.SimDisconnectedEventArgs.WasConnected`.
///
/// C# signature: `System.Boolean LibreMetaverse.SimDisconnectedEventArgs.WasConnected`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::network_manager::SimDisconnectedEventArgs;

/// C# type: `T:LibreMetaverse.SimParcelsDownloadedEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.SimParcelsDownloadedEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.SimParcelsDownloadedEventArgs.#ctor(LibreMetaverse.Simulator,System.Collections.Concurrent.ConcurrentDictionary{System.Int32,LibreMetaverse.Parcel},System.Int32[0:,0:])`.
///
/// C# signature: `LibreMetaverse.SimParcelsDownloadedEventArgs(LibreMetaverse.Simulator simulator, System.Collections.Concurrent.ConcurrentDictionary<System.Int32, LibreMetaverse.Parcel> simParcels, System.Int32[,] parcelMap)`.
/// Mapping contract: ownership `owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.SimParcelsDownloadedEventArgs.ParcelMap`.
///
/// C# signature: `System.Int32[,] LibreMetaverse.SimParcelsDownloadedEventArgs.ParcelMap`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.SimParcelsDownloadedEventArgs.Parcels`.
///
/// C# signature: `System.Collections.Concurrent.ConcurrentDictionary<System.Int32, LibreMetaverse.Parcel> LibreMetaverse.SimParcelsDownloadedEventArgs.Parcels`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.SimParcelsDownloadedEventArgs.Simulator`.
///
/// C# signature: `LibreMetaverse.Simulator LibreMetaverse.SimParcelsDownloadedEventArgs.Simulator`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::parcel_manager::SimParcelsDownloadedEventArgs;

/// C# type: `T:LibreMetaverse.Simulator`.
///
/// Native Rust mapping of C# `LibreMetaverse.Simulator` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
pub use crate::network_manager::Simulator;
/// C# member: `F:LibreMetaverse.Simulator.Access`.
///
/// C# signature: `LibreMetaverse.SimAccess LibreMetaverse.Simulator.Access`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Simulator.AgentMovementComplete`.
///
/// C# signature: `System.Boolean LibreMetaverse.Simulator.AgentMovementComplete`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Simulator.BillableFactor`.
///
/// C# signature: `System.Single LibreMetaverse.Simulator.BillableFactor`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Simulator.CPUClass`.
///
/// C# signature: `System.Int32 LibreMetaverse.Simulator.CPUClass`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Simulator.CPURatio`.
///
/// C# signature: `System.Int32 LibreMetaverse.Simulator.CPURatio`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Simulator.Caps`.
///
/// C# signature: `LibreMetaverse.Caps LibreMetaverse.Simulator.Caps`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Simulator.Client`.
///
/// C# signature: `LibreMetaverse.GridClient LibreMetaverse.Simulator.Client`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Simulator.ColoLocation`.
///
/// C# signature: `System.String LibreMetaverse.Simulator.ColoLocation`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Simulator.DataPool`.
///
/// C# signature: `LibreMetaverse.SimulatorDataPool LibreMetaverse.Simulator.DataPool`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Simulator.Features`.
///
/// C# signature: `LibreMetaverse.SimulatorFeatures LibreMetaverse.Simulator.Features`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Simulator.Flags`.
///
/// C# signature: `LibreMetaverse.RegionFlags LibreMetaverse.Simulator.Flags`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Simulator.GlobalToLocalID`.
///
/// C# signature: `System.Collections.Concurrent.ConcurrentDictionary<LibreMetaverse.UUID, System.UInt32> LibreMetaverse.Simulator.GlobalToLocalID`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Simulator.Handle`.
///
/// C# signature: `System.UInt64 LibreMetaverse.Simulator.Handle`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Simulator.ID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.Simulator.ID`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Simulator.IsEstateManager`.
///
/// C# signature: `System.Boolean LibreMetaverse.Simulator.IsEstateManager`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Simulator.Name`.
///
/// C# signature: `System.String LibreMetaverse.Simulator.Name`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Simulator.ObjectsAvatars`.
///
/// C# signature: `System.Collections.Concurrent.ConcurrentDictionary<System.UInt32, LibreMetaverse.Avatar> LibreMetaverse.Simulator.ObjectsAvatars`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Simulator.ObjectsPrimitives`.
///
/// C# signature: `System.Collections.Concurrent.ConcurrentDictionary<System.UInt32, LibreMetaverse.Primitive> LibreMetaverse.Simulator.ObjectsPrimitives`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Simulator.ParcelOverlay`.
///
/// C# signature: `System.Byte[] LibreMetaverse.Simulator.ParcelOverlay`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Simulator.ParcelOverlaysReceived`.
///
/// C# signature: `System.Int32 LibreMetaverse.Simulator.ParcelOverlaysReceived`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Simulator.ProductName`.
///
/// C# signature: `System.String LibreMetaverse.Simulator.ProductName`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Simulator.ProductSku`.
///
/// C# signature: `System.String LibreMetaverse.Simulator.ProductSku`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Simulator.Protocols`.
///
/// C# signature: `LibreMetaverse.RegionProtocols LibreMetaverse.Simulator.Protocols`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Simulator.RegionID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.Simulator.RegionID`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Simulator.Sequence`.
///
/// C# signature: `System.Int32 LibreMetaverse.Simulator.Sequence`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Simulator.SimOwner`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.Simulator.SimOwner`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Simulator.SimVersion`.
///
/// C# signature: `System.String LibreMetaverse.Simulator.SimVersion`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Simulator.SizeX`.
///
/// C# signature: `System.UInt32 LibreMetaverse.Simulator.SizeX`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Simulator.SizeY`.
///
/// C# signature: `System.UInt32 LibreMetaverse.Simulator.SizeY`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Simulator.Stats`.
///
/// C# signature: `LibreMetaverse.Simulator.SimStats LibreMetaverse.Simulator.Stats`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Simulator.Terrain`.
///
/// C# signature: `LibreMetaverse.TerrainPatch[] LibreMetaverse.Simulator.Terrain`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Simulator.TerrainBase0`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.Simulator.TerrainBase0`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Simulator.TerrainBase1`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.Simulator.TerrainBase1`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Simulator.TerrainBase2`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.Simulator.TerrainBase2`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Simulator.TerrainBase3`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.Simulator.TerrainBase3`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Simulator.TerrainDetail0`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.Simulator.TerrainDetail0`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Simulator.TerrainDetail1`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.Simulator.TerrainDetail1`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Simulator.TerrainDetail2`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.Simulator.TerrainDetail2`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Simulator.TerrainDetail3`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.Simulator.TerrainDetail3`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Simulator.TerrainHeightRange00`.
///
/// C# signature: `System.Single LibreMetaverse.Simulator.TerrainHeightRange00`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Simulator.TerrainHeightRange01`.
///
/// C# signature: `System.Single LibreMetaverse.Simulator.TerrainHeightRange01`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Simulator.TerrainHeightRange10`.
///
/// C# signature: `System.Single LibreMetaverse.Simulator.TerrainHeightRange10`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Simulator.TerrainHeightRange11`.
///
/// C# signature: `System.Single LibreMetaverse.Simulator.TerrainHeightRange11`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Simulator.TerrainStartHeight00`.
///
/// C# signature: `System.Single LibreMetaverse.Simulator.TerrainStartHeight00`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Simulator.TerrainStartHeight01`.
///
/// C# signature: `System.Single LibreMetaverse.Simulator.TerrainStartHeight01`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Simulator.TerrainStartHeight10`.
///
/// C# signature: `System.Single LibreMetaverse.Simulator.TerrainStartHeight10`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Simulator.TerrainStartHeight11`.
///
/// C# signature: `System.Single LibreMetaverse.Simulator.TerrainStartHeight11`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Simulator.WaterHeight`.
///
/// C# signature: `System.Single LibreMetaverse.Simulator.WaterHeight`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Simulator.WindSpeeds`.
///
/// C# signature: `LibreMetaverse.Vector2[] LibreMetaverse.Simulator.WindSpeeds`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
impl Simulator {
    /// C# member: `F:LibreMetaverse.Simulator.DefaultRegionSizeX`.
    ///
    /// C# signature: `System.UInt32 LibreMetaverse.Simulator.DefaultRegionSizeX`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const DEFAULT_REGION_SIZE_X: u32 = 256;
    /// C# member: `F:LibreMetaverse.Simulator.DefaultRegionSizeY`.
    ///
    /// C# signature: `System.UInt32 LibreMetaverse.Simulator.DefaultRegionSizeY`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const DEFAULT_REGION_SIZE_Y: u32 = 256;
    /// C# member: `M:LibreMetaverse.Simulator.#ctor(LibreMetaverse.GridClient,System.Net.IPEndPoint,System.UInt64,System.UInt32,System.UInt32)`.
    ///
    /// C# signature: `LibreMetaverse.Simulator(LibreMetaverse.GridClient client, System.Net.IPEndPoint address, System.UInt64 handle, System.UInt32 sizeX = default, System.UInt32 sizeY = default)`.
    /// Mapping contract: ownership `owned,owned,owned,optional_owned,optional_owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn new(
        client: libremetaverse::GridClient,
        address: std::net::SocketAddr,
        handle: u64,
        size_x: Option<u32>,
        size_y: Option<u32>,
    ) -> Result<Self, crate::Error> {
        /* native network implementation */
        crate::network_manager::Simulator::native_new(client, address, handle, size_x, size_y)
    }
    /// C# member: `M:LibreMetaverse.Simulator.Connect(System.Boolean)`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.Simulator.Connect(System.Boolean moveToSim)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub fn connect_with_boolean(&self, move_to_sim: bool) -> Result<bool, crate::Error> {
        /* native network implementation */
        self.native_connect(move_to_sim)
    }
    /// C# member: `M:LibreMetaverse.Simulator.ConnectAsync(System.Boolean)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<System.Boolean> LibreMetaverse.Simulator.ConnectAsync(System.Boolean moveToSim)`.
    /// Mapping contract: ownership `shared_self,owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name_with_stable_id`; kind `method`.
    pub async fn connect_with_boolean_8eb5bd05(
        &self,
        move_to_sim: bool,
    ) -> Result<bool, crate::Error> {
        /* native network implementation */
        self.native_connect_async(move_to_sim).await
    }
    /// C# member: `M:LibreMetaverse.Simulator.Disconnect(System.Boolean)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Simulator.Disconnect(System.Boolean sendCloseCircuit)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn disconnect(&self, send_close_circuit: bool) -> Result<(), crate::Error> {
        /* native network implementation */
        self.native_disconnect(send_close_circuit)
    }
    /// C# member: `M:LibreMetaverse.Simulator.Dispose`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Simulator.Dispose()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn dispose(&self) -> Result<(), crate::Error> {
        /* native network implementation */
        self.native_dispose()
    }
    /// C# member: `M:LibreMetaverse.Simulator.Equals(System.Object)`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.Simulator.Equals(System.Object obj)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
    pub fn equals(&self, obj: Option<libremetaverse_types::compat::Object>) -> bool {
        /* native network implementation */
        self.native_equals(obj)
    }
    /// C# member: `M:LibreMetaverse.Simulator.GetHashCode`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.Simulator.GetHashCode()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
    pub fn get_hash_code(&self) -> i32 {
        /* native network implementation */
        self.native_hash_code()
    }
    /// C# member: `M:LibreMetaverse.Simulator.IsEventQueueRunning(System.Boolean)`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.Simulator.IsEventQueueRunning(System.Boolean blockUntilRunning = default)`.
    /// Mapping contract: ownership `shared_self,optional_owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn is_event_queue_running(
        &self,
        block_until_running: Option<bool>,
    ) -> Result<bool, crate::Error> {
        /* native network implementation */
        self.native_is_event_queue_running(block_until_running)
    }
    /// C# member: `M:LibreMetaverse.Simulator.IsParcelMapFull`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.Simulator.IsParcelMapFull()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn is_parcel_map_full(&self) -> Result<bool, crate::Error> {
        /* native network implementation */
        Ok(self.native_is_parcel_map_full())
    }
    /// C# member: `M:LibreMetaverse.Simulator.Pause`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Simulator.Pause()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn pause(&self) -> Result<(), crate::Error> {
        /* native network implementation */
        self.native_pause()
    }
    /// C# member: `M:LibreMetaverse.Simulator.Resume`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Simulator.Resume()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn resume(&self) -> Result<(), crate::Error> {
        /* native network implementation */
        self.native_resume()
    }
    /// C# member: `M:LibreMetaverse.Simulator.SendPacket(LibreMetaverse.Packets.Packet)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Simulator.SendPacket(LibreMetaverse.Packets.Packet packet)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn send_packet(&self, packet: libremetaverse::packets::Packet) -> Result<(), crate::Error> {
        /* native network implementation */
        self.native_send_packet(packet)
    }
    /// C# member: `M:LibreMetaverse.Simulator.SendPacketData(System.Byte[],System.Int32,LibreMetaverse.Packets.PacketType,System.Boolean)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Simulator.SendPacketData(System.Byte[] data, System.Int32 dataLength, LibreMetaverse.Packets.PacketType type, System.Boolean doZerocode)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn send_packet_data(
        &self,
        data: Vec<u8>,
        data_length: i32,
        type_: libremetaverse::packets::PacketType,
        do_zerocode: bool,
    ) -> Result<(), crate::Error> {
        /* native network implementation */
        self.native_send_packet_data(data, data_length, type_, do_zerocode)
    }
    /// C# member: `M:LibreMetaverse.Simulator.SendPing`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Simulator.SendPing()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn send_ping(&self) -> Result<(), crate::Error> {
        /* native network implementation */
        self.native_send_ping()
    }
    /// C# member: `M:LibreMetaverse.Simulator.SetSeedCaps(System.Uri,System.Boolean)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Simulator.SetSeedCaps(System.Uri seedcaps, System.Boolean changedSim = default)`.
    /// Mapping contract: ownership `shared_self,owned,optional_owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn set_seed_caps(
        &self,
        seedcaps: Option<libremetaverse_types::compat::Uri>,
        changed_sim: Option<bool>,
    ) -> Result<(), crate::Error> {
        /* native network implementation */
        self.native_set_seed_caps(seedcaps, changed_sim)
    }
    /// C# member: `M:LibreMetaverse.Simulator.TerrainHeightAtPoint(System.Int32,System.Int32,System.Single@)`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.Simulator.TerrainHeightAtPoint(System.Int32 x, System.Int32 y, out System.Single& height)`.
    /// Mapping contract: ownership `shared_self,owned,owned,mutable_output`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn terrain_height_at_point(
        &self,
        x: i32,
        y: i32,
        height: &mut f32,
    ) -> Result<bool, crate::Error> {
        /* native network implementation */
        self.native_terrain_height_at_point(x, y, height)
    }
    /// C# member: `M:LibreMetaverse.Simulator.ToString`.
    ///
    /// C# signature: `System.String LibreMetaverse.Simulator.ToString()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
    pub fn to_string(&self) -> String {
        /* native network implementation */
        self.native_to_string()
    }
    /// C# member: `M:LibreMetaverse.Simulator.UseCircuitCode(System.Boolean)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Simulator.UseCircuitCode(System.Boolean waitForAck)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub fn use_circuit_code_with_boolean(&self, wait_for_ack: bool) -> Result<(), crate::Error> {
        /* native network implementation */
        self.native_use_circuit_code(wait_for_ack)
    }
    /// C# member: `M:LibreMetaverse.Simulator.UseCircuitCodeAsync(System.Boolean)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<System.Boolean> LibreMetaverse.Simulator.UseCircuitCodeAsync(System.Boolean waitForAck)`.
    /// Mapping contract: ownership `shared_self,owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name_with_stable_id`; kind `method`.
    pub async fn use_circuit_code_with_boolean_6c41c00a(
        &self,
        wait_for_ack: bool,
    ) -> Result<bool, crate::Error> {
        /* native network implementation */
        self.native_use_circuit_code_async(wait_for_ack).await
    }
    /// C# member: `M:LibreMetaverse.Simulator.op_Equality(LibreMetaverse.Simulator,LibreMetaverse.Simulator)`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.Simulator.op_Equality(LibreMetaverse.Simulator lhs, LibreMetaverse.Simulator rhs)`.
    /// Mapping contract: ownership `owned,owned`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
    pub fn eq(
        lhs: Option<libremetaverse::Simulator>,
        rhs: Option<libremetaverse::Simulator>,
    ) -> bool {
        /* native network implementation */
        lhs == rhs
    }
    /// C# member: `M:LibreMetaverse.Simulator.op_Inequality(LibreMetaverse.Simulator,LibreMetaverse.Simulator)`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.Simulator.op_Inequality(LibreMetaverse.Simulator lhs, LibreMetaverse.Simulator rhs)`.
    /// Mapping contract: ownership `owned,owned`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
    pub fn ne(
        lhs: Option<libremetaverse::Simulator>,
        rhs: Option<libremetaverse::Simulator>,
    ) -> bool {
        /* native network implementation */
        lhs != rhs
    }
    /// C# member: `P:LibreMetaverse.Simulator.Connected`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.Simulator.Connected`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn connected(&self) -> bool {
        /* native network implementation */
        self.native_is_connected()
    }
    /// C# member: `P:LibreMetaverse.Simulator.HandshakeComplete`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.Simulator.HandshakeComplete`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn handshake_complete(&self) -> bool {
        /* native network implementation */
        self.native_handshake_complete()
    }
    /// C# member: `P:LibreMetaverse.Simulator.IPEndPoint`.
    ///
    /// C# signature: `System.Net.IPEndPoint LibreMetaverse.Simulator.IPEndPoint`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn ip_end_point(&self) -> std::net::SocketAddr {
        /* native network implementation */
        self.native_ip_end_point()
    }
    /// C# member: `P:LibreMetaverse.Simulator.ParcelMap`.
    ///
    /// C# signature: `System.Int32[,] LibreMetaverse.Simulator.ParcelMap`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn parcel_map(&self) -> Vec<i32> {
        /* native network implementation */
        self.native_parcel_map_snapshot()
    }
    /// C# member: `P:LibreMetaverse.Simulator.Parcels`.
    ///
    /// C# signature: `System.Collections.Concurrent.ConcurrentDictionary<System.Int32, LibreMetaverse.Parcel> LibreMetaverse.Simulator.Parcels`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn parcels(
        &self,
    ) -> std::sync::RwLock<std::collections::HashMap<i32, libremetaverse::Parcel>> {
        /* native network implementation */
        std::sync::RwLock::new(self.native_parcels_snapshot())
    }
    /// C# member: `P:LibreMetaverse.Simulator.PreyID`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Simulator.PreyID`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn prey_id(&self) -> libremetaverse_types::UUID {
        /* native network implementation */
        self.native_prey_id()
    }
}

/// C# type: `T:LibreMetaverse.Simulator.SimStats`.
///
/// Native Rust mapping of C# `LibreMetaverse.Simulator.SimStats` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.Simulator.SimStats.#ctor`.
///
/// C# signature: `LibreMetaverse.Simulator.SimStats()`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Simulator.SimStats.AddRecvBytes(System.Int64)`.
///
/// C# signature: `System.Void LibreMetaverse.Simulator.SimStats.AddRecvBytes(System.Int64 v)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Simulator.SimStats.AddSentBytes(System.Int64)`.
///
/// C# signature: `System.Void LibreMetaverse.Simulator.SimStats.AddSentBytes(System.Int64 v)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Simulator.SimStats.GetAndIncrementLastPingID`.
///
/// C# signature: `System.Int32 LibreMetaverse.Simulator.SimStats.GetAndIncrementLastPingID()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Simulator.SimStats.GetConnectTime`.
///
/// C# signature: `System.Int32 LibreMetaverse.Simulator.SimStats.GetConnectTime()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Simulator.SimStats.GetDroppedPackets`.
///
/// C# signature: `System.Int32 LibreMetaverse.Simulator.SimStats.GetDroppedPackets()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Simulator.SimStats.GetIncomingBPS`.
///
/// C# signature: `System.Int32 LibreMetaverse.Simulator.SimStats.GetIncomingBPS()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Simulator.SimStats.GetLastPingSent`.
///
/// C# signature: `System.Int32 LibreMetaverse.Simulator.SimStats.GetLastPingSent()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Simulator.SimStats.GetOutgoingBPS`.
///
/// C# signature: `System.Int32 LibreMetaverse.Simulator.SimStats.GetOutgoingBPS()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Simulator.SimStats.GetReceivedPongs`.
///
/// C# signature: `System.Int32 LibreMetaverse.Simulator.SimStats.GetReceivedPongs()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Simulator.SimStats.GetReceivedResends`.
///
/// C# signature: `System.Int32 LibreMetaverse.Simulator.SimStats.GetReceivedResends()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Simulator.SimStats.GetRecvBytes`.
///
/// C# signature: `System.Int64 LibreMetaverse.Simulator.SimStats.GetRecvBytes()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Simulator.SimStats.GetRecvPackets`.
///
/// C# signature: `System.Int64 LibreMetaverse.Simulator.SimStats.GetRecvPackets()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Simulator.SimStats.GetResentPackets`.
///
/// C# signature: `System.Int32 LibreMetaverse.Simulator.SimStats.GetResentPackets()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Simulator.SimStats.GetSentBytes`.
///
/// C# signature: `System.Int64 LibreMetaverse.Simulator.SimStats.GetSentBytes()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Simulator.SimStats.GetSentPackets`.
///
/// C# signature: `System.Int64 LibreMetaverse.Simulator.SimStats.GetSentPackets()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Simulator.SimStats.GetSentPings`.
///
/// C# signature: `System.Int32 LibreMetaverse.Simulator.SimStats.GetSentPings()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Simulator.SimStats.IncrementDroppedPackets`.
///
/// C# signature: `System.Void LibreMetaverse.Simulator.SimStats.IncrementDroppedPackets()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Simulator.SimStats.IncrementReceivedPongs`.
///
/// C# signature: `System.Void LibreMetaverse.Simulator.SimStats.IncrementReceivedPongs()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Simulator.SimStats.IncrementReceivedResends`.
///
/// C# signature: `System.Void LibreMetaverse.Simulator.SimStats.IncrementReceivedResends()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Simulator.SimStats.IncrementRecvPackets`.
///
/// C# signature: `System.Void LibreMetaverse.Simulator.SimStats.IncrementRecvPackets()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Simulator.SimStats.IncrementResentPackets`.
///
/// C# signature: `System.Void LibreMetaverse.Simulator.SimStats.IncrementResentPackets()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Simulator.SimStats.IncrementSentPackets`.
///
/// C# signature: `System.Void LibreMetaverse.Simulator.SimStats.IncrementSentPackets()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Simulator.SimStats.IncrementSentPings`.
///
/// C# signature: `System.Void LibreMetaverse.Simulator.SimStats.IncrementSentPings()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Simulator.SimStats.SetConnectTime(System.Int32)`.
///
/// C# signature: `System.Void LibreMetaverse.Simulator.SimStats.SetConnectTime(System.Int32 v)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Simulator.SimStats.SetIncomingBPS(System.Int32)`.
///
/// C# signature: `System.Void LibreMetaverse.Simulator.SimStats.SetIncomingBPS(System.Int32 v)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Simulator.SimStats.SetLastPingSent(System.Int32)`.
///
/// C# signature: `System.Void LibreMetaverse.Simulator.SimStats.SetLastPingSent(System.Int32 v)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Simulator.SimStats.SetOutgoingBPS(System.Int32)`.
///
/// C# signature: `System.Void LibreMetaverse.Simulator.SimStats.SetOutgoingBPS(System.Int32 v)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.Simulator.SimStats.ActiveScripts`.
///
/// C# signature: `System.Int32 LibreMetaverse.Simulator.SimStats.ActiveScripts`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.Simulator.SimStats.AgentTime`.
///
/// C# signature: `System.Single LibreMetaverse.Simulator.SimStats.AgentTime`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.Simulator.SimStats.AgentUpdates`.
///
/// C# signature: `System.Single LibreMetaverse.Simulator.SimStats.AgentUpdates`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.Simulator.SimStats.Agents`.
///
/// C# signature: `System.Int32 LibreMetaverse.Simulator.SimStats.Agents`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.Simulator.SimStats.ChildAgents`.
///
/// C# signature: `System.Int32 LibreMetaverse.Simulator.SimStats.ChildAgents`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.Simulator.SimStats.Dilation`.
///
/// C# signature: `System.Single LibreMetaverse.Simulator.SimStats.Dilation`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.Simulator.SimStats.FPS`.
///
/// C# signature: `System.Int32 LibreMetaverse.Simulator.SimStats.FPS`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.Simulator.SimStats.FrameTime`.
///
/// C# signature: `System.Single LibreMetaverse.Simulator.SimStats.FrameTime`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.Simulator.SimStats.INPPS`.
///
/// C# signature: `System.Int32 LibreMetaverse.Simulator.SimStats.INPPS`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.Simulator.SimStats.ImageTime`.
///
/// C# signature: `System.Single LibreMetaverse.Simulator.SimStats.ImageTime`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.Simulator.SimStats.LSLIPS`.
///
/// C# signature: `System.Int32 LibreMetaverse.Simulator.SimStats.LSLIPS`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.Simulator.SimStats.LastLag`.
///
/// C# signature: `System.Int32 LibreMetaverse.Simulator.SimStats.LastLag`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.Simulator.SimStats.MissedPings`.
///
/// C# signature: `System.Int32 LibreMetaverse.Simulator.SimStats.MissedPings`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.Simulator.SimStats.NetTime`.
///
/// C# signature: `System.Single LibreMetaverse.Simulator.SimStats.NetTime`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.Simulator.SimStats.OUTPPS`.
///
/// C# signature: `System.Int32 LibreMetaverse.Simulator.SimStats.OUTPPS`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.Simulator.SimStats.Objects`.
///
/// C# signature: `System.Int32 LibreMetaverse.Simulator.SimStats.Objects`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.Simulator.SimStats.OtherTime`.
///
/// C# signature: `System.Single LibreMetaverse.Simulator.SimStats.OtherTime`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.Simulator.SimStats.PendingDownloads`.
///
/// C# signature: `System.Int32 LibreMetaverse.Simulator.SimStats.PendingDownloads`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.Simulator.SimStats.PendingLocalUploads`.
///
/// C# signature: `System.Int32 LibreMetaverse.Simulator.SimStats.PendingLocalUploads`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.Simulator.SimStats.PendingUploads`.
///
/// C# signature: `System.Int32 LibreMetaverse.Simulator.SimStats.PendingUploads`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.Simulator.SimStats.PhysicsFPS`.
///
/// C# signature: `System.Single LibreMetaverse.Simulator.SimStats.PhysicsFPS`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.Simulator.SimStats.PhysicsTime`.
///
/// C# signature: `System.Single LibreMetaverse.Simulator.SimStats.PhysicsTime`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.Simulator.SimStats.ResidentSize`.
///
/// C# signature: `System.Int32 LibreMetaverse.Simulator.SimStats.ResidentSize`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.Simulator.SimStats.ScriptTime`.
///
/// C# signature: `System.Single LibreMetaverse.Simulator.SimStats.ScriptTime`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.Simulator.SimStats.ScriptedObjects`.
///
/// C# signature: `System.Int32 LibreMetaverse.Simulator.SimStats.ScriptedObjects`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.Simulator.SimStats.UnackedBytes`.
///
/// C# signature: `System.Int32 LibreMetaverse.Simulator.SimStats.UnackedBytes`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.Simulator.SimStats.VirtualSize`.
///
/// C# signature: `System.Int32 LibreMetaverse.Simulator.SimStats.VirtualSize`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::sim_stats::SimulatorSimStats;

/// C# type: `T:LibreMetaverse.SimulatorDataPool`.
///
/// Native Rust mapping of C# `LibreMetaverse.SimulatorDataPool` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
pub struct SimulatorDataPool {
    /// C# member: `F:LibreMetaverse.SimulatorDataPool.ActiveClients`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.SimulatorDataPool.ActiveClients`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub active_clients: i32,
    /// C# member: `F:LibreMetaverse.SimulatorDataPool.DownloadingParcelMap`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.SimulatorDataPool.DownloadingParcelMap`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub downloading_parcel_map: bool,
    /// C# member: `F:LibreMetaverse.SimulatorDataPool.Handle`.
    ///
    /// C# signature: `System.UInt64 LibreMetaverse.SimulatorDataPool.Handle`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub handle: u64,
    /// C# member: `F:LibreMetaverse.SimulatorDataPool.InactiveSince`.
    ///
    /// C# signature: `System.DateTime LibreMetaverse.SimulatorDataPool.InactiveSince`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub inactive_since: std::time::SystemTime,
    /// C# member: `F:LibreMetaverse.SimulatorDataPool.ParcelMap`.
    ///
    /// C# signature: `System.Int32[,] LibreMetaverse.SimulatorDataPool.ParcelMap`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub parcel_map: Vec<i32>,
    /// C# member: `F:LibreMetaverse.SimulatorDataPool.Parcels`.
    ///
    /// C# signature: `System.Collections.Concurrent.ConcurrentDictionary<System.Int32, LibreMetaverse.Parcel> LibreMetaverse.SimulatorDataPool.Parcels`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub parcels: std::sync::RwLock<std::collections::HashMap<i32, libremetaverse::Parcel>>,
    /// C# member: `F:LibreMetaverse.SimulatorDataPool.PrimCache`.
    ///
    /// C# signature: `System.Collections.Generic.Dictionary<System.UInt32, LibreMetaverse.Primitive> LibreMetaverse.SimulatorDataPool.PrimCache`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub prim_cache: std::collections::HashMap<u32, libremetaverse::Primitive>,
}
impl SimulatorDataPool {
    /// C# member: `F:LibreMetaverse.SimulatorDataPool.SimulatorDataPools`.
    ///
    /// C# signature: `System.Collections.Generic.Dictionary<System.UInt64, LibreMetaverse.SimulatorDataPool> LibreMetaverse.SimulatorDataPool.SimulatorDataPools`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn simulator_data_pools()
    -> std::collections::HashMap<u64, libremetaverse::SimulatorDataPool> {
        /* reviewed native compatibility body */
        crate::simulator_data_pool::snapshots()
    }
    /// C# member: `M:LibreMetaverse.SimulatorDataPool.GetSimulatorData(System.UInt64)`.
    ///
    /// C# signature: `LibreMetaverse.SimulatorDataPool LibreMetaverse.SimulatorDataPool.GetSimulatorData(System.UInt64 hndl)`.
    /// Mapping contract: ownership `owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn get_simulator_data(
        hndl: u64,
    ) -> Result<libremetaverse::SimulatorDataPool, crate::Error> {
        /* reviewed native compatibility body */
        crate::simulator_data_pool::get(hndl)
    }
    /// C# member: `M:LibreMetaverse.SimulatorDataPool.ShutdownReaper`.
    ///
    /// C# signature: `System.Void LibreMetaverse.SimulatorDataPool.ShutdownReaper()`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn shutdown_reaper() -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        crate::simulator_data_pool::shutdown()
    }
    /// C# member: `M:LibreMetaverse.SimulatorDataPool.SimulatorAdd(LibreMetaverse.Simulator)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.SimulatorDataPool.SimulatorAdd(LibreMetaverse.Simulator sim)`.
    /// Mapping contract: ownership `owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn simulator_add(sim: libremetaverse::Simulator) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        crate::simulator_data_pool::add(sim)
    }
    /// C# member: `M:LibreMetaverse.SimulatorDataPool.SimulatorRelease(LibreMetaverse.Simulator)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.SimulatorDataPool.SimulatorRelease(LibreMetaverse.Simulator sim)`.
    /// Mapping contract: ownership `owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn simulator_release(sim: libremetaverse::Simulator) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        crate::simulator_data_pool::release(sim)
    }
}

/// C# type: `T:LibreMetaverse.SimulatorFeatures`.
///
/// Native Rust mapping of C# `LibreMetaverse.SimulatorFeatures` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.SimulatorFeatures.Get(System.String)`.
///
/// C# signature: `LibreMetaverse.StructuredData.OSD LibreMetaverse.SimulatorFeatures.Get(System.String feature)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.SimulatorFeatures.Has(System.String)`.
///
/// C# signature: `System.Boolean LibreMetaverse.SimulatorFeatures.Has(System.String feature)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.SimulatorFeatures.SetFeatures(System.Net.Http.HttpResponseMessage,System.Byte[],System.Exception)`.
///
/// C# signature: `System.Void LibreMetaverse.SimulatorFeatures.SetFeatures(System.Net.Http.HttpResponseMessage response, System.Byte[] responseData, System.Exception error)`.
/// Mapping contract: ownership `shared_self,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
pub use crate::grid_manager::SimulatorFeatures;

/// C# type: `T:LibreMetaverse.SkeletalBoneInfo`.
///
/// Native Rust mapping of C# `LibreMetaverse.SkeletalBoneInfo` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `F:LibreMetaverse.SkeletalBoneInfo.BoneName`.
///
/// C# signature: `System.String LibreMetaverse.SkeletalBoneInfo.BoneName`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.SkeletalBoneInfo.HasPositionDeformation`.
///
/// C# signature: `System.Boolean LibreMetaverse.SkeletalBoneInfo.HasPositionDeformation`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.SkeletalBoneInfo.PositionDeformation`.
///
/// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.SkeletalBoneInfo.PositionDeformation`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.SkeletalBoneInfo.ScaleDeformation`.
///
/// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.SkeletalBoneInfo.ScaleDeformation`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `M:LibreMetaverse.SkeletalBoneInfo.#ctor(System.String,LibreMetaverse.Vector3,LibreMetaverse.Vector3,System.Boolean)`.
///
/// C# signature: `LibreMetaverse.SkeletalBoneInfo(System.String boneName, LibreMetaverse.Vector3 scaleDeformation, LibreMetaverse.Vector3 positionDeformation, System.Boolean hasPositionDeformation)`.
/// Mapping contract: ownership `owned,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
pub use crate::visual_catalog::SkeletalBoneInfo;

/// C# type: `T:LibreMetaverse.SlappCommand`.
///
/// Native Rust mapping of C# `LibreMetaverse.SlappCommand` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(i32)]
pub enum SlappCommand {
    /// C# member: `F:LibreMetaverse.SlappCommand.Agent`.
    ///
    /// C# signature: `LibreMetaverse.SlappCommand LibreMetaverse.SlappCommand.Agent`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Agent = 1,
    /// C# member: `F:LibreMetaverse.SlappCommand.Appearance`.
    ///
    /// C# signature: `LibreMetaverse.SlappCommand LibreMetaverse.SlappCommand.Appearance`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Appearance = 2,
    /// C# member: `F:LibreMetaverse.SlappCommand.Balance`.
    ///
    /// C# signature: `LibreMetaverse.SlappCommand LibreMetaverse.SlappCommand.Balance`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Balance = 3,
    /// C# member: `F:LibreMetaverse.SlappCommand.Chat`.
    ///
    /// C# signature: `LibreMetaverse.SlappCommand LibreMetaverse.SlappCommand.Chat`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Chat = 4,
    /// C# member: `F:LibreMetaverse.SlappCommand.Classified`.
    ///
    /// C# signature: `LibreMetaverse.SlappCommand LibreMetaverse.SlappCommand.Classified`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Classified = 5,
    /// C# member: `F:LibreMetaverse.SlappCommand.Event`.
    ///
    /// C# signature: `LibreMetaverse.SlappCommand LibreMetaverse.SlappCommand.Event`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Event = 6,
    /// C# member: `F:LibreMetaverse.SlappCommand.Experience`.
    ///
    /// C# signature: `LibreMetaverse.SlappCommand LibreMetaverse.SlappCommand.Experience`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Experience = 7,
    /// C# member: `F:LibreMetaverse.SlappCommand.Group`.
    ///
    /// C# signature: `LibreMetaverse.SlappCommand LibreMetaverse.SlappCommand.Group`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Group = 8,
    /// C# member: `F:LibreMetaverse.SlappCommand.Help`.
    ///
    /// C# signature: `LibreMetaverse.SlappCommand LibreMetaverse.SlappCommand.Help`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Help = 9,
    /// C# member: `F:LibreMetaverse.SlappCommand.Inventory`.
    ///
    /// C# signature: `LibreMetaverse.SlappCommand LibreMetaverse.SlappCommand.Inventory`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Inventory = 10,
    /// C# member: `F:LibreMetaverse.SlappCommand.Keybinding`.
    ///
    /// C# signature: `LibreMetaverse.SlappCommand LibreMetaverse.SlappCommand.Keybinding`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Keybinding = 11,
    /// C# member: `F:LibreMetaverse.SlappCommand.Login`.
    ///
    /// C# signature: `LibreMetaverse.SlappCommand LibreMetaverse.SlappCommand.Login`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Login = 12,
    /// C# member: `F:LibreMetaverse.SlappCommand.MapTrackAvatar`.
    ///
    /// C# signature: `LibreMetaverse.SlappCommand LibreMetaverse.SlappCommand.MapTrackAvatar`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    MapTrackAvatar = 13,
    /// C# member: `F:LibreMetaverse.SlappCommand.ObjectIm`.
    ///
    /// C# signature: `LibreMetaverse.SlappCommand LibreMetaverse.SlappCommand.ObjectIm`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    ObjectIm = 14,
    /// C# member: `F:LibreMetaverse.SlappCommand.OpenFloater`.
    ///
    /// C# signature: `LibreMetaverse.SlappCommand LibreMetaverse.SlappCommand.OpenFloater`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    OpenFloater = 15,
    /// C# member: `F:LibreMetaverse.SlappCommand.Parcel`.
    ///
    /// C# signature: `LibreMetaverse.SlappCommand LibreMetaverse.SlappCommand.Parcel`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Parcel = 16,
    /// C# member: `F:LibreMetaverse.SlappCommand.Region`.
    ///
    /// C# signature: `LibreMetaverse.SlappCommand LibreMetaverse.SlappCommand.Region`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Region = 17,
    /// C# member: `F:LibreMetaverse.SlappCommand.Search`.
    ///
    /// C# signature: `LibreMetaverse.SlappCommand LibreMetaverse.SlappCommand.Search`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Search = 18,
    /// C# member: `F:LibreMetaverse.SlappCommand.ShareWithAvatar`.
    ///
    /// C# signature: `LibreMetaverse.SlappCommand LibreMetaverse.SlappCommand.ShareWithAvatar`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    ShareWithAvatar = 19,
    /// C# member: `F:LibreMetaverse.SlappCommand.Teleport`.
    ///
    /// C# signature: `LibreMetaverse.SlappCommand LibreMetaverse.SlappCommand.Teleport`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Teleport = 20,
    /// C# member: `F:LibreMetaverse.SlappCommand.Unknown`.
    ///
    /// C# signature: `LibreMetaverse.SlappCommand LibreMetaverse.SlappCommand.Unknown`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Unknown = 0,
    /// C# member: `F:LibreMetaverse.SlappCommand.VoiceCallAvatar`.
    ///
    /// C# signature: `LibreMetaverse.SlappCommand LibreMetaverse.SlappCommand.VoiceCallAvatar`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    VoiceCallAvatar = 21,
    /// C# member: `F:LibreMetaverse.SlappCommand.WearFolder`.
    ///
    /// C# signature: `LibreMetaverse.SlappCommand LibreMetaverse.SlappCommand.WearFolder`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    WearFolder = 22,
    /// C# member: `F:LibreMetaverse.SlappCommand.WorldMap`.
    ///
    /// C# signature: `LibreMetaverse.SlappCommand LibreMetaverse.SlappCommand.WorldMap`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    WorldMap = 23,
}

/// C# type: `T:LibreMetaverse.SlurlParser`.
///
/// Native Rust mapping of C# `LibreMetaverse.SlurlParser` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.SlurlParser.#ctor(System.String)`.
///
/// C# signature: `LibreMetaverse.SlurlParser(System.String location)`.
/// Mapping contract: ownership `optional_owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.SlurlParser.GetAgentUrl(LibreMetaverse.UUID,System.String)`.
///
/// C# signature: `System.String LibreMetaverse.SlurlParser.GetAgentUrl(LibreMetaverse.UUID agentId, System.String action = default)`.
/// Mapping contract: ownership `owned,optional_owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.SlurlParser.GetGroupUrl(LibreMetaverse.UUID,System.String)`.
///
/// C# signature: `System.String LibreMetaverse.SlurlParser.GetGroupUrl(LibreMetaverse.UUID groupId, System.String action = default)`.
/// Mapping contract: ownership `owned,optional_owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.SlurlParser.GetLoginUrl(System.String,System.String,System.String)`.
///
/// C# signature: `System.String LibreMetaverse.SlurlParser.GetLoginUrl(System.String lastName = default, System.String sessionId = default, System.String location = default)`.
/// Mapping contract: ownership `optional_owned,optional_owned,optional_owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.SlurlParser.GetObjectImUrl(LibreMetaverse.UUID,System.String,LibreMetaverse.UUID,System.Boolean,System.String)`.
///
/// C# signature: `System.String LibreMetaverse.SlurlParser.GetObjectImUrl(LibreMetaverse.UUID objectId, System.String objectName, LibreMetaverse.UUID ownerId, System.Boolean groupOwned, System.String slurl)`.
/// Mapping contract: ownership `owned,owned,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.SlurlParser.GetRawLocation`.
///
/// C# signature: `System.String LibreMetaverse.SlurlParser.GetRawLocation()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.SlurlParser.GetSearchUrl(System.String,System.String)`.
///
/// C# signature: `System.String LibreMetaverse.SlurlParser.GetSearchUrl(System.String category, System.String searchTerm)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.SlurlParser.GetSlappUrl(LibreMetaverse.SlappCommand,System.String,System.Collections.Generic.Dictionary{System.String,System.String})`.
///
/// C# signature: `System.String LibreMetaverse.SlurlParser.GetSlappUrl(LibreMetaverse.SlappCommand command, System.String path = default, System.Collections.Generic.Dictionary<System.String, System.String> queryParams = default)`.
/// Mapping contract: ownership `owned,optional_owned,optional_owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.SlurlParser.GetSlurl`.
///
/// C# signature: `System.String LibreMetaverse.SlurlParser.GetSlurl()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.SlurlParser.GetStartLocationUri`.
///
/// C# signature: `System.String LibreMetaverse.SlurlParser.GetStartLocationUri()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.SlurlParser.GetTeleportUrl(System.String,System.Int32,System.Int32,System.Int32)`.
///
/// C# signature: `System.String LibreMetaverse.SlurlParser.GetTeleportUrl(System.String region, System.Int32 x = default, System.Int32 y = default, System.Int32 z = default)`.
/// Mapping contract: ownership `owned,optional_owned,optional_owned,optional_owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.SlurlParser.GetWorldMapUrl(System.String,System.Int32,System.Int32,System.Int32)`.
///
/// C# signature: `System.String LibreMetaverse.SlurlParser.GetWorldMapUrl(System.String region, System.Int32 x = default, System.Int32 y = default, System.Int32 z = default)`.
/// Mapping contract: ownership `owned,optional_owned,optional_owned,optional_owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.SlurlParser.Command`.
///
/// C# signature: `LibreMetaverse.SlappCommand LibreMetaverse.SlurlParser.Command`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.SlurlParser.CommandPath`.
///
/// C# signature: `System.String LibreMetaverse.SlurlParser.CommandPath`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.SlurlParser.IsApplication`.
///
/// C# signature: `System.Boolean LibreMetaverse.SlurlParser.IsApplication`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.SlurlParser.IsLocation`.
///
/// C# signature: `System.Boolean LibreMetaverse.SlurlParser.IsLocation`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.SlurlParser.QueryParameters`.
///
/// C# signature: `System.Collections.Generic.Dictionary<System.String, System.String> LibreMetaverse.SlurlParser.QueryParameters`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.SlurlParser.Sim`.
///
/// C# signature: `System.String LibreMetaverse.SlurlParser.Sim`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.SlurlParser.UriType`.
///
/// C# signature: `LibreMetaverse.ViewerUriType LibreMetaverse.SlurlParser.UriType`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.SlurlParser.X`.
///
/// C# signature: `System.Int32 LibreMetaverse.SlurlParser.X`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.SlurlParser.Y`.
///
/// C# signature: `System.Int32 LibreMetaverse.SlurlParser.Y`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.SlurlParser.Z`.
///
/// C# signature: `System.Int32 LibreMetaverse.SlurlParser.Z`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::slurl::SlurlParser;

/// C# type: `T:LibreMetaverse.SoundManager`.
///
/// Native Rust mapping of C# `LibreMetaverse.SoundManager` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `E:LibreMetaverse.SoundManager.AttachedSound`.
///
/// C# signature: `System.EventHandler<LibreMetaverse.AttachedSoundEventArgs> LibreMetaverse.SoundManager.AttachedSound`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `E:LibreMetaverse.SoundManager.AttachedSoundGainChange`.
///
/// C# signature: `System.EventHandler<LibreMetaverse.AttachedSoundGainChangeEventArgs> LibreMetaverse.SoundManager.AttachedSoundGainChange`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `E:LibreMetaverse.SoundManager.PreloadSound`.
///
/// C# signature: `System.EventHandler<LibreMetaverse.PreloadSoundEventArgs> LibreMetaverse.SoundManager.PreloadSound`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `E:LibreMetaverse.SoundManager.SoundTrigger`.
///
/// C# signature: `System.EventHandler<LibreMetaverse.SoundTriggerEventArgs> LibreMetaverse.SoundManager.SoundTrigger`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `M:LibreMetaverse.SoundManager.#ctor(LibreMetaverse.GridClient)`.
///
/// C# signature: `LibreMetaverse.SoundManager(LibreMetaverse.GridClient client)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.SoundManager.Dispose`.
///
/// C# signature: `System.Void LibreMetaverse.SoundManager.Dispose()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.SoundManager.PlaySound(LibreMetaverse.UUID)`.
///
/// C# signature: `System.Void LibreMetaverse.SoundManager.PlaySound(LibreMetaverse.UUID soundID)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.SoundManager.SendSoundTrigger(LibreMetaverse.UUID,LibreMetaverse.Simulator,LibreMetaverse.Vector3,System.Single)`.
///
/// C# signature: `System.Void LibreMetaverse.SoundManager.SendSoundTrigger(LibreMetaverse.UUID soundID, LibreMetaverse.Simulator sim, LibreMetaverse.Vector3 position, System.Single gain)`.
/// Mapping contract: ownership `shared_self,owned,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.SoundManager.SendSoundTrigger(LibreMetaverse.UUID,LibreMetaverse.Vector3)`.
///
/// C# signature: `System.Void LibreMetaverse.SoundManager.SendSoundTrigger(LibreMetaverse.UUID soundID, LibreMetaverse.Vector3 position)`.
/// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.SoundManager.SendSoundTrigger(LibreMetaverse.UUID,LibreMetaverse.Vector3,System.Single)`.
///
/// C# signature: `System.Void LibreMetaverse.SoundManager.SendSoundTrigger(LibreMetaverse.UUID soundID, LibreMetaverse.Vector3 position, System.Single gain)`.
/// Mapping contract: ownership `shared_self,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.SoundManager.SendSoundTrigger(LibreMetaverse.UUID,System.UInt64,LibreMetaverse.Vector3,System.Single)`.
///
/// C# signature: `System.Void LibreMetaverse.SoundManager.SendSoundTrigger(LibreMetaverse.UUID soundID, System.UInt64 handle, LibreMetaverse.Vector3 position, System.Single gain)`.
/// Mapping contract: ownership `shared_self,owned,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
pub use crate::sound_manager::SoundManager;

/// C# type: `T:LibreMetaverse.SoundTriggerEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.SoundTriggerEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.SoundTriggerEventArgs.#ctor(LibreMetaverse.Simulator,LibreMetaverse.UUID,LibreMetaverse.UUID,LibreMetaverse.UUID,LibreMetaverse.UUID,System.Single,System.UInt64,LibreMetaverse.Vector3)`.
///
/// C# signature: `LibreMetaverse.SoundTriggerEventArgs(LibreMetaverse.Simulator sim, LibreMetaverse.UUID soundID, LibreMetaverse.UUID ownerID, LibreMetaverse.UUID objectID, LibreMetaverse.UUID parentID, System.Single gain, System.UInt64 regionHandle, LibreMetaverse.Vector3 position)`.
/// Mapping contract: ownership `owned,owned,owned,owned,owned,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.SoundTriggerEventArgs.Gain`.
///
/// C# signature: `System.Single LibreMetaverse.SoundTriggerEventArgs.Gain`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.SoundTriggerEventArgs.ObjectID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.SoundTriggerEventArgs.ObjectID`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.SoundTriggerEventArgs.OwnerID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.SoundTriggerEventArgs.OwnerID`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.SoundTriggerEventArgs.ParentID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.SoundTriggerEventArgs.ParentID`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.SoundTriggerEventArgs.Position`.
///
/// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.SoundTriggerEventArgs.Position`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.SoundTriggerEventArgs.RegionHandle`.
///
/// C# signature: `System.UInt64 LibreMetaverse.SoundTriggerEventArgs.RegionHandle`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.SoundTriggerEventArgs.Simulator`.
///
/// C# signature: `LibreMetaverse.Simulator LibreMetaverse.SoundTriggerEventArgs.Simulator`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.SoundTriggerEventArgs.SoundID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.SoundTriggerEventArgs.SoundID`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::sound_manager::SoundTriggerEventArgs;

/// C# type: `T:LibreMetaverse.Sounds`.
///
/// Native Rust mapping of C# `LibreMetaverse.Sounds` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
pub struct Sounds;
impl Sounds {
    /// C# member: `F:LibreMetaverse.Sounds.BELL_TING`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Sounds.BELL_TING`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn bell_ting() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::sound_catalog::sound("BELL_TING")
    }
    /// C# member: `F:LibreMetaverse.Sounds.CLICK`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Sounds.CLICK`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn click() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::sound_catalog::sound("CLICK")
    }
    /// C# member: `F:LibreMetaverse.Sounds.HEALTH_REDUCTION_FEMALE`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Sounds.HEALTH_REDUCTION_FEMALE`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn health_reduction_female() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::sound_catalog::sound("HEALTH_REDUCTION_FEMALE")
    }
    /// C# member: `F:LibreMetaverse.Sounds.HEALTH_REDUCTION_MALE`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Sounds.HEALTH_REDUCTION_MALE`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn health_reduction_male() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::sound_catalog::sound("HEALTH_REDUCTION_MALE")
    }
    /// C# member: `F:LibreMetaverse.Sounds.IM_START`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Sounds.IM_START`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn im_start() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::sound_catalog::sound("IM_START")
    }
    /// C# member: `F:LibreMetaverse.Sounds.INSTANT_MESSAGE_NOTIFICATION`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Sounds.INSTANT_MESSAGE_NOTIFICATION`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn instant_message_notification() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::sound_catalog::sound("INSTANT_MESSAGE_NOTIFICATION")
    }
    /// C# member: `F:LibreMetaverse.Sounds.INVALID_OPERATION`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Sounds.INVALID_OPERATION`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn invalid_operation() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::sound_catalog::sound("INVALID_OPERATION")
    }
    /// C# member: `F:LibreMetaverse.Sounds.KEYBOARD_LOOP`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Sounds.KEYBOARD_LOOP`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn keyboard_loop() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::sound_catalog::sound("KEYBOARD_LOOP")
    }
    /// C# member: `F:LibreMetaverse.Sounds.MONEY_INCREASE_CASH_REGISTER_BELL`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Sounds.MONEY_INCREASE_CASH_REGISTER_BELL`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn money_increase_cash_register_bell() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::sound_catalog::sound("MONEY_INCREASE_CASH_REGISTER_BELL")
    }
    /// C# member: `F:LibreMetaverse.Sounds.MONEY_REDUCTION_COINS`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Sounds.MONEY_REDUCTION_COINS`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn money_reduction_coins() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::sound_catalog::sound("MONEY_REDUCTION_COINS")
    }
    /// C# member: `F:LibreMetaverse.Sounds.NULL_KEYSTROKE`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Sounds.NULL_KEYSTROKE`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn null_keystroke() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::sound_catalog::sound("NULL_KEYSTROKE")
    }
    /// C# member: `F:LibreMetaverse.Sounds.OBJECT_COLLISION`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Sounds.OBJECT_COLLISION`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn object_collision() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::sound_catalog::sound("OBJECT_COLLISION")
    }
    /// C# member: `F:LibreMetaverse.Sounds.OBJECT_COLLISION_FLESH`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Sounds.OBJECT_COLLISION_FLESH`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn object_collision_flesh() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::sound_catalog::sound("OBJECT_COLLISION_FLESH")
    }
    /// C# member: `F:LibreMetaverse.Sounds.OBJECT_COLLISION_GLASS_BREAK`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Sounds.OBJECT_COLLISION_GLASS_BREAK`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn object_collision_glass_break() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::sound_catalog::sound("OBJECT_COLLISION_GLASS_BREAK")
    }
    /// C# member: `F:LibreMetaverse.Sounds.OBJECT_COLLISION_METAL_CLUNK`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Sounds.OBJECT_COLLISION_METAL_CLUNK`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn object_collision_metal_clunk() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::sound_catalog::sound("OBJECT_COLLISION_METAL_CLUNK")
    }
    /// C# member: `F:LibreMetaverse.Sounds.OBJECT_COLLISION_PLASTIC`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Sounds.OBJECT_COLLISION_PLASTIC`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn object_collision_plastic() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::sound_catalog::sound("OBJECT_COLLISION_PLASTIC")
    }
    /// C# member: `F:LibreMetaverse.Sounds.OBJECT_COLLISION_RUBBER`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Sounds.OBJECT_COLLISION_RUBBER`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn object_collision_rubber() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::sound_catalog::sound("OBJECT_COLLISION_RUBBER")
    }
    /// C# member: `F:LibreMetaverse.Sounds.OBJECT_COLLISION_WOOD_SPLINTERING`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Sounds.OBJECT_COLLISION_WOOD_SPLINTERING`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn object_collision_wood_splintering() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::sound_catalog::sound("OBJECT_COLLISION_WOOD_SPLINTERING")
    }
    /// C# member: `F:LibreMetaverse.Sounds.OBJECT_CREATE_WHOOSH`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Sounds.OBJECT_CREATE_WHOOSH`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn object_create_whoosh() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::sound_catalog::sound("OBJECT_CREATE_WHOOSH")
    }
    /// C# member: `F:LibreMetaverse.Sounds.OBJECT_DELETE_SHAKE`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Sounds.OBJECT_DELETE_SHAKE`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn object_delete_shake() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::sound_catalog::sound("OBJECT_DELETE_SHAKE")
    }
    /// C# member: `F:LibreMetaverse.Sounds.OBJECT_REZ`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Sounds.OBJECT_REZ`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn object_rez() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::sound_catalog::sound("OBJECT_REZ")
    }
    /// C# member: `F:LibreMetaverse.Sounds.PIE_MENU_APPEAR_DING`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Sounds.PIE_MENU_APPEAR_DING`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn pie_menu_appear_ding() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::sound_catalog::sound("PIE_MENU_APPEAR_DING")
    }
    /// C# member: `F:LibreMetaverse.Sounds.PIE_MENU_SLICE_HIGHLIGHT`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Sounds.PIE_MENU_SLICE_HIGHLIGHT`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn pie_menu_slice_highlight() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::sound_catalog::sound("PIE_MENU_SLICE_HIGHLIGHT")
    }
    /// C# member: `F:LibreMetaverse.Sounds.PIE_MENU_SLICE_HIGHLIGHT1`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Sounds.PIE_MENU_SLICE_HIGHLIGHT1`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn pie_menu_slice_highlight1() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::sound_catalog::sound("PIE_MENU_SLICE_HIGHLIGHT1")
    }
    /// C# member: `F:LibreMetaverse.Sounds.PIE_MENU_SLICE_HIGHLIGHT2`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Sounds.PIE_MENU_SLICE_HIGHLIGHT2`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn pie_menu_slice_highlight2() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::sound_catalog::sound("PIE_MENU_SLICE_HIGHLIGHT2")
    }
    /// C# member: `F:LibreMetaverse.Sounds.PIE_MENU_SLICE_HIGHLIGHT3`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Sounds.PIE_MENU_SLICE_HIGHLIGHT3`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn pie_menu_slice_highlight3() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::sound_catalog::sound("PIE_MENU_SLICE_HIGHLIGHT3")
    }
    /// C# member: `F:LibreMetaverse.Sounds.PIE_MENU_SLICE_HIGHLIGHT4`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Sounds.PIE_MENU_SLICE_HIGHLIGHT4`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn pie_menu_slice_highlight4() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::sound_catalog::sound("PIE_MENU_SLICE_HIGHLIGHT4")
    }
    /// C# member: `F:LibreMetaverse.Sounds.PIE_MENU_SLICE_HIGHLIGHT5`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Sounds.PIE_MENU_SLICE_HIGHLIGHT5`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn pie_menu_slice_highlight5() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::sound_catalog::sound("PIE_MENU_SLICE_HIGHLIGHT5")
    }
    /// C# member: `F:LibreMetaverse.Sounds.PIE_MENU_SLICE_HIGHLIGHT6`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Sounds.PIE_MENU_SLICE_HIGHLIGHT6`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn pie_menu_slice_highlight6() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::sound_catalog::sound("PIE_MENU_SLICE_HIGHLIGHT6")
    }
    /// C# member: `F:LibreMetaverse.Sounds.PIE_MENU_SLICE_HIGHLIGHT7`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Sounds.PIE_MENU_SLICE_HIGHLIGHT7`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn pie_menu_slice_highlight7() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::sound_catalog::sound("PIE_MENU_SLICE_HIGHLIGHT7")
    }
    /// C# member: `F:LibreMetaverse.Sounds.SNAPSHOT`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Sounds.SNAPSHOT`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn snapshot() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::sound_catalog::sound("SNAPSHOT")
    }
    /// C# member: `F:LibreMetaverse.Sounds.TELEPORT_TEXTURE_APPLY`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Sounds.TELEPORT_TEXTURE_APPLY`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn teleport_texture_apply() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::sound_catalog::sound("TELEPORT_TEXTURE_APPLY")
    }
    /// C# member: `F:LibreMetaverse.Sounds.THUNDER`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Sounds.THUNDER`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn thunder() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::sound_catalog::sound("THUNDER")
    }
    /// C# member: `F:LibreMetaverse.Sounds.WINDOW_CLOSE`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Sounds.WINDOW_CLOSE`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn window_close() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::sound_catalog::sound("WINDOW_CLOSE")
    }
    /// C# member: `F:LibreMetaverse.Sounds.WINDOW_OPEN`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Sounds.WINDOW_OPEN`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn window_open() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::sound_catalog::sound("WINDOW_OPEN")
    }
    /// C# member: `F:LibreMetaverse.Sounds.ZIPPER`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Sounds.ZIPPER`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    pub fn zipper() -> libremetaverse_types::UUID {
        /* reviewed native compatibility body */
        crate::sound_catalog::sound("ZIPPER")
    }
    /// C# member: `M:LibreMetaverse.Sounds.ToDictionary`.
    ///
    /// C# signature: `System.Collections.Frozen.FrozenDictionary<LibreMetaverse.UUID, System.String> LibreMetaverse.Sounds.ToDictionary()`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn to_dictionary() -> Result<
        libremetaverse_types::compat::FrozenDictionary<libremetaverse_types::UUID, String>,
        crate::Error,
    > {
        /* reviewed native compatibility body */
        Ok(libremetaverse_types::compat::FrozenDictionary(
            crate::sound_catalog::sounds(),
        ))
    }
}

/// C# type: `T:LibreMetaverse.SourceType`.
///
/// Native Rust mapping of C# `LibreMetaverse.SourceType` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(i32)]
pub enum SourceType {
    /// C# member: `F:LibreMetaverse.SourceType.Asset`.
    ///
    /// C# signature: `LibreMetaverse.SourceType LibreMetaverse.SourceType.Asset`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Asset = 2,
    /// C# member: `F:LibreMetaverse.SourceType.SimEstate`.
    ///
    /// C# signature: `LibreMetaverse.SourceType LibreMetaverse.SourceType.SimEstate`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    SimEstate = 4,
    /// C# member: `F:LibreMetaverse.SourceType.SimInventoryItem`.
    ///
    /// C# signature: `LibreMetaverse.SourceType LibreMetaverse.SourceType.SimInventoryItem`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    SimInventoryItem = 3,
    /// C# member: `F:LibreMetaverse.SourceType.Unknown`.
    ///
    /// C# signature: `LibreMetaverse.SourceType LibreMetaverse.SourceType.Unknown`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Unknown = 0,
}

/// C# type: `T:LibreMetaverse.StatusCode`.
///
/// Native Rust mapping of C# `LibreMetaverse.StatusCode` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(i32)]
pub enum StatusCode {
    /// C# member: `F:LibreMetaverse.StatusCode.Abort`.
    ///
    /// C# signature: `LibreMetaverse.StatusCode LibreMetaverse.StatusCode.Abort`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Abort = 3,
    /// C# member: `F:LibreMetaverse.StatusCode.Done`.
    ///
    /// C# signature: `LibreMetaverse.StatusCode LibreMetaverse.StatusCode.Done`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Done = 1,
    /// C# member: `F:LibreMetaverse.StatusCode.Error`.
    ///
    /// C# signature: `LibreMetaverse.StatusCode LibreMetaverse.StatusCode.Error`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Error = -1,
    /// C# member: `F:LibreMetaverse.StatusCode.InsufficientPermissions`.
    ///
    /// C# signature: `LibreMetaverse.StatusCode LibreMetaverse.StatusCode.InsufficientPermissions`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    InsufficientPermissions = -3,
    /// C# member: `F:LibreMetaverse.StatusCode.OK`.
    ///
    /// C# signature: `LibreMetaverse.StatusCode LibreMetaverse.StatusCode.OK`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    OK = 0,
    /// C# member: `F:LibreMetaverse.StatusCode.Skip`.
    ///
    /// C# signature: `LibreMetaverse.StatusCode LibreMetaverse.StatusCode.Skip`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Skip = 2,
    /// C# member: `F:LibreMetaverse.StatusCode.Unknown`.
    ///
    /// C# signature: `LibreMetaverse.StatusCode LibreMetaverse.StatusCode.Unknown`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Unknown = -4,
    /// C# member: `F:LibreMetaverse.StatusCode.UnknownSource`.
    ///
    /// C# signature: `LibreMetaverse.StatusCode LibreMetaverse.StatusCode.UnknownSource`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    UnknownSource = -2,
}

/// C# type: `T:LibreMetaverse.TargetType`.
///
/// Native Rust mapping of C# `LibreMetaverse.TargetType` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(i32)]
pub enum TargetType {
    /// C# member: `F:LibreMetaverse.TargetType.File`.
    ///
    /// C# signature: `LibreMetaverse.TargetType LibreMetaverse.TargetType.File`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    File = 1,
    /// C# member: `F:LibreMetaverse.TargetType.Unknown`.
    ///
    /// C# signature: `LibreMetaverse.TargetType LibreMetaverse.TargetType.Unknown`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Unknown = 0,
    /// C# member: `F:LibreMetaverse.TargetType.VFile`.
    ///
    /// C# signature: `LibreMetaverse.TargetType LibreMetaverse.TargetType.VFile`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    VFile = 2,
}

/// C# type: `T:LibreMetaverse.TaskInventoryReplyEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.TaskInventoryReplyEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.TaskInventoryReplyEventArgs.#ctor(LibreMetaverse.UUID,System.Int16,System.String)`.
///
/// C# signature: `LibreMetaverse.TaskInventoryReplyEventArgs(LibreMetaverse.UUID itemID, System.Int16 serial, System.String assetFilename)`.
/// Mapping contract: ownership `owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.TaskInventoryReplyEventArgs.AssetFilename`.
///
/// C# signature: `System.String LibreMetaverse.TaskInventoryReplyEventArgs.AssetFilename`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.TaskInventoryReplyEventArgs.ItemID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.TaskInventoryReplyEventArgs.ItemID`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.TaskInventoryReplyEventArgs.Serial`.
///
/// C# signature: `System.Int16 LibreMetaverse.TaskInventoryReplyEventArgs.Serial`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::inventory_manager::TaskInventoryReplyEventArgs;

/// C# type: `T:LibreMetaverse.TaskItemReceivedEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.TaskItemReceivedEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.TaskItemReceivedEventArgs.#ctor(LibreMetaverse.UUID,LibreMetaverse.UUID,LibreMetaverse.UUID,LibreMetaverse.UUID,LibreMetaverse.InventoryType)`.
///
/// C# signature: `LibreMetaverse.TaskItemReceivedEventArgs(LibreMetaverse.UUID itemID, LibreMetaverse.UUID folderID, LibreMetaverse.UUID creatorID, LibreMetaverse.UUID assetID, LibreMetaverse.InventoryType type)`.
/// Mapping contract: ownership `owned,owned,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.TaskItemReceivedEventArgs.AssetID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.TaskItemReceivedEventArgs.AssetID`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.TaskItemReceivedEventArgs.CreatorID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.TaskItemReceivedEventArgs.CreatorID`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.TaskItemReceivedEventArgs.FolderID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.TaskItemReceivedEventArgs.FolderID`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.TaskItemReceivedEventArgs.ItemID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.TaskItemReceivedEventArgs.ItemID`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.TaskItemReceivedEventArgs.Type`.
///
/// C# signature: `LibreMetaverse.InventoryType LibreMetaverse.TaskItemReceivedEventArgs.Type`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::inventory_manager::TaskItemReceivedEventArgs;

/// C# type: `T:LibreMetaverse.TeleportEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.TeleportEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.TeleportEventArgs.#ctor(System.String,LibreMetaverse.TeleportStatus,LibreMetaverse.TeleportFlags)`.
///
/// C# signature: `LibreMetaverse.TeleportEventArgs(System.String message, LibreMetaverse.TeleportStatus status, LibreMetaverse.TeleportFlags flags)`.
/// Mapping contract: ownership `owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.TeleportEventArgs.Flags`.
///
/// C# signature: `LibreMetaverse.TeleportFlags LibreMetaverse.TeleportEventArgs.Flags`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.TeleportEventArgs.Message`.
///
/// C# signature: `System.String LibreMetaverse.TeleportEventArgs.Message`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.TeleportEventArgs.Status`.
///
/// C# signature: `LibreMetaverse.TeleportStatus LibreMetaverse.TeleportEventArgs.Status`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::agent_movement::TeleportEventArgs;

/// C# type: `T:LibreMetaverse.TeleportFlags`.
///
/// Native Rust mapping of C# `LibreMetaverse.TeleportFlags` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(transparent)]
pub struct TeleportFlags(pub u32);
impl TeleportFlags {
    /// C# member: `F:LibreMetaverse.TeleportFlags.Default`.
    ///
    /// C# signature: `LibreMetaverse.TeleportFlags LibreMetaverse.TeleportFlags.Default`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const DEFAULT: Self = Self(0);
    /// C# member: `F:LibreMetaverse.TeleportFlags.DisableCancel`.
    ///
    /// C# signature: `LibreMetaverse.TeleportFlags LibreMetaverse.TeleportFlags.DisableCancel`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const DISABLE_CANCEL: Self = Self(2048);
    /// C# member: `F:LibreMetaverse.TeleportFlags.FinishedViaLure`.
    ///
    /// C# signature: `LibreMetaverse.TeleportFlags LibreMetaverse.TeleportFlags.FinishedViaLure`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const FINISHED_VIA_LURE: Self = Self(67108864);
    /// C# member: `F:LibreMetaverse.TeleportFlags.FinishedViaNewSim`.
    ///
    /// C# signature: `LibreMetaverse.TeleportFlags LibreMetaverse.TeleportFlags.FinishedViaNewSim`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const FINISHED_VIA_NEW_SIM: Self = Self(268435456);
    /// C# member: `F:LibreMetaverse.TeleportFlags.FinishedViaSameSim`.
    ///
    /// C# signature: `LibreMetaverse.TeleportFlags LibreMetaverse.TeleportFlags.FinishedViaSameSim`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const FINISHED_VIA_SAME_SIM: Self = Self(536870912);
    /// C# member: `F:LibreMetaverse.TeleportFlags.ForceRedirect`.
    ///
    /// C# signature: `LibreMetaverse.TeleportFlags LibreMetaverse.TeleportFlags.ForceRedirect`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const FORCE_REDIRECT: Self = Self(32768);
    /// C# member: `F:LibreMetaverse.TeleportFlags.Godlike`.
    ///
    /// C# signature: `LibreMetaverse.TeleportFlags LibreMetaverse.TeleportFlags.Godlike`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const GODLIKE: Self = Self(512);
    /// C# member: `F:LibreMetaverse.TeleportFlags.IsFlying`.
    ///
    /// C# signature: `LibreMetaverse.TeleportFlags LibreMetaverse.TeleportFlags.IsFlying`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const IS_FLYING: Self = Self(8192);
    /// C# member: `F:LibreMetaverse.TeleportFlags.NineOneOne`.
    ///
    /// C# signature: `LibreMetaverse.TeleportFlags LibreMetaverse.TeleportFlags.NineOneOne`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const NINE_ONE_ONE: Self = Self(1024);
    /// C# member: `F:LibreMetaverse.TeleportFlags.ResetHome`.
    ///
    /// C# signature: `LibreMetaverse.TeleportFlags LibreMetaverse.TeleportFlags.ResetHome`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const RESET_HOME: Self = Self(16384);
    /// C# member: `F:LibreMetaverse.TeleportFlags.SetHomeToTarget`.
    ///
    /// C# signature: `LibreMetaverse.TeleportFlags LibreMetaverse.TeleportFlags.SetHomeToTarget`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const SET_HOME_TO_TARGET: Self = Self(1);
    /// C# member: `F:LibreMetaverse.TeleportFlags.SetLastToTarget`.
    ///
    /// C# signature: `LibreMetaverse.TeleportFlags LibreMetaverse.TeleportFlags.SetLastToTarget`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const SET_LAST_TO_TARGET: Self = Self(2);
    /// C# member: `F:LibreMetaverse.TeleportFlags.ViaGodlikeLure`.
    ///
    /// C# signature: `LibreMetaverse.TeleportFlags LibreMetaverse.TeleportFlags.ViaGodlikeLure`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const VIA_GODLIKE_LURE: Self = Self(256);
    /// C# member: `F:LibreMetaverse.TeleportFlags.ViaHome`.
    ///
    /// C# signature: `LibreMetaverse.TeleportFlags LibreMetaverse.TeleportFlags.ViaHome`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const VIA_HOME: Self = Self(32);
    /// C# member: `F:LibreMetaverse.TeleportFlags.ViaLandmark`.
    ///
    /// C# signature: `LibreMetaverse.TeleportFlags LibreMetaverse.TeleportFlags.ViaLandmark`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const VIA_LANDMARK: Self = Self(8);
    /// C# member: `F:LibreMetaverse.TeleportFlags.ViaLocation`.
    ///
    /// C# signature: `LibreMetaverse.TeleportFlags LibreMetaverse.TeleportFlags.ViaLocation`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const VIA_LOCATION: Self = Self(16);
    /// C# member: `F:LibreMetaverse.TeleportFlags.ViaLogin`.
    ///
    /// C# signature: `LibreMetaverse.TeleportFlags LibreMetaverse.TeleportFlags.ViaLogin`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const VIA_LOGIN: Self = Self(128);
    /// C# member: `F:LibreMetaverse.TeleportFlags.ViaLure`.
    ///
    /// C# signature: `LibreMetaverse.TeleportFlags LibreMetaverse.TeleportFlags.ViaLure`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const VIA_LURE: Self = Self(4);
    /// C# member: `F:LibreMetaverse.TeleportFlags.ViaRegionID`.
    ///
    /// C# signature: `LibreMetaverse.TeleportFlags LibreMetaverse.TeleportFlags.ViaRegionID`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const VIA_REGION_ID: Self = Self(4096);
    /// C# member: `F:LibreMetaverse.TeleportFlags.ViaTelehub`.
    ///
    /// C# signature: `LibreMetaverse.TeleportFlags LibreMetaverse.TeleportFlags.ViaTelehub`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const VIA_TELEHUB: Self = Self(64);
}

/// C# type: `T:LibreMetaverse.TeleportLureFlags`.
///
/// Native Rust mapping of C# `LibreMetaverse.TeleportLureFlags` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(transparent)]
pub struct TeleportLureFlags(pub i32);
impl TeleportLureFlags {
    /// C# member: `F:LibreMetaverse.TeleportLureFlags.GodlikeLure`.
    ///
    /// C# signature: `LibreMetaverse.TeleportLureFlags LibreMetaverse.TeleportLureFlags.GodlikeLure`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const GODLIKE_LURE: Self = Self(1);
    /// C# member: `F:LibreMetaverse.TeleportLureFlags.GodlikePursuit`.
    ///
    /// C# signature: `LibreMetaverse.TeleportLureFlags LibreMetaverse.TeleportLureFlags.GodlikePursuit`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const GODLIKE_PURSUIT: Self = Self(2);
    /// C# member: `F:LibreMetaverse.TeleportLureFlags.NormalLure`.
    ///
    /// C# signature: `LibreMetaverse.TeleportLureFlags LibreMetaverse.TeleportLureFlags.NormalLure`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const NORMAL_LURE: Self = Self(0);
}

/// C# type: `T:LibreMetaverse.TeleportStatus`.
///
/// Native Rust mapping of C# `LibreMetaverse.TeleportStatus` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(i32)]
pub enum TeleportStatus {
    /// C# member: `F:LibreMetaverse.TeleportStatus.Cancelled`.
    ///
    /// C# signature: `LibreMetaverse.TeleportStatus LibreMetaverse.TeleportStatus.Cancelled`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Cancelled = 5,
    /// C# member: `F:LibreMetaverse.TeleportStatus.Failed`.
    ///
    /// C# signature: `LibreMetaverse.TeleportStatus LibreMetaverse.TeleportStatus.Failed`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Failed = 3,
    /// C# member: `F:LibreMetaverse.TeleportStatus.Finished`.
    ///
    /// C# signature: `LibreMetaverse.TeleportStatus LibreMetaverse.TeleportStatus.Finished`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Finished = 4,
    /// C# member: `F:LibreMetaverse.TeleportStatus.None`.
    ///
    /// C# signature: `LibreMetaverse.TeleportStatus LibreMetaverse.TeleportStatus.None`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    None = 0,
    /// C# member: `F:LibreMetaverse.TeleportStatus.Progress`.
    ///
    /// C# signature: `LibreMetaverse.TeleportStatus LibreMetaverse.TeleportStatus.Progress`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Progress = 2,
    /// C# member: `F:LibreMetaverse.TeleportStatus.Start`.
    ///
    /// C# signature: `LibreMetaverse.TeleportStatus LibreMetaverse.TeleportStatus.Start`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Start = 1,
}

/// C# type: `T:LibreMetaverse.TerraformAction`.
///
/// Native Rust mapping of C# `LibreMetaverse.TerraformAction` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(u8)]
pub enum TerraformAction {
    /// C# member: `F:LibreMetaverse.TerraformAction.Level`.
    ///
    /// C# signature: `LibreMetaverse.TerraformAction LibreMetaverse.TerraformAction.Level`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Level = 0,
    /// C# member: `F:LibreMetaverse.TerraformAction.Lower`.
    ///
    /// C# signature: `LibreMetaverse.TerraformAction LibreMetaverse.TerraformAction.Lower`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Lower = 2,
    /// C# member: `F:LibreMetaverse.TerraformAction.Noise`.
    ///
    /// C# signature: `LibreMetaverse.TerraformAction LibreMetaverse.TerraformAction.Noise`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Noise = 4,
    /// C# member: `F:LibreMetaverse.TerraformAction.Raise`.
    ///
    /// C# signature: `LibreMetaverse.TerraformAction LibreMetaverse.TerraformAction.Raise`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Raise = 1,
    /// C# member: `F:LibreMetaverse.TerraformAction.Revert`.
    ///
    /// C# signature: `LibreMetaverse.TerraformAction LibreMetaverse.TerraformAction.Revert`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Revert = 5,
    /// C# member: `F:LibreMetaverse.TerraformAction.Smooth`.
    ///
    /// C# signature: `LibreMetaverse.TerraformAction LibreMetaverse.TerraformAction.Smooth`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Smooth = 3,
}

/// C# type: `T:LibreMetaverse.TerraformBrushSize`.
///
/// Native Rust mapping of C# `LibreMetaverse.TerraformBrushSize` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(u8)]
pub enum TerraformBrushSize {
    /// C# member: `F:LibreMetaverse.TerraformBrushSize.Large`.
    ///
    /// C# signature: `LibreMetaverse.TerraformBrushSize LibreMetaverse.TerraformBrushSize.Large`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Large = 4,
    /// C# member: `F:LibreMetaverse.TerraformBrushSize.Medium`.
    ///
    /// C# signature: `LibreMetaverse.TerraformBrushSize LibreMetaverse.TerraformBrushSize.Medium`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Medium = 2,
    /// C# member: `F:LibreMetaverse.TerraformBrushSize.Small`.
    ///
    /// C# signature: `LibreMetaverse.TerraformBrushSize LibreMetaverse.TerraformBrushSize.Small`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Small = 1,
}

/// C# type: `T:LibreMetaverse.TerrainCompressor`.
///
/// Native Rust mapping of C# `LibreMetaverse.TerrainCompressor` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `F:LibreMetaverse.TerrainCompressor.END_OF_PATCHES`.
///
/// C# signature: `System.Int32 LibreMetaverse.TerrainCompressor.END_OF_PATCHES`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.TerrainCompressor.PATCHES_PER_EDGE`.
///
/// C# signature: `System.Int32 LibreMetaverse.TerrainCompressor.PATCHES_PER_EDGE`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `M:LibreMetaverse.TerrainCompressor.CreateLandPacket(System.Single[0:,0:],System.Int32,System.Int32)`.
///
/// C# signature: `LibreMetaverse.Packets.LayerDataPacket LibreMetaverse.TerrainCompressor.CreateLandPacket(System.Single[,] patchData, System.Int32 x, System.Int32 y)`.
/// Mapping contract: ownership `owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.TerrainCompressor.CreateLandPacket(System.Single[],System.Int32,System.Int32)`.
///
/// C# signature: `LibreMetaverse.Packets.LayerDataPacket LibreMetaverse.TerrainCompressor.CreateLandPacket(System.Single[] patchData, System.Int32 x, System.Int32 y)`.
/// Mapping contract: ownership `owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name_with_stable_id`; kind `method`.
/// C# member: `M:LibreMetaverse.TerrainCompressor.CreateLandPacket(System.Single[],System.Int32[])`.
///
/// C# signature: `LibreMetaverse.Packets.LayerDataPacket LibreMetaverse.TerrainCompressor.CreateLandPacket(System.Single[] heightmap, System.Int32[] patches)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.TerrainCompressor.CreateLayerDataPacket(LibreMetaverse.TerrainPatch[],LibreMetaverse.TerrainPatch.LayerType)`.
///
/// C# signature: `LibreMetaverse.Packets.LayerDataPacket LibreMetaverse.TerrainCompressor.CreateLayerDataPacket(LibreMetaverse.TerrainPatch[] patches, LibreMetaverse.TerrainPatch.LayerType type)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.TerrainCompressor.CreatePatch(LibreMetaverse.BitPack,System.Single[0:,0:],System.Int32,System.Int32)`.
///
/// C# signature: `System.Void LibreMetaverse.TerrainCompressor.CreatePatch(LibreMetaverse.BitPack output, System.Single[,] patchData, System.Int32 x, System.Int32 y)`.
/// Mapping contract: ownership `owned,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.TerrainCompressor.CreatePatch(LibreMetaverse.BitPack,System.Single[0:,0:],System.Int32,System.Int32,System.Boolean)`.
///
/// C# signature: `System.Void LibreMetaverse.TerrainCompressor.CreatePatch(LibreMetaverse.BitPack output, System.Single[,] patchData, System.Int32 x, System.Int32 y, System.Boolean largeRegion)`.
/// Mapping contract: ownership `owned,owned,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.TerrainCompressor.CreatePatchFromHeightmap(LibreMetaverse.BitPack,System.Single[],System.Int32,System.Int32)`.
///
/// C# signature: `System.Void LibreMetaverse.TerrainCompressor.CreatePatchFromHeightmap(LibreMetaverse.BitPack output, System.Single[] heightmap, System.Int32 x, System.Int32 y)`.
/// Mapping contract: ownership `owned,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.TerrainCompressor.CreatePatchFromHeightmap(LibreMetaverse.BitPack,System.Single[],System.Int32,System.Int32,System.Boolean)`.
///
/// C# signature: `System.Void LibreMetaverse.TerrainCompressor.CreatePatchFromHeightmap(LibreMetaverse.BitPack output, System.Single[] heightmap, System.Int32 x, System.Int32 y, System.Boolean largeRegion)`.
/// Mapping contract: ownership `owned,owned,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.TerrainCompressor.DecodePatch(System.Int32[],LibreMetaverse.BitPack,LibreMetaverse.TerrainPatch.Header,System.Int32)`.
///
/// C# signature: `System.Void LibreMetaverse.TerrainCompressor.DecodePatch(System.Int32[] patches, LibreMetaverse.BitPack bitpack, LibreMetaverse.TerrainPatch.Header header, System.Int32 size)`.
/// Mapping contract: ownership `owned,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.TerrainCompressor.DecodePatchHeader(LibreMetaverse.BitPack)`.
///
/// C# signature: `LibreMetaverse.TerrainPatch.Header LibreMetaverse.TerrainCompressor.DecodePatchHeader(LibreMetaverse.BitPack bitpack)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.TerrainCompressor.DecodePatchHeader(LibreMetaverse.BitPack,System.Boolean)`.
///
/// C# signature: `LibreMetaverse.TerrainPatch.Header LibreMetaverse.TerrainCompressor.DecodePatchHeader(LibreMetaverse.BitPack bitpack, System.Boolean largeRegion)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.TerrainCompressor.DecompressPatch(System.Int32[],LibreMetaverse.TerrainPatch.Header,LibreMetaverse.TerrainPatch.GroupHeader)`.
///
/// C# signature: `System.Single[] LibreMetaverse.TerrainCompressor.DecompressPatch(System.Int32[] patches, LibreMetaverse.TerrainPatch.Header header, LibreMetaverse.TerrainPatch.GroupHeader group)`.
/// Mapping contract: ownership `owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
pub use crate::terrain_codec::TerrainCompressor;

/// C# type: `T:LibreMetaverse.TerrainManager`.
///
/// Native Rust mapping of C# `LibreMetaverse.TerrainManager` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `E:LibreMetaverse.TerrainManager.LandPatchReceived`.
///
/// C# signature: `System.EventHandler<LibreMetaverse.LandPatchReceivedEventArgs> LibreMetaverse.TerrainManager.LandPatchReceived`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `F:LibreMetaverse.TerrainManager.TerrainMaterialSlotCount`.
///
/// C# signature: `System.Int32 LibreMetaverse.TerrainManager.TerrainMaterialSlotCount`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `M:LibreMetaverse.TerrainManager.#ctor(LibreMetaverse.GridClient)`.
///
/// C# signature: `LibreMetaverse.TerrainManager(LibreMetaverse.GridClient client)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.TerrainManager.Dispose`.
///
/// C# signature: `System.Void LibreMetaverse.TerrainManager.Dispose()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.TerrainManager.GetTerrainMaterialOverridesAsync(System.Threading.CancellationToken)`.
///
/// C# signature: `System.Threading.Tasks.Task<LibreMetaverse.Assets.AssetMaterial[]> LibreMetaverse.TerrainManager.GetTerrainMaterialOverridesAsync(System.Threading.CancellationToken cancellationToken = default)`.
/// Mapping contract: ownership `shared_self,optional_owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.TerrainManager.SetTerrainMaterialOverridesAsync(LibreMetaverse.Assets.AssetMaterial[],System.Threading.CancellationToken)`.
///
/// C# signature: `System.Threading.Tasks.Task<System.Boolean> LibreMetaverse.TerrainManager.SetTerrainMaterialOverridesAsync(LibreMetaverse.Assets.AssetMaterial[] overrides, System.Threading.CancellationToken cancellationToken = default)`.
/// Mapping contract: ownership `shared_self,owned,optional_owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
pub use crate::terrain_manager::TerrainManager;

/// C# type: `T:LibreMetaverse.TerrainPatch`.
///
/// Native Rust mapping of C# `LibreMetaverse.TerrainPatch` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `F:LibreMetaverse.TerrainPatch.Data`.
///
/// C# signature: `System.Single[] LibreMetaverse.TerrainPatch.Data`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.TerrainPatch.X`.
///
/// C# signature: `System.Int32 LibreMetaverse.TerrainPatch.X`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.TerrainPatch.Y`.
///
/// C# signature: `System.Int32 LibreMetaverse.TerrainPatch.Y`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `M:LibreMetaverse.TerrainPatch.#ctor`.
///
/// C# signature: `LibreMetaverse.TerrainPatch()`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
pub use crate::terrain_codec::TerrainPatch;

/// C# type: `T:LibreMetaverse.TerrainPatch.GroupHeader`.
///
/// Native Rust mapping of C# `LibreMetaverse.TerrainPatch.GroupHeader` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `F:LibreMetaverse.TerrainPatch.GroupHeader.PatchSize`.
///
/// C# signature: `System.Int32 LibreMetaverse.TerrainPatch.GroupHeader.PatchSize`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.TerrainPatch.GroupHeader.Stride`.
///
/// C# signature: `System.Int32 LibreMetaverse.TerrainPatch.GroupHeader.Stride`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.TerrainPatch.GroupHeader.Type`.
///
/// C# signature: `LibreMetaverse.TerrainPatch.LayerType LibreMetaverse.TerrainPatch.GroupHeader.Type`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
pub use crate::terrain_codec::TerrainPatchGroupHeader;

/// C# type: `T:LibreMetaverse.TerrainPatch.Header`.
///
/// Native Rust mapping of C# `LibreMetaverse.TerrainPatch.Header` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `F:LibreMetaverse.TerrainPatch.Header.DCOffset`.
///
/// C# signature: `System.Single LibreMetaverse.TerrainPatch.Header.DCOffset`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.TerrainPatch.Header.PatchIDs`.
///
/// C# signature: `System.Int32 LibreMetaverse.TerrainPatch.Header.PatchIDs`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.TerrainPatch.Header.QuantWBits`.
///
/// C# signature: `System.Int32 LibreMetaverse.TerrainPatch.Header.QuantWBits`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.TerrainPatch.Header.Range`.
///
/// C# signature: `System.Int32 LibreMetaverse.TerrainPatch.Header.Range`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.TerrainPatch.Header.WordBits`.
///
/// C# signature: `System.UInt32 LibreMetaverse.TerrainPatch.Header.WordBits`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `M:LibreMetaverse.TerrainPatch.Header.setPatchIDs(System.Int32,System.Int32)`.
///
/// C# signature: `System.Int32 LibreMetaverse.TerrainPatch.Header.setPatchIDs(System.Int32 xx, System.Int32 yy)`.
/// Mapping contract: ownership `mutable_self,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.TerrainPatch.Header.LargeRegion`.
///
/// C# signature: `System.Boolean LibreMetaverse.TerrainPatch.Header.LargeRegion`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.TerrainPatch.Header.X`.
///
/// C# signature: `System.Int32 LibreMetaverse.TerrainPatch.Header.X`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.TerrainPatch.Header.Y`.
///
/// C# signature: `System.Int32 LibreMetaverse.TerrainPatch.Header.Y`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::terrain_codec::TerrainPatchHeader;

/// C# type: `T:LibreMetaverse.TerrainPatch.LayerType`.
///
/// Native Rust mapping of C# `LibreMetaverse.TerrainPatch.LayerType` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(transparent)]
pub struct TerrainPatchLayerType(pub u8);
impl TerrainPatchLayerType {
    /// C# member: `F:LibreMetaverse.TerrainPatch.LayerType.Cloud`.
    ///
    /// C# signature: `LibreMetaverse.TerrainPatch.LayerType LibreMetaverse.TerrainPatch.LayerType.Cloud`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const CLOUD: Self = Self(56);
    /// C# member: `F:LibreMetaverse.TerrainPatch.LayerType.CloudExtended`.
    ///
    /// C# signature: `LibreMetaverse.TerrainPatch.LayerType LibreMetaverse.TerrainPatch.LayerType.CloudExtended`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const CLOUD_EXTENDED: Self = Self(58);
    /// C# member: `F:LibreMetaverse.TerrainPatch.LayerType.Land`.
    ///
    /// C# signature: `LibreMetaverse.TerrainPatch.LayerType LibreMetaverse.TerrainPatch.LayerType.Land`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const LAND: Self = Self(76);
    /// C# member: `F:LibreMetaverse.TerrainPatch.LayerType.LandExtended`.
    ///
    /// C# signature: `LibreMetaverse.TerrainPatch.LayerType LibreMetaverse.TerrainPatch.LayerType.LandExtended`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const LAND_EXTENDED: Self = Self(77);
    /// C# member: `F:LibreMetaverse.TerrainPatch.LayerType.Water`.
    ///
    /// C# signature: `LibreMetaverse.TerrainPatch.LayerType LibreMetaverse.TerrainPatch.LayerType.Water`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const WATER: Self = Self(87);
    /// C# member: `F:LibreMetaverse.TerrainPatch.LayerType.WaterExtended`.
    ///
    /// C# signature: `LibreMetaverse.TerrainPatch.LayerType LibreMetaverse.TerrainPatch.LayerType.WaterExtended`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const WATER_EXTENDED: Self = Self(87);
    /// C# member: `F:LibreMetaverse.TerrainPatch.LayerType.Wind`.
    ///
    /// C# signature: `LibreMetaverse.TerrainPatch.LayerType LibreMetaverse.TerrainPatch.LayerType.Wind`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const WIND: Self = Self(55);
    /// C# member: `F:LibreMetaverse.TerrainPatch.LayerType.WindExtended`.
    ///
    /// C# signature: `LibreMetaverse.TerrainPatch.LayerType LibreMetaverse.TerrainPatch.LayerType.WindExtended`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const WIND_EXTENDED: Self = Self(57);
}

/// C# type: `T:LibreMetaverse.TerseObjectUpdateEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.TerseObjectUpdateEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.TerseObjectUpdateEventArgs.#ctor(LibreMetaverse.Simulator,LibreMetaverse.Primitive,LibreMetaverse.ObjectMovementUpdate,System.UInt16)`.
///
/// C# signature: `LibreMetaverse.TerseObjectUpdateEventArgs(LibreMetaverse.Simulator simulator, LibreMetaverse.Primitive prim, LibreMetaverse.ObjectMovementUpdate update, System.UInt16 timeDilation)`.
/// Mapping contract: ownership `owned,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.TerseObjectUpdateEventArgs.Prim`.
///
/// C# signature: `LibreMetaverse.Primitive LibreMetaverse.TerseObjectUpdateEventArgs.Prim`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.TerseObjectUpdateEventArgs.Simulator`.
///
/// C# signature: `LibreMetaverse.Simulator LibreMetaverse.TerseObjectUpdateEventArgs.Simulator`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.TerseObjectUpdateEventArgs.TimeDilation`.
///
/// C# signature: `System.UInt16 LibreMetaverse.TerseObjectUpdateEventArgs.TimeDilation`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.TerseObjectUpdateEventArgs.Update`.
///
/// C# signature: `LibreMetaverse.ObjectMovementUpdate LibreMetaverse.TerseObjectUpdateEventArgs.Update`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::object_manager::TerseObjectUpdateEventArgs;

/// C# type: `T:LibreMetaverse.TextureAttributes`.
///
/// Native Rust mapping of C# `LibreMetaverse.TextureAttributes` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(transparent)]
pub struct TextureAttributes(pub u32);
impl TextureAttributes {
    /// C# member: `F:LibreMetaverse.TextureAttributes.All`.
    ///
    /// C# signature: `LibreMetaverse.TextureAttributes LibreMetaverse.TextureAttributes.All`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const ALL: Self = Self(4294967295);
    /// C# member: `F:LibreMetaverse.TextureAttributes.Glow`.
    ///
    /// C# signature: `LibreMetaverse.TextureAttributes LibreMetaverse.TextureAttributes.Glow`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const GLOW: Self = Self(512);
    /// C# member: `F:LibreMetaverse.TextureAttributes.Material`.
    ///
    /// C# signature: `LibreMetaverse.TextureAttributes LibreMetaverse.TextureAttributes.Material`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const MATERIAL: Self = Self(128);
    /// C# member: `F:LibreMetaverse.TextureAttributes.MaterialID`.
    ///
    /// C# signature: `LibreMetaverse.TextureAttributes LibreMetaverse.TextureAttributes.MaterialID`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const MATERIAL_ID: Self = Self(1024);
    /// C# member: `F:LibreMetaverse.TextureAttributes.Media`.
    ///
    /// C# signature: `LibreMetaverse.TextureAttributes LibreMetaverse.TextureAttributes.Media`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const MEDIA: Self = Self(256);
    /// C# member: `F:LibreMetaverse.TextureAttributes.None`.
    ///
    /// C# signature: `LibreMetaverse.TextureAttributes LibreMetaverse.TextureAttributes.None`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const NONE: Self = Self(0);
    /// C# member: `F:LibreMetaverse.TextureAttributes.OffsetU`.
    ///
    /// C# signature: `LibreMetaverse.TextureAttributes LibreMetaverse.TextureAttributes.OffsetU`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const OFFSET_U: Self = Self(16);
    /// C# member: `F:LibreMetaverse.TextureAttributes.OffsetV`.
    ///
    /// C# signature: `LibreMetaverse.TextureAttributes LibreMetaverse.TextureAttributes.OffsetV`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const OFFSET_V: Self = Self(32);
    /// C# member: `F:LibreMetaverse.TextureAttributes.RGBA`.
    ///
    /// C# signature: `LibreMetaverse.TextureAttributes LibreMetaverse.TextureAttributes.RGBA`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const RGBA: Self = Self(2);
    /// C# member: `F:LibreMetaverse.TextureAttributes.RenderMaterialID`.
    ///
    /// C# signature: `LibreMetaverse.TextureAttributes LibreMetaverse.TextureAttributes.RenderMaterialID`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const RENDER_MATERIAL_ID: Self = Self(2048);
    /// C# member: `F:LibreMetaverse.TextureAttributes.RepeatU`.
    ///
    /// C# signature: `LibreMetaverse.TextureAttributes LibreMetaverse.TextureAttributes.RepeatU`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const REPEAT_U: Self = Self(4);
    /// C# member: `F:LibreMetaverse.TextureAttributes.RepeatV`.
    ///
    /// C# signature: `LibreMetaverse.TextureAttributes LibreMetaverse.TextureAttributes.RepeatV`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const REPEAT_V: Self = Self(8);
    /// C# member: `F:LibreMetaverse.TextureAttributes.Rotation`.
    ///
    /// C# signature: `LibreMetaverse.TextureAttributes LibreMetaverse.TextureAttributes.Rotation`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const ROTATION: Self = Self(64);
    /// C# member: `F:LibreMetaverse.TextureAttributes.TextureID`.
    ///
    /// C# signature: `LibreMetaverse.TextureAttributes LibreMetaverse.TextureAttributes.TextureID`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const TEXTURE_ID: Self = Self(1);
}

/// C# type: `T:LibreMetaverse.TexturePipeline`.
///
/// Native Rust mapping of C# `LibreMetaverse.TexturePipeline` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.TexturePipeline.#ctor(LibreMetaverse.GridClient)`.
///
/// C# signature: `LibreMetaverse.TexturePipeline(LibreMetaverse.GridClient client)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.TexturePipeline.AbortTextureRequest(LibreMetaverse.UUID)`.
///
/// C# signature: `System.Void LibreMetaverse.TexturePipeline.AbortTextureRequest(LibreMetaverse.UUID textureID)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.TexturePipeline.Shutdown`.
///
/// C# signature: `System.Void LibreMetaverse.TexturePipeline.Shutdown()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.TexturePipeline.Startup`.
///
/// C# signature: `System.Void LibreMetaverse.TexturePipeline.Startup()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.TexturePipeline.TransferCount`.
///
/// C# signature: `System.Int32 LibreMetaverse.TexturePipeline.TransferCount`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::texture_pipeline::TexturePipeline;

/// C# type: `T:LibreMetaverse.TexturePipelineSettings`.
///
/// Native Rust mapping of C# `LibreMetaverse.TexturePipelineSettings` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct TexturePipelineSettings {
    /// C# member: `F:LibreMetaverse.TexturePipelineSettings.Enabled`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.TexturePipelineSettings.Enabled`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub enabled: bool,
    /// C# member: `F:LibreMetaverse.TexturePipelineSettings.MaxConcurrentDownloads`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.TexturePipelineSettings.MaxConcurrentDownloads`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub max_concurrent_downloads: i32,
    /// C# member: `F:LibreMetaverse.TexturePipelineSettings.RequestTimeout`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.TexturePipelineSettings.RequestTimeout`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub request_timeout: i32,
    /// C# member: `F:LibreMetaverse.TexturePipelineSettings.UseHttpTextures`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.TexturePipelineSettings.UseHttpTextures`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub use_http_textures: bool,
}
impl TexturePipelineSettings {
    /// C# member: `M:LibreMetaverse.TexturePipelineSettings.#ctor`.
    ///
    /// C# signature: `LibreMetaverse.TexturePipelineSettings()`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn new() -> Result<Self, crate::Error> {
        /* native client-core implementation */
        Ok(crate::client_core::texture_pipeline_settings_defaults())
    }
}

/// C# type: `T:LibreMetaverse.TextureRequestState`.
///
/// Native Rust mapping of C# `LibreMetaverse.TextureRequestState` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(i32)]
pub enum TextureRequestState {
    /// C# member: `F:LibreMetaverse.TextureRequestState.Aborted`.
    ///
    /// C# signature: `LibreMetaverse.TextureRequestState LibreMetaverse.TextureRequestState.Aborted`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Aborted = 5,
    /// C# member: `F:LibreMetaverse.TextureRequestState.Finished`.
    ///
    /// C# signature: `LibreMetaverse.TextureRequestState LibreMetaverse.TextureRequestState.Finished`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Finished = 3,
    /// C# member: `F:LibreMetaverse.TextureRequestState.NotFound`.
    ///
    /// C# signature: `LibreMetaverse.TextureRequestState LibreMetaverse.TextureRequestState.NotFound`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    NotFound = 6,
    /// C# member: `F:LibreMetaverse.TextureRequestState.Pending`.
    ///
    /// C# signature: `LibreMetaverse.TextureRequestState LibreMetaverse.TextureRequestState.Pending`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Pending = 0,
    /// C# member: `F:LibreMetaverse.TextureRequestState.Progress`.
    ///
    /// C# signature: `LibreMetaverse.TextureRequestState LibreMetaverse.TextureRequestState.Progress`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Progress = 2,
    /// C# member: `F:LibreMetaverse.TextureRequestState.Started`.
    ///
    /// C# signature: `LibreMetaverse.TextureRequestState LibreMetaverse.TextureRequestState.Started`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Started = 1,
    /// C# member: `F:LibreMetaverse.TextureRequestState.Timeout`.
    ///
    /// C# signature: `LibreMetaverse.TextureRequestState LibreMetaverse.TextureRequestState.Timeout`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Timeout = 4,
}

/// C# type: `T:LibreMetaverse.TimingSettings`.
///
/// Native Rust mapping of C# `LibreMetaverse.TimingSettings` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct TimingSettings {
    /// C# member: `F:LibreMetaverse.TimingSettings.AgentUpdateInterval`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.TimingSettings.AgentUpdateInterval`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub agent_update_interval: i32,
    /// C# member: `F:LibreMetaverse.TimingSettings.CapsTimeout`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.TimingSettings.CapsTimeout`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub caps_timeout: i32,
    /// C# member: `F:LibreMetaverse.TimingSettings.InterpolationInterval`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.TimingSettings.InterpolationInterval`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub interpolation_interval: i32,
    /// C# member: `F:LibreMetaverse.TimingSettings.LoginTimeout`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.TimingSettings.LoginTimeout`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub login_timeout: i32,
    /// C# member: `F:LibreMetaverse.TimingSettings.LogoutTimeout`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.TimingSettings.LogoutTimeout`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub logout_timeout: i32,
    /// C# member: `F:LibreMetaverse.TimingSettings.MapRequestTimeout`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.TimingSettings.MapRequestTimeout`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub map_request_timeout: i32,
    /// C# member: `F:LibreMetaverse.TimingSettings.ResendTimeout`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.TimingSettings.ResendTimeout`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub resend_timeout: i32,
    /// C# member: `F:LibreMetaverse.TimingSettings.SimulatorTimeout`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.TimingSettings.SimulatorTimeout`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub simulator_timeout: i32,
    /// C# member: `F:LibreMetaverse.TimingSettings.TeleportTimeout`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.TimingSettings.TeleportTimeout`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub teleport_timeout: i32,
    /// C# member: `F:LibreMetaverse.TimingSettings.TransferTimeout`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.TimingSettings.TransferTimeout`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub transfer_timeout: i32,
}
impl TimingSettings {
    /// C# member: `M:LibreMetaverse.TimingSettings.#ctor`.
    ///
    /// C# signature: `LibreMetaverse.TimingSettings()`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn new() -> Result<Self, crate::Error> {
        /* native client-core implementation */
        Ok(crate::client_core::timing_settings_defaults())
    }
}

/// C# type: `T:LibreMetaverse.TopCollidersReplyEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.TopCollidersReplyEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.TopCollidersReplyEventArgs.#ctor(System.Int32,System.Collections.Generic.Dictionary{LibreMetaverse.UUID,LibreMetaverse.EstateTask})`.
///
/// C# signature: `LibreMetaverse.TopCollidersReplyEventArgs(System.Int32 objectCount, System.Collections.Generic.Dictionary<LibreMetaverse.UUID, LibreMetaverse.EstateTask> tasks)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.TopCollidersReplyEventArgs.ObjectCount`.
///
/// C# signature: `System.Int32 LibreMetaverse.TopCollidersReplyEventArgs.ObjectCount`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.TopCollidersReplyEventArgs.Tasks`.
///
/// C# signature: `System.Collections.Generic.Dictionary<LibreMetaverse.UUID, LibreMetaverse.EstateTask> LibreMetaverse.TopCollidersReplyEventArgs.Tasks`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::estate_tools::TopCollidersReplyEventArgs;

/// C# type: `T:LibreMetaverse.TopScriptsReplyEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.TopScriptsReplyEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.TopScriptsReplyEventArgs.#ctor(System.Int32,System.Collections.Generic.Dictionary{LibreMetaverse.UUID,LibreMetaverse.EstateTask})`.
///
/// C# signature: `LibreMetaverse.TopScriptsReplyEventArgs(System.Int32 objectCount, System.Collections.Generic.Dictionary<LibreMetaverse.UUID, LibreMetaverse.EstateTask> tasks)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.TopScriptsReplyEventArgs.ObjectCount`.
///
/// C# signature: `System.Int32 LibreMetaverse.TopScriptsReplyEventArgs.ObjectCount`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.TopScriptsReplyEventArgs.Tasks`.
///
/// C# signature: `System.Collections.Generic.Dictionary<LibreMetaverse.UUID, LibreMetaverse.EstateTask> LibreMetaverse.TopScriptsReplyEventArgs.Tasks`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::estate_tools::TopScriptsReplyEventArgs;

/// C# type: `T:LibreMetaverse.TransactionFlags`.
///
/// Native Rust mapping of C# `LibreMetaverse.TransactionFlags` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(transparent)]
pub struct TransactionFlags(pub u8);
impl TransactionFlags {
    /// C# member: `F:LibreMetaverse.TransactionFlags.ContributionRemoval`.
    ///
    /// C# signature: `LibreMetaverse.TransactionFlags LibreMetaverse.TransactionFlags.ContributionRemoval`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const CONTRIBUTION_REMOVAL: Self = Self(16);
    /// C# member: `F:LibreMetaverse.TransactionFlags.DestGroup`.
    ///
    /// C# signature: `LibreMetaverse.TransactionFlags LibreMetaverse.TransactionFlags.DestGroup`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const DEST_GROUP: Self = Self(2);
    /// C# member: `F:LibreMetaverse.TransactionFlags.None`.
    ///
    /// C# signature: `LibreMetaverse.TransactionFlags LibreMetaverse.TransactionFlags.None`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const NONE: Self = Self(0);
    /// C# member: `F:LibreMetaverse.TransactionFlags.OwnerGroup`.
    ///
    /// C# signature: `LibreMetaverse.TransactionFlags LibreMetaverse.TransactionFlags.OwnerGroup`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const OWNER_GROUP: Self = Self(4);
    /// C# member: `F:LibreMetaverse.TransactionFlags.SimultaneousContribution`.
    ///
    /// C# signature: `LibreMetaverse.TransactionFlags LibreMetaverse.TransactionFlags.SimultaneousContribution`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const SIMULTANEOUS_CONTRIBUTION: Self = Self(8);
    /// C# member: `F:LibreMetaverse.TransactionFlags.SourceGroup`.
    ///
    /// C# signature: `LibreMetaverse.TransactionFlags LibreMetaverse.TransactionFlags.SourceGroup`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const SOURCE_GROUP: Self = Self(1);
}

/// C# type: `T:LibreMetaverse.TransactionInfo`.
///
/// Native Rust mapping of C# `LibreMetaverse.TransactionInfo` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
pub struct TransactionInfo {
    /// C# member: `F:LibreMetaverse.TransactionInfo.Amount`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.TransactionInfo.Amount`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub amount: i32,
    /// C# member: `F:LibreMetaverse.TransactionInfo.DestID`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.TransactionInfo.DestID`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub dest_id: libremetaverse_types::UUID,
    /// C# member: `F:LibreMetaverse.TransactionInfo.IsDestGroup`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.TransactionInfo.IsDestGroup`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub is_dest_group: bool,
    /// C# member: `F:LibreMetaverse.TransactionInfo.IsSourceGroup`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.TransactionInfo.IsSourceGroup`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub is_source_group: bool,
    /// C# member: `F:LibreMetaverse.TransactionInfo.ItemDescription`.
    ///
    /// C# signature: `System.String LibreMetaverse.TransactionInfo.ItemDescription`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub item_description: String,
    /// C# member: `F:LibreMetaverse.TransactionInfo.SourceID`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.TransactionInfo.SourceID`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub source_id: libremetaverse_types::UUID,
    /// C# member: `F:LibreMetaverse.TransactionInfo.TransactionType`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.TransactionInfo.TransactionType`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub transaction_type: i32,
}
impl TransactionInfo {
    /// C# member: `M:LibreMetaverse.TransactionInfo.#ctor`.
    ///
    /// C# signature: `LibreMetaverse.TransactionInfo()`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn new() -> Result<Self, crate::Error> {
        /* reviewed native compatibility body */
        Ok(crate::TransactionInfo {
            amount: 0,
            dest_id: libremetaverse_types::UUID::zero(),
            is_dest_group: false,
            is_source_group: false,
            item_description: String::new(),
            source_id: libremetaverse_types::UUID::zero(),
            transaction_type: 0,
        })
    }
}

/// C# type: `T:LibreMetaverse.Transfer`.
///
/// Native Rust mapping of C# `LibreMetaverse.Transfer` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `F:LibreMetaverse.Transfer.AssetData`.
///
/// C# signature: `System.Byte[] LibreMetaverse.Transfer.AssetData`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Transfer.AssetType`.
///
/// C# signature: `LibreMetaverse.AssetType LibreMetaverse.Transfer.AssetType`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Transfer.ID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.Transfer.ID`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Transfer.Size`.
///
/// C# signature: `System.Int32 LibreMetaverse.Transfer.Size`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Transfer.Success`.
///
/// C# signature: `System.Boolean LibreMetaverse.Transfer.Success`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Transfer.Transferred`.
///
/// C# signature: `System.Int32 LibreMetaverse.Transfer.Transferred`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `M:LibreMetaverse.Transfer.#ctor`.
///
/// C# signature: `LibreMetaverse.Transfer()`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.Transfer.TimeSinceLastPacket`.
///
/// C# signature: `System.Int32 LibreMetaverse.Transfer.TimeSinceLastPacket`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::transfers::Transfer;

/// C# type: `T:LibreMetaverse.TransferError`.
///
/// Native Rust mapping of C# `LibreMetaverse.TransferError` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(i32)]
pub enum TransferError {
    /// C# member: `F:LibreMetaverse.TransferError.AssetNotFound`.
    ///
    /// C# signature: `LibreMetaverse.TransferError LibreMetaverse.TransferError.AssetNotFound`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    AssetNotFound = -3,
    /// C# member: `F:LibreMetaverse.TransferError.AssetNotFoundInDatabase`.
    ///
    /// C# signature: `LibreMetaverse.TransferError LibreMetaverse.TransferError.AssetNotFoundInDatabase`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    AssetNotFoundInDatabase = -4,
    /// C# member: `F:LibreMetaverse.TransferError.CannotOpenFile`.
    ///
    /// C# signature: `LibreMetaverse.TransferError LibreMetaverse.TransferError.CannotOpenFile`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    CannotOpenFile = -42,
    /// C# member: `F:LibreMetaverse.TransferError.CircuitGone`.
    ///
    /// C# signature: `LibreMetaverse.TransferError LibreMetaverse.TransferError.CircuitGone`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    CircuitGone = -23017,
    /// C# member: `F:LibreMetaverse.TransferError.EOF`.
    ///
    /// C# signature: `LibreMetaverse.TransferError LibreMetaverse.TransferError.EOF`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    EOF = -39,
    /// C# member: `F:LibreMetaverse.TransferError.Failed`.
    ///
    /// C# signature: `LibreMetaverse.TransferError LibreMetaverse.TransferError.Failed`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Failed = -1,
    /// C# member: `F:LibreMetaverse.TransferError.FileIsEmpty`.
    ///
    /// C# signature: `LibreMetaverse.TransferError LibreMetaverse.TransferError.FileIsEmpty`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    FileIsEmpty = -44,
    /// C# member: `F:LibreMetaverse.TransferError.FileNotFound`.
    ///
    /// C# signature: `LibreMetaverse.TransferError LibreMetaverse.TransferError.FileNotFound`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    FileNotFound = -43,
    /// C# member: `F:LibreMetaverse.TransferError.InsufficientPermissions`.
    ///
    /// C# signature: `LibreMetaverse.TransferError LibreMetaverse.TransferError.InsufficientPermissions`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    InsufficientPermissions = -5,
    /// C# member: `F:LibreMetaverse.TransferError.None`.
    ///
    /// C# signature: `LibreMetaverse.TransferError LibreMetaverse.TransferError.None`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    None = 0,
    /// C# member: `F:LibreMetaverse.TransferError.TCPTimeout`.
    ///
    /// C# signature: `LibreMetaverse.TransferError LibreMetaverse.TransferError.TCPTimeout`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    TCPTimeout = -23016,
}

/// C# type: `T:LibreMetaverse.Tree`.
///
/// Native Rust mapping of C# `LibreMetaverse.Tree` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(u8)]
pub enum Tree {
    /// C# member: `F:LibreMetaverse.Tree.BeachGrass1`.
    ///
    /// C# signature: `LibreMetaverse.Tree LibreMetaverse.Tree.BeachGrass1`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    BeachGrass1 = 19,
    /// C# member: `F:LibreMetaverse.Tree.Cypress1`.
    ///
    /// C# signature: `LibreMetaverse.Tree LibreMetaverse.Tree.Cypress1`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Cypress1 = 7,
    /// C# member: `F:LibreMetaverse.Tree.Cypress2`.
    ///
    /// C# signature: `LibreMetaverse.Tree LibreMetaverse.Tree.Cypress2`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Cypress2 = 8,
    /// C# member: `F:LibreMetaverse.Tree.Dogwood`.
    ///
    /// C# signature: `LibreMetaverse.Tree LibreMetaverse.Tree.Dogwood`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Dogwood = 4,
    /// C# member: `F:LibreMetaverse.Tree.Eelgrass`.
    ///
    /// C# signature: `LibreMetaverse.Tree LibreMetaverse.Tree.Eelgrass`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Eelgrass = 16,
    /// C# member: `F:LibreMetaverse.Tree.Eucalyptus`.
    ///
    /// C# signature: `LibreMetaverse.Tree LibreMetaverse.Tree.Eucalyptus`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Eucalyptus = 14,
    /// C# member: `F:LibreMetaverse.Tree.Fern`.
    ///
    /// C# signature: `LibreMetaverse.Tree LibreMetaverse.Tree.Fern`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Fern = 15,
    /// C# member: `F:LibreMetaverse.Tree.Kelp1`.
    ///
    /// C# signature: `LibreMetaverse.Tree LibreMetaverse.Tree.Kelp1`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Kelp1 = 18,
    /// C# member: `F:LibreMetaverse.Tree.Kelp2`.
    ///
    /// C# signature: `LibreMetaverse.Tree LibreMetaverse.Tree.Kelp2`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Kelp2 = 20,
    /// C# member: `F:LibreMetaverse.Tree.Oak`.
    ///
    /// C# signature: `LibreMetaverse.Tree LibreMetaverse.Tree.Oak`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Oak = 1,
    /// C# member: `F:LibreMetaverse.Tree.Palm1`.
    ///
    /// C# signature: `LibreMetaverse.Tree LibreMetaverse.Tree.Palm1`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Palm1 = 3,
    /// C# member: `F:LibreMetaverse.Tree.Palm2`.
    ///
    /// C# signature: `LibreMetaverse.Tree LibreMetaverse.Tree.Palm2`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Palm2 = 6,
    /// C# member: `F:LibreMetaverse.Tree.Pine1`.
    ///
    /// C# signature: `LibreMetaverse.Tree LibreMetaverse.Tree.Pine1`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Pine1 = 0,
    /// C# member: `F:LibreMetaverse.Tree.Pine2`.
    ///
    /// C# signature: `LibreMetaverse.Tree LibreMetaverse.Tree.Pine2`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Pine2 = 9,
    /// C# member: `F:LibreMetaverse.Tree.Plumeria`.
    ///
    /// C# signature: `LibreMetaverse.Tree LibreMetaverse.Tree.Plumeria`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Plumeria = 10,
    /// C# member: `F:LibreMetaverse.Tree.SeaSword`.
    ///
    /// C# signature: `LibreMetaverse.Tree LibreMetaverse.Tree.SeaSword`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    SeaSword = 17,
    /// C# member: `F:LibreMetaverse.Tree.TropicalBush1`.
    ///
    /// C# signature: `LibreMetaverse.Tree LibreMetaverse.Tree.TropicalBush1`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    TropicalBush1 = 2,
    /// C# member: `F:LibreMetaverse.Tree.TropicalBush2`.
    ///
    /// C# signature: `LibreMetaverse.Tree LibreMetaverse.Tree.TropicalBush2`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    TropicalBush2 = 5,
    /// C# member: `F:LibreMetaverse.Tree.WinterAspen`.
    ///
    /// C# signature: `LibreMetaverse.Tree LibreMetaverse.Tree.WinterAspen`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    WinterAspen = 12,
    /// C# member: `F:LibreMetaverse.Tree.WinterPine1`.
    ///
    /// C# signature: `LibreMetaverse.Tree LibreMetaverse.Tree.WinterPine1`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    WinterPine1 = 11,
    /// C# member: `F:LibreMetaverse.Tree.WinterPine2`.
    ///
    /// C# signature: `LibreMetaverse.Tree LibreMetaverse.Tree.WinterPine2`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    WinterPine2 = 13,
}

/// C# type: `T:LibreMetaverse.TreeDefinition`.
///
/// Native Rust mapping of C# `LibreMetaverse.TreeDefinition` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `P:LibreMetaverse.TreeDefinition.BillboardRatio`.
///
/// C# signature: `System.Single LibreMetaverse.TreeDefinition.BillboardRatio`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.TreeDefinition.BillboardScale`.
///
/// C# signature: `System.Single LibreMetaverse.TreeDefinition.BillboardScale`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.TreeDefinition.BranchAspect`.
///
/// C# signature: `System.Single LibreMetaverse.TreeDefinition.BranchAspect`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.TreeDefinition.BranchLength`.
///
/// C# signature: `System.Single LibreMetaverse.TreeDefinition.BranchLength`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.TreeDefinition.Branches`.
///
/// C# signature: `System.Single LibreMetaverse.TreeDefinition.Branches`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.TreeDefinition.Depth`.
///
/// C# signature: `System.Int32 LibreMetaverse.TreeDefinition.Depth`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.TreeDefinition.Droop`.
///
/// C# signature: `System.Single LibreMetaverse.TreeDefinition.Droop`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.TreeDefinition.LeafRotate`.
///
/// C# signature: `System.Single LibreMetaverse.TreeDefinition.LeafRotate`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.TreeDefinition.LeafScale`.
///
/// C# signature: `System.Single LibreMetaverse.TreeDefinition.LeafScale`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.TreeDefinition.Name`.
///
/// C# signature: `System.String LibreMetaverse.TreeDefinition.Name`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.TreeDefinition.NoiseMag`.
///
/// C# signature: `System.Single LibreMetaverse.TreeDefinition.NoiseMag`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.TreeDefinition.NoiseScale`.
///
/// C# signature: `System.Single LibreMetaverse.TreeDefinition.NoiseScale`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.TreeDefinition.RepeatZ`.
///
/// C# signature: `System.Int32 LibreMetaverse.TreeDefinition.RepeatZ`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.TreeDefinition.ScaleStep`.
///
/// C# signature: `System.Single LibreMetaverse.TreeDefinition.ScaleStep`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.TreeDefinition.SpeciesId`.
///
/// C# signature: `System.Int32 LibreMetaverse.TreeDefinition.SpeciesId`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.TreeDefinition.Taper`.
///
/// C# signature: `System.Single LibreMetaverse.TreeDefinition.Taper`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.TreeDefinition.TextureId`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.TreeDefinition.TextureId`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.TreeDefinition.TrunkAspect`.
///
/// C# signature: `System.Single LibreMetaverse.TreeDefinition.TrunkAspect`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.TreeDefinition.TrunkDepth`.
///
/// C# signature: `System.Single LibreMetaverse.TreeDefinition.TrunkDepth`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.TreeDefinition.TrunkLength`.
///
/// C# signature: `System.Single LibreMetaverse.TreeDefinition.TrunkLength`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.TreeDefinition.Twist`.
///
/// C# signature: `System.Single LibreMetaverse.TreeDefinition.Twist`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::foliage_catalog::TreeDefinition;

/// C# type: `T:LibreMetaverse.TreeDefinitions`.
///
/// Native Rust mapping of C# `LibreMetaverse.TreeDefinitions` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `F:LibreMetaverse.TreeDefinitions.All`.
///
/// C# signature: `LibreMetaverse.TreeDefinition[] LibreMetaverse.TreeDefinitions.All`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
/// C# member: `M:LibreMetaverse.TreeDefinitions.Get(LibreMetaverse.Tree)`.
///
/// C# signature: `LibreMetaverse.TreeDefinition& LibreMetaverse.TreeDefinitions.Get(LibreMetaverse.Tree species)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
pub use crate::foliage_catalog::TreeDefinitions;

/// C# type: `T:LibreMetaverse.UDPBase`.
///
/// Native Rust mapping of C# `LibreMetaverse.UDPBase` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.UDPBase.AsyncBeginSend(LibreMetaverse.UDPPacketBuffer)`.
///
/// C# signature: `System.Void LibreMetaverse.UDPBase.AsyncBeginSend(LibreMetaverse.UDPPacketBuffer buf)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.UDPBase.Start`.
///
/// C# signature: `System.Void LibreMetaverse.UDPBase.Start()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.UDPBase.Stop`.
///
/// C# signature: `System.Void LibreMetaverse.UDPBase.Stop()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.UDPBase.IsRunning`.
///
/// C# signature: `System.Boolean LibreMetaverse.UDPBase.IsRunning`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::udp_transport::UDPBase;

/// C# type: `T:LibreMetaverse.UDPPacketBuffer`.
///
/// Native Rust mapping of C# `LibreMetaverse.UDPPacketBuffer` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `F:LibreMetaverse.UDPPacketBuffer.DEFAULT_BUFFER_SIZE`.
///
/// C# signature: `System.Int32 LibreMetaverse.UDPPacketBuffer.DEFAULT_BUFFER_SIZE`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.UDPPacketBuffer.Data`.
///
/// C# signature: `System.Byte[] LibreMetaverse.UDPPacketBuffer.Data`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.UDPPacketBuffer.DataLength`.
///
/// C# signature: `System.Int32 LibreMetaverse.UDPPacketBuffer.DataLength`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.UDPPacketBuffer.RemoteEndPoint`.
///
/// C# signature: `System.Net.EndPoint LibreMetaverse.UDPPacketBuffer.RemoteEndPoint`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `M:LibreMetaverse.UDPPacketBuffer.#ctor`.
///
/// C# signature: `LibreMetaverse.UDPPacketBuffer()`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.UDPPacketBuffer.#ctor(System.Byte[],System.Int32,System.Net.IPEndPoint,System.Int32)`.
///
/// C# signature: `LibreMetaverse.UDPPacketBuffer(System.Byte[] buffer, System.Int32 bufferSize, System.Net.IPEndPoint destination, System.Int32 category)`.
/// Mapping contract: ownership `owned,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.UDPPacketBuffer.#ctor(System.Net.IPEndPoint)`.
///
/// C# signature: `LibreMetaverse.UDPPacketBuffer(System.Net.IPEndPoint endPoint)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.UDPPacketBuffer.#ctor(System.Net.IPEndPoint,System.Byte[])`.
///
/// C# signature: `LibreMetaverse.UDPPacketBuffer(System.Net.IPEndPoint endPoint, System.Byte[] data)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.UDPPacketBuffer.#ctor(System.Net.IPEndPoint,System.Int32)`.
///
/// C# signature: `LibreMetaverse.UDPPacketBuffer(System.Net.IPEndPoint endPoint, System.Int32 bufferSize)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.UDPPacketBuffer.CopyFrom(System.Array)`.
///
/// C# signature: `System.Void LibreMetaverse.UDPPacketBuffer.CopyFrom(System.Array src)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.UDPPacketBuffer.CopyFrom(System.Array,System.Int32)`.
///
/// C# signature: `System.Void LibreMetaverse.UDPPacketBuffer.CopyFrom(System.Array src, System.Int32 length)`.
/// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.UDPPacketBuffer.ResetEndpoint`.
///
/// C# signature: `System.Void LibreMetaverse.UDPPacketBuffer.ResetEndpoint()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
pub use crate::udp_transport::UDPPacketBuffer;

/// C# type: `T:LibreMetaverse.UUIDNameReplyEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.UUIDNameReplyEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
pub struct UUIDNameReplyEventArgs {
    property_0: std::collections::HashMap<libremetaverse_types::UUID, String>,
}
impl UUIDNameReplyEventArgs {
    /// C# member: `M:LibreMetaverse.UUIDNameReplyEventArgs.#ctor(System.Collections.Generic.Dictionary{LibreMetaverse.UUID,System.String})`.
    ///
    /// C# signature: `LibreMetaverse.UUIDNameReplyEventArgs(System.Collections.Generic.Dictionary<LibreMetaverse.UUID, System.String> names)`.
    /// Mapping contract: ownership `owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn new(
        names: std::collections::HashMap<libremetaverse_types::UUID, String>,
    ) -> Result<Self, crate::Error> {
        /* complete generated data model */
        Ok(Self { property_0: names })
    }
    /// C# member: `P:LibreMetaverse.UUIDNameReplyEventArgs.Names`.
    ///
    /// C# signature: `System.Collections.Generic.Dictionary<LibreMetaverse.UUID, System.String> LibreMetaverse.UUIDNameReplyEventArgs.Names`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn names(&self) -> std::collections::HashMap<libremetaverse_types::UUID, String> {
        /* complete generated data model */
        self.property_0.clone()
    }
}

/// C# type: `T:LibreMetaverse.UpdateType`.
///
/// Native Rust mapping of C# `LibreMetaverse.UpdateType` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(transparent)]
pub struct UpdateType(pub u32);
impl UpdateType {
    /// C# member: `F:LibreMetaverse.UpdateType.Linked`.
    ///
    /// C# signature: `LibreMetaverse.UpdateType LibreMetaverse.UpdateType.Linked`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const LINKED: Self = Self(8);
    /// C# member: `F:LibreMetaverse.UpdateType.None`.
    ///
    /// C# signature: `LibreMetaverse.UpdateType LibreMetaverse.UpdateType.None`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const NONE: Self = Self(0);
    /// C# member: `F:LibreMetaverse.UpdateType.Position`.
    ///
    /// C# signature: `LibreMetaverse.UpdateType LibreMetaverse.UpdateType.Position`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const POSITION: Self = Self(1);
    /// C# member: `F:LibreMetaverse.UpdateType.Rotation`.
    ///
    /// C# signature: `LibreMetaverse.UpdateType LibreMetaverse.UpdateType.Rotation`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const ROTATION: Self = Self(2);
    /// C# member: `F:LibreMetaverse.UpdateType.Scale`.
    ///
    /// C# signature: `LibreMetaverse.UpdateType LibreMetaverse.UpdateType.Scale`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const SCALE: Self = Self(4);
    /// C# member: `F:LibreMetaverse.UpdateType.Uniform`.
    ///
    /// C# signature: `LibreMetaverse.UpdateType LibreMetaverse.UpdateType.Uniform`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const UNIFORM: Self = Self(16);
}

/// C# type: `T:LibreMetaverse.ViewerBenefitsEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.ViewerBenefitsEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.ViewerBenefitsEventArgs.#ctor(LibreMetaverse.Messages.Linden.ViewerBenefitsMessage)`.
///
/// C# signature: `LibreMetaverse.ViewerBenefitsEventArgs(LibreMetaverse.Messages.Linden.ViewerBenefitsMessage benefits)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.ViewerBenefitsEventArgs.Benefits`.
///
/// C# signature: `LibreMetaverse.Messages.Linden.ViewerBenefitsMessage LibreMetaverse.ViewerBenefitsEventArgs.Benefits`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::agent_messages::ViewerBenefitsEventArgs;

/// C# type: `T:LibreMetaverse.ViewerEffectEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.ViewerEffectEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
pub struct ViewerEffectEventArgs {
    property_0: f32,
    property_1: libremetaverse_types::UUID,
    property_2: libremetaverse_types::UUID,
    property_3: libremetaverse_types::UUID,
    property_4: libremetaverse_types::Vector3d,
    property_5: libremetaverse::EffectType,
}
impl ViewerEffectEventArgs {
    /// C# member: `M:LibreMetaverse.ViewerEffectEventArgs.#ctor(LibreMetaverse.EffectType,LibreMetaverse.UUID,LibreMetaverse.UUID,LibreMetaverse.Vector3d,System.Single,LibreMetaverse.UUID)`.
    ///
    /// C# signature: `LibreMetaverse.ViewerEffectEventArgs(LibreMetaverse.EffectType type, LibreMetaverse.UUID sourceID, LibreMetaverse.UUID targetID, LibreMetaverse.Vector3d targetPos, System.Single duration, LibreMetaverse.UUID id)`.
    /// Mapping contract: ownership `owned,owned,owned,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn new(
        type_: libremetaverse::EffectType,
        source_id: libremetaverse_types::UUID,
        target_id: libremetaverse_types::UUID,
        target_pos: libremetaverse_types::Vector3d,
        duration: f32,
        id: libremetaverse_types::UUID,
    ) -> Result<Self, crate::Error> {
        /* complete generated data model */
        Ok(Self {
            property_0: duration,
            property_1: id,
            property_2: source_id,
            property_3: target_id,
            property_4: target_pos,
            property_5: type_,
        })
    }
    /// C# member: `P:LibreMetaverse.ViewerEffectEventArgs.Duration`.
    ///
    /// C# signature: `System.Single LibreMetaverse.ViewerEffectEventArgs.Duration`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn duration(&self) -> f32 {
        /* complete generated data model */
        self.property_0.clone()
    }
    /// C# member: `P:LibreMetaverse.ViewerEffectEventArgs.EffectID`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.ViewerEffectEventArgs.EffectID`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn effect_id(&self) -> libremetaverse_types::UUID {
        /* complete generated data model */
        self.property_1.clone()
    }
    /// C# member: `P:LibreMetaverse.ViewerEffectEventArgs.SourceID`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.ViewerEffectEventArgs.SourceID`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn source_id(&self) -> libremetaverse_types::UUID {
        /* complete generated data model */
        self.property_2.clone()
    }
    /// C# member: `P:LibreMetaverse.ViewerEffectEventArgs.TargetID`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.ViewerEffectEventArgs.TargetID`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn target_id(&self) -> libremetaverse_types::UUID {
        /* complete generated data model */
        self.property_3.clone()
    }
    /// C# member: `P:LibreMetaverse.ViewerEffectEventArgs.TargetPosition`.
    ///
    /// C# signature: `LibreMetaverse.Vector3d LibreMetaverse.ViewerEffectEventArgs.TargetPosition`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn target_position(&self) -> libremetaverse_types::Vector3d {
        /* complete generated data model */
        self.property_4.clone()
    }
    /// C# member: `P:LibreMetaverse.ViewerEffectEventArgs.Type`.
    ///
    /// C# signature: `LibreMetaverse.EffectType LibreMetaverse.ViewerEffectEventArgs.Type`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn type_(&self) -> libremetaverse::EffectType {
        /* complete generated data model */
        self.property_5.clone()
    }
}

/// C# type: `T:LibreMetaverse.ViewerEffectLookAtEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.ViewerEffectLookAtEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
pub struct ViewerEffectLookAtEventArgs {
    property_0: f32,
    property_1: libremetaverse_types::UUID,
    property_2: libremetaverse::LookAtType,
    property_3: libremetaverse_types::UUID,
    property_4: libremetaverse_types::UUID,
    property_5: libremetaverse_types::Vector3d,
}
impl ViewerEffectLookAtEventArgs {
    /// C# member: `M:LibreMetaverse.ViewerEffectLookAtEventArgs.#ctor(LibreMetaverse.UUID,LibreMetaverse.UUID,LibreMetaverse.Vector3d,LibreMetaverse.LookAtType,System.Single,LibreMetaverse.UUID)`.
    ///
    /// C# signature: `LibreMetaverse.ViewerEffectLookAtEventArgs(LibreMetaverse.UUID sourceID, LibreMetaverse.UUID targetID, LibreMetaverse.Vector3d targetPos, LibreMetaverse.LookAtType lookType, System.Single duration, LibreMetaverse.UUID id)`.
    /// Mapping contract: ownership `owned,owned,owned,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn new(
        source_id: libremetaverse_types::UUID,
        target_id: libremetaverse_types::UUID,
        target_pos: libremetaverse_types::Vector3d,
        look_type: libremetaverse::LookAtType,
        duration: f32,
        id: libremetaverse_types::UUID,
    ) -> Result<Self, crate::Error> {
        /* complete generated data model */
        Ok(Self {
            property_0: duration,
            property_1: id,
            property_2: look_type,
            property_3: source_id,
            property_4: target_id,
            property_5: target_pos,
        })
    }
    /// C# member: `P:LibreMetaverse.ViewerEffectLookAtEventArgs.Duration`.
    ///
    /// C# signature: `System.Single LibreMetaverse.ViewerEffectLookAtEventArgs.Duration`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn duration(&self) -> f32 {
        /* complete generated data model */
        self.property_0.clone()
    }
    /// C# member: `P:LibreMetaverse.ViewerEffectLookAtEventArgs.EffectID`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.ViewerEffectLookAtEventArgs.EffectID`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn effect_id(&self) -> libremetaverse_types::UUID {
        /* complete generated data model */
        self.property_1.clone()
    }
    /// C# member: `P:LibreMetaverse.ViewerEffectLookAtEventArgs.LookType`.
    ///
    /// C# signature: `LibreMetaverse.LookAtType LibreMetaverse.ViewerEffectLookAtEventArgs.LookType`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn look_type(&self) -> libremetaverse::LookAtType {
        /* complete generated data model */
        self.property_2.clone()
    }
    /// C# member: `P:LibreMetaverse.ViewerEffectLookAtEventArgs.SourceID`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.ViewerEffectLookAtEventArgs.SourceID`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn source_id(&self) -> libremetaverse_types::UUID {
        /* complete generated data model */
        self.property_3.clone()
    }
    /// C# member: `P:LibreMetaverse.ViewerEffectLookAtEventArgs.TargetID`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.ViewerEffectLookAtEventArgs.TargetID`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn target_id(&self) -> libremetaverse_types::UUID {
        /* complete generated data model */
        self.property_4.clone()
    }
    /// C# member: `P:LibreMetaverse.ViewerEffectLookAtEventArgs.TargetPosition`.
    ///
    /// C# signature: `LibreMetaverse.Vector3d LibreMetaverse.ViewerEffectLookAtEventArgs.TargetPosition`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn target_position(&self) -> libremetaverse_types::Vector3d {
        /* complete generated data model */
        self.property_5.clone()
    }
}

/// C# type: `T:LibreMetaverse.ViewerEffectPointAtEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.ViewerEffectPointAtEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
pub struct ViewerEffectPointAtEventArgs {
    property_0: f32,
    property_1: libremetaverse_types::UUID,
    property_2: libremetaverse::PointAtType,
    property_3: libremetaverse::Simulator,
    property_4: libremetaverse_types::UUID,
    property_5: libremetaverse_types::UUID,
    property_6: libremetaverse_types::Vector3d,
}
impl ViewerEffectPointAtEventArgs {
    /// C# member: `M:LibreMetaverse.ViewerEffectPointAtEventArgs.#ctor(LibreMetaverse.Simulator,LibreMetaverse.UUID,LibreMetaverse.UUID,LibreMetaverse.Vector3d,LibreMetaverse.PointAtType,System.Single,LibreMetaverse.UUID)`.
    ///
    /// C# signature: `LibreMetaverse.ViewerEffectPointAtEventArgs(LibreMetaverse.Simulator simulator, LibreMetaverse.UUID sourceID, LibreMetaverse.UUID targetID, LibreMetaverse.Vector3d targetPos, LibreMetaverse.PointAtType pointType, System.Single duration, LibreMetaverse.UUID id)`.
    /// Mapping contract: ownership `owned,owned,owned,owned,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn new(
        simulator: libremetaverse::Simulator,
        source_id: libremetaverse_types::UUID,
        target_id: libremetaverse_types::UUID,
        target_pos: libremetaverse_types::Vector3d,
        point_type: libremetaverse::PointAtType,
        duration: f32,
        id: libremetaverse_types::UUID,
    ) -> Result<Self, crate::Error> {
        /* complete generated data model */
        Ok(Self {
            property_0: duration,
            property_1: id,
            property_2: point_type,
            property_3: simulator,
            property_4: source_id,
            property_5: target_id,
            property_6: target_pos,
        })
    }
    /// C# member: `P:LibreMetaverse.ViewerEffectPointAtEventArgs.Duration`.
    ///
    /// C# signature: `System.Single LibreMetaverse.ViewerEffectPointAtEventArgs.Duration`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn duration(&self) -> f32 {
        /* complete generated data model */
        self.property_0.clone()
    }
    /// C# member: `P:LibreMetaverse.ViewerEffectPointAtEventArgs.EffectID`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.ViewerEffectPointAtEventArgs.EffectID`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn effect_id(&self) -> libremetaverse_types::UUID {
        /* complete generated data model */
        self.property_1.clone()
    }
    /// C# member: `P:LibreMetaverse.ViewerEffectPointAtEventArgs.PointType`.
    ///
    /// C# signature: `LibreMetaverse.PointAtType LibreMetaverse.ViewerEffectPointAtEventArgs.PointType`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn point_type(&self) -> libremetaverse::PointAtType {
        /* complete generated data model */
        self.property_2.clone()
    }
    /// C# member: `P:LibreMetaverse.ViewerEffectPointAtEventArgs.Simulator`.
    ///
    /// C# signature: `LibreMetaverse.Simulator LibreMetaverse.ViewerEffectPointAtEventArgs.Simulator`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn simulator(&self) -> libremetaverse::Simulator {
        /* complete generated data model */
        self.property_3.clone()
    }
    /// C# member: `P:LibreMetaverse.ViewerEffectPointAtEventArgs.SourceID`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.ViewerEffectPointAtEventArgs.SourceID`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn source_id(&self) -> libremetaverse_types::UUID {
        /* complete generated data model */
        self.property_4.clone()
    }
    /// C# member: `P:LibreMetaverse.ViewerEffectPointAtEventArgs.TargetID`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.ViewerEffectPointAtEventArgs.TargetID`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn target_id(&self) -> libremetaverse_types::UUID {
        /* complete generated data model */
        self.property_5.clone()
    }
    /// C# member: `P:LibreMetaverse.ViewerEffectPointAtEventArgs.TargetPosition`.
    ///
    /// C# signature: `LibreMetaverse.Vector3d LibreMetaverse.ViewerEffectPointAtEventArgs.TargetPosition`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn target_position(&self) -> libremetaverse_types::Vector3d {
        /* complete generated data model */
        self.property_6.clone()
    }
}

/// C# type: `T:LibreMetaverse.ViewerUriType`.
///
/// Native Rust mapping of C# `LibreMetaverse.ViewerUriType` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(i32)]
pub enum ViewerUriType {
    /// C# member: `F:LibreMetaverse.ViewerUriType.Application`.
    ///
    /// C# signature: `LibreMetaverse.ViewerUriType LibreMetaverse.ViewerUriType.Application`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Application = 2,
    /// C# member: `F:LibreMetaverse.ViewerUriType.Location`.
    ///
    /// C# signature: `LibreMetaverse.ViewerUriType LibreMetaverse.ViewerUriType.Location`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Location = 1,
    /// C# member: `F:LibreMetaverse.ViewerUriType.Unknown`.
    ///
    /// C# signature: `LibreMetaverse.ViewerUriType LibreMetaverse.ViewerUriType.Unknown`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Unknown = 0,
}

/// C# type: `T:LibreMetaverse.VisualAlphaParam`.
///
/// Native Rust mapping of C# `LibreMetaverse.VisualAlphaParam` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `F:LibreMetaverse.VisualAlphaParam.Domain`.
///
/// C# signature: `System.Single LibreMetaverse.VisualAlphaParam.Domain`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.VisualAlphaParam.MultiplyBlend`.
///
/// C# signature: `System.Boolean LibreMetaverse.VisualAlphaParam.MultiplyBlend`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.VisualAlphaParam.SkipIfZero`.
///
/// C# signature: `System.Boolean LibreMetaverse.VisualAlphaParam.SkipIfZero`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.VisualAlphaParam.TGAFile`.
///
/// C# signature: `System.String LibreMetaverse.VisualAlphaParam.TGAFile`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `M:LibreMetaverse.VisualAlphaParam.#ctor(System.Single,System.String,System.Boolean,System.Boolean)`.
///
/// C# signature: `LibreMetaverse.VisualAlphaParam(System.Single domain, System.String tgaFile, System.Boolean skipIfZero, System.Boolean multiplyBlend)`.
/// Mapping contract: ownership `owned,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
pub use crate::visual_catalog::VisualAlphaParam;

/// C# type: `T:LibreMetaverse.VisualColorOperation`.
///
/// Native Rust mapping of C# `LibreMetaverse.VisualColorOperation` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(i32)]
pub enum VisualColorOperation {
    /// C# member: `F:LibreMetaverse.VisualColorOperation.Add`.
    ///
    /// C# signature: `LibreMetaverse.VisualColorOperation LibreMetaverse.VisualColorOperation.Add`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Add = 0,
    /// C# member: `F:LibreMetaverse.VisualColorOperation.Blend`.
    ///
    /// C# signature: `LibreMetaverse.VisualColorOperation LibreMetaverse.VisualColorOperation.Blend`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Blend = 1,
    /// C# member: `F:LibreMetaverse.VisualColorOperation.Multiply`.
    ///
    /// C# signature: `LibreMetaverse.VisualColorOperation LibreMetaverse.VisualColorOperation.Multiply`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Multiply = 2,
}

/// C# type: `T:LibreMetaverse.VisualColorParam`.
///
/// Native Rust mapping of C# `LibreMetaverse.VisualColorParam` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `F:LibreMetaverse.VisualColorParam.Colors`.
///
/// C# signature: `LibreMetaverse.Color4[] LibreMetaverse.VisualColorParam.Colors`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.VisualColorParam.Operation`.
///
/// C# signature: `LibreMetaverse.VisualColorOperation LibreMetaverse.VisualColorParam.Operation`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `M:LibreMetaverse.VisualColorParam.#ctor(LibreMetaverse.VisualColorOperation,LibreMetaverse.Color4[])`.
///
/// C# signature: `LibreMetaverse.VisualColorParam(LibreMetaverse.VisualColorOperation operation, LibreMetaverse.Color4[] colors)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
pub use crate::visual_catalog::VisualColorParam;

/// C# type: `T:LibreMetaverse.VisualParam`.
///
/// Native Rust mapping of C# `LibreMetaverse.VisualParam` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `F:LibreMetaverse.VisualParam.AlphaParams`.
///
/// C# signature: `System.Nullable<LibreMetaverse.VisualAlphaParam> LibreMetaverse.VisualParam.AlphaParams`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.VisualParam.ColorParams`.
///
/// C# signature: `System.Nullable<LibreMetaverse.VisualColorParam> LibreMetaverse.VisualParam.ColorParams`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.VisualParam.DefaultValue`.
///
/// C# signature: `System.Single LibreMetaverse.VisualParam.DefaultValue`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.VisualParam.DrivenParams`.
///
/// C# signature: `LibreMetaverse.DrivenParamInfo[] LibreMetaverse.VisualParam.DrivenParams`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.VisualParam.Drivers`.
///
/// C# signature: `System.Int32[] LibreMetaverse.VisualParam.Drivers`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.VisualParam.Group`.
///
/// C# signature: `System.Int32 LibreMetaverse.VisualParam.Group`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.VisualParam.IsBumpAttribute`.
///
/// C# signature: `System.Boolean LibreMetaverse.VisualParam.IsBumpAttribute`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.VisualParam.Label`.
///
/// C# signature: `System.String LibreMetaverse.VisualParam.Label`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.VisualParam.LabelMax`.
///
/// C# signature: `System.String LibreMetaverse.VisualParam.LabelMax`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.VisualParam.LabelMin`.
///
/// C# signature: `System.String LibreMetaverse.VisualParam.LabelMin`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.VisualParam.MaxValue`.
///
/// C# signature: `System.Single LibreMetaverse.VisualParam.MaxValue`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.VisualParam.MinValue`.
///
/// C# signature: `System.Single LibreMetaverse.VisualParam.MinValue`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.VisualParam.Name`.
///
/// C# signature: `System.String LibreMetaverse.VisualParam.Name`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.VisualParam.ParamID`.
///
/// C# signature: `System.Int32 LibreMetaverse.VisualParam.ParamID`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.VisualParam.SkeletalDistortions`.
///
/// C# signature: `LibreMetaverse.SkeletalBoneInfo[] LibreMetaverse.VisualParam.SkeletalDistortions`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.VisualParam.VolumeMorphs`.
///
/// C# signature: `LibreMetaverse.VolumeMorphInfo[] LibreMetaverse.VisualParam.VolumeMorphs`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.VisualParam.Wearable`.
///
/// C# signature: `System.String LibreMetaverse.VisualParam.Wearable`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `M:LibreMetaverse.VisualParam.#ctor(System.Int32,System.String,System.Int32,System.String,System.String,System.String,System.String,System.Single,System.Single,System.Single,System.Boolean,System.Int32[],System.Nullable{LibreMetaverse.VisualAlphaParam},System.Nullable{LibreMetaverse.VisualColorParam},LibreMetaverse.DrivenParamInfo[],LibreMetaverse.SkeletalBoneInfo[],LibreMetaverse.VolumeMorphInfo[])`.
///
/// C# signature: `LibreMetaverse.VisualParam(System.Int32 paramID, System.String name, System.Int32 group, System.String wearable, System.String label, System.String labelMin, System.String labelMax, System.Single def, System.Single min, System.Single max, System.Boolean isBumpAttribute, System.Int32[] drivers, System.Nullable<LibreMetaverse.VisualAlphaParam> alpha, System.Nullable<LibreMetaverse.VisualColorParam> colorParams, LibreMetaverse.DrivenParamInfo[] drivenParams = default, LibreMetaverse.SkeletalBoneInfo[] skeletalDistortions = default, LibreMetaverse.VolumeMorphInfo[] volumeMorphs = default)`.
/// Mapping contract: ownership `owned,owned,owned,owned,owned,owned,owned,owned,owned,owned,owned,owned,owned,owned,optional_owned,optional_owned,optional_owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
pub use crate::visual_catalog::VisualParam;

/// C# type: `T:LibreMetaverse.VisualParams`.
///
/// Native Rust mapping of C# `LibreMetaverse.VisualParams` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `F:LibreMetaverse.VisualParams.Group0ParamIds`.
///
/// C# signature: `System.Int32[] LibreMetaverse.VisualParams.Group0ParamIds`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
/// C# member: `F:LibreMetaverse.VisualParams.Params`.
///
/// C# signature: `System.Collections.Generic.SortedList<System.Int32, LibreMetaverse.VisualParam> LibreMetaverse.VisualParams.Params`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
/// C# member: `M:LibreMetaverse.VisualParams.Find(System.String,System.String)`.
///
/// C# signature: `LibreMetaverse.VisualParam LibreMetaverse.VisualParams.Find(System.String name, System.String wearable)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
pub use crate::visual_catalog::VisualParams;

/// C# type: `T:LibreMetaverse.VolumeMorphInfo`.
///
/// Native Rust mapping of C# `LibreMetaverse.VolumeMorphInfo` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `F:LibreMetaverse.VolumeMorphInfo.BoneName`.
///
/// C# signature: `System.String LibreMetaverse.VolumeMorphInfo.BoneName`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.VolumeMorphInfo.HasPosition`.
///
/// C# signature: `System.Boolean LibreMetaverse.VolumeMorphInfo.HasPosition`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.VolumeMorphInfo.HasScale`.
///
/// C# signature: `System.Boolean LibreMetaverse.VolumeMorphInfo.HasScale`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.VolumeMorphInfo.PositionDelta`.
///
/// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.VolumeMorphInfo.PositionDelta`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.VolumeMorphInfo.ScaleDelta`.
///
/// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.VolumeMorphInfo.ScaleDelta`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `M:LibreMetaverse.VolumeMorphInfo.#ctor(System.String,LibreMetaverse.Vector3,System.Boolean,LibreMetaverse.Vector3,System.Boolean)`.
///
/// C# signature: `LibreMetaverse.VolumeMorphInfo(System.String boneName, LibreMetaverse.Vector3 scaleDelta, System.Boolean hasScale, LibreMetaverse.Vector3 positionDelta, System.Boolean hasPosition)`.
/// Mapping contract: ownership `owned,owned,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
pub use crate::visual_catalog::VolumeMorphInfo;

/// C# type: `T:LibreMetaverse.Vote`.
///
/// Native Rust mapping of C# `LibreMetaverse.Vote` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
pub struct Vote {
    /// C# member: `F:LibreMetaverse.Vote.Candidate`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Vote.Candidate`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub candidate: libremetaverse_types::UUID,
    /// C# member: `F:LibreMetaverse.Vote.NumVotes`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.Vote.NumVotes`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub num_votes: i32,
    /// C# member: `F:LibreMetaverse.Vote.VoteString`.
    ///
    /// C# signature: `System.String LibreMetaverse.Vote.VoteString`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub vote_string: String,
}
impl Vote {}

/// C# type: `T:LibreMetaverse.WorldSettings`.
///
/// Native Rust mapping of C# `LibreMetaverse.WorldSettings` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct WorldSettings {
    /// C# member: `F:LibreMetaverse.WorldSettings.AlwaysDecodeObjects`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.WorldSettings.AlwaysDecodeObjects`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub always_decode_objects: bool,
    /// C# member: `F:LibreMetaverse.WorldSettings.AlwaysRequestObjects`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.WorldSettings.AlwaysRequestObjects`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub always_request_objects: bool,
    /// C# member: `F:LibreMetaverse.WorldSettings.CachePrimitives`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.WorldSettings.CachePrimitives`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub cache_primitives: bool,
    /// C# member: `F:LibreMetaverse.WorldSettings.StoreLandPatches`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.WorldSettings.StoreLandPatches`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub store_land_patches: bool,
    /// C# member: `F:LibreMetaverse.WorldSettings.TrackAvatars`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.WorldSettings.TrackAvatars`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub track_avatars: bool,
    /// C# member: `F:LibreMetaverse.WorldSettings.TrackObjects`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.WorldSettings.TrackObjects`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub track_objects: bool,
    /// C# member: `F:LibreMetaverse.WorldSettings.UseInterpolationTimer`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.WorldSettings.UseInterpolationTimer`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub use_interpolation_timer: bool,
}
impl WorldSettings {
    /// C# member: `M:LibreMetaverse.WorldSettings.#ctor`.
    ///
    /// C# signature: `LibreMetaverse.WorldSettings()`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn new() -> Result<Self, crate::Error> {
        /* native client-core implementation */
        Ok(crate::client_core::world_settings_defaults())
    }
}

/// C# type: `T:LibreMetaverse.XferDownload`.
///
/// Native Rust mapping of C# `LibreMetaverse.XferDownload` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `F:LibreMetaverse.XferDownload.Error`.
///
/// C# signature: `LibreMetaverse.TransferError LibreMetaverse.XferDownload.Error`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.XferDownload.Filename`.
///
/// C# signature: `System.String LibreMetaverse.XferDownload.Filename`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.XferDownload.PacketNum`.
///
/// C# signature: `System.UInt32 LibreMetaverse.XferDownload.PacketNum`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.XferDownload.VFileID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.XferDownload.VFileID`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.XferDownload.XferID`.
///
/// C# signature: `System.UInt64 LibreMetaverse.XferDownload.XferID`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `M:LibreMetaverse.XferDownload.#ctor`.
///
/// C# signature: `LibreMetaverse.XferDownload()`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
pub use crate::transfers::XferDownload;

/// C# type: `T:LibreMetaverse.XferReceivedEventArgs`.
///
/// Native Rust mapping of C# `LibreMetaverse.XferReceivedEventArgs` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.XferReceivedEventArgs.#ctor(LibreMetaverse.XferDownload)`.
///
/// C# signature: `LibreMetaverse.XferReceivedEventArgs(LibreMetaverse.XferDownload xfer)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.XferReceivedEventArgs.Xfer`.
///
/// C# signature: `LibreMetaverse.XferDownload LibreMetaverse.XferReceivedEventArgs.Xfer`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::transfers::XferReceivedEventArgs;

/// C# type: `T:LibreMetaverse.binBVHJoint`.
///
/// Native Rust mapping of C# `LibreMetaverse.binBVHJoint` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
pub use crate::animation::BinBVHJoint;
/// C# member: `F:LibreMetaverse.binBVHJoint.Name`.
///
/// C# signature: `System.String LibreMetaverse.binBVHJoint.Name`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.binBVHJoint.Priority`.
///
/// C# signature: `System.Int32 LibreMetaverse.binBVHJoint.Priority`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.binBVHJoint.Tag`.
///
/// C# signature: `System.Object LibreMetaverse.binBVHJoint.Tag`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.binBVHJoint.positionkeys`.
///
/// C# signature: `LibreMetaverse.binBVHJointKey[] LibreMetaverse.binBVHJoint.positionkeys`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.binBVHJoint.rotationkeys`.
///
/// C# signature: `LibreMetaverse.binBVHJointKey[] LibreMetaverse.binBVHJoint.rotationkeys`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
impl BinBVHJoint {
    /// C# member: `M:LibreMetaverse.binBVHJoint.Equals(LibreMetaverse.binBVHJoint)`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.binBVHJoint.Equals(LibreMetaverse.binBVHJoint other)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `infallible_placeholder`; overload `descriptive_overload_name`; kind `method`.
    pub fn equals_with_bin_bvh_joint(&self, other: libremetaverse::BinBVHJoint) -> bool {
        /* reviewed native compatibility body */
        self.native_equals(&other)
    }
    /// C# member: `M:LibreMetaverse.binBVHJoint.Equals(LibreMetaverse.binBVHJointKey,LibreMetaverse.binBVHJointKey)`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.binBVHJoint.Equals(LibreMetaverse.binBVHJointKey arr1, LibreMetaverse.binBVHJointKey arr2)`.
    /// Mapping contract: ownership `owned,owned`; async `sync`;
    /// errors `infallible_placeholder`; overload `descriptive_overload_name`; kind `method`.
    pub fn equals_with_bin_bvh_joint_key_bin_bvh_joint_key(
        arr1: libremetaverse::BinBVHJointKey,
        arr2: libremetaverse::BinBVHJointKey,
    ) -> bool {
        /* reviewed native compatibility body */
        crate::animation::key_equal(&arr1, &arr2)
    }
    /// C# member: `M:LibreMetaverse.binBVHJoint.Equals(LibreMetaverse.binBVHJointKey[],LibreMetaverse.binBVHJointKey[])`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.binBVHJoint.Equals(LibreMetaverse.binBVHJointKey[] arr1, LibreMetaverse.binBVHJointKey[] arr2)`.
    /// Mapping contract: ownership `owned,owned`; async `sync`;
    /// errors `infallible_placeholder`; overload `descriptive_overload_name`; kind `method`.
    pub fn equals_with_bin_bvh_joint_key_array_bin_bvh_joint_key_array(
        arr1: Vec<libremetaverse::BinBVHJointKey>,
        arr2: Vec<libremetaverse::BinBVHJointKey>,
    ) -> bool {
        /* reviewed native compatibility body */
        crate::animation::keys_equal(&arr1, &arr2)
    }
    /// C# member: `M:LibreMetaverse.binBVHJoint.Equals(System.Object)`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.binBVHJoint.Equals(System.Object obj)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `infallible_placeholder`; overload `descriptive_overload_name`; kind `method`.
    pub fn equals_with_object(&self, obj: Option<libremetaverse_types::compat::Object>) -> bool {
        /* reviewed native compatibility body */
        obj.as_ref()
            .and_then(|value| value.downcast_ref::<crate::animation::BinBVHJoint>())
            .is_some_and(|other| self.native_equals(other))
    }
    /// C# member: `M:LibreMetaverse.binBVHJoint.GetHashCode`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.binBVHJoint.GetHashCode()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
    pub fn get_hash_code(&self) -> i32 {
        /* reviewed native compatibility body */
        self.native_get_hash_code()
    }
    /// C# member: `M:LibreMetaverse.binBVHJoint.op_Equality(LibreMetaverse.binBVHJoint,LibreMetaverse.binBVHJoint)`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.binBVHJoint.op_Equality(LibreMetaverse.binBVHJoint left, LibreMetaverse.binBVHJoint right)`.
    /// Mapping contract: ownership `owned,owned`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
    pub fn eq(left: libremetaverse::BinBVHJoint, right: libremetaverse::BinBVHJoint) -> bool {
        /* reviewed native compatibility body */
        left.native_equals(&right)
    }
    /// C# member: `M:LibreMetaverse.binBVHJoint.op_Inequality(LibreMetaverse.binBVHJoint,LibreMetaverse.binBVHJoint)`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.binBVHJoint.op_Inequality(LibreMetaverse.binBVHJoint left, LibreMetaverse.binBVHJoint right)`.
    /// Mapping contract: ownership `owned,owned`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
    pub fn ne(left: libremetaverse::BinBVHJoint, right: libremetaverse::BinBVHJoint) -> bool {
        /* reviewed native compatibility body */
        !left.native_equals(&right)
    }
}

/// C# type: `T:LibreMetaverse.binBVHJointKey`.
///
/// Native Rust mapping of C# `LibreMetaverse.binBVHJointKey` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
pub use crate::animation::BinBVHJointKey;
/// C# member: `F:LibreMetaverse.binBVHJointKey.key_element`.
///
/// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.binBVHJointKey.key_element`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.binBVHJointKey.time`.
///
/// C# signature: `System.Single LibreMetaverse.binBVHJointKey.time`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
impl BinBVHJointKey {}

pub mod animesh {
    /// C# type: `T:LibreMetaverse.Animesh.AnimationTrack`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Animesh.AnimationTrack` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub use crate::animesh_runtime::AnimationTrack;
    impl AnimationTrack {
        /// C# member: `M:LibreMetaverse.Animesh.AnimationTrack.Advance(System.Single)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Animesh.AnimationTrack.Advance(System.Single dt)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn advance(&mut self, dt: f32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            self.native_advance(dt)
        }
        /// C# member: `M:LibreMetaverse.Animesh.AnimationTrack.EvaluatePose(System.Collections.Generic.Dictionary{System.String,LibreMetaverse.Animesh.JointPose})`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Animesh.AnimationTrack.EvaluatePose(System.Collections.Generic.Dictionary<System.String, LibreMetaverse.Animesh.JointPose> pose)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn evaluate_pose(
            &self,
            pose: &mut std::collections::HashMap<String, libremetaverse::animesh::JointPose>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            self.native_evaluate_pose(pose)
        }
        /// C# member: `P:LibreMetaverse.Animesh.AnimationTrack.AnimationID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animesh.AnimationTrack.AnimationID`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn animation_id(&self) -> libremetaverse_types::UUID {
            /* reviewed native compatibility body */
            self.native_animation_id()
        }
        /// C# member: `P:LibreMetaverse.Animesh.AnimationTrack.CurrentTime`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Animesh.AnimationTrack.CurrentTime`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn current_time(&self) -> f32 {
            /* reviewed native compatibility body */
            self.native_current_time()
        }
        /// Setter for C# member: `P:LibreMetaverse.Animesh.AnimationTrack.CurrentTime`.
        pub fn set_current_time(&mut self, value: f32) {
            /* reviewed native compatibility body */
            self.native_set_current_time(value)
        }
        /// C# member: `P:LibreMetaverse.Animesh.AnimationTrack.Data`.
        ///
        /// C# signature: `LibreMetaverse.BinBVHAnimationReader LibreMetaverse.Animesh.AnimationTrack.Data`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn data(&self) -> Option<libremetaverse::BinBVHAnimationReader> {
            /* reviewed native compatibility body */
            self.native_data()
        }
        /// Setter for C# member: `P:LibreMetaverse.Animesh.AnimationTrack.Data`.
        pub fn set_data(&mut self, value: Option<libremetaverse::BinBVHAnimationReader>) {
            /* reviewed native compatibility body */
            self.native_set_data(value)
        }
        /// C# member: `P:LibreMetaverse.Animesh.AnimationTrack.EaseWeight`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Animesh.AnimationTrack.EaseWeight`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn ease_weight(&self) -> f32 {
            /* reviewed native compatibility body */
            self.native_ease_weight()
        }
        /// C# member: `P:LibreMetaverse.Animesh.AnimationTrack.IsFinished`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Animesh.AnimationTrack.IsFinished`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn is_finished(&self) -> bool {
            /* reviewed native compatibility body */
            self.native_is_finished()
        }
        /// Setter for C# member: `P:LibreMetaverse.Animesh.AnimationTrack.IsFinished`.
        pub fn set_is_finished(&mut self, value: bool) {
            /* reviewed native compatibility body */
            self.native_set_is_finished(value)
        }
    }

    /// C# type: `T:LibreMetaverse.Animesh.AnimeshManager`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Animesh.AnimeshManager` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub use crate::animesh_runtime::AnimeshManager;
    impl AnimeshManager {
        /// C# member: `M:LibreMetaverse.Animesh.AnimeshManager.GetPlayer(LibreMetaverse.UUID)`.
        ///
        /// C# signature: `LibreMetaverse.Animesh.AnimeshPlayer LibreMetaverse.Animesh.AnimeshManager.GetPlayer(LibreMetaverse.UUID objectID)`.
        /// Mapping contract: ownership `shared_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn get_player(
            &self,
            object_id: libremetaverse_types::UUID,
        ) -> Result<Option<libremetaverse::animesh::AnimeshPlayer>, crate::Error> {
            /* reviewed native compatibility body */
            Ok(self.native_get_player(object_id))
        }
        /// C# member: `M:LibreMetaverse.Animesh.AnimeshManager.RemovePlayer(LibreMetaverse.UUID)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Animesh.AnimeshManager.RemovePlayer(LibreMetaverse.UUID objectID)`.
        /// Mapping contract: ownership `shared_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn remove_player(
            &self,
            object_id: libremetaverse_types::UUID,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            self.native_remove_player(object_id);
            Ok(())
        }
        /// C# member: `M:LibreMetaverse.Animesh.AnimeshManager.Update(System.Single)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Animesh.AnimeshManager.Update(System.Single dt)`.
        /// Mapping contract: ownership `shared_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn update(&self, dt: f32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            self.native_update(dt)
        }
        /// C# member: `P:LibreMetaverse.Animesh.AnimeshManager.AllPlayers`.
        ///
        /// C# signature: `System.Collections.Generic.IEnumerable<LibreMetaverse.Animesh.AnimeshPlayer> LibreMetaverse.Animesh.AnimeshManager.AllPlayers`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn all_players(
            &self,
        ) -> Box<dyn Iterator<Item = libremetaverse::animesh::AnimeshPlayer>> {
            /* reviewed native compatibility body */
            Box::new(self.native_all_players().into_iter())
        }
    }

    /// C# type: `T:LibreMetaverse.Animesh.AnimeshPlayer`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Animesh.AnimeshPlayer` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub use crate::animesh_runtime::AnimeshPlayer;
    impl AnimeshPlayer {
        /// C# member: `M:LibreMetaverse.Animesh.AnimeshPlayer.EvaluatePose`.
        ///
        /// C# signature: `System.Collections.Generic.Dictionary<System.String, LibreMetaverse.Animesh.JointPose> LibreMetaverse.Animesh.AnimeshPlayer.EvaluatePose()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn evaluate_pose(
            &self,
        ) -> Result<
            std::collections::HashMap<String, libremetaverse::animesh::JointPose>,
            crate::Error,
        > {
            /* reviewed native compatibility body */
            self.native_evaluate_pose()
        }
        /// C# member: `M:LibreMetaverse.Animesh.AnimeshPlayer.Update(System.Single)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Animesh.AnimeshPlayer.Update(System.Single dt)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn update(&mut self, dt: f32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            self.native_update(dt)
        }
        /// C# member: `P:LibreMetaverse.Animesh.AnimeshPlayer.ObjectID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Animesh.AnimeshPlayer.ObjectID`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn object_id(&self) -> libremetaverse_types::UUID {
            /* reviewed native compatibility body */
            self.native_object_id()
        }
        /// C# member: `P:LibreMetaverse.Animesh.AnimeshPlayer.TrackCount`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Animesh.AnimeshPlayer.TrackCount`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn track_count(&self) -> i32 {
            /* reviewed native compatibility body */
            self.native_track_count()
        }
    }

    /// C# type: `T:LibreMetaverse.Animesh.JointPose`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Animesh.JointPose` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub use crate::animesh_runtime::JointPose;
    /// C# member: `F:LibreMetaverse.Animesh.JointPose.EaseWeight`.
    ///
    /// C# signature: `System.Single LibreMetaverse.Animesh.JointPose.EaseWeight`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Animesh.JointPose.HasPosition`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.Animesh.JointPose.HasPosition`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Animesh.JointPose.HasRotation`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.Animesh.JointPose.HasRotation`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Animesh.JointPose.Position`.
    ///
    /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Animesh.JointPose.Position`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Animesh.JointPose.Priority`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.Animesh.JointPose.Priority`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Animesh.JointPose.Rotation`.
    ///
    /// C# signature: `LibreMetaverse.Quaternion LibreMetaverse.Animesh.JointPose.Rotation`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    impl JointPose {}
}

pub mod appearance {
    /// C# type: `T:LibreMetaverse.Appearance.CompositeCurrentOutfitPolicy`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Appearance.CompositeCurrentOutfitPolicy` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub use crate::current_outfit::CompositeCurrentOutfitPolicy;
    impl CompositeCurrentOutfitPolicy {
        /// C# member: `M:LibreMetaverse.Appearance.CompositeCurrentOutfitPolicy.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Appearance.CompositeCurrentOutfitPolicy()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn new() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            crate::current_outfit::CompositeCurrentOutfitPolicy::native_new()
        }
        /// C# member: `M:LibreMetaverse.Appearance.CompositeCurrentOutfitPolicy.AddPolicy(LibreMetaverse.Appearance.ICurrentOutfitPolicy)`.
        ///
        /// C# signature: `LibreMetaverse.Appearance.CompositeCurrentOutfitPolicy LibreMetaverse.Appearance.CompositeCurrentOutfitPolicy.AddPolicy(LibreMetaverse.Appearance.ICurrentOutfitPolicy policyToAdd)`.
        /// Mapping contract: ownership `shared_self,optional_shared`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn add_policy(
            &self,
            policy_to_add: Option<
                std::sync::Arc<dyn libremetaverse::appearance::ICurrentOutfitPolicy>,
            >,
        ) -> Result<&Self, crate::Error> {
            /* reviewed native compatibility body */
            self.native_add_policy(policy_to_add)
        }
        /// C# member: `M:LibreMetaverse.Appearance.CompositeCurrentOutfitPolicy.CanAttach(LibreMetaverse.InventoryItem)`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Appearance.CompositeCurrentOutfitPolicy.CanAttach(LibreMetaverse.InventoryItem item)`.
        /// Mapping contract: ownership `shared_self,optional_shared`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn can_attach(
            &self,
            item: Option<std::sync::Arc<libremetaverse::InventoryItem>>,
        ) -> Result<bool, crate::Error> {
            /* reviewed native compatibility body */
            self.native_can_attach(item)
        }
        /// C# member: `M:LibreMetaverse.Appearance.CompositeCurrentOutfitPolicy.CanDetach(LibreMetaverse.InventoryItem)`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Appearance.CompositeCurrentOutfitPolicy.CanDetach(LibreMetaverse.InventoryItem item)`.
        /// Mapping contract: ownership `shared_self,optional_shared`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn can_detach(
            &self,
            item: Option<std::sync::Arc<libremetaverse::InventoryItem>>,
        ) -> Result<bool, crate::Error> {
            /* reviewed native compatibility body */
            self.native_can_detach(item)
        }
        /// C# member: `M:LibreMetaverse.Appearance.CompositeCurrentOutfitPolicy.RemovePolicy(LibreMetaverse.Appearance.ICurrentOutfitPolicy)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Appearance.CompositeCurrentOutfitPolicy.RemovePolicy(LibreMetaverse.Appearance.ICurrentOutfitPolicy policyToRemove)`.
        /// Mapping contract: ownership `shared_self,optional_shared`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn remove_policy(
            &self,
            policy_to_remove: Option<
                std::sync::Arc<dyn libremetaverse::appearance::ICurrentOutfitPolicy>,
            >,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            self.native_remove_policy(policy_to_remove)
        }
        /// C# member: `M:LibreMetaverse.Appearance.CompositeCurrentOutfitPolicy.ReportItemChangeAsync(System.Collections.Generic.List{LibreMetaverse.InventoryItem},System.Collections.Generic.List{LibreMetaverse.InventoryItem},System.Threading.CancellationToken)`.
        ///
        /// C# signature: `System.Threading.Tasks.Task LibreMetaverse.Appearance.CompositeCurrentOutfitPolicy.ReportItemChangeAsync(System.Collections.Generic.List<LibreMetaverse.InventoryItem> addedItems, System.Collections.Generic.List<LibreMetaverse.InventoryItem> removedItems, System.Threading.CancellationToken cancellationToken = default)`.
        /// Mapping contract: ownership `shared_self,optional_shared,optional_shared,optional_owned`; async `async`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub async fn report_item_change(
            &self,
            added_items: Option<std::sync::Arc<Vec<libremetaverse::InventoryItem>>>,
            removed_items: Option<std::sync::Arc<Vec<libremetaverse::InventoryItem>>>,
            cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            self.native_report_item_change(added_items, removed_items, cancellation_token)
                .await
        }
    }

    /// C# type: `T:LibreMetaverse.Appearance.CurrentOutfitFolder`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Appearance.CurrentOutfitFolder` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub use crate::current_outfit::CurrentOutfitFolder;
    impl CurrentOutfitFolder {
        /// C# member: `M:LibreMetaverse.Appearance.CurrentOutfitFolder.#ctor(LibreMetaverse.GridClient)`.
        ///
        /// C# signature: `LibreMetaverse.Appearance.CurrentOutfitFolder(LibreMetaverse.GridClient client)`.
        /// Mapping contract: ownership `optional_shared`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn new(
            client: Option<std::sync::Arc<libremetaverse::GridClient>>,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            crate::current_outfit::CurrentOutfitFolder::native_new(client)
        }
        /// C# member: `M:LibreMetaverse.Appearance.CurrentOutfitFolder.AddPolicy(LibreMetaverse.Appearance.ICurrentOutfitPolicy)`.
        ///
        /// C# signature: `LibreMetaverse.Appearance.ICurrentOutfitPolicy LibreMetaverse.Appearance.CurrentOutfitFolder.AddPolicy(LibreMetaverse.Appearance.ICurrentOutfitPolicy policyToAdd)`.
        /// Mapping contract: ownership `shared_self,shared`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn add_policy(
            &self,
            policy_to_add: std::sync::Arc<dyn libremetaverse::appearance::ICurrentOutfitPolicy>,
        ) -> Result<
            std::sync::Arc<dyn libremetaverse::appearance::ICurrentOutfitPolicy>,
            crate::Error,
        > {
            /* reviewed native compatibility body */
            self.native_add_policy(policy_to_add)
        }
        /// C# member: `M:LibreMetaverse.Appearance.CurrentOutfitFolder.AddToOutfitAsync(LibreMetaverse.InventoryItem,System.Boolean,System.Threading.CancellationToken)`.
        ///
        /// C# signature: `System.Threading.Tasks.Task LibreMetaverse.Appearance.CurrentOutfitFolder.AddToOutfitAsync(LibreMetaverse.InventoryItem item, System.Boolean replace, System.Threading.CancellationToken cancellationToken = default)`.
        /// Mapping contract: ownership `shared_self,owned,owned,optional_owned`; async `async`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub async fn add_to_outfit_with_inventory_item_boolean_cancellation_token(
            &self,
            item: libremetaverse::InventoryItem,
            replace: bool,
            cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            self.native_add_to_outfit(vec![item], replace, cancellation_token)
                .await
        }
        /// C# member: `M:LibreMetaverse.Appearance.CurrentOutfitFolder.AddToOutfitAsync(System.Collections.Generic.List{LibreMetaverse.InventoryItem},System.Boolean,System.Threading.CancellationToken)`.
        ///
        /// C# signature: `System.Threading.Tasks.Task LibreMetaverse.Appearance.CurrentOutfitFolder.AddToOutfitAsync(System.Collections.Generic.List<LibreMetaverse.InventoryItem> requestedItemsToAdd, System.Boolean replace, System.Threading.CancellationToken cancellationToken = default)`.
        /// Mapping contract: ownership `shared_self,owned,owned,optional_owned`; async `async`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub async fn add_to_outfit_with_list_boolean_cancellation_token(
            &self,
            requested_items_to_add: Vec<libremetaverse::InventoryItem>,
            replace: bool,
            cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            self.native_add_to_outfit(requested_items_to_add, replace, cancellation_token)
                .await
        }
        /// C# member: `M:LibreMetaverse.Appearance.CurrentOutfitFolder.AttachAsync(LibreMetaverse.InventoryItem,LibreMetaverse.AttachmentPoint,System.Boolean,System.Threading.CancellationToken)`.
        ///
        /// C# signature: `System.Threading.Tasks.Task LibreMetaverse.Appearance.CurrentOutfitFolder.AttachAsync(LibreMetaverse.InventoryItem item, LibreMetaverse.AttachmentPoint point, System.Boolean replace, System.Threading.CancellationToken cancellationToken = default)`.
        /// Mapping contract: ownership `shared_self,owned,owned,owned,optional_owned`; async `async`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub async fn attach(
            &self,
            item: libremetaverse::InventoryItem,
            point: libremetaverse_types::AttachmentPoint,
            replace: bool,
            cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            self.native_attach(item, point, replace, cancellation_token)
                .await
        }
        /// C# member: `M:LibreMetaverse.Appearance.CurrentOutfitFolder.CanAttachItemAsync(LibreMetaverse.InventoryItem,System.Threading.CancellationToken)`.
        ///
        /// C# signature: `System.Threading.Tasks.Task<System.Boolean> LibreMetaverse.Appearance.CurrentOutfitFolder.CanAttachItemAsync(LibreMetaverse.InventoryItem item, System.Threading.CancellationToken cancellationToken = default)`.
        /// Mapping contract: ownership `shared_self,owned,optional_owned`; async `async`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub async fn can_attach_item(
            &self,
            item: libremetaverse::InventoryItem,
            cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
        ) -> Result<bool, crate::Error> {
            /* reviewed native compatibility body */
            self.native_can_attach_item(item, cancellation_token).await
        }
        /// C# member: `M:LibreMetaverse.Appearance.CurrentOutfitFolder.CanDetachItemAsync(LibreMetaverse.InventoryItem,System.Threading.CancellationToken)`.
        ///
        /// C# signature: `System.Threading.Tasks.Task<System.Boolean> LibreMetaverse.Appearance.CurrentOutfitFolder.CanDetachItemAsync(LibreMetaverse.InventoryItem item, System.Threading.CancellationToken cancellationToken = default)`.
        /// Mapping contract: ownership `shared_self,owned,optional_owned`; async `async`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub async fn can_detach_item(
            &self,
            item: libremetaverse::InventoryItem,
            cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
        ) -> Result<bool, crate::Error> {
            /* reviewed native compatibility body */
            self.native_can_detach_item(item, cancellation_token).await
        }
        /// C# member: `M:LibreMetaverse.Appearance.CurrentOutfitFolder.DetachAsync(LibreMetaverse.InventoryItem,System.Threading.CancellationToken)`.
        ///
        /// C# signature: `System.Threading.Tasks.Task LibreMetaverse.Appearance.CurrentOutfitFolder.DetachAsync(LibreMetaverse.InventoryItem item, System.Threading.CancellationToken cancellationToken = default)`.
        /// Mapping contract: ownership `shared_self,owned,optional_owned`; async `async`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub async fn detach(
            &self,
            item: libremetaverse::InventoryItem,
            cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            self.native_detach(item, cancellation_token).await
        }
        /// C# member: `M:LibreMetaverse.Appearance.CurrentOutfitFolder.Dispose`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Appearance.CurrentOutfitFolder.Dispose()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn dispose(&self) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            self.native_dispose()
        }
        /// C# member: `M:LibreMetaverse.Appearance.CurrentOutfitFolder.FetchParentAsync(LibreMetaverse.InventoryBase,System.Threading.CancellationToken)`.
        ///
        /// C# signature: `System.Threading.Tasks.Task<LibreMetaverse.InventoryBase> LibreMetaverse.Appearance.CurrentOutfitFolder.FetchParentAsync(LibreMetaverse.InventoryBase item, System.Threading.CancellationToken cancellationToken = default)`.
        /// Mapping contract: ownership `shared_self,owned,optional_owned`; async `async`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub async fn fetch_parent(
            &self,
            item: libremetaverse::InventoryBase,
            cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
        ) -> Result<Option<libremetaverse::InventoryBase>, crate::Error> {
            /* reviewed native compatibility body */
            self.native_fetch_parent(item, cancellation_token).await
        }
        /// C# member: `M:LibreMetaverse.Appearance.CurrentOutfitFolder.GetAttachmentItemID(LibreMetaverse.Primitive)`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Appearance.CurrentOutfitFolder.GetAttachmentItemID(LibreMetaverse.Primitive prim)`.
        /// Mapping contract: ownership `owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn get_attachment_item_id(
            prim: libremetaverse::Primitive,
        ) -> Result<libremetaverse_types::UUID, crate::Error> {
            /* reviewed native compatibility body */
            crate::current_outfit::CurrentOutfitFolder::native_get_attachment_item_id(prim)
        }
        /// C# member: `M:LibreMetaverse.Appearance.CurrentOutfitFolder.GetCurrentOutfitLinksAsync(System.Threading.CancellationToken)`.
        ///
        /// C# signature: `System.Threading.Tasks.Task<System.Collections.Generic.List<LibreMetaverse.InventoryItem>> LibreMetaverse.Appearance.CurrentOutfitFolder.GetCurrentOutfitLinksAsync(System.Threading.CancellationToken cancellationToken = default)`.
        /// Mapping contract: ownership `shared_self,optional_owned`; async `async`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub async fn get_current_outfit_links(
            &self,
            cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
        ) -> Result<Vec<libremetaverse::InventoryItem>, crate::Error> {
            /* reviewed native compatibility body */
            self.native_get_current_outfit_links(cancellation_token)
                .await
        }
        /// C# member: `M:LibreMetaverse.Appearance.CurrentOutfitFolder.GetWornAtAsync(LibreMetaverse.WearableType,System.Threading.CancellationToken)`.
        ///
        /// C# signature: `System.Threading.Tasks.Task<System.Collections.Generic.List<LibreMetaverse.InventoryItem>> LibreMetaverse.Appearance.CurrentOutfitFolder.GetWornAtAsync(LibreMetaverse.WearableType type, System.Threading.CancellationToken cancellationToken = default)`.
        /// Mapping contract: ownership `shared_self,owned,optional_owned`; async `async`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub async fn get_worn_at(
            &self,
            type_: libremetaverse_types::WearableType,
            cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
        ) -> Result<Vec<libremetaverse::InventoryItem>, crate::Error> {
            /* reviewed native compatibility body */
            self.native_get_worn_at(type_, cancellation_token).await
        }
        /// C# member: `M:LibreMetaverse.Appearance.CurrentOutfitFolder.IsObjectDescendentOfAsync(LibreMetaverse.InventoryBase,LibreMetaverse.UUID,System.Threading.CancellationToken)`.
        ///
        /// C# signature: `System.Threading.Tasks.Task<System.Boolean> LibreMetaverse.Appearance.CurrentOutfitFolder.IsObjectDescendentOfAsync(LibreMetaverse.InventoryBase item, LibreMetaverse.UUID parentId, System.Threading.CancellationToken cancellationToken = default)`.
        /// Mapping contract: ownership `shared_self,owned,owned,optional_owned`; async `async`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub async fn is_object_descendent_of(
            &self,
            item: libremetaverse::InventoryBase,
            parent_id: libremetaverse_types::UUID,
            cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
        ) -> Result<bool, crate::Error> {
            /* reviewed native compatibility body */
            self.native_is_object_descendent_of(item, parent_id, cancellation_token)
                .await
        }
        /// C# member: `M:LibreMetaverse.Appearance.CurrentOutfitFolder.RemoveFromOutfitAsync(LibreMetaverse.InventoryItem,System.Threading.CancellationToken)`.
        ///
        /// C# signature: `System.Threading.Tasks.Task LibreMetaverse.Appearance.CurrentOutfitFolder.RemoveFromOutfitAsync(LibreMetaverse.InventoryItem item, System.Threading.CancellationToken cancellationToken = default)`.
        /// Mapping contract: ownership `shared_self,owned,optional_owned`; async `async`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub async fn remove_from_outfit_with_inventory_item_cancellation_token(
            &self,
            item: libremetaverse::InventoryItem,
            cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            self.native_remove_from_outfit(vec![item], cancellation_token)
                .await
        }
        /// C# member: `M:LibreMetaverse.Appearance.CurrentOutfitFolder.RemoveFromOutfitAsync(System.Collections.Generic.List{LibreMetaverse.InventoryItem},System.Threading.CancellationToken)`.
        ///
        /// C# signature: `System.Threading.Tasks.Task LibreMetaverse.Appearance.CurrentOutfitFolder.RemoveFromOutfitAsync(System.Collections.Generic.List<LibreMetaverse.InventoryItem> requestedItemsToRemove, System.Threading.CancellationToken cancellationToken = default)`.
        /// Mapping contract: ownership `shared_self,owned,optional_owned`; async `async`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub async fn remove_from_outfit_with_list_cancellation_token(
            &self,
            requested_items_to_remove: Vec<libremetaverse::InventoryItem>,
            cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            self.native_remove_from_outfit(requested_items_to_remove, cancellation_token)
                .await
        }
        /// C# member: `M:LibreMetaverse.Appearance.CurrentOutfitFolder.RemovePolicy(LibreMetaverse.Appearance.ICurrentOutfitPolicy)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Appearance.CurrentOutfitFolder.RemovePolicy(LibreMetaverse.Appearance.ICurrentOutfitPolicy policyToRemove)`.
        /// Mapping contract: ownership `shared_self,shared`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn remove_policy(
            &self,
            policy_to_remove: std::sync::Arc<dyn libremetaverse::appearance::ICurrentOutfitPolicy>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            self.native_remove_policy(policy_to_remove)
        }
        /// C# member: `M:LibreMetaverse.Appearance.CurrentOutfitFolder.ReplaceOutfitAsync(LibreMetaverse.UUID,System.Threading.CancellationToken)`.
        ///
        /// C# signature: `System.Threading.Tasks.Task<System.Boolean> LibreMetaverse.Appearance.CurrentOutfitFolder.ReplaceOutfitAsync(LibreMetaverse.UUID newOutfitFolderId, System.Threading.CancellationToken cancellationToken = default)`.
        /// Mapping contract: ownership `shared_self,owned,optional_owned`; async `async`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub async fn replace_outfit(
            &self,
            new_outfit_folder_id: libremetaverse_types::UUID,
            cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
        ) -> Result<bool, crate::Error> {
            /* reviewed native compatibility body */
            self.native_replace_outfit(new_outfit_folder_id, cancellation_token)
                .await
        }
        /// C# member: `M:LibreMetaverse.Appearance.CurrentOutfitFolder.ResolveInventoryLink(LibreMetaverse.InventoryItem)`.
        ///
        /// C# signature: `LibreMetaverse.InventoryItem LibreMetaverse.Appearance.CurrentOutfitFolder.ResolveInventoryLink(LibreMetaverse.InventoryItem itemLink)`.
        /// Mapping contract: ownership `shared_self,shared`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn resolve_inventory_link(
            &self,
            item_link: std::sync::Arc<libremetaverse::InventoryItem>,
        ) -> Result<Option<std::sync::Arc<libremetaverse::InventoryItem>>, crate::Error> {
            /* reviewed native compatibility body */
            self.native_resolve_inventory_link(item_link)
        }
        /// C# member: `P:LibreMetaverse.Appearance.CurrentOutfitFolder.COF`.
        ///
        /// C# signature: `LibreMetaverse.InventoryFolder LibreMetaverse.Appearance.CurrentOutfitFolder.COF`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn cof(&self) -> Option<libremetaverse::InventoryFolder> {
            /* reviewed native compatibility body */
            self.native_cof()
        }
        /// Setter for C# member: `P:LibreMetaverse.Appearance.CurrentOutfitFolder.COF`.
        pub fn set_cof(&mut self, value: Option<libremetaverse::InventoryFolder>) {
            /* reviewed native compatibility body */
            self.native_set_cof(value)
        }
        /// C# member: `P:LibreMetaverse.Appearance.CurrentOutfitFolder.MaxClothingLayers`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Appearance.CurrentOutfitFolder.MaxClothingLayers`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn max_clothing_layers(&self) -> i32 {
            /* reviewed native compatibility body */
            crate::current_outfit::MAX_CLOTHING_LAYERS
        }
    }

    /// C# type: `T:LibreMetaverse.Appearance.ICurrentOutfitPolicy`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Appearance.ICurrentOutfitPolicy` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub trait ICurrentOutfitPolicy: Send + Sync {
        /// C# member: `M:LibreMetaverse.Appearance.ICurrentOutfitPolicy.CanAttach(LibreMetaverse.InventoryItem)`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Appearance.ICurrentOutfitPolicy.CanAttach(LibreMetaverse.InventoryItem item)`.
        /// Mapping contract: ownership `shared_self,optional_shared`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        fn can_attach(
            &self,
            item: Option<std::sync::Arc<libremetaverse::InventoryItem>>,
        ) -> Result<bool, crate::Error> {
            /* reviewed native compatibility body */
            crate::current_outfit::default_policy_decision(item)
        }
        /// C# member: `M:LibreMetaverse.Appearance.ICurrentOutfitPolicy.CanDetach(LibreMetaverse.InventoryItem)`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Appearance.ICurrentOutfitPolicy.CanDetach(LibreMetaverse.InventoryItem item)`.
        /// Mapping contract: ownership `shared_self,optional_shared`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        fn can_detach(
            &self,
            item: Option<std::sync::Arc<libremetaverse::InventoryItem>>,
        ) -> Result<bool, crate::Error> {
            /* reviewed native compatibility body */
            crate::current_outfit::default_policy_decision(item)
        }
        /// C# member: `M:LibreMetaverse.Appearance.ICurrentOutfitPolicy.ReportItemChangeAsync(System.Collections.Generic.List{LibreMetaverse.InventoryItem},System.Collections.Generic.List{LibreMetaverse.InventoryItem},System.Threading.CancellationToken)`.
        ///
        /// C# signature: `System.Threading.Tasks.Task LibreMetaverse.Appearance.ICurrentOutfitPolicy.ReportItemChangeAsync(System.Collections.Generic.List<LibreMetaverse.InventoryItem> addedItems, System.Collections.Generic.List<LibreMetaverse.InventoryItem> removedItems, System.Threading.CancellationToken cancellationToken = default)`.
        /// Mapping contract: ownership `shared_self,optional_shared,optional_shared,optional_owned`; async `boxed_future`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        fn report_item_change(
            &self,
            added_items: Option<std::sync::Arc<Vec<libremetaverse::InventoryItem>>>,
            removed_items: Option<std::sync::Arc<Vec<libremetaverse::InventoryItem>>>,
            cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
        ) -> std::pin::Pin<
            Box<dyn std::future::Future<Output = Result<(), crate::Error>> + Send + '_>,
        > {
            /* reviewed native compatibility body */
            crate::current_outfit::default_policy_report(
                added_items,
                removed_items,
                cancellation_token,
            )
        }
    }

    /// C# type: `T:LibreMetaverse.Appearance.InitialOutfit`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Appearance.InitialOutfit` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub use crate::initial_outfit::InitialOutfit;
    impl InitialOutfit {
        /// C# member: `M:LibreMetaverse.Appearance.InitialOutfit.#ctor(LibreMetaverse.GridClient,LibreMetaverse.Appearance.CurrentOutfitFolder)`.
        ///
        /// C# signature: `LibreMetaverse.Appearance.InitialOutfit(LibreMetaverse.GridClient client, LibreMetaverse.Appearance.CurrentOutfitFolder cof)`.
        /// Mapping contract: ownership `owned,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn new(
            client: libremetaverse::GridClient,
            cof: libremetaverse::appearance::CurrentOutfitFolder,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            crate::initial_outfit::InitialOutfit::native_new(client, cof)
        }
        /// C# member: `M:LibreMetaverse.Appearance.InitialOutfit.CheckSystemFoldersAsync(System.Threading.CancellationToken)`.
        ///
        /// C# signature: `System.Threading.Tasks.Task LibreMetaverse.Appearance.InitialOutfit.CheckSystemFoldersAsync(System.Threading.CancellationToken cancellationToken = default)`.
        /// Mapping contract: ownership `shared_self,optional_owned`; async `async`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub async fn check_system_folders(
            &self,
            cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            self.native_check_system_folders(cancellation_token).await
        }
        /// C# member: `M:LibreMetaverse.Appearance.InitialOutfit.CopyFolderAsync(LibreMetaverse.InventoryFolder,LibreMetaverse.UUID,System.Threading.CancellationToken,System.IProgress{LibreMetaverse.Appearance.InitialOutfit.InitialOutfitProgress})`.
        ///
        /// C# signature: `System.Threading.Tasks.Task<LibreMetaverse.UUID> LibreMetaverse.Appearance.InitialOutfit.CopyFolderAsync(LibreMetaverse.InventoryFolder folder, LibreMetaverse.UUID destination, System.Threading.CancellationToken cancellationToken = default, System.IProgress<LibreMetaverse.Appearance.InitialOutfit.InitialOutfitProgress> progress = default)`.
        /// Mapping contract: ownership `shared_self,owned,owned,optional_owned,optional_owned`; async `async`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub async fn copy_folder(
            &self,
            folder: libremetaverse::InventoryFolder,
            destination: libremetaverse_types::UUID,
            cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
            progress: Option<
                Box<
                    dyn libremetaverse_types::compat::IProgress<
                            libremetaverse::appearance::InitialOutfitInitialOutfitProgress,
                        >,
                >,
            >,
        ) -> Result<libremetaverse_types::UUID, crate::Error> {
            /* reviewed native compatibility body */
            self.native_copy_folder(folder, destination, cancellation_token, progress)
                .await
        }
        /// C# member: `M:LibreMetaverse.Appearance.InitialOutfit.CreateFolderAsync(LibreMetaverse.UUID,System.String,LibreMetaverse.FolderType,System.Threading.CancellationToken)`.
        ///
        /// C# signature: `System.Threading.Tasks.Task<LibreMetaverse.UUID> LibreMetaverse.Appearance.InitialOutfit.CreateFolderAsync(LibreMetaverse.UUID parent, System.String name, LibreMetaverse.FolderType type, System.Threading.CancellationToken cancellationToken = default)`.
        /// Mapping contract: ownership `shared_self,owned,owned,owned,optional_owned`; async `async`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub async fn create_folder(
            &self,
            parent: libremetaverse_types::UUID,
            name: String,
            type_: libremetaverse_types::FolderType,
            cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
        ) -> Result<libremetaverse_types::UUID, crate::Error> {
            /* reviewed native compatibility body */
            self.native_create_folder(parent, name, type_, cancellation_token)
                .await
        }
        /// C# member: `M:LibreMetaverse.Appearance.InitialOutfit.FindNodeByName(LibreMetaverse.InventoryNode,System.String)`.
        ///
        /// C# signature: `LibreMetaverse.InventoryNode LibreMetaverse.Appearance.InitialOutfit.FindNodeByName(LibreMetaverse.InventoryNode root, System.String name)`.
        /// Mapping contract: ownership `owned,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn find_node_by_name(
            root: libremetaverse::InventoryNode,
            name: String,
        ) -> Result<Option<libremetaverse::InventoryNode>, crate::Error> {
            /* reviewed native compatibility body */
            crate::initial_outfit::InitialOutfit::native_find_node_by_name(root, name)
        }
        /// C# member: `M:LibreMetaverse.Appearance.InitialOutfit.SetInitialOutfitAsync(System.String,System.Threading.CancellationToken,System.IProgress{LibreMetaverse.Appearance.InitialOutfit.InitialOutfitProgress})`.
        ///
        /// C# signature: `System.Threading.Tasks.Task LibreMetaverse.Appearance.InitialOutfit.SetInitialOutfitAsync(System.String outfit, System.Threading.CancellationToken cancellationToken = default, System.IProgress<LibreMetaverse.Appearance.InitialOutfit.InitialOutfitProgress> progress = default)`.
        /// Mapping contract: ownership `shared_self,owned,optional_owned,optional_owned`; async `async`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub async fn set_initial_outfit(
            &self,
            outfit: String,
            cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
            progress: Option<
                Box<
                    dyn libremetaverse_types::compat::IProgress<
                            libremetaverse::appearance::InitialOutfitInitialOutfitProgress,
                        >,
                >,
            >,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            self.native_set_initial_outfit(outfit, cancellation_token, progress)
                .await
        }
    }

    /// C# type: `T:LibreMetaverse.Appearance.InitialOutfit.InitialOutfitPhase`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Appearance.InitialOutfit.InitialOutfitPhase` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    #[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
    #[repr(i32)]
    pub enum InitialOutfitInitialOutfitPhase {
        /// C# member: `F:LibreMetaverse.Appearance.InitialOutfit.InitialOutfitPhase.Applying`.
        ///
        /// C# signature: `LibreMetaverse.Appearance.InitialOutfit.InitialOutfitPhase LibreMetaverse.Appearance.InitialOutfit.InitialOutfitPhase.Applying`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        Applying = 2,
        /// C# member: `F:LibreMetaverse.Appearance.InitialOutfit.InitialOutfitPhase.Complete`.
        ///
        /// C# signature: `LibreMetaverse.Appearance.InitialOutfit.InitialOutfitPhase LibreMetaverse.Appearance.InitialOutfit.InitialOutfitPhase.Complete`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        Complete = 3,
        /// C# member: `F:LibreMetaverse.Appearance.InitialOutfit.InitialOutfitPhase.Copying`.
        ///
        /// C# signature: `LibreMetaverse.Appearance.InitialOutfit.InitialOutfitPhase LibreMetaverse.Appearance.InitialOutfit.InitialOutfitPhase.Copying`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        Copying = 1,
        /// C# member: `F:LibreMetaverse.Appearance.InitialOutfit.InitialOutfitPhase.Counting`.
        ///
        /// C# signature: `LibreMetaverse.Appearance.InitialOutfit.InitialOutfitPhase LibreMetaverse.Appearance.InitialOutfit.InitialOutfitPhase.Counting`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        Counting = 0,
    }

    /// C# type: `T:LibreMetaverse.Appearance.InitialOutfit.InitialOutfitProgress`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Appearance.InitialOutfit.InitialOutfitProgress` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub use crate::initial_outfit::InitialOutfitProgress as InitialOutfitInitialOutfitProgress;
    impl InitialOutfitInitialOutfitProgress {
        /// C# member: `M:LibreMetaverse.Appearance.InitialOutfit.InitialOutfitProgress.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Appearance.InitialOutfit.InitialOutfitProgress()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn new() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            crate::initial_outfit::InitialOutfitProgress::native_new()
        }
        /// C# member: `P:LibreMetaverse.Appearance.InitialOutfit.InitialOutfitProgress.CurrentItemName`.
        ///
        /// C# signature: `System.String LibreMetaverse.Appearance.InitialOutfit.InitialOutfitProgress.CurrentItemName`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn current_item_name(&self) -> String {
            /* reviewed native compatibility body */
            self.native_current_item_name()
        }
        /// Setter for C# member: `P:LibreMetaverse.Appearance.InitialOutfit.InitialOutfitProgress.CurrentItemName`.
        pub fn set_current_item_name(&mut self, value: String) {
            /* reviewed native compatibility body */
            self.native_set_current_item_name(value)
        }
        /// C# member: `P:LibreMetaverse.Appearance.InitialOutfit.InitialOutfitProgress.ItemsCopied`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Appearance.InitialOutfit.InitialOutfitProgress.ItemsCopied`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn items_copied(&self) -> i32 {
            /* reviewed native compatibility body */
            self.native_items_copied()
        }
        /// Setter for C# member: `P:LibreMetaverse.Appearance.InitialOutfit.InitialOutfitProgress.ItemsCopied`.
        pub fn set_items_copied(&mut self, value: i32) {
            /* reviewed native compatibility body */
            self.native_set_items_copied(value)
        }
        /// C# member: `P:LibreMetaverse.Appearance.InitialOutfit.InitialOutfitProgress.Message`.
        ///
        /// C# signature: `System.String LibreMetaverse.Appearance.InitialOutfit.InitialOutfitProgress.Message`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn message(&self) -> String {
            /* reviewed native compatibility body */
            self.native_message()
        }
        /// Setter for C# member: `P:LibreMetaverse.Appearance.InitialOutfit.InitialOutfitProgress.Message`.
        pub fn set_message(&mut self, value: String) {
            /* reviewed native compatibility body */
            self.native_set_message(value)
        }
        /// C# member: `P:LibreMetaverse.Appearance.InitialOutfit.InitialOutfitProgress.Phase`.
        ///
        /// C# signature: `LibreMetaverse.Appearance.InitialOutfit.InitialOutfitPhase LibreMetaverse.Appearance.InitialOutfit.InitialOutfitProgress.Phase`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn phase(&self) -> libremetaverse::appearance::InitialOutfitInitialOutfitPhase {
            /* reviewed native compatibility body */
            self.native_phase()
        }
        /// Setter for C# member: `P:LibreMetaverse.Appearance.InitialOutfit.InitialOutfitProgress.Phase`.
        pub fn set_phase(
            &mut self,
            value: libremetaverse::appearance::InitialOutfitInitialOutfitPhase,
        ) {
            /* reviewed native compatibility body */
            self.native_set_phase(value)
        }
        /// C# member: `P:LibreMetaverse.Appearance.InitialOutfit.InitialOutfitProgress.TotalItems`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Appearance.InitialOutfit.InitialOutfitProgress.TotalItems`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn total_items(&self) -> i32 {
            /* reviewed native compatibility body */
            self.native_total_items()
        }
        /// Setter for C# member: `P:LibreMetaverse.Appearance.InitialOutfit.InitialOutfitProgress.TotalItems`.
        pub fn set_total_items(&mut self, value: i32) {
            /* reviewed native compatibility body */
            self.native_set_total_items(value)
        }
    }

    /// C# type: `T:LibreMetaverse.Appearance.InitialOutfitHandler`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Appearance.InitialOutfitHandler` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub use crate::initial_outfit::InitialOutfitHandler;
    impl InitialOutfitHandler {
        /// C# member: `M:LibreMetaverse.Appearance.InitialOutfitHandler.#ctor(LibreMetaverse.GridClient,LibreMetaverse.Appearance.CurrentOutfitFolder,System.IProgress{LibreMetaverse.Appearance.InitialOutfit.InitialOutfitProgress})`.
        ///
        /// C# signature: `LibreMetaverse.Appearance.InitialOutfitHandler(LibreMetaverse.GridClient client, LibreMetaverse.Appearance.CurrentOutfitFolder cof, System.IProgress<LibreMetaverse.Appearance.InitialOutfit.InitialOutfitProgress> progress = default)`.
        /// Mapping contract: ownership `owned,owned,optional_owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn new(
            client: libremetaverse::GridClient,
            cof: libremetaverse::appearance::CurrentOutfitFolder,
            progress: Option<
                Box<
                    dyn libremetaverse_types::compat::IProgress<
                            libremetaverse::appearance::InitialOutfitInitialOutfitProgress,
                        >,
                >,
            >,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            crate::initial_outfit::InitialOutfitHandler::native_new(client, cof, progress)
        }
        /// C# member: `M:LibreMetaverse.Appearance.InitialOutfitHandler.Dispose`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Appearance.InitialOutfitHandler.Dispose()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn dispose(&self) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            self.native_dispose()
        }
    }
}

pub mod assets {
    /// C# type: `T:LibreMetaverse.Assets.ArchiveConstants`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Assets.ArchiveConstants` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ArchiveConstants;
    impl ArchiveConstants {
        /// C# member: `F:LibreMetaverse.Assets.ArchiveConstants.ASSETS_PATH`.
        ///
        /// C# signature: `System.String LibreMetaverse.Assets.ArchiveConstants.ASSETS_PATH`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub const ASSETS_PATH: &'static str = "assets/";
        /// C# member: `F:LibreMetaverse.Assets.ArchiveConstants.ASSET_EXTENSION_SEPARATOR`.
        ///
        /// C# signature: `System.String LibreMetaverse.Assets.ArchiveConstants.ASSET_EXTENSION_SEPARATOR`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub const ASSET_EXTENSION_SEPARATOR: &'static str = "_";
        /// C# member: `F:LibreMetaverse.Assets.ArchiveConstants.ASSET_TYPE_TO_EXTENSION`.
        ///
        /// C# signature: `System.Collections.Frozen.FrozenDictionary<LibreMetaverse.AssetType, System.String> LibreMetaverse.Assets.ArchiveConstants.ASSET_TYPE_TO_EXTENSION`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
        pub fn asset_type_to_extension()
        -> libremetaverse_types::compat::FrozenDictionary<libremetaverse_types::AssetType, String>
        {
            /* reviewed native compatibility body */
            crate::asset_archive::asset_type_to_extension()
        }
        /// C# member: `F:LibreMetaverse.Assets.ArchiveConstants.CONTROL_FILE_PATH`.
        ///
        /// C# signature: `System.String LibreMetaverse.Assets.ArchiveConstants.CONTROL_FILE_PATH`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub const CONTROL_FILE_PATH: &'static str = "archive.xml";
        /// C# member: `F:LibreMetaverse.Assets.ArchiveConstants.EXTENSION_TO_ASSET_TYPE`.
        ///
        /// C# signature: `System.Collections.Frozen.FrozenDictionary<System.String, LibreMetaverse.AssetType> LibreMetaverse.Assets.ArchiveConstants.EXTENSION_TO_ASSET_TYPE`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
        pub fn extension_to_asset_type()
        -> libremetaverse_types::compat::FrozenDictionary<String, libremetaverse_types::AssetType>
        {
            /* reviewed native compatibility body */
            crate::asset_archive::extension_to_asset_type()
        }
        /// C# member: `F:LibreMetaverse.Assets.ArchiveConstants.LANDDATA_PATH`.
        ///
        /// C# signature: `System.String LibreMetaverse.Assets.ArchiveConstants.LANDDATA_PATH`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub const LANDDATA_PATH: &'static str = "landdata/";
        /// C# member: `F:LibreMetaverse.Assets.ArchiveConstants.OBJECTS_PATH`.
        ///
        /// C# signature: `System.String LibreMetaverse.Assets.ArchiveConstants.OBJECTS_PATH`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub const OBJECTS_PATH: &'static str = "objects/";
        /// C# member: `F:LibreMetaverse.Assets.ArchiveConstants.SETTINGS_PATH`.
        ///
        /// C# signature: `System.String LibreMetaverse.Assets.ArchiveConstants.SETTINGS_PATH`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub const SETTINGS_PATH: &'static str = "settings/";
        /// C# member: `F:LibreMetaverse.Assets.ArchiveConstants.TERRAINS_PATH`.
        ///
        /// C# signature: `System.String LibreMetaverse.Assets.ArchiveConstants.TERRAINS_PATH`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub const TERRAINS_PATH: &'static str = "terrains/";
        /// C# member: `M:LibreMetaverse.Assets.ArchiveConstants.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Assets.ArchiveConstants()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn new() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(Self)
        }
    }

    /// C# type: `T:LibreMetaverse.Assets.Asset`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Assets.Asset` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    /// C# member: `F:LibreMetaverse.Assets.Asset.AssetData`.
    ///
    /// C# signature: `System.Byte[] LibreMetaverse.Assets.Asset.AssetData`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.Asset.Temporary`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.Assets.Asset.Temporary`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `M:LibreMetaverse.Assets.Asset.Decode`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.Assets.Asset.Decode()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Assets.Asset.Encode`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Assets.Asset.Encode()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `P:LibreMetaverse.Assets.Asset.AssetID`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Assets.Asset.AssetID`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    /// C# member: `P:LibreMetaverse.Assets.Asset.AssetType`.
    ///
    /// C# signature: `LibreMetaverse.AssetType LibreMetaverse.Assets.Asset.AssetType`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub use crate::asset_models::Asset;

    /// C# type: `T:LibreMetaverse.Assets.AssetAnimation`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Assets.AssetAnimation` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    /// C# member: `M:LibreMetaverse.Assets.AssetAnimation.#ctor`.
    ///
    /// C# signature: `LibreMetaverse.Assets.AssetAnimation()`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    /// C# member: `M:LibreMetaverse.Assets.AssetAnimation.#ctor(LibreMetaverse.UUID,System.Byte[])`.
    ///
    /// C# signature: `LibreMetaverse.Assets.AssetAnimation(LibreMetaverse.UUID assetID, System.Byte[] assetData)`.
    /// Mapping contract: ownership `owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    /// C# member: `M:LibreMetaverse.Assets.AssetAnimation.Decode`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.Assets.AssetAnimation.Decode()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Assets.AssetAnimation.Encode`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Assets.AssetAnimation.Encode()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `P:LibreMetaverse.Assets.AssetAnimation.AssetType`.
    ///
    /// C# signature: `LibreMetaverse.AssetType LibreMetaverse.Assets.AssetAnimation.AssetType`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub use crate::asset_models::AssetAnimation;

    /// C# type: `T:LibreMetaverse.Assets.AssetBodypart`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Assets.AssetBodypart` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    /// C# member: `M:LibreMetaverse.Assets.AssetBodypart.#ctor`.
    ///
    /// C# signature: `LibreMetaverse.Assets.AssetBodypart()`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    /// C# member: `M:LibreMetaverse.Assets.AssetBodypart.#ctor(LibreMetaverse.UUID,System.Byte[])`.
    ///
    /// C# signature: `LibreMetaverse.Assets.AssetBodypart(LibreMetaverse.UUID assetID, System.Byte[] assetData)`.
    /// Mapping contract: ownership `owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    /// C# member: `P:LibreMetaverse.Assets.AssetBodypart.AssetType`.
    ///
    /// C# signature: `LibreMetaverse.AssetType LibreMetaverse.Assets.AssetBodypart.AssetType`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub use crate::asset_models::AssetBodypart;

    /// C# type: `T:LibreMetaverse.Assets.AssetCallingCard`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Assets.AssetCallingCard` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    /// C# member: `F:LibreMetaverse.Assets.AssetCallingCard.AvatarID`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Assets.AssetCallingCard.AvatarID`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `M:LibreMetaverse.Assets.AssetCallingCard.#ctor`.
    ///
    /// C# signature: `LibreMetaverse.Assets.AssetCallingCard()`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    /// C# member: `M:LibreMetaverse.Assets.AssetCallingCard.#ctor(LibreMetaverse.UUID)`.
    ///
    /// C# signature: `LibreMetaverse.Assets.AssetCallingCard(LibreMetaverse.UUID avatarID)`.
    /// Mapping contract: ownership `owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    /// C# member: `M:LibreMetaverse.Assets.AssetCallingCard.#ctor(LibreMetaverse.UUID,System.Byte[])`.
    ///
    /// C# signature: `LibreMetaverse.Assets.AssetCallingCard(LibreMetaverse.UUID assetID, System.Byte[] assetData)`.
    /// Mapping contract: ownership `owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    /// C# member: `M:LibreMetaverse.Assets.AssetCallingCard.Decode`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.Assets.AssetCallingCard.Decode()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Assets.AssetCallingCard.Encode`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Assets.AssetCallingCard.Encode()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `P:LibreMetaverse.Assets.AssetCallingCard.AssetType`.
    ///
    /// C# signature: `LibreMetaverse.AssetType LibreMetaverse.Assets.AssetCallingCard.AssetType`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub use crate::asset_models::AssetCallingCard;

    /// C# type: `T:LibreMetaverse.Assets.AssetClothing`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Assets.AssetClothing` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    /// C# member: `M:LibreMetaverse.Assets.AssetClothing.#ctor`.
    ///
    /// C# signature: `LibreMetaverse.Assets.AssetClothing()`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    /// C# member: `M:LibreMetaverse.Assets.AssetClothing.#ctor(LibreMetaverse.UUID,System.Byte[])`.
    ///
    /// C# signature: `LibreMetaverse.Assets.AssetClothing(LibreMetaverse.UUID assetID, System.Byte[] assetData)`.
    /// Mapping contract: ownership `owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    /// C# member: `P:LibreMetaverse.Assets.AssetClothing.AssetType`.
    ///
    /// C# signature: `LibreMetaverse.AssetType LibreMetaverse.Assets.AssetClothing.AssetType`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub use crate::asset_models::AssetClothing;

    /// C# type: `T:LibreMetaverse.Assets.AssetGesture`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Assets.AssetGesture` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    /// C# member: `F:LibreMetaverse.Assets.AssetGesture.ReplaceWith`.
    ///
    /// C# signature: `System.String LibreMetaverse.Assets.AssetGesture.ReplaceWith`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.AssetGesture.Sequence`.
    ///
    /// C# signature: `System.Collections.Generic.List<LibreMetaverse.Assets.GestureStep> LibreMetaverse.Assets.AssetGesture.Sequence`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.AssetGesture.Trigger`.
    ///
    /// C# signature: `System.String LibreMetaverse.Assets.AssetGesture.Trigger`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.AssetGesture.TriggerKey`.
    ///
    /// C# signature: `System.Byte LibreMetaverse.Assets.AssetGesture.TriggerKey`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.AssetGesture.TriggerKeyMask`.
    ///
    /// C# signature: `System.UInt32 LibreMetaverse.Assets.AssetGesture.TriggerKeyMask`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `M:LibreMetaverse.Assets.AssetGesture.#ctor`.
    ///
    /// C# signature: `LibreMetaverse.Assets.AssetGesture()`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    /// C# member: `M:LibreMetaverse.Assets.AssetGesture.#ctor(LibreMetaverse.UUID,System.Byte[])`.
    ///
    /// C# signature: `LibreMetaverse.Assets.AssetGesture(LibreMetaverse.UUID assetID, System.Byte[] assetData)`.
    /// Mapping contract: ownership `owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    /// C# member: `M:LibreMetaverse.Assets.AssetGesture.Decode`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.Assets.AssetGesture.Decode()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Assets.AssetGesture.Encode`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Assets.AssetGesture.Encode()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `P:LibreMetaverse.Assets.AssetGesture.AssetType`.
    ///
    /// C# signature: `LibreMetaverse.AssetType LibreMetaverse.Assets.AssetGesture.AssetType`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub use crate::gesture::AssetGesture;

    /// C# type: `T:LibreMetaverse.Assets.AssetLandmark`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Assets.AssetLandmark` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    /// C# member: `F:LibreMetaverse.Assets.AssetLandmark.Position`.
    ///
    /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Assets.AssetLandmark.Position`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.AssetLandmark.RegionID`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Assets.AssetLandmark.RegionID`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `M:LibreMetaverse.Assets.AssetLandmark.#ctor`.
    ///
    /// C# signature: `LibreMetaverse.Assets.AssetLandmark()`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    /// C# member: `M:LibreMetaverse.Assets.AssetLandmark.#ctor(LibreMetaverse.UUID,System.Byte[])`.
    ///
    /// C# signature: `LibreMetaverse.Assets.AssetLandmark(LibreMetaverse.UUID assetID, System.Byte[] assetData)`.
    /// Mapping contract: ownership `owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    /// C# member: `M:LibreMetaverse.Assets.AssetLandmark.Decode`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.Assets.AssetLandmark.Decode()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Assets.AssetLandmark.Encode`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Assets.AssetLandmark.Encode()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `P:LibreMetaverse.Assets.AssetLandmark.AssetType`.
    ///
    /// C# signature: `LibreMetaverse.AssetType LibreMetaverse.Assets.AssetLandmark.AssetType`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub use crate::asset_models::AssetLandmark;

    /// C# type: `T:LibreMetaverse.Assets.AssetMaterial`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Assets.AssetMaterial` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    /// C# member: `F:LibreMetaverse.Assets.AssetMaterial.Default`.
    ///
    /// C# signature: `LibreMetaverse.Assets.AssetMaterial LibreMetaverse.Assets.AssetMaterial.Default`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    /// C# member: `F:LibreMetaverse.Assets.AssetMaterial.GLTF_OVERRIDE_NULL_UUID`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Assets.AssetMaterial.GLTF_OVERRIDE_NULL_UUID`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    /// C# member: `F:LibreMetaverse.Assets.AssetMaterial.TEXTURE_BASE_COLOR`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.Assets.AssetMaterial.TEXTURE_BASE_COLOR`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.AssetMaterial.TEXTURE_COUNT`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.Assets.AssetMaterial.TEXTURE_COUNT`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.AssetMaterial.TEXTURE_EMISSIVE`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.Assets.AssetMaterial.TEXTURE_EMISSIVE`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.AssetMaterial.TEXTURE_METALLIC_ROUGHNESS`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.Assets.AssetMaterial.TEXTURE_METALLIC_ROUGHNESS`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.AssetMaterial.TEXTURE_NORMAL`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.Assets.AssetMaterial.TEXTURE_NORMAL`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `M:LibreMetaverse.Assets.AssetMaterial.#ctor`.
    ///
    /// C# signature: `LibreMetaverse.Assets.AssetMaterial()`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    /// C# member: `M:LibreMetaverse.Assets.AssetMaterial.#ctor(LibreMetaverse.UUID,System.Byte[])`.
    ///
    /// C# signature: `LibreMetaverse.Assets.AssetMaterial(LibreMetaverse.UUID assetId, System.Byte[] assetData)`.
    /// Mapping contract: ownership `owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    /// C# member: `M:LibreMetaverse.Assets.AssetMaterial.ApplyOverride(LibreMetaverse.Assets.AssetMaterial)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Assets.AssetMaterial.ApplyOverride(LibreMetaverse.Assets.AssetMaterial overrideMat)`.
    /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Assets.AssetMaterial.Decode`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.Assets.AssetMaterial.Decode()`.
    /// Mapping contract: ownership `mutable_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Assets.AssetMaterial.Encode`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Assets.AssetMaterial.Encode()`.
    /// Mapping contract: ownership `mutable_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Assets.AssetMaterial.FromOverrideOsd(LibreMetaverse.StructuredData.OSDMap)`.
    ///
    /// C# signature: `LibreMetaverse.Assets.AssetMaterial LibreMetaverse.Assets.AssetMaterial.FromOverrideOsd(LibreMetaverse.StructuredData.OSDMap data)`.
    /// Mapping contract: ownership `owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Assets.AssetMaterial.SetAlphaCutoff(System.Single,System.Boolean)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Assets.AssetMaterial.SetAlphaCutoff(System.Single cutoff, System.Boolean forOverride = default)`.
    /// Mapping contract: ownership `mutable_self,owned,optional_owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    /// C# member: `M:LibreMetaverse.Assets.AssetMaterial.SetAlphaMode(LibreMetaverse.Assets.GltfAlphaMode,System.Boolean)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Assets.AssetMaterial.SetAlphaMode(LibreMetaverse.Assets.GltfAlphaMode mode, System.Boolean forOverride = default)`.
    /// Mapping contract: ownership `mutable_self,owned,optional_owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    /// C# member: `M:LibreMetaverse.Assets.AssetMaterial.SetBaseColorFactor(LibreMetaverse.Color4,System.Boolean)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Assets.AssetMaterial.SetBaseColorFactor(LibreMetaverse.Color4 color, System.Boolean forOverride = default)`.
    /// Mapping contract: ownership `mutable_self,owned,optional_owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    /// C# member: `M:LibreMetaverse.Assets.AssetMaterial.SetBaseMaterial`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Assets.AssetMaterial.SetBaseMaterial()`.
    /// Mapping contract: ownership `mutable_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Assets.AssetMaterial.SetDoubleSided(System.Boolean,System.Boolean)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Assets.AssetMaterial.SetDoubleSided(System.Boolean doubleSided, System.Boolean forOverride = default)`.
    /// Mapping contract: ownership `mutable_self,owned,optional_owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    /// C# member: `M:LibreMetaverse.Assets.AssetMaterial.SetEmissiveFactor(LibreMetaverse.Vector3,System.Boolean)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Assets.AssetMaterial.SetEmissiveFactor(LibreMetaverse.Vector3 color, System.Boolean forOverride = default)`.
    /// Mapping contract: ownership `mutable_self,owned,optional_owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    /// C# member: `M:LibreMetaverse.Assets.AssetMaterial.SetMetallicFactor(System.Single,System.Boolean)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Assets.AssetMaterial.SetMetallicFactor(System.Single metallic, System.Boolean forOverride = default)`.
    /// Mapping contract: ownership `mutable_self,owned,optional_owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    /// C# member: `M:LibreMetaverse.Assets.AssetMaterial.SetRoughnessFactor(System.Single,System.Boolean)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Assets.AssetMaterial.SetRoughnessFactor(System.Single roughness, System.Boolean forOverride = default)`.
    /// Mapping contract: ownership `mutable_self,owned,optional_owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    /// C# member: `M:LibreMetaverse.Assets.AssetMaterial.SetTextureId(System.Int32,LibreMetaverse.UUID,System.Boolean)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Assets.AssetMaterial.SetTextureId(System.Int32 slot, LibreMetaverse.UUID id, System.Boolean forOverride = default)`.
    /// Mapping contract: ownership `mutable_self,owned,owned,optional_owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Assets.AssetMaterial.SetTextureOffset(System.Int32,LibreMetaverse.Vector2)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Assets.AssetMaterial.SetTextureOffset(System.Int32 slot, LibreMetaverse.Vector2 offset)`.
    /// Mapping contract: ownership `mutable_self,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Assets.AssetMaterial.SetTextureRotation(System.Int32,System.Single)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Assets.AssetMaterial.SetTextureRotation(System.Int32 slot, System.Single rotation)`.
    /// Mapping contract: ownership `mutable_self,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Assets.AssetMaterial.SetTextureScale(System.Int32,LibreMetaverse.Vector2)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Assets.AssetMaterial.SetTextureScale(System.Int32 slot, LibreMetaverse.Vector2 scale)`.
    /// Mapping contract: ownership `mutable_self,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Assets.AssetMaterial.ToJson`.
    ///
    /// C# signature: `System.String LibreMetaverse.Assets.AssetMaterial.ToJson()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Assets.AssetMaterial.ToOverrideOsd`.
    ///
    /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Assets.AssetMaterial.ToOverrideOsd()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `P:LibreMetaverse.Assets.AssetMaterial.AlphaCutoff`.
    ///
    /// C# signature: `System.Single LibreMetaverse.Assets.AssetMaterial.AlphaCutoff`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    /// C# member: `P:LibreMetaverse.Assets.AssetMaterial.AlphaMode`.
    ///
    /// C# signature: `LibreMetaverse.Assets.GltfAlphaMode LibreMetaverse.Assets.AssetMaterial.AlphaMode`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    /// C# member: `P:LibreMetaverse.Assets.AssetMaterial.AssetType`.
    ///
    /// C# signature: `LibreMetaverse.AssetType LibreMetaverse.Assets.AssetMaterial.AssetType`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    /// C# member: `P:LibreMetaverse.Assets.AssetMaterial.BaseColorFactor`.
    ///
    /// C# signature: `LibreMetaverse.Color4 LibreMetaverse.Assets.AssetMaterial.BaseColorFactor`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    /// C# member: `P:LibreMetaverse.Assets.AssetMaterial.DoubleSided`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.Assets.AssetMaterial.DoubleSided`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    /// C# member: `P:LibreMetaverse.Assets.AssetMaterial.EmissiveFactor`.
    ///
    /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Assets.AssetMaterial.EmissiveFactor`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    /// C# member: `P:LibreMetaverse.Assets.AssetMaterial.MetallicFactor`.
    ///
    /// C# signature: `System.Single LibreMetaverse.Assets.AssetMaterial.MetallicFactor`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    /// C# member: `P:LibreMetaverse.Assets.AssetMaterial.Name`.
    ///
    /// C# signature: `System.String LibreMetaverse.Assets.AssetMaterial.Name`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    /// C# member: `P:LibreMetaverse.Assets.AssetMaterial.OverrideAlphaMode`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.Assets.AssetMaterial.OverrideAlphaMode`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    /// C# member: `P:LibreMetaverse.Assets.AssetMaterial.OverrideDoubleSided`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.Assets.AssetMaterial.OverrideDoubleSided`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    /// C# member: `P:LibreMetaverse.Assets.AssetMaterial.RoughnessFactor`.
    ///
    /// C# signature: `System.Single LibreMetaverse.Assets.AssetMaterial.RoughnessFactor`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    /// C# member: `P:LibreMetaverse.Assets.AssetMaterial.TextureIds`.
    ///
    /// C# signature: `LibreMetaverse.UUID[] LibreMetaverse.Assets.AssetMaterial.TextureIds`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    /// C# member: `P:LibreMetaverse.Assets.AssetMaterial.TextureTransforms`.
    ///
    /// C# signature: `LibreMetaverse.Assets.GltfTextureTransform[] LibreMetaverse.Assets.AssetMaterial.TextureTransforms`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub use crate::asset_material::AssetMaterial;

    /// C# type: `T:LibreMetaverse.Assets.AssetMesh`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Assets.AssetMesh` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    /// C# member: `F:LibreMetaverse.Assets.AssetMesh.MeshData`.
    ///
    /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Assets.AssetMesh.MeshData`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `M:LibreMetaverse.Assets.AssetMesh.#ctor`.
    ///
    /// C# signature: `LibreMetaverse.Assets.AssetMesh()`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    /// C# member: `M:LibreMetaverse.Assets.AssetMesh.#ctor(LibreMetaverse.UUID,System.Byte[])`.
    ///
    /// C# signature: `LibreMetaverse.Assets.AssetMesh(LibreMetaverse.UUID assetID, System.Byte[] assetData)`.
    /// Mapping contract: ownership `owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    /// C# member: `M:LibreMetaverse.Assets.AssetMesh.Decode`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.Assets.AssetMesh.Decode()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Assets.AssetMesh.Encode`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Assets.AssetMesh.Encode()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `P:LibreMetaverse.Assets.AssetMesh.AssetType`.
    ///
    /// C# signature: `LibreMetaverse.AssetType LibreMetaverse.Assets.AssetMesh.AssetType`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub use crate::asset_models::AssetMesh;

    /// C# type: `T:LibreMetaverse.Assets.AssetMutable`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Assets.AssetMutable` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    /// C# member: `F:LibreMetaverse.Assets.AssetMutable.currentType`.
    ///
    /// C# signature: `LibreMetaverse.AssetType LibreMetaverse.Assets.AssetMutable.currentType`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `M:LibreMetaverse.Assets.AssetMutable.#ctor(LibreMetaverse.AssetType)`.
    ///
    /// C# signature: `LibreMetaverse.Assets.AssetMutable(LibreMetaverse.AssetType type)`.
    /// Mapping contract: ownership `owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    /// C# member: `M:LibreMetaverse.Assets.AssetMutable.#ctor(LibreMetaverse.AssetType,LibreMetaverse.UUID,System.Byte[])`.
    ///
    /// C# signature: `LibreMetaverse.Assets.AssetMutable(LibreMetaverse.AssetType type, LibreMetaverse.UUID assetID, System.Byte[] assetData)`.
    /// Mapping contract: ownership `owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    /// C# member: `M:LibreMetaverse.Assets.AssetMutable.Decode`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.Assets.AssetMutable.Decode()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Assets.AssetMutable.Encode`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Assets.AssetMutable.Encode()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `P:LibreMetaverse.Assets.AssetMutable.AssetType`.
    ///
    /// C# signature: `LibreMetaverse.AssetType LibreMetaverse.Assets.AssetMutable.AssetType`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub use crate::asset_models::AssetMutable;

    /// C# type: `T:LibreMetaverse.Assets.AssetNotecard`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Assets.AssetNotecard` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    /// C# member: `F:LibreMetaverse.Assets.AssetNotecard.BodyText`.
    ///
    /// C# signature: `System.String LibreMetaverse.Assets.AssetNotecard.BodyText`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.AssetNotecard.EmbeddedItems`.
    ///
    /// C# signature: `System.Collections.Generic.List<LibreMetaverse.InventoryItem> LibreMetaverse.Assets.AssetNotecard.EmbeddedItems`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `M:LibreMetaverse.Assets.AssetNotecard.#ctor`.
    ///
    /// C# signature: `LibreMetaverse.Assets.AssetNotecard()`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    /// C# member: `M:LibreMetaverse.Assets.AssetNotecard.#ctor(LibreMetaverse.UUID,System.Byte[])`.
    ///
    /// C# signature: `LibreMetaverse.Assets.AssetNotecard(LibreMetaverse.UUID assetID, System.Byte[] assetData)`.
    /// Mapping contract: ownership `owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    /// C# member: `M:LibreMetaverse.Assets.AssetNotecard.Decode`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.Assets.AssetNotecard.Decode()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Assets.AssetNotecard.Encode`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Assets.AssetNotecard.Encode()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `P:LibreMetaverse.Assets.AssetNotecard.AssetType`.
    ///
    /// C# signature: `LibreMetaverse.AssetType LibreMetaverse.Assets.AssetNotecard.AssetType`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub use crate::asset_models::AssetNotecard;

    /// C# type: `T:LibreMetaverse.Assets.AssetPrim`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Assets.AssetPrim` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    /// C# member: `F:LibreMetaverse.Assets.AssetPrim.Children`.
    ///
    /// C# signature: `System.Collections.Generic.List<LibreMetaverse.Assets.PrimObject> LibreMetaverse.Assets.AssetPrim.Children`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.AssetPrim.Parent`.
    ///
    /// C# signature: `LibreMetaverse.Assets.PrimObject LibreMetaverse.Assets.AssetPrim.Parent`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `M:LibreMetaverse.Assets.AssetPrim.#ctor`.
    ///
    /// C# signature: `LibreMetaverse.Assets.AssetPrim()`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    /// C# member: `M:LibreMetaverse.Assets.AssetPrim.#ctor(LibreMetaverse.Assets.PrimObject,System.Collections.Generic.List{LibreMetaverse.Assets.PrimObject})`.
    ///
    /// C# signature: `LibreMetaverse.Assets.AssetPrim(LibreMetaverse.Assets.PrimObject parent, System.Collections.Generic.List<LibreMetaverse.Assets.PrimObject> children)`.
    /// Mapping contract: ownership `owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    /// C# member: `M:LibreMetaverse.Assets.AssetPrim.#ctor(LibreMetaverse.UUID,System.Byte[])`.
    ///
    /// C# signature: `LibreMetaverse.Assets.AssetPrim(LibreMetaverse.UUID assetID, System.Byte[] assetData)`.
    /// Mapping contract: ownership `owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    /// C# member: `M:LibreMetaverse.Assets.AssetPrim.#ctor(System.String)`.
    ///
    /// C# signature: `LibreMetaverse.Assets.AssetPrim(System.String xmlData)`.
    /// Mapping contract: ownership `owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    /// C# member: `M:LibreMetaverse.Assets.AssetPrim.Decode`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.Assets.AssetPrim.Decode()`.
    /// Mapping contract: ownership `mutable_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Assets.AssetPrim.DecodeXml(System.String)`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.Assets.AssetPrim.DecodeXml(System.String xmlData)`.
    /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Assets.AssetPrim.Encode`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Assets.AssetPrim.Encode()`.
    /// Mapping contract: ownership `mutable_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Assets.AssetPrim.EncodeXml`.
    ///
    /// C# signature: `System.String LibreMetaverse.Assets.AssetPrim.EncodeXml()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Assets.AssetPrim.LoadPrim(System.Xml.XmlTextReader)`.
    ///
    /// C# signature: `LibreMetaverse.Assets.PrimObject LibreMetaverse.Assets.AssetPrim.LoadPrim(System.Xml.XmlTextReader reader)`.
    /// Mapping contract: ownership `owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `P:LibreMetaverse.Assets.AssetPrim.AssetType`.
    ///
    /// C# signature: `LibreMetaverse.AssetType LibreMetaverse.Assets.AssetPrim.AssetType`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub use crate::asset_prim::AssetPrim;

    /// C# type: `T:LibreMetaverse.Assets.AssetScriptBinary`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Assets.AssetScriptBinary` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    /// C# member: `M:LibreMetaverse.Assets.AssetScriptBinary.#ctor`.
    ///
    /// C# signature: `LibreMetaverse.Assets.AssetScriptBinary()`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    /// C# member: `M:LibreMetaverse.Assets.AssetScriptBinary.#ctor(LibreMetaverse.UUID,System.Byte[])`.
    ///
    /// C# signature: `LibreMetaverse.Assets.AssetScriptBinary(LibreMetaverse.UUID assetID, System.Byte[] assetData)`.
    /// Mapping contract: ownership `owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    /// C# member: `M:LibreMetaverse.Assets.AssetScriptBinary.Decode`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.Assets.AssetScriptBinary.Decode()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Assets.AssetScriptBinary.Encode`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Assets.AssetScriptBinary.Encode()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `P:LibreMetaverse.Assets.AssetScriptBinary.AssetType`.
    ///
    /// C# signature: `LibreMetaverse.AssetType LibreMetaverse.Assets.AssetScriptBinary.AssetType`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub use crate::asset_models::AssetScriptBinary;

    /// C# type: `T:LibreMetaverse.Assets.AssetScriptText`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Assets.AssetScriptText` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    /// C# member: `F:LibreMetaverse.Assets.AssetScriptText.Source`.
    ///
    /// C# signature: `System.String LibreMetaverse.Assets.AssetScriptText.Source`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `M:LibreMetaverse.Assets.AssetScriptText.#ctor`.
    ///
    /// C# signature: `LibreMetaverse.Assets.AssetScriptText()`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    /// C# member: `M:LibreMetaverse.Assets.AssetScriptText.#ctor(LibreMetaverse.UUID,System.Byte[])`.
    ///
    /// C# signature: `LibreMetaverse.Assets.AssetScriptText(LibreMetaverse.UUID assetID, System.Byte[] assetData)`.
    /// Mapping contract: ownership `owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    /// C# member: `M:LibreMetaverse.Assets.AssetScriptText.Decode`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.Assets.AssetScriptText.Decode()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Assets.AssetScriptText.Encode`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Assets.AssetScriptText.Encode()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `P:LibreMetaverse.Assets.AssetScriptText.AssetType`.
    ///
    /// C# signature: `LibreMetaverse.AssetType LibreMetaverse.Assets.AssetScriptText.AssetType`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub use crate::asset_models::AssetScriptText;

    /// C# type: `T:LibreMetaverse.Assets.AssetSettings`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Assets.AssetSettings` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    /// C# member: `F:LibreMetaverse.Assets.AssetSettings.Settings`.
    ///
    /// C# signature: `LibreMetaverse.StructuredData.OSD LibreMetaverse.Assets.AssetSettings.Settings`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `M:LibreMetaverse.Assets.AssetSettings.#ctor`.
    ///
    /// C# signature: `LibreMetaverse.Assets.AssetSettings()`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    /// C# member: `M:LibreMetaverse.Assets.AssetSettings.#ctor(LibreMetaverse.UUID,System.Byte[])`.
    ///
    /// C# signature: `LibreMetaverse.Assets.AssetSettings(LibreMetaverse.UUID assetId, System.Byte[] assetData)`.
    /// Mapping contract: ownership `owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    /// C# member: `M:LibreMetaverse.Assets.AssetSettings.Decode`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.Assets.AssetSettings.Decode()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Assets.AssetSettings.Encode`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Assets.AssetSettings.Encode()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `P:LibreMetaverse.Assets.AssetSettings.AssetType`.
    ///
    /// C# signature: `LibreMetaverse.AssetType LibreMetaverse.Assets.AssetSettings.AssetType`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub use crate::asset_models::AssetSettings;

    /// C# type: `T:LibreMetaverse.Assets.AssetSound`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Assets.AssetSound` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    /// C# member: `M:LibreMetaverse.Assets.AssetSound.#ctor`.
    ///
    /// C# signature: `LibreMetaverse.Assets.AssetSound()`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    /// C# member: `M:LibreMetaverse.Assets.AssetSound.#ctor(LibreMetaverse.UUID,System.Byte[])`.
    ///
    /// C# signature: `LibreMetaverse.Assets.AssetSound(LibreMetaverse.UUID assetID, System.Byte[] assetData)`.
    /// Mapping contract: ownership `owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    /// C# member: `M:LibreMetaverse.Assets.AssetSound.Decode`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.Assets.AssetSound.Decode()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Assets.AssetSound.Encode`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Assets.AssetSound.Encode()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Assets.AssetSound.PcmToOgg(System.Byte[],System.Int32,System.Int32,System.Int32)`.
    ///
    /// C# signature: `System.Byte[] LibreMetaverse.Assets.AssetSound.PcmToOgg(System.Byte[] pcmData, System.Int32 sampleRate, System.Int32 channels, System.Int32 bitsPerSample = default)`.
    /// Mapping contract: ownership `owned,owned,owned,optional_owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `P:LibreMetaverse.Assets.AssetSound.AssetType`.
    ///
    /// C# signature: `LibreMetaverse.AssetType LibreMetaverse.Assets.AssetSound.AssetType`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub use crate::asset_models::AssetSound;

    /// C# type: `T:LibreMetaverse.Assets.AssetTexture`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Assets.AssetTexture` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    /// C# member: `F:LibreMetaverse.Assets.AssetTexture.Components`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.Assets.AssetTexture.Components`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.AssetTexture.Image`.
    ///
    /// C# signature: `LibreMetaverse.Imaging.ManagedImage LibreMetaverse.Assets.AssetTexture.Image`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `M:LibreMetaverse.Assets.AssetTexture.#ctor`.
    ///
    /// C# signature: `LibreMetaverse.Assets.AssetTexture()`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    /// C# member: `M:LibreMetaverse.Assets.AssetTexture.#ctor(LibreMetaverse.Imaging.ManagedImage)`.
    ///
    /// C# signature: `LibreMetaverse.Assets.AssetTexture(LibreMetaverse.Imaging.ManagedImage image)`.
    /// Mapping contract: ownership `owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    /// C# member: `M:LibreMetaverse.Assets.AssetTexture.#ctor(LibreMetaverse.UUID,System.Byte[])`.
    ///
    /// C# signature: `LibreMetaverse.Assets.AssetTexture(LibreMetaverse.UUID assetID, System.Byte[] assetData)`.
    /// Mapping contract: ownership `owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    /// C# member: `M:LibreMetaverse.Assets.AssetTexture.Decode`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.Assets.AssetTexture.Decode()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Assets.AssetTexture.Encode`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Assets.AssetTexture.Encode()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `P:LibreMetaverse.Assets.AssetTexture.AssetType`.
    ///
    /// C# signature: `LibreMetaverse.AssetType LibreMetaverse.Assets.AssetTexture.AssetType`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub use crate::asset_models::AssetTexture;

    /// C# type: `T:LibreMetaverse.Assets.AssetWearable`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Assets.AssetWearable` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    /// C# member: `F:LibreMetaverse.Assets.AssetWearable.Creator`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Assets.AssetWearable.Creator`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.AssetWearable.Description`.
    ///
    /// C# signature: `System.String LibreMetaverse.Assets.AssetWearable.Description`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.AssetWearable.ForSale`.
    ///
    /// C# signature: `LibreMetaverse.SaleType LibreMetaverse.Assets.AssetWearable.ForSale`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.AssetWearable.Group`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Assets.AssetWearable.Group`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.AssetWearable.GroupOwned`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.Assets.AssetWearable.GroupOwned`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.AssetWearable.LastOwner`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Assets.AssetWearable.LastOwner`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.AssetWearable.Name`.
    ///
    /// C# signature: `System.String LibreMetaverse.Assets.AssetWearable.Name`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.AssetWearable.Owner`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Assets.AssetWearable.Owner`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.AssetWearable.Params`.
    ///
    /// C# signature: `System.Collections.Generic.Dictionary<System.Int32, System.Single> LibreMetaverse.Assets.AssetWearable.Params`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.AssetWearable.Permissions`.
    ///
    /// C# signature: `LibreMetaverse.Permissions LibreMetaverse.Assets.AssetWearable.Permissions`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.AssetWearable.SalePrice`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.Assets.AssetWearable.SalePrice`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.AssetWearable.Textures`.
    ///
    /// C# signature: `System.Collections.Generic.Dictionary<LibreMetaverse.AvatarTextureIndex, LibreMetaverse.UUID> LibreMetaverse.Assets.AssetWearable.Textures`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.AssetWearable.WearableType`.
    ///
    /// C# signature: `LibreMetaverse.WearableType LibreMetaverse.Assets.AssetWearable.WearableType`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `M:LibreMetaverse.Assets.AssetWearable.Decode`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.Assets.AssetWearable.Decode()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Assets.AssetWearable.Encode`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Assets.AssetWearable.Encode()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub use crate::asset_models::AssetWearable;

    /// C# type: `T:LibreMetaverse.Assets.AssetsArchiver`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Assets.AssetsArchiver` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    /// C# member: `M:LibreMetaverse.Assets.AssetsArchiver.#ctor(System.Collections.Generic.IDictionary{LibreMetaverse.UUID,LibreMetaverse.Assets.Asset})`.
    ///
    /// C# signature: `LibreMetaverse.Assets.AssetsArchiver(System.Collections.Generic.IDictionary<LibreMetaverse.UUID, LibreMetaverse.Assets.Asset> assets)`.
    /// Mapping contract: ownership `owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Assets.AssetsArchiver.Archive(LibreMetaverse.Assets.TarArchiveWriter)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Assets.AssetsArchiver.Archive(LibreMetaverse.Assets.TarArchiveWriter archive)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub use crate::asset_archive::AssetsArchiver;

    /// C# type: `T:LibreMetaverse.Assets.GestureStep`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Assets.GestureStep` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    /// C# member: `P:LibreMetaverse.Assets.GestureStep.GestureStepType`.
    ///
    /// C# signature: `LibreMetaverse.Assets.GestureStepType LibreMetaverse.Assets.GestureStep.GestureStepType`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub use crate::gesture::GestureStep;

    /// C# type: `T:LibreMetaverse.Assets.GestureStepAnimation`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Assets.GestureStepAnimation` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    /// C# member: `F:LibreMetaverse.Assets.GestureStepAnimation.AnimationStart`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.Assets.GestureStepAnimation.AnimationStart`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.GestureStepAnimation.ID`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Assets.GestureStepAnimation.ID`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.GestureStepAnimation.Name`.
    ///
    /// C# signature: `System.String LibreMetaverse.Assets.GestureStepAnimation.Name`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `M:LibreMetaverse.Assets.GestureStepAnimation.#ctor`.
    ///
    /// C# signature: `LibreMetaverse.Assets.GestureStepAnimation()`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Assets.GestureStepAnimation.ToString`.
    ///
    /// C# signature: `System.String LibreMetaverse.Assets.GestureStepAnimation.ToString()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
    /// C# member: `P:LibreMetaverse.Assets.GestureStepAnimation.GestureStepType`.
    ///
    /// C# signature: `LibreMetaverse.Assets.GestureStepType LibreMetaverse.Assets.GestureStepAnimation.GestureStepType`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub use crate::gesture::GestureStepAnimation;

    /// C# type: `T:LibreMetaverse.Assets.GestureStepChat`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Assets.GestureStepChat` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    /// C# member: `F:LibreMetaverse.Assets.GestureStepChat.Text`.
    ///
    /// C# signature: `System.String LibreMetaverse.Assets.GestureStepChat.Text`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `M:LibreMetaverse.Assets.GestureStepChat.#ctor`.
    ///
    /// C# signature: `LibreMetaverse.Assets.GestureStepChat()`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Assets.GestureStepChat.ToString`.
    ///
    /// C# signature: `System.String LibreMetaverse.Assets.GestureStepChat.ToString()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
    /// C# member: `P:LibreMetaverse.Assets.GestureStepChat.GestureStepType`.
    ///
    /// C# signature: `LibreMetaverse.Assets.GestureStepType LibreMetaverse.Assets.GestureStepChat.GestureStepType`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub use crate::gesture::GestureStepChat;

    /// C# type: `T:LibreMetaverse.Assets.GestureStepEOF`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Assets.GestureStepEOF` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    /// C# member: `M:LibreMetaverse.Assets.GestureStepEOF.#ctor`.
    ///
    /// C# signature: `LibreMetaverse.Assets.GestureStepEOF()`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Assets.GestureStepEOF.ToString`.
    ///
    /// C# signature: `System.String LibreMetaverse.Assets.GestureStepEOF.ToString()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
    /// C# member: `P:LibreMetaverse.Assets.GestureStepEOF.GestureStepType`.
    ///
    /// C# signature: `LibreMetaverse.Assets.GestureStepType LibreMetaverse.Assets.GestureStepEOF.GestureStepType`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub use crate::gesture::GestureStepEOF;

    /// C# type: `T:LibreMetaverse.Assets.GestureStepSound`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Assets.GestureStepSound` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    /// C# member: `F:LibreMetaverse.Assets.GestureStepSound.ID`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Assets.GestureStepSound.ID`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.GestureStepSound.Name`.
    ///
    /// C# signature: `System.String LibreMetaverse.Assets.GestureStepSound.Name`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `M:LibreMetaverse.Assets.GestureStepSound.#ctor`.
    ///
    /// C# signature: `LibreMetaverse.Assets.GestureStepSound()`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Assets.GestureStepSound.ToString`.
    ///
    /// C# signature: `System.String LibreMetaverse.Assets.GestureStepSound.ToString()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
    /// C# member: `P:LibreMetaverse.Assets.GestureStepSound.GestureStepType`.
    ///
    /// C# signature: `LibreMetaverse.Assets.GestureStepType LibreMetaverse.Assets.GestureStepSound.GestureStepType`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub use crate::gesture::GestureStepSound;

    /// C# type: `T:LibreMetaverse.Assets.GestureStepType`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Assets.GestureStepType` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    #[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
    #[repr(i32)]
    pub enum GestureStepType {
        /// C# member: `F:LibreMetaverse.Assets.GestureStepType.Animation`.
        ///
        /// C# signature: `LibreMetaverse.Assets.GestureStepType LibreMetaverse.Assets.GestureStepType.Animation`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        Animation = 0,
        /// C# member: `F:LibreMetaverse.Assets.GestureStepType.Chat`.
        ///
        /// C# signature: `LibreMetaverse.Assets.GestureStepType LibreMetaverse.Assets.GestureStepType.Chat`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        Chat = 2,
        /// C# member: `F:LibreMetaverse.Assets.GestureStepType.EOF`.
        ///
        /// C# signature: `LibreMetaverse.Assets.GestureStepType LibreMetaverse.Assets.GestureStepType.EOF`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        EOF = 4,
        /// C# member: `F:LibreMetaverse.Assets.GestureStepType.Sound`.
        ///
        /// C# signature: `LibreMetaverse.Assets.GestureStepType LibreMetaverse.Assets.GestureStepType.Sound`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        Sound = 1,
        /// C# member: `F:LibreMetaverse.Assets.GestureStepType.Wait`.
        ///
        /// C# signature: `LibreMetaverse.Assets.GestureStepType LibreMetaverse.Assets.GestureStepType.Wait`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        Wait = 3,
    }

    /// C# type: `T:LibreMetaverse.Assets.GestureStepWait`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Assets.GestureStepWait` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    /// C# member: `F:LibreMetaverse.Assets.GestureStepWait.WaitForAnimation`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.Assets.GestureStepWait.WaitForAnimation`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.GestureStepWait.WaitForTime`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.Assets.GestureStepWait.WaitForTime`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.GestureStepWait.WaitTime`.
    ///
    /// C# signature: `System.Single LibreMetaverse.Assets.GestureStepWait.WaitTime`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `M:LibreMetaverse.Assets.GestureStepWait.#ctor`.
    ///
    /// C# signature: `LibreMetaverse.Assets.GestureStepWait()`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Assets.GestureStepWait.ToString`.
    ///
    /// C# signature: `System.String LibreMetaverse.Assets.GestureStepWait.ToString()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
    /// C# member: `P:LibreMetaverse.Assets.GestureStepWait.GestureStepType`.
    ///
    /// C# signature: `LibreMetaverse.Assets.GestureStepType LibreMetaverse.Assets.GestureStepWait.GestureStepType`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub use crate::gesture::GestureStepWait;

    /// C# type: `T:LibreMetaverse.Assets.GltfAlphaMode`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Assets.GltfAlphaMode` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    #[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
    #[repr(u8)]
    pub enum GltfAlphaMode {
        /// C# member: `F:LibreMetaverse.Assets.GltfAlphaMode.Blend`.
        ///
        /// C# signature: `LibreMetaverse.Assets.GltfAlphaMode LibreMetaverse.Assets.GltfAlphaMode.Blend`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        Blend = 1,
        /// C# member: `F:LibreMetaverse.Assets.GltfAlphaMode.Mask`.
        ///
        /// C# signature: `LibreMetaverse.Assets.GltfAlphaMode LibreMetaverse.Assets.GltfAlphaMode.Mask`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        Mask = 2,
        /// C# member: `F:LibreMetaverse.Assets.GltfAlphaMode.Opaque`.
        ///
        /// C# signature: `LibreMetaverse.Assets.GltfAlphaMode LibreMetaverse.Assets.GltfAlphaMode.Opaque`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        Opaque = 0,
    }

    /// C# type: `T:LibreMetaverse.Assets.GltfTextureTransform`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Assets.GltfTextureTransform` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    /// C# member: `F:LibreMetaverse.Assets.GltfTextureTransform.Default`.
    ///
    /// C# signature: `LibreMetaverse.Assets.GltfTextureTransform LibreMetaverse.Assets.GltfTextureTransform.Default`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    /// C# member: `F:LibreMetaverse.Assets.GltfTextureTransform.Offset`.
    ///
    /// C# signature: `LibreMetaverse.Vector2 LibreMetaverse.Assets.GltfTextureTransform.Offset`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.GltfTextureTransform.Rotation`.
    ///
    /// C# signature: `System.Single LibreMetaverse.Assets.GltfTextureTransform.Rotation`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.GltfTextureTransform.Scale`.
    ///
    /// C# signature: `LibreMetaverse.Vector2 LibreMetaverse.Assets.GltfTextureTransform.Scale`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `M:LibreMetaverse.Assets.GltfTextureTransform.Equals(LibreMetaverse.Assets.GltfTextureTransform)`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.Assets.GltfTextureTransform.Equals(LibreMetaverse.Assets.GltfTextureTransform other)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `infallible_placeholder`; overload `descriptive_overload_name`; kind `method`.
    /// C# member: `M:LibreMetaverse.Assets.GltfTextureTransform.Equals(System.Object)`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.Assets.GltfTextureTransform.Equals(System.Object obj)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `infallible_placeholder`; overload `descriptive_overload_name`; kind `method`.
    /// C# member: `M:LibreMetaverse.Assets.GltfTextureTransform.GetHashCode`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.Assets.GltfTextureTransform.GetHashCode()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
    /// C# member: `P:LibreMetaverse.Assets.GltfTextureTransform.IsDefault`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.Assets.GltfTextureTransform.IsDefault`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub use crate::asset_material::GltfTextureTransform;

    /// C# type: `T:LibreMetaverse.Assets.OarFile`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Assets.OarFile` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct OarFile;
    impl OarFile {
        /// C# member: `M:LibreMetaverse.Assets.OarFile.ClearAssetFolder(System.String)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Assets.OarFile.ClearAssetFolder(System.String assetsPath)`.
        /// Mapping contract: ownership `owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn clear_asset_folder(assets_path: String) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            crate::asset_archive::clear_asset_folder(assets_path)
        }
        /// C# member: `M:LibreMetaverse.Assets.OarFile.LoadObjects(System.Byte[],LibreMetaverse.Assets.OarFile.SceneObjectLoadedCallback,System.Int64,System.Int64)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Assets.OarFile.LoadObjects(System.Byte[] objectData, LibreMetaverse.Assets.OarFile.SceneObjectLoadedCallback objectCallback, System.Int64 bytesRead, System.Int64 totalBytes)`.
        /// Mapping contract: ownership `owned,owned,owned,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn load_objects(
            object_data: Vec<u8>,
            object_callback: libremetaverse::assets::OarFileSceneObjectLoadedCallback,
            bytes_read: i64,
            total_bytes: i64,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            crate::asset_archive::load_objects(
                object_data,
                object_callback,
                bytes_read,
                total_bytes,
            )
        }
        /// C# member: `M:LibreMetaverse.Assets.OarFile.PackageArchive(System.String,System.String)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Assets.OarFile.PackageArchive(System.String directoryName, System.String filename)`.
        /// Mapping contract: ownership `owned,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn package_archive(
            directory_name: String,
            filename: String,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            crate::asset_archive::package_archive(directory_name, filename)
        }
        /// C# member: `M:LibreMetaverse.Assets.OarFile.SOGToXml2(System.Xml.XmlTextWriter,LibreMetaverse.Assets.AssetPrim)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Assets.OarFile.SOGToXml2(System.Xml.XmlTextWriter writer, LibreMetaverse.Assets.AssetPrim prim)`.
        /// Mapping contract: ownership `owned,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn sog_to_xml2(
            writer: libremetaverse_types::compat::XmlTextWriter,
            prim: libremetaverse::assets::AssetPrim,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            crate::asset_archive::sog_to_xml2(writer, prim)
        }
        /// C# member: `M:LibreMetaverse.Assets.OarFile.SaveAssetsAsync(LibreMetaverse.AssetManager,LibreMetaverse.AssetType,System.Collections.Generic.IList{LibreMetaverse.UUID},System.String)`.
        ///
        /// C# signature: `System.Threading.Tasks.Task LibreMetaverse.Assets.OarFile.SaveAssetsAsync(LibreMetaverse.AssetManager assetManager, LibreMetaverse.AssetType assetType, System.Collections.Generic.IList<LibreMetaverse.UUID> assets, System.String assetsPath)`.
        /// Mapping contract: ownership `owned,owned,owned,owned`; async `async`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub async fn save_assets(
            asset_manager: libremetaverse::AssetManager,
            asset_type: libremetaverse_types::AssetType,
            assets: Vec<libremetaverse_types::UUID>,
            assets_path: String,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            crate::asset_archive::save_assets(asset_manager, asset_type, assets, assets_path).await
        }
        /// C# member: `M:LibreMetaverse.Assets.OarFile.SaveParcels(LibreMetaverse.Simulator,System.String)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Assets.OarFile.SaveParcels(LibreMetaverse.Simulator sim, System.String parcelPath)`.
        /// Mapping contract: ownership `owned,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn save_parcels(
            sim: libremetaverse::Simulator,
            parcel_path: String,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            crate::asset_archive::save_parcels(sim, parcel_path)
        }
        /// C# member: `M:LibreMetaverse.Assets.OarFile.SavePrimsAsync(LibreMetaverse.AssetManager,System.Collections.Generic.IList{LibreMetaverse.Assets.AssetPrim},System.String,System.String)`.
        ///
        /// C# signature: `System.Threading.Tasks.Task LibreMetaverse.Assets.OarFile.SavePrimsAsync(LibreMetaverse.AssetManager manager, System.Collections.Generic.IList<LibreMetaverse.Assets.AssetPrim> prims, System.String primsPath, System.String assetsPath)`.
        /// Mapping contract: ownership `owned,owned,owned,owned`; async `async`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub async fn save_prims(
            manager: libremetaverse::AssetManager,
            prims: Vec<libremetaverse::assets::AssetPrim>,
            prims_path: String,
            assets_path: String,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            crate::asset_archive::save_prims(manager, prims, prims_path, assets_path).await
        }
        /// C# member: `M:LibreMetaverse.Assets.OarFile.SaveRegionSettings(LibreMetaverse.Simulator,System.String)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Assets.OarFile.SaveRegionSettings(LibreMetaverse.Simulator sim, System.String settingsPath)`.
        /// Mapping contract: ownership `owned,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn save_region_settings(
            sim: libremetaverse::Simulator,
            settings_path: String,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            crate::asset_archive::save_region_settings(sim, settings_path)
        }
        /// C# member: `M:LibreMetaverse.Assets.OarFile.SaveSimAssetsAsync(LibreMetaverse.AssetManager,LibreMetaverse.AssetType,LibreMetaverse.UUID,LibreMetaverse.UUID,LibreMetaverse.UUID,System.String)`.
        ///
        /// C# signature: `System.Threading.Tasks.Task LibreMetaverse.Assets.OarFile.SaveSimAssetsAsync(LibreMetaverse.AssetManager assetManager, LibreMetaverse.AssetType assetType, LibreMetaverse.UUID assetID, LibreMetaverse.UUID itemID, LibreMetaverse.UUID primID, System.String assetsPath)`.
        /// Mapping contract: ownership `owned,owned,owned,owned,owned,owned`; async `async`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub async fn save_sim_assets(
            asset_manager: libremetaverse::AssetManager,
            asset_type: libremetaverse_types::AssetType,
            asset_id: libremetaverse_types::UUID,
            item_id: libremetaverse_types::UUID,
            prim_id: libremetaverse_types::UUID,
            assets_path: String,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            crate::asset_archive::save_sim_asset(
                asset_manager,
                asset_type,
                asset_id,
                item_id,
                prim_id,
                assets_path,
            )
            .await
        }
        /// C# member: `M:LibreMetaverse.Assets.OarFile.SaveTerrain(LibreMetaverse.Simulator,System.String)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Assets.OarFile.SaveTerrain(LibreMetaverse.Simulator sim, System.String terrainPath)`.
        /// Mapping contract: ownership `owned,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn save_terrain(
            sim: libremetaverse::Simulator,
            terrain_path: String,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            crate::asset_archive::save_terrain(sim, terrain_path)
        }
        /// C# member: `M:LibreMetaverse.Assets.OarFile.UnpackageArchive(System.String,LibreMetaverse.Assets.OarFile.AssetLoadedCallback,LibreMetaverse.Assets.OarFile.TerrainLoadedCallback,LibreMetaverse.Assets.OarFile.SceneObjectLoadedCallback,LibreMetaverse.Assets.OarFile.SettingsLoadedCallback)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Assets.OarFile.UnpackageArchive(System.String filename, LibreMetaverse.Assets.OarFile.AssetLoadedCallback assetCallback, LibreMetaverse.Assets.OarFile.TerrainLoadedCallback terrainCallback, LibreMetaverse.Assets.OarFile.SceneObjectLoadedCallback objectCallback, LibreMetaverse.Assets.OarFile.SettingsLoadedCallback settingsCallback)`.
        /// Mapping contract: ownership `owned,owned,owned,owned,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn unpackage_archive(
            filename: String,
            asset_callback: libremetaverse::assets::OarFileAssetLoadedCallback,
            terrain_callback: libremetaverse::assets::OarFileTerrainLoadedCallback,
            object_callback: libremetaverse::assets::OarFileSceneObjectLoadedCallback,
            settings_callback: libremetaverse::assets::OarFileSettingsLoadedCallback,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            crate::asset_archive::unpackage_archive(
                filename,
                asset_callback,
                terrain_callback,
                object_callback,
                settings_callback,
            )
        }
    }

    /// C# type: `T:LibreMetaverse.Assets.OarFile.AssetLoadedCallback`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Assets.OarFile.AssetLoadedCallback` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    /// C# member: `M:LibreMetaverse.Assets.OarFile.AssetLoadedCallback.#ctor(System.Object,System.IntPtr)`.
    ///
    /// C# signature: `LibreMetaverse.Assets.OarFile.AssetLoadedCallback(System.Object object, System.IntPtr method)`.
    /// Mapping contract: ownership `owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Assets.OarFile.AssetLoadedCallback.BeginInvoke(LibreMetaverse.Assets.Asset,System.Int64,System.Int64,System.AsyncCallback,System.Object)`.
    ///
    /// C# signature: `System.IAsyncResult LibreMetaverse.Assets.OarFile.AssetLoadedCallback.BeginInvoke(LibreMetaverse.Assets.Asset asset, System.Int64 bytesRead, System.Int64 totalBytes, System.AsyncCallback callback, System.Object object)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `native_callback_replaces_delegate_apm`.
    /// C# member: `M:LibreMetaverse.Assets.OarFile.AssetLoadedCallback.EndInvoke(System.IAsyncResult)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Assets.OarFile.AssetLoadedCallback.EndInvoke(System.IAsyncResult result)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `native_callback_replaces_delegate_apm`.
    /// C# member: `M:LibreMetaverse.Assets.OarFile.AssetLoadedCallback.Invoke(LibreMetaverse.Assets.Asset,System.Int64,System.Int64)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Assets.OarFile.AssetLoadedCallback.Invoke(LibreMetaverse.Assets.Asset asset, System.Int64 bytesRead, System.Int64 totalBytes)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub use crate::asset_archive::OarFileAssetLoadedCallback;

    /// C# type: `T:LibreMetaverse.Assets.OarFile.SceneObjectLoadedCallback`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Assets.OarFile.SceneObjectLoadedCallback` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    /// C# member: `M:LibreMetaverse.Assets.OarFile.SceneObjectLoadedCallback.#ctor(System.Object,System.IntPtr)`.
    ///
    /// C# signature: `LibreMetaverse.Assets.OarFile.SceneObjectLoadedCallback(System.Object object, System.IntPtr method)`.
    /// Mapping contract: ownership `owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Assets.OarFile.SceneObjectLoadedCallback.BeginInvoke(LibreMetaverse.Assets.AssetPrim,System.Int64,System.Int64,System.AsyncCallback,System.Object)`.
    ///
    /// C# signature: `System.IAsyncResult LibreMetaverse.Assets.OarFile.SceneObjectLoadedCallback.BeginInvoke(LibreMetaverse.Assets.AssetPrim linkset, System.Int64 bytesRead, System.Int64 totalBytes, System.AsyncCallback callback, System.Object object)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `native_callback_replaces_delegate_apm`.
    /// C# member: `M:LibreMetaverse.Assets.OarFile.SceneObjectLoadedCallback.EndInvoke(System.IAsyncResult)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Assets.OarFile.SceneObjectLoadedCallback.EndInvoke(System.IAsyncResult result)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `native_callback_replaces_delegate_apm`.
    /// C# member: `M:LibreMetaverse.Assets.OarFile.SceneObjectLoadedCallback.Invoke(LibreMetaverse.Assets.AssetPrim,System.Int64,System.Int64)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Assets.OarFile.SceneObjectLoadedCallback.Invoke(LibreMetaverse.Assets.AssetPrim linkset, System.Int64 bytesRead, System.Int64 totalBytes)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub use crate::asset_archive::OarFileSceneObjectLoadedCallback;

    /// C# type: `T:LibreMetaverse.Assets.OarFile.SettingsLoadedCallback`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Assets.OarFile.SettingsLoadedCallback` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    /// C# member: `M:LibreMetaverse.Assets.OarFile.SettingsLoadedCallback.#ctor(System.Object,System.IntPtr)`.
    ///
    /// C# signature: `LibreMetaverse.Assets.OarFile.SettingsLoadedCallback(System.Object object, System.IntPtr method)`.
    /// Mapping contract: ownership `owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Assets.OarFile.SettingsLoadedCallback.BeginInvoke(System.String,LibreMetaverse.Assets.RegionSettings,System.AsyncCallback,System.Object)`.
    ///
    /// C# signature: `System.IAsyncResult LibreMetaverse.Assets.OarFile.SettingsLoadedCallback.BeginInvoke(System.String regionName, LibreMetaverse.Assets.RegionSettings settings, System.AsyncCallback callback, System.Object object)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `native_callback_replaces_delegate_apm`.
    /// C# member: `M:LibreMetaverse.Assets.OarFile.SettingsLoadedCallback.EndInvoke(System.IAsyncResult)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Assets.OarFile.SettingsLoadedCallback.EndInvoke(System.IAsyncResult result)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `native_callback_replaces_delegate_apm`.
    /// C# member: `M:LibreMetaverse.Assets.OarFile.SettingsLoadedCallback.Invoke(System.String,LibreMetaverse.Assets.RegionSettings)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Assets.OarFile.SettingsLoadedCallback.Invoke(System.String regionName, LibreMetaverse.Assets.RegionSettings settings)`.
    /// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub use crate::asset_archive::OarFileSettingsLoadedCallback;

    /// C# type: `T:LibreMetaverse.Assets.OarFile.TerrainLoadedCallback`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Assets.OarFile.TerrainLoadedCallback` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    /// C# member: `M:LibreMetaverse.Assets.OarFile.TerrainLoadedCallback.#ctor(System.Object,System.IntPtr)`.
    ///
    /// C# signature: `LibreMetaverse.Assets.OarFile.TerrainLoadedCallback(System.Object object, System.IntPtr method)`.
    /// Mapping contract: ownership `owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Assets.OarFile.TerrainLoadedCallback.BeginInvoke(System.Single[0:,0:],System.Int64,System.Int64,System.AsyncCallback,System.Object)`.
    ///
    /// C# signature: `System.IAsyncResult LibreMetaverse.Assets.OarFile.TerrainLoadedCallback.BeginInvoke(System.Single[,] terrain, System.Int64 bytesRead, System.Int64 totalBytes, System.AsyncCallback callback, System.Object object)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `native_callback_replaces_delegate_apm`.
    /// C# member: `M:LibreMetaverse.Assets.OarFile.TerrainLoadedCallback.EndInvoke(System.IAsyncResult)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Assets.OarFile.TerrainLoadedCallback.EndInvoke(System.IAsyncResult result)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `native_callback_replaces_delegate_apm`.
    /// C# member: `M:LibreMetaverse.Assets.OarFile.TerrainLoadedCallback.Invoke(System.Single[0:,0:],System.Int64,System.Int64)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Assets.OarFile.TerrainLoadedCallback.Invoke(System.Single[,] terrain, System.Int64 bytesRead, System.Int64 totalBytes)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub use crate::asset_archive::OarFileTerrainLoadedCallback;

    /// C# type: `T:LibreMetaverse.Assets.PrimObject`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Assets.PrimObject` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.Acceleration`.
    ///
    /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Assets.PrimObject.Acceleration`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.AllowedDrop`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.Assets.PrimObject.AllowedDrop`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.AngularVelocity`.
    ///
    /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Assets.PrimObject.AngularVelocity`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.AttachmentPosition`.
    ///
    /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Assets.PrimObject.AttachmentPosition`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.AttachmentRotation`.
    ///
    /// C# signature: `LibreMetaverse.Quaternion LibreMetaverse.Assets.PrimObject.AttachmentRotation`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.BeforeAttachmentRotation`.
    ///
    /// C# signature: `LibreMetaverse.Quaternion LibreMetaverse.Assets.PrimObject.BeforeAttachmentRotation`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.CameraAtOffset`.
    ///
    /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Assets.PrimObject.CameraAtOffset`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.CameraEyeOffset`.
    ///
    /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Assets.PrimObject.CameraEyeOffset`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.ClickAction`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.Assets.PrimObject.ClickAction`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.CollisionSound`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Assets.PrimObject.CollisionSound`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.CollisionSoundVolume`.
    ///
    /// C# signature: `System.Single LibreMetaverse.Assets.PrimObject.CollisionSoundVolume`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.CreationDate`.
    ///
    /// C# signature: `System.DateTime LibreMetaverse.Assets.PrimObject.CreationDate`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.CreatorID`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Assets.PrimObject.CreatorID`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.Description`.
    ///
    /// C# signature: `System.String LibreMetaverse.Assets.PrimObject.Description`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.DieAtEdge`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.Assets.PrimObject.DieAtEdge`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.Flexible`.
    ///
    /// C# signature: `LibreMetaverse.Assets.PrimObject.FlexibleBlock LibreMetaverse.Assets.PrimObject.Flexible`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.FolderID`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Assets.PrimObject.FolderID`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.GroupID`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Assets.PrimObject.GroupID`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.ID`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Assets.PrimObject.ID`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.Inventory`.
    ///
    /// C# signature: `LibreMetaverse.Assets.PrimObject.InventoryBlock LibreMetaverse.Assets.PrimObject.Inventory`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.LastAttachmentPoint`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.Assets.PrimObject.LastAttachmentPoint`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.LastOwnerID`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Assets.PrimObject.LastOwnerID`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.Light`.
    ///
    /// C# signature: `LibreMetaverse.Assets.PrimObject.LightBlock LibreMetaverse.Assets.PrimObject.Light`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.LinkNumber`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.Assets.PrimObject.LinkNumber`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.LocalID`.
    ///
    /// C# signature: `System.UInt32 LibreMetaverse.Assets.PrimObject.LocalID`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.Material`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.Assets.PrimObject.Material`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.Name`.
    ///
    /// C# signature: `System.String LibreMetaverse.Assets.PrimObject.Name`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.OwnerID`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Assets.PrimObject.OwnerID`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.PCode`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.Assets.PrimObject.PCode`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.ParentID`.
    ///
    /// C# signature: `System.UInt32 LibreMetaverse.Assets.PrimObject.ParentID`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.Particles`.
    ///
    /// C# signature: `LibreMetaverse.Assets.PrimObject.ParticlesBlock LibreMetaverse.Assets.PrimObject.Particles`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.PassTouches`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.Assets.PrimObject.PassTouches`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.PermsBase`.
    ///
    /// C# signature: `System.UInt32 LibreMetaverse.Assets.PrimObject.PermsBase`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.PermsEveryone`.
    ///
    /// C# signature: `System.UInt32 LibreMetaverse.Assets.PrimObject.PermsEveryone`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.PermsGroup`.
    ///
    /// C# signature: `System.UInt32 LibreMetaverse.Assets.PrimObject.PermsGroup`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.PermsNextOwner`.
    ///
    /// C# signature: `System.UInt32 LibreMetaverse.Assets.PrimObject.PermsNextOwner`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.PermsOwner`.
    ///
    /// C# signature: `System.UInt32 LibreMetaverse.Assets.PrimObject.PermsOwner`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.Phantom`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.Assets.PrimObject.Phantom`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.Position`.
    ///
    /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Assets.PrimObject.Position`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.RegionHandle`.
    ///
    /// C# signature: `System.UInt64 LibreMetaverse.Assets.PrimObject.RegionHandle`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.RemoteScriptAccessPIN`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.Assets.PrimObject.RemoteScriptAccessPIN`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.ReturnAtEdge`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.Assets.PrimObject.ReturnAtEdge`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.RezDate`.
    ///
    /// C# signature: `System.DateTime LibreMetaverse.Assets.PrimObject.RezDate`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.Rotation`.
    ///
    /// C# signature: `LibreMetaverse.Quaternion LibreMetaverse.Assets.PrimObject.Rotation`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.SalePrice`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.Assets.PrimObject.SalePrice`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.SaleType`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.Assets.PrimObject.SaleType`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.Sandbox`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.Assets.PrimObject.Sandbox`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.Scale`.
    ///
    /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Assets.PrimObject.Scale`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.ScriptState`.
    ///
    /// C# signature: `System.Byte[] LibreMetaverse.Assets.PrimObject.ScriptState`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.Sculpt`.
    ///
    /// C# signature: `LibreMetaverse.Assets.PrimObject.SculptBlock LibreMetaverse.Assets.PrimObject.Sculpt`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.Selected`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.Assets.PrimObject.Selected`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.SelectorID`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Assets.PrimObject.SelectorID`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.Shape`.
    ///
    /// C# signature: `LibreMetaverse.Assets.PrimObject.ShapeBlock LibreMetaverse.Assets.PrimObject.Shape`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.SitName`.
    ///
    /// C# signature: `System.String LibreMetaverse.Assets.PrimObject.SitName`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.SitOffset`.
    ///
    /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Assets.PrimObject.SitOffset`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.SitRotation`.
    ///
    /// C# signature: `LibreMetaverse.Quaternion LibreMetaverse.Assets.PrimObject.SitRotation`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.SoundFlags`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.Assets.PrimObject.SoundFlags`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.SoundGain`.
    ///
    /// C# signature: `System.Single LibreMetaverse.Assets.PrimObject.SoundGain`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.SoundID`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Assets.PrimObject.SoundID`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.SoundRadius`.
    ///
    /// C# signature: `System.Single LibreMetaverse.Assets.PrimObject.SoundRadius`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.State`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.Assets.PrimObject.State`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.Temporary`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.Assets.PrimObject.Temporary`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.Text`.
    ///
    /// C# signature: `System.String LibreMetaverse.Assets.PrimObject.Text`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.TextColor`.
    ///
    /// C# signature: `LibreMetaverse.Color4 LibreMetaverse.Assets.PrimObject.TextColor`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.Textures`.
    ///
    /// C# signature: `LibreMetaverse.Primitive.TextureEntry LibreMetaverse.Assets.PrimObject.Textures`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.TouchName`.
    ///
    /// C# signature: `System.String LibreMetaverse.Assets.PrimObject.TouchName`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.UsePhysics`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.Assets.PrimObject.UsePhysics`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.Velocity`.
    ///
    /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Assets.PrimObject.Velocity`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.VolumeDetect`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.Assets.PrimObject.VolumeDetect`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `M:LibreMetaverse.Assets.PrimObject.#ctor`.
    ///
    /// C# signature: `LibreMetaverse.Assets.PrimObject()`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Assets.PrimObject.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Assets.PrimObject.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
    /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Assets.PrimObject.FromPrimitive(LibreMetaverse.Primitive)`.
    ///
    /// C# signature: `LibreMetaverse.Assets.PrimObject LibreMetaverse.Assets.PrimObject.FromPrimitive(LibreMetaverse.Primitive obj)`.
    /// Mapping contract: ownership `owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Assets.PrimObject.Serialize`.
    ///
    /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Assets.PrimObject.Serialize()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Assets.PrimObject.ToPrimitive`.
    ///
    /// C# signature: `LibreMetaverse.Primitive LibreMetaverse.Assets.PrimObject.ToPrimitive()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub use crate::prim_object::PrimObject;

    /// C# type: `T:LibreMetaverse.Assets.PrimObject.FlexibleBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Assets.PrimObject.FlexibleBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.FlexibleBlock.Drag`.
    ///
    /// C# signature: `System.Single LibreMetaverse.Assets.PrimObject.FlexibleBlock.Drag`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.FlexibleBlock.Force`.
    ///
    /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Assets.PrimObject.FlexibleBlock.Force`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.FlexibleBlock.Gravity`.
    ///
    /// C# signature: `System.Single LibreMetaverse.Assets.PrimObject.FlexibleBlock.Gravity`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.FlexibleBlock.Softness`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.Assets.PrimObject.FlexibleBlock.Softness`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.FlexibleBlock.Tension`.
    ///
    /// C# signature: `System.Single LibreMetaverse.Assets.PrimObject.FlexibleBlock.Tension`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.FlexibleBlock.Wind`.
    ///
    /// C# signature: `System.Single LibreMetaverse.Assets.PrimObject.FlexibleBlock.Wind`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `M:LibreMetaverse.Assets.PrimObject.FlexibleBlock.#ctor`.
    ///
    /// C# signature: `LibreMetaverse.Assets.PrimObject.FlexibleBlock()`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Assets.PrimObject.FlexibleBlock.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Assets.PrimObject.FlexibleBlock.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
    /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Assets.PrimObject.FlexibleBlock.Serialize`.
    ///
    /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Assets.PrimObject.FlexibleBlock.Serialize()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub use crate::prim_object::PrimObjectFlexibleBlock;

    /// C# type: `T:LibreMetaverse.Assets.PrimObject.InventoryBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Assets.PrimObject.InventoryBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.InventoryBlock.Items`.
    ///
    /// C# signature: `LibreMetaverse.Assets.PrimObject.InventoryBlock.ItemBlock[] LibreMetaverse.Assets.PrimObject.InventoryBlock.Items`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.InventoryBlock.Serial`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.Assets.PrimObject.InventoryBlock.Serial`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `M:LibreMetaverse.Assets.PrimObject.InventoryBlock.#ctor`.
    ///
    /// C# signature: `LibreMetaverse.Assets.PrimObject.InventoryBlock()`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Assets.PrimObject.InventoryBlock.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Assets.PrimObject.InventoryBlock.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
    /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Assets.PrimObject.InventoryBlock.Serialize`.
    ///
    /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Assets.PrimObject.InventoryBlock.Serialize()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub use crate::prim_object::PrimObjectInventoryBlock;

    /// C# type: `T:LibreMetaverse.Assets.PrimObject.InventoryBlock.ItemBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Assets.PrimObject.InventoryBlock.ItemBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.InventoryBlock.ItemBlock.AssetID`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Assets.PrimObject.InventoryBlock.ItemBlock.AssetID`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.InventoryBlock.ItemBlock.CreationDate`.
    ///
    /// C# signature: `System.DateTime LibreMetaverse.Assets.PrimObject.InventoryBlock.ItemBlock.CreationDate`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.InventoryBlock.ItemBlock.CreatorID`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Assets.PrimObject.InventoryBlock.ItemBlock.CreatorID`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.InventoryBlock.ItemBlock.Description`.
    ///
    /// C# signature: `System.String LibreMetaverse.Assets.PrimObject.InventoryBlock.ItemBlock.Description`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.InventoryBlock.ItemBlock.Flags`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.Assets.PrimObject.InventoryBlock.ItemBlock.Flags`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.InventoryBlock.ItemBlock.GroupID`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Assets.PrimObject.InventoryBlock.ItemBlock.GroupID`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.InventoryBlock.ItemBlock.ID`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Assets.PrimObject.InventoryBlock.ItemBlock.ID`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.InventoryBlock.ItemBlock.InvType`.
    ///
    /// C# signature: `LibreMetaverse.InventoryType LibreMetaverse.Assets.PrimObject.InventoryBlock.ItemBlock.InvType`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.InventoryBlock.ItemBlock.LastOwnerID`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Assets.PrimObject.InventoryBlock.ItemBlock.LastOwnerID`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.InventoryBlock.ItemBlock.Name`.
    ///
    /// C# signature: `System.String LibreMetaverse.Assets.PrimObject.InventoryBlock.ItemBlock.Name`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.InventoryBlock.ItemBlock.OwnerID`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Assets.PrimObject.InventoryBlock.ItemBlock.OwnerID`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.InventoryBlock.ItemBlock.PermsBase`.
    ///
    /// C# signature: `System.UInt32 LibreMetaverse.Assets.PrimObject.InventoryBlock.ItemBlock.PermsBase`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.InventoryBlock.ItemBlock.PermsEveryone`.
    ///
    /// C# signature: `System.UInt32 LibreMetaverse.Assets.PrimObject.InventoryBlock.ItemBlock.PermsEveryone`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.InventoryBlock.ItemBlock.PermsGranterID`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Assets.PrimObject.InventoryBlock.ItemBlock.PermsGranterID`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.InventoryBlock.ItemBlock.PermsGroup`.
    ///
    /// C# signature: `System.UInt32 LibreMetaverse.Assets.PrimObject.InventoryBlock.ItemBlock.PermsGroup`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.InventoryBlock.ItemBlock.PermsNextOwner`.
    ///
    /// C# signature: `System.UInt32 LibreMetaverse.Assets.PrimObject.InventoryBlock.ItemBlock.PermsNextOwner`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.InventoryBlock.ItemBlock.PermsOwner`.
    ///
    /// C# signature: `System.UInt32 LibreMetaverse.Assets.PrimObject.InventoryBlock.ItemBlock.PermsOwner`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.InventoryBlock.ItemBlock.Type`.
    ///
    /// C# signature: `LibreMetaverse.AssetType LibreMetaverse.Assets.PrimObject.InventoryBlock.ItemBlock.Type`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `M:LibreMetaverse.Assets.PrimObject.InventoryBlock.ItemBlock.#ctor`.
    ///
    /// C# signature: `LibreMetaverse.Assets.PrimObject.InventoryBlock.ItemBlock()`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Assets.PrimObject.InventoryBlock.ItemBlock.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Assets.PrimObject.InventoryBlock.ItemBlock.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
    /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Assets.PrimObject.InventoryBlock.ItemBlock.FromInventoryBase(LibreMetaverse.InventoryItem)`.
    ///
    /// C# signature: `LibreMetaverse.Assets.PrimObject.InventoryBlock.ItemBlock LibreMetaverse.Assets.PrimObject.InventoryBlock.ItemBlock.FromInventoryBase(LibreMetaverse.InventoryItem item)`.
    /// Mapping contract: ownership `owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Assets.PrimObject.InventoryBlock.ItemBlock.Serialize`.
    ///
    /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Assets.PrimObject.InventoryBlock.ItemBlock.Serialize()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub use crate::prim_object::PrimObjectInventoryBlockItemBlock;

    /// C# type: `T:LibreMetaverse.Assets.PrimObject.LightBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Assets.PrimObject.LightBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.LightBlock.Color`.
    ///
    /// C# signature: `LibreMetaverse.Color4 LibreMetaverse.Assets.PrimObject.LightBlock.Color`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.LightBlock.Cutoff`.
    ///
    /// C# signature: `System.Single LibreMetaverse.Assets.PrimObject.LightBlock.Cutoff`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.LightBlock.Falloff`.
    ///
    /// C# signature: `System.Single LibreMetaverse.Assets.PrimObject.LightBlock.Falloff`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.LightBlock.Intensity`.
    ///
    /// C# signature: `System.Single LibreMetaverse.Assets.PrimObject.LightBlock.Intensity`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.LightBlock.Radius`.
    ///
    /// C# signature: `System.Single LibreMetaverse.Assets.PrimObject.LightBlock.Radius`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `M:LibreMetaverse.Assets.PrimObject.LightBlock.#ctor`.
    ///
    /// C# signature: `LibreMetaverse.Assets.PrimObject.LightBlock()`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Assets.PrimObject.LightBlock.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Assets.PrimObject.LightBlock.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
    /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Assets.PrimObject.LightBlock.Serialize`.
    ///
    /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Assets.PrimObject.LightBlock.Serialize()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub use crate::prim_object::PrimObjectLightBlock;

    /// C# type: `T:LibreMetaverse.Assets.PrimObject.ParticlesBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Assets.PrimObject.ParticlesBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.ParticlesBlock.Acceleration`.
    ///
    /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Assets.PrimObject.ParticlesBlock.Acceleration`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.ParticlesBlock.AngularVelocity`.
    ///
    /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Assets.PrimObject.ParticlesBlock.AngularVelocity`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.ParticlesBlock.BurstParticleCount`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.Assets.PrimObject.ParticlesBlock.BurstParticleCount`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.ParticlesBlock.BurstRadius`.
    ///
    /// C# signature: `System.Single LibreMetaverse.Assets.PrimObject.ParticlesBlock.BurstRadius`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.ParticlesBlock.BurstRate`.
    ///
    /// C# signature: `System.Single LibreMetaverse.Assets.PrimObject.ParticlesBlock.BurstRate`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.ParticlesBlock.BurstSpeedMax`.
    ///
    /// C# signature: `System.Single LibreMetaverse.Assets.PrimObject.ParticlesBlock.BurstSpeedMax`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.ParticlesBlock.BurstSpeedMin`.
    ///
    /// C# signature: `System.Single LibreMetaverse.Assets.PrimObject.ParticlesBlock.BurstSpeedMin`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.ParticlesBlock.DataFlags`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.Assets.PrimObject.ParticlesBlock.DataFlags`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.ParticlesBlock.Flags`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.Assets.PrimObject.ParticlesBlock.Flags`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.ParticlesBlock.InnerAngle`.
    ///
    /// C# signature: `System.Single LibreMetaverse.Assets.PrimObject.ParticlesBlock.InnerAngle`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.ParticlesBlock.MaxAge`.
    ///
    /// C# signature: `System.Single LibreMetaverse.Assets.PrimObject.ParticlesBlock.MaxAge`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.ParticlesBlock.OuterAngle`.
    ///
    /// C# signature: `System.Single LibreMetaverse.Assets.PrimObject.ParticlesBlock.OuterAngle`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.ParticlesBlock.ParticleEndColor`.
    ///
    /// C# signature: `LibreMetaverse.Color4 LibreMetaverse.Assets.PrimObject.ParticlesBlock.ParticleEndColor`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.ParticlesBlock.ParticleEndScale`.
    ///
    /// C# signature: `LibreMetaverse.Vector2 LibreMetaverse.Assets.PrimObject.ParticlesBlock.ParticleEndScale`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.ParticlesBlock.ParticleMaxAge`.
    ///
    /// C# signature: `System.Single LibreMetaverse.Assets.PrimObject.ParticlesBlock.ParticleMaxAge`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.ParticlesBlock.ParticleStartColor`.
    ///
    /// C# signature: `LibreMetaverse.Color4 LibreMetaverse.Assets.PrimObject.ParticlesBlock.ParticleStartColor`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.ParticlesBlock.ParticleStartScale`.
    ///
    /// C# signature: `LibreMetaverse.Vector2 LibreMetaverse.Assets.PrimObject.ParticlesBlock.ParticleStartScale`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.ParticlesBlock.Pattern`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.Assets.PrimObject.ParticlesBlock.Pattern`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.ParticlesBlock.StartAge`.
    ///
    /// C# signature: `System.Single LibreMetaverse.Assets.PrimObject.ParticlesBlock.StartAge`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.ParticlesBlock.TargetID`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Assets.PrimObject.ParticlesBlock.TargetID`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.ParticlesBlock.TextureID`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Assets.PrimObject.ParticlesBlock.TextureID`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `M:LibreMetaverse.Assets.PrimObject.ParticlesBlock.#ctor`.
    ///
    /// C# signature: `LibreMetaverse.Assets.PrimObject.ParticlesBlock()`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Assets.PrimObject.ParticlesBlock.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Assets.PrimObject.ParticlesBlock.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
    /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Assets.PrimObject.ParticlesBlock.Serialize`.
    ///
    /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Assets.PrimObject.ParticlesBlock.Serialize()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub use crate::prim_object::PrimObjectParticlesBlock;

    /// C# type: `T:LibreMetaverse.Assets.PrimObject.SculptBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Assets.PrimObject.SculptBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.SculptBlock.Texture`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Assets.PrimObject.SculptBlock.Texture`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.SculptBlock.Type`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.Assets.PrimObject.SculptBlock.Type`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `M:LibreMetaverse.Assets.PrimObject.SculptBlock.#ctor`.
    ///
    /// C# signature: `LibreMetaverse.Assets.PrimObject.SculptBlock()`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Assets.PrimObject.SculptBlock.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Assets.PrimObject.SculptBlock.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
    /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Assets.PrimObject.SculptBlock.Serialize`.
    ///
    /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Assets.PrimObject.SculptBlock.Serialize()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub use crate::prim_object::PrimObjectSculptBlock;

    /// C# type: `T:LibreMetaverse.Assets.PrimObject.ShapeBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Assets.PrimObject.ShapeBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.ShapeBlock.PathBegin`.
    ///
    /// C# signature: `System.Single LibreMetaverse.Assets.PrimObject.ShapeBlock.PathBegin`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.ShapeBlock.PathCurve`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.Assets.PrimObject.ShapeBlock.PathCurve`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.ShapeBlock.PathEnd`.
    ///
    /// C# signature: `System.Single LibreMetaverse.Assets.PrimObject.ShapeBlock.PathEnd`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.ShapeBlock.PathRadiusOffset`.
    ///
    /// C# signature: `System.Single LibreMetaverse.Assets.PrimObject.ShapeBlock.PathRadiusOffset`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.ShapeBlock.PathRevolutions`.
    ///
    /// C# signature: `System.Single LibreMetaverse.Assets.PrimObject.ShapeBlock.PathRevolutions`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.ShapeBlock.PathScaleX`.
    ///
    /// C# signature: `System.Single LibreMetaverse.Assets.PrimObject.ShapeBlock.PathScaleX`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.ShapeBlock.PathScaleY`.
    ///
    /// C# signature: `System.Single LibreMetaverse.Assets.PrimObject.ShapeBlock.PathScaleY`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.ShapeBlock.PathShearX`.
    ///
    /// C# signature: `System.Single LibreMetaverse.Assets.PrimObject.ShapeBlock.PathShearX`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.ShapeBlock.PathShearY`.
    ///
    /// C# signature: `System.Single LibreMetaverse.Assets.PrimObject.ShapeBlock.PathShearY`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.ShapeBlock.PathSkew`.
    ///
    /// C# signature: `System.Single LibreMetaverse.Assets.PrimObject.ShapeBlock.PathSkew`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.ShapeBlock.PathTaperX`.
    ///
    /// C# signature: `System.Single LibreMetaverse.Assets.PrimObject.ShapeBlock.PathTaperX`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.ShapeBlock.PathTaperY`.
    ///
    /// C# signature: `System.Single LibreMetaverse.Assets.PrimObject.ShapeBlock.PathTaperY`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.ShapeBlock.PathTwist`.
    ///
    /// C# signature: `System.Single LibreMetaverse.Assets.PrimObject.ShapeBlock.PathTwist`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.ShapeBlock.PathTwistBegin`.
    ///
    /// C# signature: `System.Single LibreMetaverse.Assets.PrimObject.ShapeBlock.PathTwistBegin`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.ShapeBlock.ProfileBegin`.
    ///
    /// C# signature: `System.Single LibreMetaverse.Assets.PrimObject.ShapeBlock.ProfileBegin`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.ShapeBlock.ProfileCurve`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.Assets.PrimObject.ShapeBlock.ProfileCurve`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.ShapeBlock.ProfileEnd`.
    ///
    /// C# signature: `System.Single LibreMetaverse.Assets.PrimObject.ShapeBlock.ProfileEnd`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.PrimObject.ShapeBlock.ProfileHollow`.
    ///
    /// C# signature: `System.Single LibreMetaverse.Assets.PrimObject.ShapeBlock.ProfileHollow`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `M:LibreMetaverse.Assets.PrimObject.ShapeBlock.#ctor`.
    ///
    /// C# signature: `LibreMetaverse.Assets.PrimObject.ShapeBlock()`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Assets.PrimObject.ShapeBlock.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Assets.PrimObject.ShapeBlock.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
    /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Assets.PrimObject.ShapeBlock.Serialize`.
    ///
    /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Assets.PrimObject.ShapeBlock.Serialize()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub use crate::prim_object::PrimObjectShapeBlock;

    /// C# type: `T:LibreMetaverse.Assets.RegionSettings`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Assets.RegionSettings` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    /// C# member: `F:LibreMetaverse.Assets.RegionSettings.AgentLimit`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.Assets.RegionSettings.AgentLimit`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.RegionSettings.AllowDamage`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.Assets.RegionSettings.AllowDamage`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.RegionSettings.AllowLandJoinDivide`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.Assets.RegionSettings.AllowLandJoinDivide`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.RegionSettings.AllowLandResell`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.Assets.RegionSettings.AllowLandResell`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.RegionSettings.BlockFly`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.Assets.RegionSettings.BlockFly`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.RegionSettings.BlockLandShowInSearch`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.Assets.RegionSettings.BlockLandShowInSearch`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.RegionSettings.BlockTerraform`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.Assets.RegionSettings.BlockTerraform`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.RegionSettings.DisableCollisions`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.Assets.RegionSettings.DisableCollisions`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.RegionSettings.DisablePhysics`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.Assets.RegionSettings.DisablePhysics`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.RegionSettings.DisableScripts`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.Assets.RegionSettings.DisableScripts`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.RegionSettings.FixedSun`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.Assets.RegionSettings.FixedSun`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.RegionSettings.MaturityRating`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.Assets.RegionSettings.MaturityRating`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.RegionSettings.ObjectBonus`.
    ///
    /// C# signature: `System.Single LibreMetaverse.Assets.RegionSettings.ObjectBonus`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.RegionSettings.RestrictPushing`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.Assets.RegionSettings.RestrictPushing`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.RegionSettings.TerrainDetail0`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Assets.RegionSettings.TerrainDetail0`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.RegionSettings.TerrainDetail1`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Assets.RegionSettings.TerrainDetail1`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.RegionSettings.TerrainDetail2`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Assets.RegionSettings.TerrainDetail2`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.RegionSettings.TerrainDetail3`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Assets.RegionSettings.TerrainDetail3`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.RegionSettings.TerrainHeightRange00`.
    ///
    /// C# signature: `System.Single LibreMetaverse.Assets.RegionSettings.TerrainHeightRange00`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.RegionSettings.TerrainHeightRange01`.
    ///
    /// C# signature: `System.Single LibreMetaverse.Assets.RegionSettings.TerrainHeightRange01`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.RegionSettings.TerrainHeightRange10`.
    ///
    /// C# signature: `System.Single LibreMetaverse.Assets.RegionSettings.TerrainHeightRange10`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.RegionSettings.TerrainHeightRange11`.
    ///
    /// C# signature: `System.Single LibreMetaverse.Assets.RegionSettings.TerrainHeightRange11`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.RegionSettings.TerrainLowerLimit`.
    ///
    /// C# signature: `System.Single LibreMetaverse.Assets.RegionSettings.TerrainLowerLimit`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.RegionSettings.TerrainRaiseLimit`.
    ///
    /// C# signature: `System.Single LibreMetaverse.Assets.RegionSettings.TerrainRaiseLimit`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.RegionSettings.TerrainStartHeight00`.
    ///
    /// C# signature: `System.Single LibreMetaverse.Assets.RegionSettings.TerrainStartHeight00`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.RegionSettings.TerrainStartHeight01`.
    ///
    /// C# signature: `System.Single LibreMetaverse.Assets.RegionSettings.TerrainStartHeight01`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.RegionSettings.TerrainStartHeight10`.
    ///
    /// C# signature: `System.Single LibreMetaverse.Assets.RegionSettings.TerrainStartHeight10`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.RegionSettings.TerrainStartHeight11`.
    ///
    /// C# signature: `System.Single LibreMetaverse.Assets.RegionSettings.TerrainStartHeight11`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.RegionSettings.UseEstateSun`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.Assets.RegionSettings.UseEstateSun`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Assets.RegionSettings.WaterHeight`.
    ///
    /// C# signature: `System.Single LibreMetaverse.Assets.RegionSettings.WaterHeight`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `M:LibreMetaverse.Assets.RegionSettings.#ctor`.
    ///
    /// C# signature: `LibreMetaverse.Assets.RegionSettings()`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Assets.RegionSettings.FromStream(System.IO.Stream)`.
    ///
    /// C# signature: `LibreMetaverse.Assets.RegionSettings LibreMetaverse.Assets.RegionSettings.FromStream(System.IO.Stream stream)`.
    /// Mapping contract: ownership `owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Assets.RegionSettings.ToXML(System.String)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Assets.RegionSettings.ToXML(System.String filename)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub use crate::asset_archive::RegionSettings;

    /// C# type: `T:LibreMetaverse.Assets.TarArchiveReader`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Assets.TarArchiveReader` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    /// C# member: `M:LibreMetaverse.Assets.TarArchiveReader.#ctor(System.IO.Stream)`.
    ///
    /// C# signature: `LibreMetaverse.Assets.TarArchiveReader(System.IO.Stream s)`.
    /// Mapping contract: ownership `owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Assets.TarArchiveReader.Close`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Assets.TarArchiveReader.Close()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Assets.TarArchiveReader.ConvertOctalBytesToDecimal(System.Byte[],System.Int32,System.Int32)`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.Assets.TarArchiveReader.ConvertOctalBytesToDecimal(System.Byte[] bytes, System.Int32 startIndex, System.Int32 count)`.
    /// Mapping contract: ownership `owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Assets.TarArchiveReader.ReadEntry(System.String@,LibreMetaverse.Assets.TarArchiveReader.TarEntryType@)`.
    ///
    /// C# signature: `System.Byte[] LibreMetaverse.Assets.TarArchiveReader.ReadEntry(out System.String& filePath, out LibreMetaverse.Assets.TarArchiveReader.TarEntryType& entryType)`.
    /// Mapping contract: ownership `shared_self,mutable_output,mutable_output`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub use crate::asset_archive::TarArchiveReader;

    /// C# type: `T:LibreMetaverse.Assets.TarArchiveReader.TarEntryType`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Assets.TarArchiveReader.TarEntryType` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    #[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
    #[repr(i32)]
    pub enum TarArchiveReaderTarEntryType {
        /// C# member: `F:LibreMetaverse.Assets.TarArchiveReader.TarEntryType.TYPE_BLOCK_SPECIAL`.
        ///
        /// C# signature: `LibreMetaverse.Assets.TarArchiveReader.TarEntryType LibreMetaverse.Assets.TarArchiveReader.TarEntryType.TYPE_BLOCK_SPECIAL`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        TYPE_BLOCK_SPECIAL = 5,
        /// C# member: `F:LibreMetaverse.Assets.TarArchiveReader.TarEntryType.TYPE_CHAR_SPECIAL`.
        ///
        /// C# signature: `LibreMetaverse.Assets.TarArchiveReader.TarEntryType LibreMetaverse.Assets.TarArchiveReader.TarEntryType.TYPE_CHAR_SPECIAL`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        TYPE_CHAR_SPECIAL = 4,
        /// C# member: `F:LibreMetaverse.Assets.TarArchiveReader.TarEntryType.TYPE_CONTIGUOUS_FILE`.
        ///
        /// C# signature: `LibreMetaverse.Assets.TarArchiveReader.TarEntryType LibreMetaverse.Assets.TarArchiveReader.TarEntryType.TYPE_CONTIGUOUS_FILE`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        TYPE_CONTIGUOUS_FILE = 8,
        /// C# member: `F:LibreMetaverse.Assets.TarArchiveReader.TarEntryType.TYPE_DIRECTORY`.
        ///
        /// C# signature: `LibreMetaverse.Assets.TarArchiveReader.TarEntryType LibreMetaverse.Assets.TarArchiveReader.TarEntryType.TYPE_DIRECTORY`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        TYPE_DIRECTORY = 6,
        /// C# member: `F:LibreMetaverse.Assets.TarArchiveReader.TarEntryType.TYPE_FIFO`.
        ///
        /// C# signature: `LibreMetaverse.Assets.TarArchiveReader.TarEntryType LibreMetaverse.Assets.TarArchiveReader.TarEntryType.TYPE_FIFO`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        TYPE_FIFO = 7,
        /// C# member: `F:LibreMetaverse.Assets.TarArchiveReader.TarEntryType.TYPE_HARD_LINK`.
        ///
        /// C# signature: `LibreMetaverse.Assets.TarArchiveReader.TarEntryType LibreMetaverse.Assets.TarArchiveReader.TarEntryType.TYPE_HARD_LINK`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        TYPE_HARD_LINK = 2,
        /// C# member: `F:LibreMetaverse.Assets.TarArchiveReader.TarEntryType.TYPE_NORMAL_FILE`.
        ///
        /// C# signature: `LibreMetaverse.Assets.TarArchiveReader.TarEntryType LibreMetaverse.Assets.TarArchiveReader.TarEntryType.TYPE_NORMAL_FILE`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        TYPE_NORMAL_FILE = 1,
        /// C# member: `F:LibreMetaverse.Assets.TarArchiveReader.TarEntryType.TYPE_SYMBOLIC_LINK`.
        ///
        /// C# signature: `LibreMetaverse.Assets.TarArchiveReader.TarEntryType LibreMetaverse.Assets.TarArchiveReader.TarEntryType.TYPE_SYMBOLIC_LINK`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        TYPE_SYMBOLIC_LINK = 3,
        /// C# member: `F:LibreMetaverse.Assets.TarArchiveReader.TarEntryType.TYPE_UNKNOWN`.
        ///
        /// C# signature: `LibreMetaverse.Assets.TarArchiveReader.TarEntryType LibreMetaverse.Assets.TarArchiveReader.TarEntryType.TYPE_UNKNOWN`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        TYPE_UNKNOWN = 0,
    }

    /// C# type: `T:LibreMetaverse.Assets.TarArchiveWriter`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Assets.TarArchiveWriter` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    /// C# member: `M:LibreMetaverse.Assets.TarArchiveWriter.#ctor(System.IO.Stream)`.
    ///
    /// C# signature: `LibreMetaverse.Assets.TarArchiveWriter(System.IO.Stream s)`.
    /// Mapping contract: ownership `owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Assets.TarArchiveWriter.Close`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Assets.TarArchiveWriter.Close()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Assets.TarArchiveWriter.ConvertDecimalToPaddedOctalBytes(System.Int32,System.Int32)`.
    ///
    /// C# signature: `System.Byte[] LibreMetaverse.Assets.TarArchiveWriter.ConvertDecimalToPaddedOctalBytes(System.Int32 d, System.Int32 padding)`.
    /// Mapping contract: ownership `owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Assets.TarArchiveWriter.WriteDir(System.String)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Assets.TarArchiveWriter.WriteDir(System.String dirName)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Assets.TarArchiveWriter.WriteFile(System.String,System.Byte[])`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Assets.TarArchiveWriter.WriteFile(System.String filePath, System.Byte[] data)`.
    /// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    /// C# member: `M:LibreMetaverse.Assets.TarArchiveWriter.WriteFile(System.String,System.String)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Assets.TarArchiveWriter.WriteFile(System.String filePath, System.String data)`.
    /// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub use crate::asset_archive::TarArchiveWriter;

    /// C# type: `T:LibreMetaverse.Assets.TarHeader`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Assets.TarHeader` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct TarHeader {
        /// C# member: `F:LibreMetaverse.Assets.TarHeader.EntryType`.
        ///
        /// C# signature: `LibreMetaverse.Assets.TarArchiveReader.TarEntryType LibreMetaverse.Assets.TarHeader.EntryType`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub entry_type: libremetaverse::assets::TarArchiveReaderTarEntryType,
        /// C# member: `F:LibreMetaverse.Assets.TarHeader.FilePath`.
        ///
        /// C# signature: `System.String LibreMetaverse.Assets.TarHeader.FilePath`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub file_path: String,
        /// C# member: `F:LibreMetaverse.Assets.TarHeader.FileSize`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Assets.TarHeader.FileSize`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub file_size: i32,
    }
    impl TarHeader {
        /// C# member: `M:LibreMetaverse.Assets.TarHeader.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Assets.TarHeader()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn new() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(Self {
                entry_type: libremetaverse::assets::TarArchiveReaderTarEntryType::TYPE_UNKNOWN,
                file_path: String::new(),
                file_size: 0,
            })
        }
    }

    pub mod gltf {
        /// C# type: `T:LibreMetaverse.Assets.Gltf.GltfAccessor`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Assets.Gltf.GltfAccessor` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        /// C# member: `M:LibreMetaverse.Assets.Gltf.GltfAccessor.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Assets.Gltf.GltfAccessor()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        /// C# member: `P:LibreMetaverse.Assets.Gltf.GltfAccessor.BufferView`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Assets.Gltf.GltfAccessor.BufferView`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        /// C# member: `P:LibreMetaverse.Assets.Gltf.GltfAccessor.ByteOffset`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Assets.Gltf.GltfAccessor.ByteOffset`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        /// C# member: `P:LibreMetaverse.Assets.Gltf.GltfAccessor.ComponentByteSize`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Assets.Gltf.GltfAccessor.ComponentByteSize`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        /// C# member: `P:LibreMetaverse.Assets.Gltf.GltfAccessor.ComponentCount`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Assets.Gltf.GltfAccessor.ComponentCount`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        /// C# member: `P:LibreMetaverse.Assets.Gltf.GltfAccessor.ComponentType`.
        ///
        /// C# signature: `LibreMetaverse.Assets.Gltf.GltfComponentType LibreMetaverse.Assets.Gltf.GltfAccessor.ComponentType`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        /// C# member: `P:LibreMetaverse.Assets.Gltf.GltfAccessor.Count`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Assets.Gltf.GltfAccessor.Count`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        /// C# member: `P:LibreMetaverse.Assets.Gltf.GltfAccessor.DefaultStride`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Assets.Gltf.GltfAccessor.DefaultStride`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        /// C# member: `P:LibreMetaverse.Assets.Gltf.GltfAccessor.Max`.
        ///
        /// C# signature: `System.Double[] LibreMetaverse.Assets.Gltf.GltfAccessor.Max`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        /// C# member: `P:LibreMetaverse.Assets.Gltf.GltfAccessor.Min`.
        ///
        /// C# signature: `System.Double[] LibreMetaverse.Assets.Gltf.GltfAccessor.Min`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        /// C# member: `P:LibreMetaverse.Assets.Gltf.GltfAccessor.Name`.
        ///
        /// C# signature: `System.String LibreMetaverse.Assets.Gltf.GltfAccessor.Name`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        /// C# member: `P:LibreMetaverse.Assets.Gltf.GltfAccessor.Normalized`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Assets.Gltf.GltfAccessor.Normalized`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        /// C# member: `P:LibreMetaverse.Assets.Gltf.GltfAccessor.Type`.
        ///
        /// C# signature: `LibreMetaverse.Assets.Gltf.GltfAccessorType LibreMetaverse.Assets.Gltf.GltfAccessor.Type`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub use crate::gltf::GltfAccessor;

        /// C# type: `T:LibreMetaverse.Assets.Gltf.GltfAccessorType`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Assets.Gltf.GltfAccessorType` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
        #[repr(u8)]
        pub enum GltfAccessorType {
            /// C# member: `F:LibreMetaverse.Assets.Gltf.GltfAccessorType.Mat2`.
            ///
            /// C# signature: `LibreMetaverse.Assets.Gltf.GltfAccessorType LibreMetaverse.Assets.Gltf.GltfAccessorType.Mat2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Mat2 = 4,
            /// C# member: `F:LibreMetaverse.Assets.Gltf.GltfAccessorType.Mat3`.
            ///
            /// C# signature: `LibreMetaverse.Assets.Gltf.GltfAccessorType LibreMetaverse.Assets.Gltf.GltfAccessorType.Mat3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Mat3 = 5,
            /// C# member: `F:LibreMetaverse.Assets.Gltf.GltfAccessorType.Mat4`.
            ///
            /// C# signature: `LibreMetaverse.Assets.Gltf.GltfAccessorType LibreMetaverse.Assets.Gltf.GltfAccessorType.Mat4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Mat4 = 6,
            /// C# member: `F:LibreMetaverse.Assets.Gltf.GltfAccessorType.Scalar`.
            ///
            /// C# signature: `LibreMetaverse.Assets.Gltf.GltfAccessorType LibreMetaverse.Assets.Gltf.GltfAccessorType.Scalar`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Scalar = 0,
            /// C# member: `F:LibreMetaverse.Assets.Gltf.GltfAccessorType.Vec2`.
            ///
            /// C# signature: `LibreMetaverse.Assets.Gltf.GltfAccessorType LibreMetaverse.Assets.Gltf.GltfAccessorType.Vec2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Vec2 = 1,
            /// C# member: `F:LibreMetaverse.Assets.Gltf.GltfAccessorType.Vec3`.
            ///
            /// C# signature: `LibreMetaverse.Assets.Gltf.GltfAccessorType LibreMetaverse.Assets.Gltf.GltfAccessorType.Vec3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Vec3 = 2,
            /// C# member: `F:LibreMetaverse.Assets.Gltf.GltfAccessorType.Vec4`.
            ///
            /// C# signature: `LibreMetaverse.Assets.Gltf.GltfAccessorType LibreMetaverse.Assets.Gltf.GltfAccessorType.Vec4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Vec4 = 3,
        }

        /// C# type: `T:LibreMetaverse.Assets.Gltf.GltfAnimation`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Assets.Gltf.GltfAnimation` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        /// C# member: `M:LibreMetaverse.Assets.Gltf.GltfAnimation.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Assets.Gltf.GltfAnimation()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        /// C# member: `P:LibreMetaverse.Assets.Gltf.GltfAnimation.Channels`.
        ///
        /// C# signature: `System.Collections.Generic.List<LibreMetaverse.Assets.Gltf.GltfAnimationChannel> LibreMetaverse.Assets.Gltf.GltfAnimation.Channels`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        /// C# member: `P:LibreMetaverse.Assets.Gltf.GltfAnimation.Name`.
        ///
        /// C# signature: `System.String LibreMetaverse.Assets.Gltf.GltfAnimation.Name`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        /// C# member: `P:LibreMetaverse.Assets.Gltf.GltfAnimation.Samplers`.
        ///
        /// C# signature: `System.Collections.Generic.List<LibreMetaverse.Assets.Gltf.GltfAnimationSampler> LibreMetaverse.Assets.Gltf.GltfAnimation.Samplers`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub use crate::gltf::GltfAnimation;

        /// C# type: `T:LibreMetaverse.Assets.Gltf.GltfAnimationChannel`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Assets.Gltf.GltfAnimationChannel` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        /// C# member: `M:LibreMetaverse.Assets.Gltf.GltfAnimationChannel.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Assets.Gltf.GltfAnimationChannel()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        /// C# member: `P:LibreMetaverse.Assets.Gltf.GltfAnimationChannel.Sampler`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Assets.Gltf.GltfAnimationChannel.Sampler`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        /// C# member: `P:LibreMetaverse.Assets.Gltf.GltfAnimationChannel.Target`.
        ///
        /// C# signature: `LibreMetaverse.Assets.Gltf.GltfAnimationChannelTarget LibreMetaverse.Assets.Gltf.GltfAnimationChannel.Target`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub use crate::gltf::GltfAnimationChannel;

        /// C# type: `T:LibreMetaverse.Assets.Gltf.GltfAnimationChannelTarget`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Assets.Gltf.GltfAnimationChannelTarget` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        /// C# member: `M:LibreMetaverse.Assets.Gltf.GltfAnimationChannelTarget.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Assets.Gltf.GltfAnimationChannelTarget()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        /// C# member: `P:LibreMetaverse.Assets.Gltf.GltfAnimationChannelTarget.Node`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Assets.Gltf.GltfAnimationChannelTarget.Node`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        /// C# member: `P:LibreMetaverse.Assets.Gltf.GltfAnimationChannelTarget.Path`.
        ///
        /// C# signature: `LibreMetaverse.Assets.Gltf.GltfAnimationTargetPath LibreMetaverse.Assets.Gltf.GltfAnimationChannelTarget.Path`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub use crate::gltf::GltfAnimationChannelTarget;

        /// C# type: `T:LibreMetaverse.Assets.Gltf.GltfAnimationInterpolation`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Assets.Gltf.GltfAnimationInterpolation` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
        #[repr(u8)]
        pub enum GltfAnimationInterpolation {
            /// C# member: `F:LibreMetaverse.Assets.Gltf.GltfAnimationInterpolation.CubicSpline`.
            ///
            /// C# signature: `LibreMetaverse.Assets.Gltf.GltfAnimationInterpolation LibreMetaverse.Assets.Gltf.GltfAnimationInterpolation.CubicSpline`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            CubicSpline = 2,
            /// C# member: `F:LibreMetaverse.Assets.Gltf.GltfAnimationInterpolation.Linear`.
            ///
            /// C# signature: `LibreMetaverse.Assets.Gltf.GltfAnimationInterpolation LibreMetaverse.Assets.Gltf.GltfAnimationInterpolation.Linear`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Linear = 0,
            /// C# member: `F:LibreMetaverse.Assets.Gltf.GltfAnimationInterpolation.Step`.
            ///
            /// C# signature: `LibreMetaverse.Assets.Gltf.GltfAnimationInterpolation LibreMetaverse.Assets.Gltf.GltfAnimationInterpolation.Step`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Step = 1,
        }

        /// C# type: `T:LibreMetaverse.Assets.Gltf.GltfAnimationSampler`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Assets.Gltf.GltfAnimationSampler` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        /// C# member: `M:LibreMetaverse.Assets.Gltf.GltfAnimationSampler.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Assets.Gltf.GltfAnimationSampler()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        /// C# member: `P:LibreMetaverse.Assets.Gltf.GltfAnimationSampler.Input`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Assets.Gltf.GltfAnimationSampler.Input`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        /// C# member: `P:LibreMetaverse.Assets.Gltf.GltfAnimationSampler.Interpolation`.
        ///
        /// C# signature: `LibreMetaverse.Assets.Gltf.GltfAnimationInterpolation LibreMetaverse.Assets.Gltf.GltfAnimationSampler.Interpolation`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        /// C# member: `P:LibreMetaverse.Assets.Gltf.GltfAnimationSampler.Output`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Assets.Gltf.GltfAnimationSampler.Output`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub use crate::gltf::GltfAnimationSampler;

        /// C# type: `T:LibreMetaverse.Assets.Gltf.GltfAnimationTargetPath`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Assets.Gltf.GltfAnimationTargetPath` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
        #[repr(u8)]
        pub enum GltfAnimationTargetPath {
            /// C# member: `F:LibreMetaverse.Assets.Gltf.GltfAnimationTargetPath.Rotation`.
            ///
            /// C# signature: `LibreMetaverse.Assets.Gltf.GltfAnimationTargetPath LibreMetaverse.Assets.Gltf.GltfAnimationTargetPath.Rotation`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Rotation = 1,
            /// C# member: `F:LibreMetaverse.Assets.Gltf.GltfAnimationTargetPath.Scale`.
            ///
            /// C# signature: `LibreMetaverse.Assets.Gltf.GltfAnimationTargetPath LibreMetaverse.Assets.Gltf.GltfAnimationTargetPath.Scale`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Scale = 2,
            /// C# member: `F:LibreMetaverse.Assets.Gltf.GltfAnimationTargetPath.Translation`.
            ///
            /// C# signature: `LibreMetaverse.Assets.Gltf.GltfAnimationTargetPath LibreMetaverse.Assets.Gltf.GltfAnimationTargetPath.Translation`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Translation = 0,
            /// C# member: `F:LibreMetaverse.Assets.Gltf.GltfAnimationTargetPath.Weights`.
            ///
            /// C# signature: `LibreMetaverse.Assets.Gltf.GltfAnimationTargetPath LibreMetaverse.Assets.Gltf.GltfAnimationTargetPath.Weights`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Weights = 3,
        }

        /// C# type: `T:LibreMetaverse.Assets.Gltf.GltfBuffer`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Assets.Gltf.GltfBuffer` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        /// C# member: `M:LibreMetaverse.Assets.Gltf.GltfBuffer.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Assets.Gltf.GltfBuffer()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        /// C# member: `P:LibreMetaverse.Assets.Gltf.GltfBuffer.ByteLength`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Assets.Gltf.GltfBuffer.ByteLength`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        /// C# member: `P:LibreMetaverse.Assets.Gltf.GltfBuffer.Data`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Assets.Gltf.GltfBuffer.Data`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        /// C# member: `P:LibreMetaverse.Assets.Gltf.GltfBuffer.Name`.
        ///
        /// C# signature: `System.String LibreMetaverse.Assets.Gltf.GltfBuffer.Name`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        /// C# member: `P:LibreMetaverse.Assets.Gltf.GltfBuffer.Uri`.
        ///
        /// C# signature: `System.String LibreMetaverse.Assets.Gltf.GltfBuffer.Uri`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub use crate::gltf::GltfBuffer;

        /// C# type: `T:LibreMetaverse.Assets.Gltf.GltfBufferView`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Assets.Gltf.GltfBufferView` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        /// C# member: `M:LibreMetaverse.Assets.Gltf.GltfBufferView.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Assets.Gltf.GltfBufferView()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        /// C# member: `P:LibreMetaverse.Assets.Gltf.GltfBufferView.Buffer`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Assets.Gltf.GltfBufferView.Buffer`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        /// C# member: `P:LibreMetaverse.Assets.Gltf.GltfBufferView.ByteLength`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Assets.Gltf.GltfBufferView.ByteLength`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        /// C# member: `P:LibreMetaverse.Assets.Gltf.GltfBufferView.ByteOffset`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Assets.Gltf.GltfBufferView.ByteOffset`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        /// C# member: `P:LibreMetaverse.Assets.Gltf.GltfBufferView.ByteStride`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Assets.Gltf.GltfBufferView.ByteStride`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        /// C# member: `P:LibreMetaverse.Assets.Gltf.GltfBufferView.Name`.
        ///
        /// C# signature: `System.String LibreMetaverse.Assets.Gltf.GltfBufferView.Name`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        /// C# member: `P:LibreMetaverse.Assets.Gltf.GltfBufferView.Target`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Assets.Gltf.GltfBufferView.Target`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub use crate::gltf::GltfBufferView;

        /// C# type: `T:LibreMetaverse.Assets.Gltf.GltfComponentType`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Assets.Gltf.GltfComponentType` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
        #[repr(i32)]
        pub enum GltfComponentType {
            /// C# member: `F:LibreMetaverse.Assets.Gltf.GltfComponentType.Byte`.
            ///
            /// C# signature: `LibreMetaverse.Assets.Gltf.GltfComponentType LibreMetaverse.Assets.Gltf.GltfComponentType.Byte`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Byte = 5120,
            /// C# member: `F:LibreMetaverse.Assets.Gltf.GltfComponentType.Float`.
            ///
            /// C# signature: `LibreMetaverse.Assets.Gltf.GltfComponentType LibreMetaverse.Assets.Gltf.GltfComponentType.Float`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float = 5126,
            /// C# member: `F:LibreMetaverse.Assets.Gltf.GltfComponentType.Short`.
            ///
            /// C# signature: `LibreMetaverse.Assets.Gltf.GltfComponentType LibreMetaverse.Assets.Gltf.GltfComponentType.Short`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Short = 5122,
            /// C# member: `F:LibreMetaverse.Assets.Gltf.GltfComponentType.UnsignedByte`.
            ///
            /// C# signature: `LibreMetaverse.Assets.Gltf.GltfComponentType LibreMetaverse.Assets.Gltf.GltfComponentType.UnsignedByte`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            UnsignedByte = 5121,
            /// C# member: `F:LibreMetaverse.Assets.Gltf.GltfComponentType.UnsignedInt`.
            ///
            /// C# signature: `LibreMetaverse.Assets.Gltf.GltfComponentType LibreMetaverse.Assets.Gltf.GltfComponentType.UnsignedInt`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            UnsignedInt = 5125,
            /// C# member: `F:LibreMetaverse.Assets.Gltf.GltfComponentType.UnsignedShort`.
            ///
            /// C# signature: `LibreMetaverse.Assets.Gltf.GltfComponentType LibreMetaverse.Assets.Gltf.GltfComponentType.UnsignedShort`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            UnsignedShort = 5123,
        }

        /// C# type: `T:LibreMetaverse.Assets.Gltf.GltfDocument`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Assets.Gltf.GltfDocument` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        /// C# member: `M:LibreMetaverse.Assets.Gltf.GltfDocument.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Assets.Gltf.GltfDocument()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        /// C# member: `M:LibreMetaverse.Assets.Gltf.GltfDocument.GetColors(LibreMetaverse.Assets.Gltf.GltfPrimitive,System.Int32)`.
        ///
        /// C# signature: `LibreMetaverse.Color4[] LibreMetaverse.Assets.Gltf.GltfDocument.GetColors(LibreMetaverse.Assets.Gltf.GltfPrimitive primitive, System.Int32 set = default)`.
        /// Mapping contract: ownership `shared_self,owned,optional_owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        /// C# member: `M:LibreMetaverse.Assets.Gltf.GltfDocument.GetIndices(LibreMetaverse.Assets.Gltf.GltfPrimitive)`.
        ///
        /// C# signature: `System.UInt32[] LibreMetaverse.Assets.Gltf.GltfDocument.GetIndices(LibreMetaverse.Assets.Gltf.GltfPrimitive primitive)`.
        /// Mapping contract: ownership `shared_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        /// C# member: `M:LibreMetaverse.Assets.Gltf.GltfDocument.GetInverseBindMatrices(LibreMetaverse.Assets.Gltf.GltfSkin)`.
        ///
        /// C# signature: `LibreMetaverse.Matrix4[] LibreMetaverse.Assets.Gltf.GltfDocument.GetInverseBindMatrices(LibreMetaverse.Assets.Gltf.GltfSkin skin)`.
        /// Mapping contract: ownership `shared_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        /// C# member: `M:LibreMetaverse.Assets.Gltf.GltfDocument.GetJoints(LibreMetaverse.Assets.Gltf.GltfPrimitive,System.Int32)`.
        ///
        /// C# signature: `System.ValueTuple<System.UInt16, System.UInt16, System.UInt16, System.UInt16>[] LibreMetaverse.Assets.Gltf.GltfDocument.GetJoints(LibreMetaverse.Assets.Gltf.GltfPrimitive primitive, System.Int32 set = default)`.
        /// Mapping contract: ownership `shared_self,owned,optional_owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        /// C# member: `M:LibreMetaverse.Assets.Gltf.GltfDocument.GetNormals(LibreMetaverse.Assets.Gltf.GltfPrimitive)`.
        ///
        /// C# signature: `LibreMetaverse.Vector3[] LibreMetaverse.Assets.Gltf.GltfDocument.GetNormals(LibreMetaverse.Assets.Gltf.GltfPrimitive primitive)`.
        /// Mapping contract: ownership `shared_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        /// C# member: `M:LibreMetaverse.Assets.Gltf.GltfDocument.GetPositions(LibreMetaverse.Assets.Gltf.GltfPrimitive)`.
        ///
        /// C# signature: `LibreMetaverse.Vector3[] LibreMetaverse.Assets.Gltf.GltfDocument.GetPositions(LibreMetaverse.Assets.Gltf.GltfPrimitive primitive)`.
        /// Mapping contract: ownership `shared_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        /// C# member: `M:LibreMetaverse.Assets.Gltf.GltfDocument.GetSamplerQuaternion(LibreMetaverse.Assets.Gltf.GltfAnimationSampler)`.
        ///
        /// C# signature: `LibreMetaverse.Quaternion[] LibreMetaverse.Assets.Gltf.GltfDocument.GetSamplerQuaternion(LibreMetaverse.Assets.Gltf.GltfAnimationSampler sampler)`.
        /// Mapping contract: ownership `shared_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        /// C# member: `M:LibreMetaverse.Assets.Gltf.GltfDocument.GetSamplerTimestamps(LibreMetaverse.Assets.Gltf.GltfAnimationSampler)`.
        ///
        /// C# signature: `System.Single[] LibreMetaverse.Assets.Gltf.GltfDocument.GetSamplerTimestamps(LibreMetaverse.Assets.Gltf.GltfAnimationSampler sampler)`.
        /// Mapping contract: ownership `shared_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        /// C# member: `M:LibreMetaverse.Assets.Gltf.GltfDocument.GetSamplerVec3(LibreMetaverse.Assets.Gltf.GltfAnimationSampler)`.
        ///
        /// C# signature: `LibreMetaverse.Vector3[] LibreMetaverse.Assets.Gltf.GltfDocument.GetSamplerVec3(LibreMetaverse.Assets.Gltf.GltfAnimationSampler sampler)`.
        /// Mapping contract: ownership `shared_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        /// C# member: `M:LibreMetaverse.Assets.Gltf.GltfDocument.GetSamplerWeights(LibreMetaverse.Assets.Gltf.GltfAnimationSampler)`.
        ///
        /// C# signature: `System.Single[] LibreMetaverse.Assets.Gltf.GltfDocument.GetSamplerWeights(LibreMetaverse.Assets.Gltf.GltfAnimationSampler sampler)`.
        /// Mapping contract: ownership `shared_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        /// C# member: `M:LibreMetaverse.Assets.Gltf.GltfDocument.GetTangents(LibreMetaverse.Assets.Gltf.GltfPrimitive)`.
        ///
        /// C# signature: `LibreMetaverse.Vector4[] LibreMetaverse.Assets.Gltf.GltfDocument.GetTangents(LibreMetaverse.Assets.Gltf.GltfPrimitive primitive)`.
        /// Mapping contract: ownership `shared_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        /// C# member: `M:LibreMetaverse.Assets.Gltf.GltfDocument.GetTexCoords(LibreMetaverse.Assets.Gltf.GltfPrimitive,System.Int32)`.
        ///
        /// C# signature: `LibreMetaverse.Vector2[] LibreMetaverse.Assets.Gltf.GltfDocument.GetTexCoords(LibreMetaverse.Assets.Gltf.GltfPrimitive primitive, System.Int32 channel = default)`.
        /// Mapping contract: ownership `shared_self,owned,optional_owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        /// C# member: `M:LibreMetaverse.Assets.Gltf.GltfDocument.GetWeights(LibreMetaverse.Assets.Gltf.GltfPrimitive,System.Int32)`.
        ///
        /// C# signature: `LibreMetaverse.Vector4[] LibreMetaverse.Assets.Gltf.GltfDocument.GetWeights(LibreMetaverse.Assets.Gltf.GltfPrimitive primitive, System.Int32 set = default)`.
        /// Mapping contract: ownership `shared_self,owned,optional_owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        /// C# member: `M:LibreMetaverse.Assets.Gltf.GltfDocument.Load(System.Byte[],System.Func{System.String,System.Byte[]})`.
        ///
        /// C# signature: `LibreMetaverse.Assets.Gltf.GltfDocument LibreMetaverse.Assets.Gltf.GltfDocument.Load(System.Byte[] data, System.Func<System.String, System.Byte[]> bufferLoader = default)`.
        /// Mapping contract: ownership `owned,optional_owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        /// C# member: `M:LibreMetaverse.Assets.Gltf.GltfDocument.LoadGlb(System.Byte[])`.
        ///
        /// C# signature: `LibreMetaverse.Assets.Gltf.GltfDocument LibreMetaverse.Assets.Gltf.GltfDocument.LoadGlb(System.Byte[] data)`.
        /// Mapping contract: ownership `owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        /// C# member: `M:LibreMetaverse.Assets.Gltf.GltfDocument.LoadGltf(System.String,System.Func{System.String,System.Byte[]})`.
        ///
        /// C# signature: `LibreMetaverse.Assets.Gltf.GltfDocument LibreMetaverse.Assets.Gltf.GltfDocument.LoadGltf(System.String json, System.Func<System.String, System.Byte[]> bufferLoader = default)`.
        /// Mapping contract: ownership `owned,optional_owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        /// C# member: `M:LibreMetaverse.Assets.Gltf.GltfDocument.ToGlb`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Assets.Gltf.GltfDocument.ToGlb()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        /// C# member: `M:LibreMetaverse.Assets.Gltf.GltfDocument.ToJson(System.Boolean)`.
        ///
        /// C# signature: `System.String LibreMetaverse.Assets.Gltf.GltfDocument.ToJson(System.Boolean pretty = default)`.
        /// Mapping contract: ownership `shared_self,optional_owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        /// C# member: `P:LibreMetaverse.Assets.Gltf.GltfDocument.Accessors`.
        ///
        /// C# signature: `System.Collections.Generic.List<LibreMetaverse.Assets.Gltf.GltfAccessor> LibreMetaverse.Assets.Gltf.GltfDocument.Accessors`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        /// C# member: `P:LibreMetaverse.Assets.Gltf.GltfDocument.Animations`.
        ///
        /// C# signature: `System.Collections.Generic.List<LibreMetaverse.Assets.Gltf.GltfAnimation> LibreMetaverse.Assets.Gltf.GltfDocument.Animations`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        /// C# member: `P:LibreMetaverse.Assets.Gltf.GltfDocument.BufferViews`.
        ///
        /// C# signature: `System.Collections.Generic.List<LibreMetaverse.Assets.Gltf.GltfBufferView> LibreMetaverse.Assets.Gltf.GltfDocument.BufferViews`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        /// C# member: `P:LibreMetaverse.Assets.Gltf.GltfDocument.Buffers`.
        ///
        /// C# signature: `System.Collections.Generic.List<LibreMetaverse.Assets.Gltf.GltfBuffer> LibreMetaverse.Assets.Gltf.GltfDocument.Buffers`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        /// C# member: `P:LibreMetaverse.Assets.Gltf.GltfDocument.Copyright`.
        ///
        /// C# signature: `System.String LibreMetaverse.Assets.Gltf.GltfDocument.Copyright`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        /// C# member: `P:LibreMetaverse.Assets.Gltf.GltfDocument.DefaultScene`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Assets.Gltf.GltfDocument.DefaultScene`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        /// C# member: `P:LibreMetaverse.Assets.Gltf.GltfDocument.ExtensionsRequired`.
        ///
        /// C# signature: `System.Collections.Generic.List<System.String> LibreMetaverse.Assets.Gltf.GltfDocument.ExtensionsRequired`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        /// C# member: `P:LibreMetaverse.Assets.Gltf.GltfDocument.ExtensionsUsed`.
        ///
        /// C# signature: `System.Collections.Generic.List<System.String> LibreMetaverse.Assets.Gltf.GltfDocument.ExtensionsUsed`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        /// C# member: `P:LibreMetaverse.Assets.Gltf.GltfDocument.Generator`.
        ///
        /// C# signature: `System.String LibreMetaverse.Assets.Gltf.GltfDocument.Generator`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        /// C# member: `P:LibreMetaverse.Assets.Gltf.GltfDocument.Images`.
        ///
        /// C# signature: `System.Collections.Generic.List<LibreMetaverse.Assets.Gltf.GltfImage> LibreMetaverse.Assets.Gltf.GltfDocument.Images`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        /// C# member: `P:LibreMetaverse.Assets.Gltf.GltfDocument.Materials`.
        ///
        /// C# signature: `System.Collections.Generic.List<LibreMetaverse.Assets.Gltf.GltfDocumentMaterial> LibreMetaverse.Assets.Gltf.GltfDocument.Materials`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        /// C# member: `P:LibreMetaverse.Assets.Gltf.GltfDocument.Meshes`.
        ///
        /// C# signature: `System.Collections.Generic.List<LibreMetaverse.Assets.Gltf.GltfMesh> LibreMetaverse.Assets.Gltf.GltfDocument.Meshes`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        /// C# member: `P:LibreMetaverse.Assets.Gltf.GltfDocument.MinVersion`.
        ///
        /// C# signature: `System.String LibreMetaverse.Assets.Gltf.GltfDocument.MinVersion`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        /// C# member: `P:LibreMetaverse.Assets.Gltf.GltfDocument.Nodes`.
        ///
        /// C# signature: `System.Collections.Generic.List<LibreMetaverse.Assets.Gltf.GltfNode> LibreMetaverse.Assets.Gltf.GltfDocument.Nodes`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        /// C# member: `P:LibreMetaverse.Assets.Gltf.GltfDocument.Samplers`.
        ///
        /// C# signature: `System.Collections.Generic.List<LibreMetaverse.Assets.Gltf.GltfSampler> LibreMetaverse.Assets.Gltf.GltfDocument.Samplers`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        /// C# member: `P:LibreMetaverse.Assets.Gltf.GltfDocument.Scenes`.
        ///
        /// C# signature: `System.Collections.Generic.List<LibreMetaverse.Assets.Gltf.GltfScene> LibreMetaverse.Assets.Gltf.GltfDocument.Scenes`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        /// C# member: `P:LibreMetaverse.Assets.Gltf.GltfDocument.Skins`.
        ///
        /// C# signature: `System.Collections.Generic.List<LibreMetaverse.Assets.Gltf.GltfSkin> LibreMetaverse.Assets.Gltf.GltfDocument.Skins`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        /// C# member: `P:LibreMetaverse.Assets.Gltf.GltfDocument.Textures`.
        ///
        /// C# signature: `System.Collections.Generic.List<LibreMetaverse.Assets.Gltf.GltfTexture> LibreMetaverse.Assets.Gltf.GltfDocument.Textures`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        /// C# member: `P:LibreMetaverse.Assets.Gltf.GltfDocument.Version`.
        ///
        /// C# signature: `System.String LibreMetaverse.Assets.Gltf.GltfDocument.Version`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub use crate::gltf::GltfDocument;

        /// C# type: `T:LibreMetaverse.Assets.Gltf.GltfDocumentMaterial`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Assets.Gltf.GltfDocumentMaterial` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        /// C# member: `M:LibreMetaverse.Assets.Gltf.GltfDocumentMaterial.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Assets.Gltf.GltfDocumentMaterial()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        /// C# member: `P:LibreMetaverse.Assets.Gltf.GltfDocumentMaterial.AlphaCutoff`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Assets.Gltf.GltfDocumentMaterial.AlphaCutoff`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        /// C# member: `P:LibreMetaverse.Assets.Gltf.GltfDocumentMaterial.AlphaMode`.
        ///
        /// C# signature: `LibreMetaverse.Assets.GltfAlphaMode LibreMetaverse.Assets.Gltf.GltfDocumentMaterial.AlphaMode`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        /// C# member: `P:LibreMetaverse.Assets.Gltf.GltfDocumentMaterial.BaseColorFactor`.
        ///
        /// C# signature: `LibreMetaverse.Color4 LibreMetaverse.Assets.Gltf.GltfDocumentMaterial.BaseColorFactor`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        /// C# member: `P:LibreMetaverse.Assets.Gltf.GltfDocumentMaterial.BaseColorTexture`.
        ///
        /// C# signature: `LibreMetaverse.Assets.Gltf.GltfTextureRef LibreMetaverse.Assets.Gltf.GltfDocumentMaterial.BaseColorTexture`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        /// C# member: `P:LibreMetaverse.Assets.Gltf.GltfDocumentMaterial.DoubleSided`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Assets.Gltf.GltfDocumentMaterial.DoubleSided`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        /// C# member: `P:LibreMetaverse.Assets.Gltf.GltfDocumentMaterial.EmissiveFactor`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Assets.Gltf.GltfDocumentMaterial.EmissiveFactor`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        /// C# member: `P:LibreMetaverse.Assets.Gltf.GltfDocumentMaterial.EmissiveTexture`.
        ///
        /// C# signature: `LibreMetaverse.Assets.Gltf.GltfTextureRef LibreMetaverse.Assets.Gltf.GltfDocumentMaterial.EmissiveTexture`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        /// C# member: `P:LibreMetaverse.Assets.Gltf.GltfDocumentMaterial.MetallicFactor`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Assets.Gltf.GltfDocumentMaterial.MetallicFactor`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        /// C# member: `P:LibreMetaverse.Assets.Gltf.GltfDocumentMaterial.MetallicRoughnessTexture`.
        ///
        /// C# signature: `LibreMetaverse.Assets.Gltf.GltfTextureRef LibreMetaverse.Assets.Gltf.GltfDocumentMaterial.MetallicRoughnessTexture`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        /// C# member: `P:LibreMetaverse.Assets.Gltf.GltfDocumentMaterial.Name`.
        ///
        /// C# signature: `System.String LibreMetaverse.Assets.Gltf.GltfDocumentMaterial.Name`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        /// C# member: `P:LibreMetaverse.Assets.Gltf.GltfDocumentMaterial.NormalTexture`.
        ///
        /// C# signature: `LibreMetaverse.Assets.Gltf.GltfNormalTextureRef LibreMetaverse.Assets.Gltf.GltfDocumentMaterial.NormalTexture`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        /// C# member: `P:LibreMetaverse.Assets.Gltf.GltfDocumentMaterial.OcclusionTexture`.
        ///
        /// C# signature: `LibreMetaverse.Assets.Gltf.GltfOcclusionTextureRef LibreMetaverse.Assets.Gltf.GltfDocumentMaterial.OcclusionTexture`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        /// C# member: `P:LibreMetaverse.Assets.Gltf.GltfDocumentMaterial.RoughnessFactor`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Assets.Gltf.GltfDocumentMaterial.RoughnessFactor`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub use crate::gltf::GltfDocumentMaterial;

        /// C# type: `T:LibreMetaverse.Assets.Gltf.GltfImage`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Assets.Gltf.GltfImage` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        /// C# member: `M:LibreMetaverse.Assets.Gltf.GltfImage.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Assets.Gltf.GltfImage()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        /// C# member: `P:LibreMetaverse.Assets.Gltf.GltfImage.BufferView`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Assets.Gltf.GltfImage.BufferView`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        /// C# member: `P:LibreMetaverse.Assets.Gltf.GltfImage.MimeType`.
        ///
        /// C# signature: `System.String LibreMetaverse.Assets.Gltf.GltfImage.MimeType`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        /// C# member: `P:LibreMetaverse.Assets.Gltf.GltfImage.Name`.
        ///
        /// C# signature: `System.String LibreMetaverse.Assets.Gltf.GltfImage.Name`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        /// C# member: `P:LibreMetaverse.Assets.Gltf.GltfImage.Uri`.
        ///
        /// C# signature: `System.String LibreMetaverse.Assets.Gltf.GltfImage.Uri`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub use crate::gltf::GltfImage;

        /// C# type: `T:LibreMetaverse.Assets.Gltf.GltfMesh`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Assets.Gltf.GltfMesh` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        /// C# member: `M:LibreMetaverse.Assets.Gltf.GltfMesh.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Assets.Gltf.GltfMesh()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        /// C# member: `P:LibreMetaverse.Assets.Gltf.GltfMesh.Name`.
        ///
        /// C# signature: `System.String LibreMetaverse.Assets.Gltf.GltfMesh.Name`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        /// C# member: `P:LibreMetaverse.Assets.Gltf.GltfMesh.Primitives`.
        ///
        /// C# signature: `System.Collections.Generic.List<LibreMetaverse.Assets.Gltf.GltfPrimitive> LibreMetaverse.Assets.Gltf.GltfMesh.Primitives`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        /// C# member: `P:LibreMetaverse.Assets.Gltf.GltfMesh.Weights`.
        ///
        /// C# signature: `System.Double[] LibreMetaverse.Assets.Gltf.GltfMesh.Weights`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub use crate::gltf::GltfMesh;

        /// C# type: `T:LibreMetaverse.Assets.Gltf.GltfNode`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Assets.Gltf.GltfNode` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        /// C# member: `M:LibreMetaverse.Assets.Gltf.GltfNode.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Assets.Gltf.GltfNode()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        /// C# member: `P:LibreMetaverse.Assets.Gltf.GltfNode.Children`.
        ///
        /// C# signature: `System.Collections.Generic.List<System.Int32> LibreMetaverse.Assets.Gltf.GltfNode.Children`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        /// C# member: `P:LibreMetaverse.Assets.Gltf.GltfNode.Matrix`.
        ///
        /// C# signature: `System.Nullable<LibreMetaverse.Matrix4> LibreMetaverse.Assets.Gltf.GltfNode.Matrix`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        /// C# member: `P:LibreMetaverse.Assets.Gltf.GltfNode.Mesh`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Assets.Gltf.GltfNode.Mesh`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        /// C# member: `P:LibreMetaverse.Assets.Gltf.GltfNode.Name`.
        ///
        /// C# signature: `System.String LibreMetaverse.Assets.Gltf.GltfNode.Name`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        /// C# member: `P:LibreMetaverse.Assets.Gltf.GltfNode.Rotation`.
        ///
        /// C# signature: `LibreMetaverse.Quaternion LibreMetaverse.Assets.Gltf.GltfNode.Rotation`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        /// C# member: `P:LibreMetaverse.Assets.Gltf.GltfNode.Scale`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Assets.Gltf.GltfNode.Scale`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        /// C# member: `P:LibreMetaverse.Assets.Gltf.GltfNode.Skin`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Assets.Gltf.GltfNode.Skin`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        /// C# member: `P:LibreMetaverse.Assets.Gltf.GltfNode.Translation`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Assets.Gltf.GltfNode.Translation`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        /// C# member: `P:LibreMetaverse.Assets.Gltf.GltfNode.Weights`.
        ///
        /// C# signature: `System.Double[] LibreMetaverse.Assets.Gltf.GltfNode.Weights`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub use crate::gltf::GltfNode;

        /// C# type: `T:LibreMetaverse.Assets.Gltf.GltfNormalTextureRef`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Assets.Gltf.GltfNormalTextureRef` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        /// C# member: `M:LibreMetaverse.Assets.Gltf.GltfNormalTextureRef.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Assets.Gltf.GltfNormalTextureRef()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        /// C# member: `P:LibreMetaverse.Assets.Gltf.GltfNormalTextureRef.Scale`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Assets.Gltf.GltfNormalTextureRef.Scale`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub use crate::gltf::GltfNormalTextureRef;

        /// C# type: `T:LibreMetaverse.Assets.Gltf.GltfOcclusionTextureRef`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Assets.Gltf.GltfOcclusionTextureRef` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        /// C# member: `M:LibreMetaverse.Assets.Gltf.GltfOcclusionTextureRef.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Assets.Gltf.GltfOcclusionTextureRef()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        /// C# member: `P:LibreMetaverse.Assets.Gltf.GltfOcclusionTextureRef.Strength`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Assets.Gltf.GltfOcclusionTextureRef.Strength`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub use crate::gltf::GltfOcclusionTextureRef;

        /// C# type: `T:LibreMetaverse.Assets.Gltf.GltfPrimitive`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Assets.Gltf.GltfPrimitive` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        /// C# member: `F:LibreMetaverse.Assets.Gltf.GltfPrimitive.ATTR_COLOR_0`.
        ///
        /// C# signature: `System.String LibreMetaverse.Assets.Gltf.GltfPrimitive.ATTR_COLOR_0`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        /// C# member: `F:LibreMetaverse.Assets.Gltf.GltfPrimitive.ATTR_JOINTS_0`.
        ///
        /// C# signature: `System.String LibreMetaverse.Assets.Gltf.GltfPrimitive.ATTR_JOINTS_0`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        /// C# member: `F:LibreMetaverse.Assets.Gltf.GltfPrimitive.ATTR_NORMAL`.
        ///
        /// C# signature: `System.String LibreMetaverse.Assets.Gltf.GltfPrimitive.ATTR_NORMAL`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        /// C# member: `F:LibreMetaverse.Assets.Gltf.GltfPrimitive.ATTR_POSITION`.
        ///
        /// C# signature: `System.String LibreMetaverse.Assets.Gltf.GltfPrimitive.ATTR_POSITION`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        /// C# member: `F:LibreMetaverse.Assets.Gltf.GltfPrimitive.ATTR_TANGENT`.
        ///
        /// C# signature: `System.String LibreMetaverse.Assets.Gltf.GltfPrimitive.ATTR_TANGENT`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        /// C# member: `F:LibreMetaverse.Assets.Gltf.GltfPrimitive.ATTR_TEXCOORD_0`.
        ///
        /// C# signature: `System.String LibreMetaverse.Assets.Gltf.GltfPrimitive.ATTR_TEXCOORD_0`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        /// C# member: `F:LibreMetaverse.Assets.Gltf.GltfPrimitive.ATTR_TEXCOORD_1`.
        ///
        /// C# signature: `System.String LibreMetaverse.Assets.Gltf.GltfPrimitive.ATTR_TEXCOORD_1`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        /// C# member: `F:LibreMetaverse.Assets.Gltf.GltfPrimitive.ATTR_WEIGHTS_0`.
        ///
        /// C# signature: `System.String LibreMetaverse.Assets.Gltf.GltfPrimitive.ATTR_WEIGHTS_0`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        /// C# member: `M:LibreMetaverse.Assets.Gltf.GltfPrimitive.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Assets.Gltf.GltfPrimitive()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        /// C# member: `P:LibreMetaverse.Assets.Gltf.GltfPrimitive.Attributes`.
        ///
        /// C# signature: `System.Collections.Generic.Dictionary<System.String, System.Int32> LibreMetaverse.Assets.Gltf.GltfPrimitive.Attributes`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        /// C# member: `P:LibreMetaverse.Assets.Gltf.GltfPrimitive.Indices`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Assets.Gltf.GltfPrimitive.Indices`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        /// C# member: `P:LibreMetaverse.Assets.Gltf.GltfPrimitive.Material`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Assets.Gltf.GltfPrimitive.Material`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        /// C# member: `P:LibreMetaverse.Assets.Gltf.GltfPrimitive.Mode`.
        ///
        /// C# signature: `LibreMetaverse.Assets.Gltf.GltfPrimitiveMode LibreMetaverse.Assets.Gltf.GltfPrimitive.Mode`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub use crate::gltf::GltfPrimitive;

        /// C# type: `T:LibreMetaverse.Assets.Gltf.GltfPrimitiveMode`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Assets.Gltf.GltfPrimitiveMode` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
        #[repr(u8)]
        pub enum GltfPrimitiveMode {
            /// C# member: `F:LibreMetaverse.Assets.Gltf.GltfPrimitiveMode.LineLoop`.
            ///
            /// C# signature: `LibreMetaverse.Assets.Gltf.GltfPrimitiveMode LibreMetaverse.Assets.Gltf.GltfPrimitiveMode.LineLoop`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            LineLoop = 2,
            /// C# member: `F:LibreMetaverse.Assets.Gltf.GltfPrimitiveMode.LineStrip`.
            ///
            /// C# signature: `LibreMetaverse.Assets.Gltf.GltfPrimitiveMode LibreMetaverse.Assets.Gltf.GltfPrimitiveMode.LineStrip`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            LineStrip = 3,
            /// C# member: `F:LibreMetaverse.Assets.Gltf.GltfPrimitiveMode.Lines`.
            ///
            /// C# signature: `LibreMetaverse.Assets.Gltf.GltfPrimitiveMode LibreMetaverse.Assets.Gltf.GltfPrimitiveMode.Lines`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Lines = 1,
            /// C# member: `F:LibreMetaverse.Assets.Gltf.GltfPrimitiveMode.Points`.
            ///
            /// C# signature: `LibreMetaverse.Assets.Gltf.GltfPrimitiveMode LibreMetaverse.Assets.Gltf.GltfPrimitiveMode.Points`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Points = 0,
            /// C# member: `F:LibreMetaverse.Assets.Gltf.GltfPrimitiveMode.TriangleFan`.
            ///
            /// C# signature: `LibreMetaverse.Assets.Gltf.GltfPrimitiveMode LibreMetaverse.Assets.Gltf.GltfPrimitiveMode.TriangleFan`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            TriangleFan = 6,
            /// C# member: `F:LibreMetaverse.Assets.Gltf.GltfPrimitiveMode.TriangleStrip`.
            ///
            /// C# signature: `LibreMetaverse.Assets.Gltf.GltfPrimitiveMode LibreMetaverse.Assets.Gltf.GltfPrimitiveMode.TriangleStrip`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            TriangleStrip = 5,
            /// C# member: `F:LibreMetaverse.Assets.Gltf.GltfPrimitiveMode.Triangles`.
            ///
            /// C# signature: `LibreMetaverse.Assets.Gltf.GltfPrimitiveMode LibreMetaverse.Assets.Gltf.GltfPrimitiveMode.Triangles`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Triangles = 4,
        }

        /// C# type: `T:LibreMetaverse.Assets.Gltf.GltfSampler`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Assets.Gltf.GltfSampler` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        /// C# member: `M:LibreMetaverse.Assets.Gltf.GltfSampler.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Assets.Gltf.GltfSampler()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        /// C# member: `P:LibreMetaverse.Assets.Gltf.GltfSampler.MagFilter`.
        ///
        /// C# signature: `LibreMetaverse.Assets.Gltf.GltfSamplerFilter LibreMetaverse.Assets.Gltf.GltfSampler.MagFilter`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        /// C# member: `P:LibreMetaverse.Assets.Gltf.GltfSampler.MinFilter`.
        ///
        /// C# signature: `LibreMetaverse.Assets.Gltf.GltfSamplerFilter LibreMetaverse.Assets.Gltf.GltfSampler.MinFilter`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        /// C# member: `P:LibreMetaverse.Assets.Gltf.GltfSampler.Name`.
        ///
        /// C# signature: `System.String LibreMetaverse.Assets.Gltf.GltfSampler.Name`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        /// C# member: `P:LibreMetaverse.Assets.Gltf.GltfSampler.WrapS`.
        ///
        /// C# signature: `LibreMetaverse.Assets.Gltf.GltfSamplerWrap LibreMetaverse.Assets.Gltf.GltfSampler.WrapS`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        /// C# member: `P:LibreMetaverse.Assets.Gltf.GltfSampler.WrapT`.
        ///
        /// C# signature: `LibreMetaverse.Assets.Gltf.GltfSamplerWrap LibreMetaverse.Assets.Gltf.GltfSampler.WrapT`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub use crate::gltf::GltfSampler;

        /// C# type: `T:LibreMetaverse.Assets.Gltf.GltfSamplerFilter`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Assets.Gltf.GltfSamplerFilter` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
        #[repr(i32)]
        pub enum GltfSamplerFilter {
            /// C# member: `F:LibreMetaverse.Assets.Gltf.GltfSamplerFilter.Linear`.
            ///
            /// C# signature: `LibreMetaverse.Assets.Gltf.GltfSamplerFilter LibreMetaverse.Assets.Gltf.GltfSamplerFilter.Linear`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Linear = 9729,
            /// C# member: `F:LibreMetaverse.Assets.Gltf.GltfSamplerFilter.LinearMipmapLinear`.
            ///
            /// C# signature: `LibreMetaverse.Assets.Gltf.GltfSamplerFilter LibreMetaverse.Assets.Gltf.GltfSamplerFilter.LinearMipmapLinear`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            LinearMipmapLinear = 9987,
            /// C# member: `F:LibreMetaverse.Assets.Gltf.GltfSamplerFilter.LinearMipmapNearest`.
            ///
            /// C# signature: `LibreMetaverse.Assets.Gltf.GltfSamplerFilter LibreMetaverse.Assets.Gltf.GltfSamplerFilter.LinearMipmapNearest`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            LinearMipmapNearest = 9985,
            /// C# member: `F:LibreMetaverse.Assets.Gltf.GltfSamplerFilter.Nearest`.
            ///
            /// C# signature: `LibreMetaverse.Assets.Gltf.GltfSamplerFilter LibreMetaverse.Assets.Gltf.GltfSamplerFilter.Nearest`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Nearest = 9728,
            /// C# member: `F:LibreMetaverse.Assets.Gltf.GltfSamplerFilter.NearestMipmapLinear`.
            ///
            /// C# signature: `LibreMetaverse.Assets.Gltf.GltfSamplerFilter LibreMetaverse.Assets.Gltf.GltfSamplerFilter.NearestMipmapLinear`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            NearestMipmapLinear = 9986,
            /// C# member: `F:LibreMetaverse.Assets.Gltf.GltfSamplerFilter.NearestMipmapNearest`.
            ///
            /// C# signature: `LibreMetaverse.Assets.Gltf.GltfSamplerFilter LibreMetaverse.Assets.Gltf.GltfSamplerFilter.NearestMipmapNearest`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            NearestMipmapNearest = 9984,
            /// C# member: `F:LibreMetaverse.Assets.Gltf.GltfSamplerFilter.None`.
            ///
            /// C# signature: `LibreMetaverse.Assets.Gltf.GltfSamplerFilter LibreMetaverse.Assets.Gltf.GltfSamplerFilter.None`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            None = 0,
        }

        /// C# type: `T:LibreMetaverse.Assets.Gltf.GltfSamplerWrap`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Assets.Gltf.GltfSamplerWrap` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
        #[repr(i32)]
        pub enum GltfSamplerWrap {
            /// C# member: `F:LibreMetaverse.Assets.Gltf.GltfSamplerWrap.ClampToEdge`.
            ///
            /// C# signature: `LibreMetaverse.Assets.Gltf.GltfSamplerWrap LibreMetaverse.Assets.Gltf.GltfSamplerWrap.ClampToEdge`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            ClampToEdge = 33071,
            /// C# member: `F:LibreMetaverse.Assets.Gltf.GltfSamplerWrap.MirroredRepeat`.
            ///
            /// C# signature: `LibreMetaverse.Assets.Gltf.GltfSamplerWrap LibreMetaverse.Assets.Gltf.GltfSamplerWrap.MirroredRepeat`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            MirroredRepeat = 33648,
            /// C# member: `F:LibreMetaverse.Assets.Gltf.GltfSamplerWrap.Repeat`.
            ///
            /// C# signature: `LibreMetaverse.Assets.Gltf.GltfSamplerWrap LibreMetaverse.Assets.Gltf.GltfSamplerWrap.Repeat`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Repeat = 10497,
        }

        /// C# type: `T:LibreMetaverse.Assets.Gltf.GltfScene`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Assets.Gltf.GltfScene` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        /// C# member: `M:LibreMetaverse.Assets.Gltf.GltfScene.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Assets.Gltf.GltfScene()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        /// C# member: `P:LibreMetaverse.Assets.Gltf.GltfScene.Name`.
        ///
        /// C# signature: `System.String LibreMetaverse.Assets.Gltf.GltfScene.Name`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        /// C# member: `P:LibreMetaverse.Assets.Gltf.GltfScene.Nodes`.
        ///
        /// C# signature: `System.Collections.Generic.List<System.Int32> LibreMetaverse.Assets.Gltf.GltfScene.Nodes`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub use crate::gltf::GltfScene;

        /// C# type: `T:LibreMetaverse.Assets.Gltf.GltfSkin`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Assets.Gltf.GltfSkin` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        /// C# member: `M:LibreMetaverse.Assets.Gltf.GltfSkin.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Assets.Gltf.GltfSkin()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        /// C# member: `P:LibreMetaverse.Assets.Gltf.GltfSkin.InverseBindMatrices`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Assets.Gltf.GltfSkin.InverseBindMatrices`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        /// C# member: `P:LibreMetaverse.Assets.Gltf.GltfSkin.Joints`.
        ///
        /// C# signature: `System.Collections.Generic.List<System.Int32> LibreMetaverse.Assets.Gltf.GltfSkin.Joints`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        /// C# member: `P:LibreMetaverse.Assets.Gltf.GltfSkin.Name`.
        ///
        /// C# signature: `System.String LibreMetaverse.Assets.Gltf.GltfSkin.Name`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        /// C# member: `P:LibreMetaverse.Assets.Gltf.GltfSkin.Skeleton`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Assets.Gltf.GltfSkin.Skeleton`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub use crate::gltf::GltfSkin;

        /// C# type: `T:LibreMetaverse.Assets.Gltf.GltfTexture`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Assets.Gltf.GltfTexture` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        /// C# member: `M:LibreMetaverse.Assets.Gltf.GltfTexture.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Assets.Gltf.GltfTexture()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        /// C# member: `P:LibreMetaverse.Assets.Gltf.GltfTexture.Name`.
        ///
        /// C# signature: `System.String LibreMetaverse.Assets.Gltf.GltfTexture.Name`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        /// C# member: `P:LibreMetaverse.Assets.Gltf.GltfTexture.Sampler`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Assets.Gltf.GltfTexture.Sampler`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        /// C# member: `P:LibreMetaverse.Assets.Gltf.GltfTexture.Source`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Assets.Gltf.GltfTexture.Source`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub use crate::gltf::GltfTexture;

        /// C# type: `T:LibreMetaverse.Assets.Gltf.GltfTextureRef`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Assets.Gltf.GltfTextureRef` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        /// C# member: `M:LibreMetaverse.Assets.Gltf.GltfTextureRef.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Assets.Gltf.GltfTextureRef()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        /// C# member: `P:LibreMetaverse.Assets.Gltf.GltfTextureRef.Index`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Assets.Gltf.GltfTextureRef.Index`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        /// C# member: `P:LibreMetaverse.Assets.Gltf.GltfTextureRef.TexCoord`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Assets.Gltf.GltfTextureRef.TexCoord`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        /// C# member: `P:LibreMetaverse.Assets.Gltf.GltfTextureRef.Transform`.
        ///
        /// C# signature: `LibreMetaverse.Assets.GltfTextureTransform LibreMetaverse.Assets.Gltf.GltfTextureRef.Transform`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub use crate::gltf::GltfTextureRef;
    }
}

pub mod formatters {
    /// C# type: `T:LibreMetaverse.Formatters.UUIDFormatter`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Formatters.UUIDFormatter` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    /// C# member: `F:LibreMetaverse.Formatters.UUIDFormatter.Instance`.
    ///
    /// C# signature: `LibreMetaverse.Formatters.UUIDFormatter LibreMetaverse.Formatters.UUIDFormatter.Instance`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
    /// C# member: `M:LibreMetaverse.Formatters.UUIDFormatter.#ctor`.
    ///
    /// C# signature: `LibreMetaverse.Formatters.UUIDFormatter()`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Formatters.UUIDFormatter.Deserialize(MessagePack.MessagePackReader@,MessagePack.MessagePackSerializerOptions)`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Formatters.UUIDFormatter.Deserialize(ref MessagePack.MessagePackReader& reader, MessagePack.MessagePackSerializerOptions options)`.
    /// Mapping contract: ownership `mutable_self,mutable_borrow,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Formatters.UUIDFormatter.Serialize(MessagePack.MessagePackWriter@,LibreMetaverse.UUID,MessagePack.MessagePackSerializerOptions)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Formatters.UUIDFormatter.Serialize(ref MessagePack.MessagePackWriter& writer, LibreMetaverse.UUID value, MessagePack.MessagePackSerializerOptions options)`.
    /// Mapping contract: ownership `shared_self,mutable_borrow,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub use crate::uuid_formatter::UUIDFormatter;
}

pub mod http {
    /// C# type: `T:LibreMetaverse.Http.DownloadManager`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Http.DownloadManager` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    /// C# member: `M:LibreMetaverse.Http.DownloadManager.#ctor(LibreMetaverse.GridClient)`.
    ///
    /// C# signature: `LibreMetaverse.Http.DownloadManager(LibreMetaverse.GridClient client)`.
    /// Mapping contract: ownership `owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Http.DownloadManager.Dispose`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Http.DownloadManager.Dispose()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Http.DownloadManager.DownloadAsync(System.Uri,System.IProgress{LibreMetaverse.HttpCapsClient.ProgressReport},System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<System.ValueTuple<System.Net.Http.HttpResponseMessage, System.Byte[]>> LibreMetaverse.Http.DownloadManager.DownloadAsync(System.Uri address, System.IProgress<LibreMetaverse.HttpCapsClient.ProgressReport> progress, System.Threading.CancellationToken cancellationToken)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    /// C# member: `M:LibreMetaverse.Http.DownloadManager.DownloadAsync(System.Uri,System.String,System.IProgress{LibreMetaverse.HttpCapsClient.ProgressReport},System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<System.ValueTuple<System.Net.Http.HttpResponseMessage, System.Byte[]>> LibreMetaverse.Http.DownloadManager.DownloadAsync(System.Uri address, System.String contentType, System.IProgress<LibreMetaverse.HttpCapsClient.ProgressReport> progress, System.Threading.CancellationToken cancellationToken)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    /// C# member: `M:LibreMetaverse.Http.DownloadManager.QueueDownload(LibreMetaverse.Http.DownloadRequest)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Http.DownloadManager.QueueDownload(LibreMetaverse.Http.DownloadRequest req)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    /// C# member: `M:LibreMetaverse.Http.DownloadManager.QueueDownload(LibreMetaverse.Http.DownloadRequest,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Http.DownloadManager.QueueDownload(LibreMetaverse.Http.DownloadRequest req, System.Threading.CancellationToken cancellationToken)`.
    /// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    /// C# member: `M:LibreMetaverse.Http.DownloadManager.QueueDownloadAsync(LibreMetaverse.Http.DownloadRequest)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<System.ValueTuple<System.Net.Http.HttpResponseMessage, System.Byte[]>> LibreMetaverse.Http.DownloadManager.QueueDownloadAsync(LibreMetaverse.Http.DownloadRequest req)`.
    /// Mapping contract: ownership `shared_self,owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name_with_stable_id`; kind `method`.
    /// C# member: `M:LibreMetaverse.Http.DownloadManager.QueueDownloadAsync(System.Uri,System.String,System.IProgress{LibreMetaverse.HttpCapsClient.ProgressReport},System.Threading.CancellationToken,System.Int32)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<System.ValueTuple<System.Net.Http.HttpResponseMessage, System.Byte[]>> LibreMetaverse.Http.DownloadManager.QueueDownloadAsync(System.Uri address, System.String contentType = default, System.IProgress<LibreMetaverse.HttpCapsClient.ProgressReport> progressCallback = default, System.Threading.CancellationToken cancellationToken = default, System.Int32 retries = default)`.
    /// Mapping contract: ownership `shared_self,owned,optional_owned,optional_owned,optional_owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    /// C# member: `P:LibreMetaverse.Http.DownloadManager.ParallelDownloads`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.Http.DownloadManager.ParallelDownloads`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub use crate::download_manager::DownloadManager;

    /// C# type: `T:LibreMetaverse.Http.DownloadRequest`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Http.DownloadRequest` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    /// C# member: `F:LibreMetaverse.Http.DownloadRequest.Address`.
    ///
    /// C# signature: `System.Uri LibreMetaverse.Http.DownloadRequest.Address`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Http.DownloadRequest.Attempt`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.Http.DownloadRequest.Attempt`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Http.DownloadRequest.CancellationToken`.
    ///
    /// C# signature: `System.Threading.CancellationToken LibreMetaverse.Http.DownloadRequest.CancellationToken`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Http.DownloadRequest.CompletionTcs`.
    ///
    /// C# signature: `System.Threading.Tasks.TaskCompletionSource<System.ValueTuple<System.Net.Http.HttpResponseMessage, System.Byte[]>> LibreMetaverse.Http.DownloadRequest.CompletionTcs`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Http.DownloadRequest.ContentType`.
    ///
    /// C# signature: `System.String LibreMetaverse.Http.DownloadRequest.ContentType`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Http.DownloadRequest.DownloadProgressCallback`.
    ///
    /// C# signature: `System.IProgress<LibreMetaverse.HttpCapsClient.ProgressReport> LibreMetaverse.Http.DownloadRequest.DownloadProgressCallback`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Http.DownloadRequest.Retries`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.Http.DownloadRequest.Retries`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `M:LibreMetaverse.Http.DownloadRequest.#ctor(System.Uri,System.String,System.IProgress{LibreMetaverse.HttpCapsClient.ProgressReport})`.
    ///
    /// C# signature: `LibreMetaverse.Http.DownloadRequest(System.Uri address, System.String contentType, System.IProgress<LibreMetaverse.HttpCapsClient.ProgressReport> downloadProgressCallback)`.
    /// Mapping contract: ownership `owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub use crate::download_manager::DownloadRequest;

    /// C# type: `T:LibreMetaverse.Http.EventQueueClient`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Http.EventQueueClient` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    /// C# member: `F:LibreMetaverse.Http.EventQueueClient.OnConnected`.
    ///
    /// C# signature: `LibreMetaverse.Http.EventQueueClient.ConnectedCallback LibreMetaverse.Http.EventQueueClient.OnConnected`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Http.EventQueueClient.OnEvent`.
    ///
    /// C# signature: `LibreMetaverse.Http.EventQueueClient.EventCallback LibreMetaverse.Http.EventQueueClient.OnEvent`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `M:LibreMetaverse.Http.EventQueueClient.#ctor(System.Uri,LibreMetaverse.Simulator)`.
    ///
    /// C# signature: `LibreMetaverse.Http.EventQueueClient(System.Uri eventQueueLocation, LibreMetaverse.Simulator sim)`.
    /// Mapping contract: ownership `owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Http.EventQueueClient.Dispose`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Http.EventQueueClient.Dispose()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Http.EventQueueClient.Start`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Http.EventQueueClient.Start()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Http.EventQueueClient.Stop(System.Boolean)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Http.EventQueueClient.Stop(System.Boolean immediate)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `P:LibreMetaverse.Http.EventQueueClient.Running`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.Http.EventQueueClient.Running`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub use crate::event_queue::EventQueueClient;

    /// C# type: `T:LibreMetaverse.Http.EventQueueClient.ConnectedCallback`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Http.EventQueueClient.ConnectedCallback` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    /// C# member: `M:LibreMetaverse.Http.EventQueueClient.ConnectedCallback.#ctor(System.Object,System.IntPtr)`.
    ///
    /// C# signature: `LibreMetaverse.Http.EventQueueClient.ConnectedCallback(System.Object object, System.IntPtr method)`.
    /// Mapping contract: ownership `owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Http.EventQueueClient.ConnectedCallback.BeginInvoke(System.AsyncCallback,System.Object)`.
    ///
    /// C# signature: `System.IAsyncResult LibreMetaverse.Http.EventQueueClient.ConnectedCallback.BeginInvoke(System.AsyncCallback callback, System.Object object)`.
    /// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `native_callback_replaces_delegate_apm`.
    /// C# member: `M:LibreMetaverse.Http.EventQueueClient.ConnectedCallback.EndInvoke(System.IAsyncResult)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Http.EventQueueClient.ConnectedCallback.EndInvoke(System.IAsyncResult result)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `native_callback_replaces_delegate_apm`.
    /// C# member: `M:LibreMetaverse.Http.EventQueueClient.ConnectedCallback.Invoke`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Http.EventQueueClient.ConnectedCallback.Invoke()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub use crate::event_queue::EventQueueClientConnectedCallback;

    /// C# type: `T:LibreMetaverse.Http.EventQueueClient.EventCallback`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Http.EventQueueClient.EventCallback` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    /// C# member: `M:LibreMetaverse.Http.EventQueueClient.EventCallback.#ctor(System.Object,System.IntPtr)`.
    ///
    /// C# signature: `LibreMetaverse.Http.EventQueueClient.EventCallback(System.Object object, System.IntPtr method)`.
    /// Mapping contract: ownership `owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Http.EventQueueClient.EventCallback.BeginInvoke(System.String,LibreMetaverse.StructuredData.OSDMap,System.AsyncCallback,System.Object)`.
    ///
    /// C# signature: `System.IAsyncResult LibreMetaverse.Http.EventQueueClient.EventCallback.BeginInvoke(System.String eventName, LibreMetaverse.StructuredData.OSDMap body, System.AsyncCallback callback, System.Object object)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `native_callback_replaces_delegate_apm`.
    /// C# member: `M:LibreMetaverse.Http.EventQueueClient.EventCallback.EndInvoke(System.IAsyncResult)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Http.EventQueueClient.EventCallback.EndInvoke(System.IAsyncResult result)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `native_callback_replaces_delegate_apm`.
    /// C# member: `M:LibreMetaverse.Http.EventQueueClient.EventCallback.Invoke(System.String,LibreMetaverse.StructuredData.OSDMap)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Http.EventQueueClient.EventCallback.Invoke(System.String eventName, LibreMetaverse.StructuredData.OSDMap body)`.
    /// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub use crate::event_queue::EventQueueClientEventCallback;
}

pub mod imaging {
    /// C# type: `T:LibreMetaverse.Imaging.Baker`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Imaging.Baker` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub use crate::appearance_baker::Baker;
    impl Baker {
        /// C# member: `M:LibreMetaverse.Imaging.Baker.#ctor(LibreMetaverse.BakeType)`.
        ///
        /// C# signature: `LibreMetaverse.Imaging.Baker(LibreMetaverse.BakeType bakeType)`.
        /// Mapping contract: ownership `owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn new(bake_type: libremetaverse::BakeType) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            crate::appearance_baker::Baker::native_new(bake_type)
        }
        /// C# member: `M:LibreMetaverse.Imaging.Baker.AddTexture(LibreMetaverse.AppearanceManager.TextureData)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Imaging.Baker.AddTexture(LibreMetaverse.AppearanceManager.TextureData tdata)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn add_texture(
            &mut self,
            tdata: libremetaverse::AppearanceManagerTextureData,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            self.native_add_texture(tdata)
        }
        /// C# member: `M:LibreMetaverse.Imaging.Baker.Bake`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Imaging.Baker.Bake()`.
        /// Mapping contract: ownership `mutable_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn bake(&mut self) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            self.native_bake()
        }
        /// C# member: `M:LibreMetaverse.Imaging.Baker.BakeTypeFor(LibreMetaverse.AvatarTextureIndex)`.
        ///
        /// C# signature: `LibreMetaverse.BakeType LibreMetaverse.Imaging.Baker.BakeTypeFor(LibreMetaverse.AvatarTextureIndex index)`.
        /// Mapping contract: ownership `owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn bake_type_for(
            index: libremetaverse::AvatarTextureIndex,
        ) -> Result<libremetaverse::BakeType, crate::Error> {
            /* reviewed native compatibility body */
            Ok(crate::appearance_baker::Baker::native_bake_type_for(index))
        }
        /// C# member: `M:LibreMetaverse.Imaging.Baker.LoadResourceLayer(System.String)`.
        ///
        /// C# signature: `LibreMetaverse.Imaging.ManagedImage LibreMetaverse.Imaging.Baker.LoadResourceLayer(System.String fileName)`.
        /// Mapping contract: ownership `owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn load_resource_layer(
            file_name: String,
        ) -> Result<Option<libremetaverse_imaging::ManagedImage>, crate::Error> {
            /* reviewed native compatibility body */
            crate::appearance_baker::Baker::native_load_resource_layer(file_name)
        }
        /// C# member: `P:LibreMetaverse.Imaging.Baker.BakeHeight`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Imaging.Baker.BakeHeight`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn bake_height(&self) -> i32 {
            /* reviewed native compatibility body */
            self.native_bake_height()
        }
        /// C# member: `P:LibreMetaverse.Imaging.Baker.BakeType`.
        ///
        /// C# signature: `LibreMetaverse.BakeType LibreMetaverse.Imaging.Baker.BakeType`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn bake_type(&self) -> libremetaverse::BakeType {
            /* reviewed native compatibility body */
            self.native_bake_type()
        }
        /// C# member: `P:LibreMetaverse.Imaging.Baker.BakeWidth`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Imaging.Baker.BakeWidth`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn bake_width(&self) -> i32 {
            /* reviewed native compatibility body */
            self.native_bake_width()
        }
        /// C# member: `P:LibreMetaverse.Imaging.Baker.BakedTexture`.
        ///
        /// C# signature: `LibreMetaverse.Assets.AssetTexture LibreMetaverse.Imaging.Baker.BakedTexture`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn baked_texture(&self) -> Option<libremetaverse::assets::AssetTexture> {
            /* reviewed native compatibility body */
            self.native_baked_texture()
        }
        /// C# member: `P:LibreMetaverse.Imaging.Baker.Textures`.
        ///
        /// C# signature: `System.Collections.Generic.List<LibreMetaverse.AppearanceManager.TextureData> LibreMetaverse.Imaging.Baker.Textures`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn textures(&self) -> Vec<libremetaverse::AppearanceManagerTextureData> {
            /* reviewed native compatibility body */
            self.native_textures()
        }
    }

    /// C# type: `T:LibreMetaverse.Imaging.ManagedImageCreator`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Imaging.ManagedImageCreator` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    /// C# member: `M:LibreMetaverse.Imaging.ManagedImageCreator.#ctor`.
    ///
    /// C# signature: `LibreMetaverse.Imaging.ManagedImageCreator()`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Imaging.ManagedImageCreator.Create(System.Int32,System.Int32,System.Int32,System.Byte[])`.
    ///
    /// C# signature: `CoreJ2K.Util.IImage LibreMetaverse.Imaging.ManagedImageCreator.Create(System.Int32 width, System.Int32 height, System.Int32 numComponents, System.Byte[] bytes)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Imaging.ManagedImageCreator.ToPortableImageSource(System.Object)`.
    ///
    /// C# signature: `CoreJ2K.j2k.image.BlkImgDataSrc LibreMetaverse.Imaging.ManagedImageCreator.ToPortableImageSource(System.Object imageObject)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub use crate::j2k::ManagedImageCreator;

    /// C# type: `T:LibreMetaverse.Imaging.ManagedImageInterleavedExtensions`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Imaging.ManagedImageInterleavedExtensions` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    /// C# member: `M:LibreMetaverse.Imaging.ManagedImageInterleavedExtensions.ToManagedImage(CoreJ2K.Util.InterleavedImage)`.
    ///
    /// C# signature: `LibreMetaverse.Imaging.ManagedImage LibreMetaverse.Imaging.ManagedImageInterleavedExtensions.ToManagedImage(CoreJ2K.Util.InterleavedImage image)`.
    /// Mapping contract: ownership `owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub use crate::j2k::ManagedImageInterleavedExtensions;

    /// C# type: `T:LibreMetaverse.Imaging.Targa`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Imaging.Targa` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    /// C# member: `M:LibreMetaverse.Imaging.Targa.DecodeToManagedImage(System.IO.Stream)`.
    ///
    /// C# signature: `LibreMetaverse.Imaging.ManagedImage LibreMetaverse.Imaging.Targa.DecodeToManagedImage(System.IO.Stream stream)`.
    /// Mapping contract: ownership `owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    /// C# member: `M:LibreMetaverse.Imaging.Targa.DecodeToManagedImage(System.String)`.
    ///
    /// C# signature: `LibreMetaverse.Imaging.ManagedImage LibreMetaverse.Imaging.Targa.DecodeToManagedImage(System.String fileName)`.
    /// Mapping contract: ownership `owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    /// C# member: `M:LibreMetaverse.Imaging.Targa.Encode(LibreMetaverse.Imaging.ManagedImage)`.
    ///
    /// C# signature: `System.Byte[] LibreMetaverse.Imaging.Targa.Encode(LibreMetaverse.Imaging.ManagedImage image)`.
    /// Mapping contract: ownership `owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub use crate::targa::Targa;
}

pub mod import_export {
    /// C# type: `T:LibreMetaverse.ImportExport.ColladaLoader`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.ImportExport.ColladaLoader` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    /// C# member: `M:LibreMetaverse.ImportExport.ColladaLoader.#ctor(LibreMetaverse.Imaging.ITextureCodec)`.
    ///
    /// C# signature: `LibreMetaverse.ImportExport.ColladaLoader(LibreMetaverse.Imaging.ITextureCodec textureCodec = default)`.
    /// Mapping contract: ownership `optional_owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.ImportExport.ColladaLoader.Load(System.String,System.Boolean)`.
    ///
    /// C# signature: `System.Collections.Generic.List<LibreMetaverse.ImportExport.ModelPrim> LibreMetaverse.ImportExport.ColladaLoader.Load(System.String filename, System.Boolean loadImages)`.
    /// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub use crate::model_workflow::ColladaLoader;

    /// C# type: `T:LibreMetaverse.ImportExport.ModelFace`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.ImportExport.ModelFace` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    /// C# member: `F:LibreMetaverse.ImportExport.ModelFace.Indices`.
    ///
    /// C# signature: `System.Collections.Generic.List<System.UInt32> LibreMetaverse.ImportExport.ModelFace.Indices`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.ImportExport.ModelFace.Material`.
    ///
    /// C# signature: `LibreMetaverse.ImportExport.ModelMaterial LibreMetaverse.ImportExport.ModelFace.Material`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.ImportExport.ModelFace.MaterialID`.
    ///
    /// C# signature: `System.String LibreMetaverse.ImportExport.ModelFace.MaterialID`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.ImportExport.ModelFace.Vertices`.
    ///
    /// C# signature: `System.Collections.Generic.List<LibreMetaverse.Rendering.Vertex> LibreMetaverse.ImportExport.ModelFace.Vertices`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `M:LibreMetaverse.ImportExport.ModelFace.#ctor`.
    ///
    /// C# signature: `LibreMetaverse.ImportExport.ModelFace()`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.ImportExport.ModelFace.AddVertex(LibreMetaverse.Rendering.Vertex)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.ImportExport.ModelFace.AddVertex(LibreMetaverse.Rendering.Vertex v)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub use crate::model_workflow::ModelFace;

    /// C# type: `T:LibreMetaverse.ImportExport.ModelMaterial`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.ImportExport.ModelMaterial` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    /// C# member: `F:LibreMetaverse.ImportExport.ModelMaterial.DiffuseColor`.
    ///
    /// C# signature: `LibreMetaverse.Color4 LibreMetaverse.ImportExport.ModelMaterial.DiffuseColor`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.ImportExport.ModelMaterial.ID`.
    ///
    /// C# signature: `System.String LibreMetaverse.ImportExport.ModelMaterial.ID`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.ImportExport.ModelMaterial.Texture`.
    ///
    /// C# signature: `System.String LibreMetaverse.ImportExport.ModelMaterial.Texture`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.ImportExport.ModelMaterial.TextureData`.
    ///
    /// C# signature: `System.Byte[] LibreMetaverse.ImportExport.ModelMaterial.TextureData`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `M:LibreMetaverse.ImportExport.ModelMaterial.#ctor`.
    ///
    /// C# signature: `LibreMetaverse.ImportExport.ModelMaterial()`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub use crate::model_workflow::ModelMaterial;

    /// C# type: `T:LibreMetaverse.ImportExport.ModelPrim`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.ImportExport.ModelPrim` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    /// C# member: `F:LibreMetaverse.ImportExport.ModelPrim.Asset`.
    ///
    /// C# signature: `System.Byte[] LibreMetaverse.ImportExport.ModelPrim.Asset`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.ImportExport.ModelPrim.BoundMax`.
    ///
    /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.ImportExport.ModelPrim.BoundMax`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.ImportExport.ModelPrim.BoundMin`.
    ///
    /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.ImportExport.ModelPrim.BoundMin`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.ImportExport.ModelPrim.Faces`.
    ///
    /// C# signature: `System.Collections.Generic.List<LibreMetaverse.ImportExport.ModelFace> LibreMetaverse.ImportExport.ModelPrim.Faces`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.ImportExport.ModelPrim.ID`.
    ///
    /// C# signature: `System.String LibreMetaverse.ImportExport.ModelPrim.ID`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.ImportExport.ModelPrim.Position`.
    ///
    /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.ImportExport.ModelPrim.Position`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.ImportExport.ModelPrim.Positions`.
    ///
    /// C# signature: `System.Collections.Generic.List<LibreMetaverse.Vector3> LibreMetaverse.ImportExport.ModelPrim.Positions`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.ImportExport.ModelPrim.Rotation`.
    ///
    /// C# signature: `LibreMetaverse.Quaternion LibreMetaverse.ImportExport.ModelPrim.Rotation`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.ImportExport.ModelPrim.Scale`.
    ///
    /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.ImportExport.ModelPrim.Scale`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `M:LibreMetaverse.ImportExport.ModelPrim.#ctor`.
    ///
    /// C# signature: `LibreMetaverse.ImportExport.ModelPrim()`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.ImportExport.ModelPrim.CreateAsset(LibreMetaverse.UUID)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.ImportExport.ModelPrim.CreateAsset(LibreMetaverse.UUID creator)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.ImportExport.ModelPrim.PhysicsStub`.
    ///
    /// C# signature: `LibreMetaverse.StructuredData.OSD LibreMetaverse.ImportExport.ModelPrim.PhysicsStub()`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub use crate::model_workflow::ModelPrim;

    /// C# type: `T:LibreMetaverse.ImportExport.ModelUploader`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.ImportExport.ModelUploader` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    /// C# member: `F:LibreMetaverse.ImportExport.ModelUploader.IncludePhysicsStub`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.ImportExport.ModelUploader.IncludePhysicsStub`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.ImportExport.ModelUploader.UseModelAsPhysics`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.ImportExport.ModelUploader.UseModelAsPhysics`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `M:LibreMetaverse.ImportExport.ModelUploader.#ctor(LibreMetaverse.GridClient,System.Collections.Generic.List{LibreMetaverse.ImportExport.ModelPrim},System.String,System.String)`.
    ///
    /// C# signature: `LibreMetaverse.ImportExport.ModelUploader(LibreMetaverse.GridClient client, System.Collections.Generic.List<LibreMetaverse.ImportExport.ModelPrim> prims, System.String newInvName, System.String newInvDesc)`.
    /// Mapping contract: ownership `owned,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.ImportExport.ModelUploader.PerformUploadAsync(System.Uri,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<LibreMetaverse.StructuredData.OSD> LibreMetaverse.ImportExport.ModelUploader.PerformUploadAsync(System.Uri uploader, System.Threading.CancellationToken cancellationToken)`.
    /// Mapping contract: ownership `shared_self,owned,owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.ImportExport.ModelUploader.PrepareUploadAsync(System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<LibreMetaverse.StructuredData.OSD> LibreMetaverse.ImportExport.ModelUploader.PrepareUploadAsync(System.Threading.CancellationToken cancellationToken)`.
    /// Mapping contract: ownership `shared_self,owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.ImportExport.ModelUploader.UploadAsync(System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<LibreMetaverse.StructuredData.OSD> LibreMetaverse.ImportExport.ModelUploader.UploadAsync(System.Threading.CancellationToken cancellationToken)`.
    /// Mapping contract: ownership `shared_self,owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub use crate::model_workflow::ModelUploader;

    pub mod collada14 {
        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.COLLADA`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.COLLADA` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct COLLADA {
            property_0: Vec<libremetaverse_types::compat::Object>,
            property_1: libremetaverse::import_export::collada14::Asset,
            property_2: String,
            property_3: Vec<libremetaverse::import_export::collada14::Extra>,
            property_4: libremetaverse::import_export::collada14::COLLADAScene,
            property_5: libremetaverse::import_export::collada14::VersionType,
        }
        impl Default for COLLADA {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                    property_4: Default::default(),
                    property_5: Default::default(),
                }
            }
        }
        impl COLLADA {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.COLLADA.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.COLLADA()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.COLLADA.ConvertBoolArray(System.String)`.
            ///
            /// C# signature: `System.Boolean[] LibreMetaverse.ImportExport.Collada14.COLLADA.ConvertBoolArray(System.String val)`.
            /// Mapping contract: ownership `owned`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn convert_bool_array(val: String) -> Result<Vec<bool>, crate::Error> {
                /* reviewed native compatibility body */
                Ok(crate::collada::parse_bools(&val))
            }
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.COLLADA.ConvertDoubleArray(System.String)`.
            ///
            /// C# signature: `System.Double[] LibreMetaverse.ImportExport.Collada14.COLLADA.ConvertDoubleArray(System.String val)`.
            /// Mapping contract: ownership `owned`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn convert_double_array(val: String) -> Result<Vec<f64>, crate::Error> {
                /* reviewed native compatibility body */
                Ok(crate::collada::parse_doubles(&val))
            }
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.COLLADA.ConvertFromArray(System.Boolean[])`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.COLLADA.ConvertFromArray(System.Boolean[] values)`.
            /// Mapping contract: ownership `owned`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
            pub fn convert_from_array_with_boolean_array(
                values: Vec<bool>,
            ) -> Result<String, crate::Error> {
                /* reviewed native compatibility body */
                Ok(crate::collada::format_bools(&values))
            }
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.COLLADA.ConvertFromArray(System.Double[])`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.COLLADA.ConvertFromArray(System.Double[] values)`.
            /// Mapping contract: ownership `owned`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
            pub fn convert_from_array_with_double_array(
                values: Vec<f64>,
            ) -> Result<String, crate::Error> {
                /* reviewed native compatibility body */
                Ok(crate::collada::format_values(&values))
            }
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.COLLADA.ConvertFromArray(System.Int64[])`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.COLLADA.ConvertFromArray(System.Int64[] values)`.
            /// Mapping contract: ownership `owned`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
            pub fn convert_from_array_with_int64_array(
                values: Vec<i64>,
            ) -> Result<String, crate::Error> {
                /* reviewed native compatibility body */
                Ok(crate::collada::format_values(&values))
            }
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.COLLADA.ConvertFromArray(System.String[])`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.COLLADA.ConvertFromArray(System.String[] values)`.
            /// Mapping contract: ownership `owned`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
            pub fn convert_from_array_with_string_array(
                values: Vec<String>,
            ) -> Result<String, crate::Error> {
                /* reviewed native compatibility body */
                Ok(crate::collada::format_values(&values))
            }
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.COLLADA.ConvertLongArray(System.String)`.
            ///
            /// C# signature: `System.Int64[] LibreMetaverse.ImportExport.Collada14.COLLADA.ConvertLongArray(System.String val)`.
            /// Mapping contract: ownership `owned`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn convert_long_array(val: String) -> Result<Vec<i64>, crate::Error> {
                /* reviewed native compatibility body */
                Ok(crate::collada::parse_longs(&val))
            }
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.COLLADA.ConvertNameArray(System.String)`.
            ///
            /// C# signature: `System.String[] LibreMetaverse.ImportExport.Collada14.COLLADA.ConvertNameArray(System.String val)`.
            /// Mapping contract: ownership `owned`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn convert_name_array(val: String) -> Result<Vec<String>, crate::Error> {
                /* reviewed native compatibility body */
                Ok(crate::collada::parse_names(&val))
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.COLLADA.Items`.
            ///
            /// C# signature: `System.Object[] LibreMetaverse.ImportExport.Collada14.COLLADA.Items`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn items(&self) -> Vec<libremetaverse_types::compat::Object> {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.COLLADA.Items`.
            pub fn set_items(&mut self, value: Vec<libremetaverse_types::compat::Object>) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.COLLADA.asset`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.asset LibreMetaverse.ImportExport.Collada14.COLLADA.asset`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn asset(&self) -> libremetaverse::import_export::collada14::Asset {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.COLLADA.asset`.
            pub fn set_asset(&mut self, value: libremetaverse::import_export::collada14::Asset) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.COLLADA.base`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.COLLADA.base`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn base(&self) -> String {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.COLLADA.base`.
            pub fn set_base(&mut self, value: String) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.COLLADA.extra`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.extra[] LibreMetaverse.ImportExport.Collada14.COLLADA.extra`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn extra(&self) -> Vec<libremetaverse::import_export::collada14::Extra> {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.COLLADA.extra`.
            pub fn set_extra(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Extra>,
            ) {
                /* complete generated data model */
                self.property_3 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.COLLADA.scene`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.COLLADAScene LibreMetaverse.ImportExport.Collada14.COLLADA.scene`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn scene(&self) -> libremetaverse::import_export::collada14::COLLADAScene {
                /* complete generated data model */
                self.property_4.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.COLLADA.scene`.
            pub fn set_scene(
                &mut self,
                value: libremetaverse::import_export::collada14::COLLADAScene,
            ) {
                /* complete generated data model */
                self.property_4 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.COLLADA.version`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.VersionType LibreMetaverse.ImportExport.Collada14.COLLADA.version`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn version(&self) -> libremetaverse::import_export::collada14::VersionType {
                /* complete generated data model */
                self.property_5.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.COLLADA.version`.
            pub fn set_version(
                &mut self,
                value: libremetaverse::import_export::collada14::VersionType,
            ) {
                /* complete generated data model */
                self.property_5 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.COLLADAScene`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.COLLADAScene` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct COLLADAScene {
            property_0: Vec<libremetaverse::import_export::collada14::Extra>,
            property_1: Vec<libremetaverse::import_export::collada14::InstanceWithExtra>,
            property_2: libremetaverse::import_export::collada14::InstanceWithExtra,
        }
        impl Default for COLLADAScene {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                }
            }
        }
        impl COLLADAScene {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.COLLADAScene.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.COLLADAScene()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.COLLADAScene.extra`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.extra[] LibreMetaverse.ImportExport.Collada14.COLLADAScene.extra`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn extra(&self) -> Vec<libremetaverse::import_export::collada14::Extra> {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.COLLADAScene.extra`.
            pub fn set_extra(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Extra>,
            ) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.COLLADAScene.instance_physics_scene`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.InstanceWithExtra[] LibreMetaverse.ImportExport.Collada14.COLLADAScene.instance_physics_scene`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn instance_physics_scene(
                &self,
            ) -> Vec<libremetaverse::import_export::collada14::InstanceWithExtra> {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.COLLADAScene.instance_physics_scene`.
            pub fn set_instance_physics_scene(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::InstanceWithExtra>,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.COLLADAScene.instance_visual_scene`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.InstanceWithExtra LibreMetaverse.ImportExport.Collada14.COLLADAScene.instance_visual_scene`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn instance_visual_scene(
                &self,
            ) -> libremetaverse::import_export::collada14::InstanceWithExtra {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.COLLADAScene.instance_visual_scene`.
            pub fn set_instance_visual_scene(
                &mut self,
                value: libremetaverse::import_export::collada14::InstanceWithExtra,
            ) {
                /* complete generated data model */
                self.property_2 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.IDREF_array`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.IDREF_array` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct IDREF_Array {
            property_0: String,
            property_1: u64,
            property_2: String,
            property_3: String,
        }
        impl Default for IDREF_Array {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                }
            }
        }
        impl IDREF_Array {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.IDREF_array.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.IDREF_array()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.IDREF_array.Value`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.IDREF_array.Value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.IDREF_array.Value`.
            pub fn set_value(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.IDREF_array.count`.
            ///
            /// C# signature: `System.UInt64 LibreMetaverse.ImportExport.Collada14.IDREF_array.count`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn count(&self) -> u64 {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.IDREF_array.count`.
            pub fn set_count(&mut self, value: u64) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.IDREF_array.id`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.IDREF_array.id`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn id(&self) -> String {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.IDREF_array.id`.
            pub fn set_id(&mut self, value: String) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.IDREF_array.name`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.IDREF_array.name`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn name(&self) -> String {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.IDREF_array.name`.
            pub fn set_name(&mut self, value: String) {
                /* complete generated data model */
                self.property_3 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.InputGlobal`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.InputGlobal` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct InputGlobal {
            property_0: String,
            property_1: String,
        }
        impl Default for InputGlobal {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                }
            }
        }
        impl InputGlobal {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.InputGlobal.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.InputGlobal()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.InputGlobal.semantic`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.InputGlobal.semantic`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn semantic(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.InputGlobal.semantic`.
            pub fn set_semantic(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.InputGlobal.source`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.InputGlobal.source`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn source(&self) -> String {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.InputGlobal.source`.
            pub fn set_source(&mut self, value: String) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.InputLocal`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.InputLocal` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct InputLocal {
            property_0: String,
            property_1: String,
        }
        impl Default for InputLocal {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                }
            }
        }
        impl InputLocal {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.InputLocal.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.InputLocal()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.InputLocal.semantic`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.InputLocal.semantic`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn semantic(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.InputLocal.semantic`.
            pub fn set_semantic(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.InputLocal.source`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.InputLocal.source`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn source(&self) -> String {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.InputLocal.source`.
            pub fn set_source(&mut self, value: String) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.InputLocalOffset`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.InputLocalOffset` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct InputLocalOffset {
            property_0: u64,
            property_1: String,
            property_2: u64,
            property_3: bool,
            property_4: String,
        }
        impl Default for InputLocalOffset {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                    property_4: Default::default(),
                }
            }
        }
        impl InputLocalOffset {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.InputLocalOffset.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.InputLocalOffset()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.InputLocalOffset.offset`.
            ///
            /// C# signature: `System.UInt64 LibreMetaverse.ImportExport.Collada14.InputLocalOffset.offset`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn offset(&self) -> u64 {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.InputLocalOffset.offset`.
            pub fn set_offset(&mut self, value: u64) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.InputLocalOffset.semantic`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.InputLocalOffset.semantic`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn semantic(&self) -> String {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.InputLocalOffset.semantic`.
            pub fn set_semantic(&mut self, value: String) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.InputLocalOffset.set`.
            ///
            /// C# signature: `System.UInt64 LibreMetaverse.ImportExport.Collada14.InputLocalOffset.set`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn set(&self) -> u64 {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.InputLocalOffset.set`.
            pub fn set_set(&mut self, value: u64) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.InputLocalOffset.setSpecified`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.ImportExport.Collada14.InputLocalOffset.setSpecified`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn set_specified(&self) -> bool {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.InputLocalOffset.setSpecified`.
            pub fn set_set_specified(&mut self, value: bool) {
                /* complete generated data model */
                self.property_3 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.InputLocalOffset.source`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.InputLocalOffset.source`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn source(&self) -> String {
                /* complete generated data model */
                self.property_4.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.InputLocalOffset.source`.
            pub fn set_source(&mut self, value: String) {
                /* complete generated data model */
                self.property_4 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.InstanceWithExtra`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.InstanceWithExtra` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct InstanceWithExtra {
            property_0: Vec<libremetaverse::import_export::collada14::Extra>,
            property_1: String,
            property_2: String,
            property_3: String,
        }
        impl Default for InstanceWithExtra {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                }
            }
        }
        impl InstanceWithExtra {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.InstanceWithExtra.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.InstanceWithExtra()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.InstanceWithExtra.extra`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.extra[] LibreMetaverse.ImportExport.Collada14.InstanceWithExtra.extra`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn extra(&self) -> Vec<libremetaverse::import_export::collada14::Extra> {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.InstanceWithExtra.extra`.
            pub fn set_extra(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Extra>,
            ) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.InstanceWithExtra.name`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.InstanceWithExtra.name`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn name(&self) -> String {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.InstanceWithExtra.name`.
            pub fn set_name(&mut self, value: String) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.InstanceWithExtra.sid`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.InstanceWithExtra.sid`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn sid(&self) -> String {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.InstanceWithExtra.sid`.
            pub fn set_sid(&mut self, value: String) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.InstanceWithExtra.url`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.InstanceWithExtra.url`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn url(&self) -> String {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.InstanceWithExtra.url`.
            pub fn set_url(&mut self, value: String) {
                /* complete generated data model */
                self.property_3 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.ItemChoiceType`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.ItemChoiceType` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone, Copy, Debug, Default, Eq, Hash, PartialEq)]
        #[repr(i32)]
        pub enum ItemChoiceType {
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType.array`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType LibreMetaverse.ImportExport.Collada14.ItemChoiceType.array`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            #[default]
            Array = 0,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType.bool`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType LibreMetaverse.ImportExport.Collada14.ItemChoiceType.bool`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool = 1,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType.bool2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType LibreMetaverse.ImportExport.Collada14.ItemChoiceType.bool2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool2 = 2,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType.bool3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType LibreMetaverse.ImportExport.Collada14.ItemChoiceType.bool3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool3 = 3,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType.bool4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType LibreMetaverse.ImportExport.Collada14.ItemChoiceType.bool4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool4 = 4,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType.enum`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType LibreMetaverse.ImportExport.Collada14.ItemChoiceType.enum`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Enum = 5,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType.float`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType LibreMetaverse.ImportExport.Collada14.ItemChoiceType.float`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float = 6,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType.float2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType LibreMetaverse.ImportExport.Collada14.ItemChoiceType.float2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float2 = 7,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType.float2x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType LibreMetaverse.ImportExport.Collada14.ItemChoiceType.float2x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float2x2 = 8,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType.float3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType LibreMetaverse.ImportExport.Collada14.ItemChoiceType.float3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float3 = 9,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType.float3x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType LibreMetaverse.ImportExport.Collada14.ItemChoiceType.float3x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float3x3 = 10,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType.float4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType LibreMetaverse.ImportExport.Collada14.ItemChoiceType.float4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float4 = 11,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType.float4x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType LibreMetaverse.ImportExport.Collada14.ItemChoiceType.float4x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float4x4 = 12,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType.int`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType LibreMetaverse.ImportExport.Collada14.ItemChoiceType.int`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int = 13,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType.int2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType LibreMetaverse.ImportExport.Collada14.ItemChoiceType.int2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int2 = 14,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType.int3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType LibreMetaverse.ImportExport.Collada14.ItemChoiceType.int3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int3 = 15,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType.int4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType LibreMetaverse.ImportExport.Collada14.ItemChoiceType.int4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int4 = 16,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType.sampler1D`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType LibreMetaverse.ImportExport.Collada14.ItemChoiceType.sampler1D`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Sampler1D = 17,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType.sampler2D`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType LibreMetaverse.ImportExport.Collada14.ItemChoiceType.sampler2D`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Sampler2D = 18,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType.sampler3D`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType LibreMetaverse.ImportExport.Collada14.ItemChoiceType.sampler3D`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Sampler3D = 19,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType.samplerCUBE`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType LibreMetaverse.ImportExport.Collada14.ItemChoiceType.samplerCUBE`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            SamplerCUBE = 20,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType.samplerDEPTH`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType LibreMetaverse.ImportExport.Collada14.ItemChoiceType.samplerDEPTH`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            SamplerDEPTH = 21,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType.samplerRECT`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType LibreMetaverse.ImportExport.Collada14.ItemChoiceType.samplerRECT`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            SamplerRECT = 22,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType.surface`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType LibreMetaverse.ImportExport.Collada14.ItemChoiceType.surface`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Surface = 23,
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.ItemChoiceType1`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.ItemChoiceType1` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone, Copy, Debug, Default, Eq, Hash, PartialEq)]
        #[repr(i32)]
        pub enum ItemChoiceType1 {
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType1.array`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType1 LibreMetaverse.ImportExport.Collada14.ItemChoiceType1.array`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            #[default]
            Array = 0,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType1.bool`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType1 LibreMetaverse.ImportExport.Collada14.ItemChoiceType1.bool`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool = 1,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType1.bool2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType1 LibreMetaverse.ImportExport.Collada14.ItemChoiceType1.bool2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool2 = 2,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType1.bool3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType1 LibreMetaverse.ImportExport.Collada14.ItemChoiceType1.bool3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool3 = 3,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType1.bool4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType1 LibreMetaverse.ImportExport.Collada14.ItemChoiceType1.bool4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool4 = 4,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType1.enum`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType1 LibreMetaverse.ImportExport.Collada14.ItemChoiceType1.enum`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Enum = 5,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType1.float`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType1 LibreMetaverse.ImportExport.Collada14.ItemChoiceType1.float`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float = 6,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType1.float2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType1 LibreMetaverse.ImportExport.Collada14.ItemChoiceType1.float2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float2 = 7,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType1.float2x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType1 LibreMetaverse.ImportExport.Collada14.ItemChoiceType1.float2x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float2x2 = 8,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType1.float3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType1 LibreMetaverse.ImportExport.Collada14.ItemChoiceType1.float3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float3 = 9,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType1.float3x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType1 LibreMetaverse.ImportExport.Collada14.ItemChoiceType1.float3x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float3x3 = 10,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType1.float4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType1 LibreMetaverse.ImportExport.Collada14.ItemChoiceType1.float4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float4 = 11,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType1.float4x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType1 LibreMetaverse.ImportExport.Collada14.ItemChoiceType1.float4x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float4x4 = 12,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType1.int`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType1 LibreMetaverse.ImportExport.Collada14.ItemChoiceType1.int`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int = 13,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType1.int2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType1 LibreMetaverse.ImportExport.Collada14.ItemChoiceType1.int2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int2 = 14,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType1.int3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType1 LibreMetaverse.ImportExport.Collada14.ItemChoiceType1.int3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int3 = 15,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType1.int4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType1 LibreMetaverse.ImportExport.Collada14.ItemChoiceType1.int4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int4 = 16,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType1.sampler1D`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType1 LibreMetaverse.ImportExport.Collada14.ItemChoiceType1.sampler1D`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Sampler1D = 17,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType1.sampler2D`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType1 LibreMetaverse.ImportExport.Collada14.ItemChoiceType1.sampler2D`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Sampler2D = 18,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType1.sampler3D`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType1 LibreMetaverse.ImportExport.Collada14.ItemChoiceType1.sampler3D`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Sampler3D = 19,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType1.samplerCUBE`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType1 LibreMetaverse.ImportExport.Collada14.ItemChoiceType1.samplerCUBE`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            SamplerCUBE = 20,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType1.samplerDEPTH`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType1 LibreMetaverse.ImportExport.Collada14.ItemChoiceType1.samplerDEPTH`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            SamplerDEPTH = 21,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType1.samplerRECT`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType1 LibreMetaverse.ImportExport.Collada14.ItemChoiceType1.samplerRECT`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            SamplerRECT = 22,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType1.surface`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType1 LibreMetaverse.ImportExport.Collada14.ItemChoiceType1.surface`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Surface = 23,
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.ItemChoiceType2`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.ItemChoiceType2` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone, Copy, Debug, Default, Eq, Hash, PartialEq)]
        #[repr(i32)]
        pub enum ItemChoiceType2 {
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType2.float`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType2 LibreMetaverse.ImportExport.Collada14.ItemChoiceType2.float`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            #[default]
            Float = 0,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType2.float2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType2 LibreMetaverse.ImportExport.Collada14.ItemChoiceType2.float2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float2 = 1,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType2.float3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType2 LibreMetaverse.ImportExport.Collada14.ItemChoiceType2.float3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float3 = 2,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType2.float4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType2 LibreMetaverse.ImportExport.Collada14.ItemChoiceType2.float4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float4 = 3,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType2.sampler2D`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType2 LibreMetaverse.ImportExport.Collada14.ItemChoiceType2.sampler2D`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Sampler2D = 4,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType2.surface`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType2 LibreMetaverse.ImportExport.Collada14.ItemChoiceType2.surface`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Surface = 5,
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone, Copy, Debug, Default, Eq, Hash, PartialEq)]
        #[repr(i32)]
        pub enum ItemChoiceType3 {
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.array`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.array`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            #[default]
            Array = 0,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.bool`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.bool`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool = 1,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.bool1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.bool1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool1 = 2,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.bool1x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.bool1x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool1x1 = 3,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.bool1x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.bool1x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool1x2 = 4,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.bool1x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.bool1x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool1x3 = 5,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.bool1x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.bool1x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool1x4 = 6,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.bool2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.bool2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool2 = 7,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.bool2x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.bool2x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool2x1 = 8,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.bool2x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.bool2x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool2x2 = 9,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.bool2x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.bool2x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool2x3 = 10,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.bool2x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.bool2x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool2x4 = 11,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.bool3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.bool3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool3 = 12,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.bool3x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.bool3x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool3x1 = 13,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.bool3x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.bool3x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool3x2 = 14,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.bool3x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.bool3x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool3x3 = 15,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.bool3x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.bool3x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool3x4 = 16,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.bool4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.bool4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool4 = 17,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.bool4x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.bool4x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool4x1 = 18,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.bool4x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.bool4x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool4x2 = 19,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.bool4x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.bool4x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool4x3 = 20,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.bool4x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.bool4x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool4x4 = 21,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.connect_param`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.connect_param`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Connect_Param = 22,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.enum`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.enum`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Enum = 23,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.fixed`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.fixed`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed = 24,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.fixed1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.fixed1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed1 = 25,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.fixed1x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.fixed1x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed1x1 = 26,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.fixed1x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.fixed1x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed1x2 = 27,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.fixed1x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.fixed1x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed1x3 = 28,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.fixed1x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.fixed1x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed1x4 = 29,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.fixed2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.fixed2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed2 = 30,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.fixed2x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.fixed2x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed2x1 = 31,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.fixed2x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.fixed2x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed2x2 = 32,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.fixed2x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.fixed2x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed2x3 = 33,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.fixed2x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.fixed2x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed2x4 = 34,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.fixed3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.fixed3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed3 = 35,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.fixed3x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.fixed3x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed3x1 = 36,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.fixed3x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.fixed3x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed3x2 = 37,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.fixed3x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.fixed3x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed3x3 = 38,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.fixed3x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.fixed3x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed3x4 = 39,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.fixed4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.fixed4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed4 = 40,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.fixed4x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.fixed4x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed4x1 = 41,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.fixed4x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.fixed4x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed4x2 = 42,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.fixed4x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.fixed4x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed4x3 = 43,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.fixed4x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.fixed4x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed4x4 = 44,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.float`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.float`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float = 45,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.float1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.float1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float1 = 46,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.float1x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.float1x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float1x1 = 47,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.float1x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.float1x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float1x2 = 48,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.float1x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.float1x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float1x3 = 49,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.float1x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.float1x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float1x4 = 50,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.float2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.float2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float2 = 51,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.float2x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.float2x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float2x1 = 52,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.float2x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.float2x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float2x2 = 53,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.float2x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.float2x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float2x3 = 54,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.float2x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.float2x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float2x4 = 55,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.float3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.float3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float3 = 56,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.float3x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.float3x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float3x1 = 57,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.float3x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.float3x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float3x2 = 58,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.float3x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.float3x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float3x3 = 59,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.float3x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.float3x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float3x4 = 60,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.float4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.float4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float4 = 61,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.float4x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.float4x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float4x1 = 62,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.float4x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.float4x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float4x2 = 63,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.float4x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.float4x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float4x3 = 64,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.float4x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.float4x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float4x4 = 65,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.half`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.half`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half = 66,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.half1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.half1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half1 = 67,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.half1x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.half1x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half1x1 = 68,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.half1x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.half1x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half1x2 = 69,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.half1x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.half1x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half1x3 = 70,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.half1x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.half1x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half1x4 = 71,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.half2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.half2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half2 = 72,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.half2x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.half2x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half2x1 = 73,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.half2x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.half2x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half2x2 = 74,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.half2x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.half2x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half2x3 = 75,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.half2x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.half2x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half2x4 = 76,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.half3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.half3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half3 = 77,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.half3x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.half3x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half3x1 = 78,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.half3x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.half3x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half3x2 = 79,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.half3x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.half3x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half3x3 = 80,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.half3x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.half3x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half3x4 = 81,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.half4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.half4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half4 = 82,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.half4x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.half4x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half4x1 = 83,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.half4x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.half4x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half4x2 = 84,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.half4x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.half4x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half4x3 = 85,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.half4x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.half4x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half4x4 = 86,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.int`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.int`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int = 87,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.int1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.int1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int1 = 88,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.int1x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.int1x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int1x1 = 89,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.int1x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.int1x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int1x2 = 90,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.int1x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.int1x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int1x3 = 91,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.int1x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.int1x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int1x4 = 92,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.int2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.int2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int2 = 93,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.int2x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.int2x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int2x1 = 94,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.int2x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.int2x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int2x2 = 95,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.int2x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.int2x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int2x3 = 96,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.int2x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.int2x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int2x4 = 97,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.int3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.int3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int3 = 98,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.int3x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.int3x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int3x1 = 99,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.int3x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.int3x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int3x2 = 100,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.int3x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.int3x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int3x3 = 101,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.int3x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.int3x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int3x4 = 102,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.int4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.int4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int4 = 103,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.int4x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.int4x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int4x1 = 104,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.int4x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.int4x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int4x2 = 105,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.int4x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.int4x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int4x3 = 106,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.int4x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.int4x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int4x4 = 107,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.sampler1D`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.sampler1D`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Sampler1D = 108,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.sampler2D`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.sampler2D`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Sampler2D = 109,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.sampler3D`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.sampler3D`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Sampler3D = 110,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.samplerCUBE`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.samplerCUBE`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            SamplerCUBE = 111,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.samplerDEPTH`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.samplerDEPTH`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            SamplerDEPTH = 112,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.samplerRECT`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.samplerRECT`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            SamplerRECT = 113,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.string`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.string`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            String = 114,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.surface`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.surface`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Surface = 115,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.usertype`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemChoiceType3.usertype`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Usertype = 116,
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone, Copy, Debug, Default, Eq, Hash, PartialEq)]
        #[repr(i32)]
        pub enum ItemChoiceType4 {
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.array`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.array`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            #[default]
            Array = 0,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.bool`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.bool`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool = 1,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.bool1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.bool1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool1 = 2,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.bool1x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.bool1x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool1x1 = 3,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.bool1x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.bool1x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool1x2 = 4,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.bool1x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.bool1x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool1x3 = 5,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.bool1x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.bool1x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool1x4 = 6,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.bool2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.bool2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool2 = 7,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.bool2x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.bool2x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool2x1 = 8,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.bool2x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.bool2x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool2x2 = 9,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.bool2x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.bool2x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool2x3 = 10,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.bool2x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.bool2x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool2x4 = 11,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.bool3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.bool3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool3 = 12,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.bool3x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.bool3x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool3x1 = 13,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.bool3x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.bool3x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool3x2 = 14,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.bool3x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.bool3x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool3x3 = 15,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.bool3x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.bool3x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool3x4 = 16,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.bool4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.bool4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool4 = 17,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.bool4x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.bool4x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool4x1 = 18,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.bool4x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.bool4x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool4x2 = 19,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.bool4x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.bool4x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool4x3 = 20,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.bool4x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.bool4x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool4x4 = 21,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.enum`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.enum`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Enum = 22,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.fixed`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.fixed`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed = 23,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.fixed1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.fixed1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed1 = 24,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.fixed1x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.fixed1x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed1x1 = 25,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.fixed1x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.fixed1x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed1x2 = 26,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.fixed1x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.fixed1x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed1x3 = 27,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.fixed1x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.fixed1x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed1x4 = 28,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.fixed2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.fixed2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed2 = 29,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.fixed2x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.fixed2x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed2x1 = 30,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.fixed2x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.fixed2x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed2x2 = 31,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.fixed2x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.fixed2x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed2x3 = 32,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.fixed2x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.fixed2x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed2x4 = 33,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.fixed3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.fixed3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed3 = 34,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.fixed3x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.fixed3x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed3x1 = 35,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.fixed3x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.fixed3x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed3x2 = 36,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.fixed3x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.fixed3x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed3x3 = 37,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.fixed3x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.fixed3x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed3x4 = 38,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.fixed4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.fixed4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed4 = 39,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.fixed4x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.fixed4x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed4x1 = 40,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.fixed4x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.fixed4x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed4x2 = 41,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.fixed4x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.fixed4x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed4x3 = 42,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.fixed4x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.fixed4x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed4x4 = 43,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.float`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.float`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float = 44,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.float1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.float1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float1 = 45,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.float1x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.float1x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float1x1 = 46,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.float1x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.float1x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float1x2 = 47,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.float1x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.float1x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float1x3 = 48,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.float1x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.float1x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float1x4 = 49,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.float2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.float2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float2 = 50,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.float2x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.float2x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float2x1 = 51,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.float2x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.float2x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float2x2 = 52,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.float2x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.float2x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float2x3 = 53,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.float2x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.float2x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float2x4 = 54,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.float3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.float3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float3 = 55,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.float3x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.float3x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float3x1 = 56,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.float3x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.float3x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float3x2 = 57,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.float3x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.float3x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float3x3 = 58,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.float3x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.float3x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float3x4 = 59,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.float4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.float4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float4 = 60,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.float4x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.float4x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float4x1 = 61,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.float4x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.float4x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float4x2 = 62,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.float4x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.float4x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float4x3 = 63,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.float4x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.float4x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float4x4 = 64,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.half`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.half`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half = 65,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.half1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.half1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half1 = 66,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.half1x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.half1x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half1x1 = 67,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.half1x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.half1x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half1x2 = 68,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.half1x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.half1x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half1x3 = 69,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.half1x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.half1x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half1x4 = 70,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.half2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.half2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half2 = 71,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.half2x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.half2x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half2x1 = 72,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.half2x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.half2x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half2x2 = 73,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.half2x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.half2x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half2x3 = 74,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.half2x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.half2x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half2x4 = 75,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.half3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.half3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half3 = 76,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.half3x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.half3x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half3x1 = 77,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.half3x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.half3x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half3x2 = 78,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.half3x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.half3x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half3x3 = 79,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.half3x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.half3x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half3x4 = 80,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.half4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.half4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half4 = 81,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.half4x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.half4x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half4x1 = 82,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.half4x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.half4x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half4x2 = 83,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.half4x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.half4x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half4x3 = 84,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.half4x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.half4x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half4x4 = 85,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.int`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.int`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int = 86,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.int1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.int1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int1 = 87,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.int1x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.int1x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int1x1 = 88,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.int1x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.int1x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int1x2 = 89,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.int1x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.int1x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int1x3 = 90,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.int1x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.int1x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int1x4 = 91,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.int2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.int2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int2 = 92,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.int2x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.int2x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int2x1 = 93,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.int2x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.int2x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int2x2 = 94,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.int2x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.int2x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int2x3 = 95,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.int2x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.int2x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int2x4 = 96,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.int3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.int3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int3 = 97,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.int3x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.int3x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int3x1 = 98,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.int3x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.int3x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int3x2 = 99,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.int3x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.int3x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int3x3 = 100,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.int3x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.int3x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int3x4 = 101,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.int4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.int4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int4 = 102,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.int4x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.int4x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int4x1 = 103,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.int4x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.int4x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int4x2 = 104,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.int4x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.int4x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int4x3 = 105,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.int4x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.int4x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int4x4 = 106,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.sampler1D`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.sampler1D`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Sampler1D = 107,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.sampler2D`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.sampler2D`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Sampler2D = 108,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.sampler3D`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.sampler3D`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Sampler3D = 109,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.samplerCUBE`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.samplerCUBE`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            SamplerCUBE = 110,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.samplerDEPTH`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.samplerDEPTH`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            SamplerDEPTH = 111,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.samplerRECT`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.samplerRECT`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            SamplerRECT = 112,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.string`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.string`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            String = 113,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.surface`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.surface`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Surface = 114,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.usertype`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemChoiceType4.usertype`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Usertype = 115,
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.ItemChoiceType5`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.ItemChoiceType5` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone, Copy, Debug, Default, Eq, Hash, PartialEq)]
        #[repr(i32)]
        pub enum ItemChoiceType5 {
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType5.bool`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemChoiceType5.bool`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            #[default]
            Bool = 0,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType5.bool2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemChoiceType5.bool2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool2 = 1,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType5.bool3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemChoiceType5.bool3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool3 = 2,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType5.bool4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemChoiceType5.bool4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool4 = 3,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType5.enum`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemChoiceType5.enum`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Enum = 4,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType5.float`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemChoiceType5.float`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float = 5,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType5.float2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemChoiceType5.float2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float2 = 6,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType5.float2x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemChoiceType5.float2x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float2x2 = 7,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType5.float3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemChoiceType5.float3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float3 = 8,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType5.float3x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemChoiceType5.float3x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float3x3 = 9,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType5.float4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemChoiceType5.float4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float4 = 10,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType5.float4x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemChoiceType5.float4x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float4x4 = 11,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType5.int`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemChoiceType5.int`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int = 12,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType5.int2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemChoiceType5.int2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int2 = 13,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType5.int3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemChoiceType5.int3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int3 = 14,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType5.int4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemChoiceType5.int4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int4 = 15,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType5.param`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemChoiceType5.param`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Param = 16,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType5.sampler1D`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemChoiceType5.sampler1D`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Sampler1D = 17,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType5.sampler2D`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemChoiceType5.sampler2D`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Sampler2D = 18,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType5.sampler3D`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemChoiceType5.sampler3D`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Sampler3D = 19,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType5.samplerCUBE`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemChoiceType5.samplerCUBE`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            SamplerCUBE = 20,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType5.samplerDEPTH`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemChoiceType5.samplerDEPTH`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            SamplerDEPTH = 21,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType5.samplerRECT`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemChoiceType5.samplerRECT`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            SamplerRECT = 22,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType5.surface`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemChoiceType5.surface`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Surface = 23,
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone, Copy, Debug, Default, Eq, Hash, PartialEq)]
        #[repr(i32)]
        pub enum ItemChoiceType6 {
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.bool`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.bool`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            #[default]
            Bool = 0,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.bool1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.bool1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool1 = 1,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.bool1x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.bool1x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool1x1 = 2,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.bool1x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.bool1x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool1x2 = 3,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.bool1x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.bool1x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool1x3 = 4,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.bool1x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.bool1x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool1x4 = 5,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.bool2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.bool2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool2 = 6,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.bool2x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.bool2x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool2x1 = 7,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.bool2x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.bool2x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool2x2 = 8,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.bool2x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.bool2x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool2x3 = 9,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.bool2x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.bool2x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool2x4 = 10,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.bool3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.bool3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool3 = 11,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.bool3x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.bool3x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool3x1 = 12,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.bool3x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.bool3x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool3x2 = 13,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.bool3x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.bool3x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool3x3 = 14,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.bool3x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.bool3x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool3x4 = 15,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.bool4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.bool4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool4 = 16,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.bool4x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.bool4x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool4x1 = 17,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.bool4x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.bool4x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool4x2 = 18,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.bool4x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.bool4x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool4x3 = 19,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.bool4x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.bool4x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool4x4 = 20,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.enum`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.enum`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Enum = 21,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.fixed`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.fixed`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed = 22,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.fixed1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.fixed1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed1 = 23,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.fixed1x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.fixed1x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed1x1 = 24,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.fixed1x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.fixed1x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed1x2 = 25,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.fixed1x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.fixed1x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed1x3 = 26,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.fixed1x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.fixed1x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed1x4 = 27,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.fixed2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.fixed2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed2 = 28,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.fixed2x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.fixed2x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed2x1 = 29,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.fixed2x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.fixed2x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed2x2 = 30,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.fixed2x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.fixed2x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed2x3 = 31,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.fixed2x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.fixed2x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed2x4 = 32,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.fixed3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.fixed3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed3 = 33,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.fixed3x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.fixed3x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed3x1 = 34,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.fixed3x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.fixed3x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed3x2 = 35,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.fixed3x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.fixed3x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed3x3 = 36,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.fixed3x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.fixed3x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed3x4 = 37,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.fixed4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.fixed4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed4 = 38,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.fixed4x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.fixed4x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed4x1 = 39,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.fixed4x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.fixed4x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed4x2 = 40,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.fixed4x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.fixed4x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed4x3 = 41,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.fixed4x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.fixed4x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed4x4 = 42,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.float`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.float`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float = 43,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.float1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.float1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float1 = 44,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.float1x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.float1x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float1x1 = 45,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.float1x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.float1x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float1x2 = 46,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.float1x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.float1x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float1x3 = 47,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.float1x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.float1x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float1x4 = 48,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.float2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.float2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float2 = 49,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.float2x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.float2x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float2x1 = 50,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.float2x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.float2x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float2x2 = 51,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.float2x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.float2x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float2x3 = 52,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.float2x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.float2x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float2x4 = 53,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.float3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.float3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float3 = 54,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.float3x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.float3x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float3x1 = 55,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.float3x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.float3x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float3x2 = 56,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.float3x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.float3x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float3x3 = 57,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.float3x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.float3x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float3x4 = 58,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.float4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.float4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float4 = 59,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.float4x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.float4x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float4x1 = 60,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.float4x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.float4x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float4x2 = 61,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.float4x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.float4x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float4x3 = 62,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.float4x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.float4x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float4x4 = 63,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.half`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.half`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half = 64,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.half1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.half1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half1 = 65,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.half1x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.half1x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half1x1 = 66,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.half1x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.half1x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half1x2 = 67,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.half1x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.half1x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half1x3 = 68,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.half1x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.half1x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half1x4 = 69,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.half2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.half2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half2 = 70,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.half2x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.half2x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half2x1 = 71,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.half2x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.half2x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half2x2 = 72,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.half2x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.half2x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half2x3 = 73,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.half2x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.half2x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half2x4 = 74,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.half3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.half3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half3 = 75,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.half3x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.half3x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half3x1 = 76,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.half3x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.half3x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half3x2 = 77,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.half3x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.half3x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half3x3 = 78,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.half3x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.half3x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half3x4 = 79,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.half4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.half4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half4 = 80,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.half4x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.half4x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half4x1 = 81,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.half4x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.half4x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half4x2 = 82,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.half4x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.half4x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half4x3 = 83,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.half4x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.half4x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half4x4 = 84,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.int`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.int`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int = 85,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.int1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.int1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int1 = 86,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.int1x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.int1x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int1x1 = 87,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.int1x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.int1x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int1x2 = 88,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.int1x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.int1x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int1x3 = 89,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.int1x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.int1x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int1x4 = 90,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.int2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.int2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int2 = 91,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.int2x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.int2x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int2x1 = 92,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.int2x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.int2x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int2x2 = 93,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.int2x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.int2x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int2x3 = 94,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.int2x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.int2x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int2x4 = 95,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.int3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.int3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int3 = 96,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.int3x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.int3x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int3x1 = 97,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.int3x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.int3x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int3x2 = 98,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.int3x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.int3x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int3x3 = 99,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.int3x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.int3x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int3x4 = 100,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.int4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.int4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int4 = 101,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.int4x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.int4x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int4x1 = 102,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.int4x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.int4x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int4x2 = 103,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.int4x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.int4x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int4x3 = 104,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.int4x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.int4x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int4x4 = 105,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.param`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.param`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Param = 106,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.sampler1D`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.sampler1D`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Sampler1D = 107,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.sampler2D`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.sampler2D`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Sampler2D = 108,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.sampler3D`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.sampler3D`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Sampler3D = 109,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.samplerCUBE`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.samplerCUBE`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            SamplerCUBE = 110,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.samplerDEPTH`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.samplerDEPTH`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            SamplerDEPTH = 111,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.samplerRECT`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.samplerRECT`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            SamplerRECT = 112,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.string`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.string`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            String = 113,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.surface`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemChoiceType6.surface`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Surface = 114,
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone, Copy, Debug, Default, Eq, Hash, PartialEq)]
        #[repr(i32)]
        pub enum ItemsChoiceType {
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType.aspect_ratio`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType LibreMetaverse.ImportExport.Collada14.ItemsChoiceType.aspect_ratio`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            #[default]
            Aspect_Ratio = 0,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType.xmag`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType LibreMetaverse.ImportExport.Collada14.ItemsChoiceType.xmag`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Xmag = 1,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType.ymag`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType LibreMetaverse.ImportExport.Collada14.ItemsChoiceType.ymag`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Ymag = 2,
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType1`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType1` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone, Copy, Debug, Default, Eq, Hash, PartialEq)]
        #[repr(i32)]
        pub enum ItemsChoiceType1 {
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType1.aspect_ratio`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType1 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType1.aspect_ratio`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            #[default]
            Aspect_Ratio = 0,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType1.xfov`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType1 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType1.xfov`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Xfov = 1,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType1.yfov`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType1 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType1.yfov`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Yfov = 2,
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType2`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType2` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone, Copy, Debug, Default, Eq, Hash, PartialEq)]
        #[repr(i32)]
        pub enum ItemsChoiceType2 {
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType2.array`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType2 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType2.array`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            #[default]
            Array = 0,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType2.bool`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType2 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType2.bool`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool = 1,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType2.bool2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType2 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType2.bool2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool2 = 2,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType2.bool3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType2 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType2.bool3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool3 = 3,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType2.bool4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType2 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType2.bool4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool4 = 4,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType2.enum`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType2 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType2.enum`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Enum = 5,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType2.float`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType2 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType2.float`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float = 6,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType2.float2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType2 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType2.float2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float2 = 7,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType2.float2x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType2 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType2.float2x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float2x2 = 8,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType2.float3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType2 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType2.float3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float3 = 9,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType2.float3x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType2 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType2.float3x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float3x3 = 10,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType2.float4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType2 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType2.float4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float4 = 11,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType2.float4x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType2 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType2.float4x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float4x4 = 12,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType2.int`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType2 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType2.int`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int = 13,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType2.int2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType2 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType2.int2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int2 = 14,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType2.int3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType2 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType2.int3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int3 = 15,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType2.int4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType2 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType2.int4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int4 = 16,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType2.sampler1D`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType2 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType2.sampler1D`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Sampler1D = 17,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType2.sampler2D`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType2 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType2.sampler2D`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Sampler2D = 18,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType2.sampler3D`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType2 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType2.sampler3D`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Sampler3D = 19,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType2.samplerCUBE`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType2 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType2.samplerCUBE`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            SamplerCUBE = 20,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType2.samplerDEPTH`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType2 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType2.samplerDEPTH`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            SamplerDEPTH = 21,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType2.samplerRECT`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType2 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType2.samplerRECT`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            SamplerRECT = 22,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType2.surface`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType2 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType2.surface`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Surface = 23,
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType3`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType3` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone, Copy, Debug, Default, Eq, Hash, PartialEq)]
        #[repr(i32)]
        pub enum ItemsChoiceType3 {
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType3.array`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType3.array`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            #[default]
            Array = 0,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType3.bool`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType3.bool`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool = 1,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType3.bool2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType3.bool2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool2 = 2,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType3.bool3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType3.bool3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool3 = 3,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType3.bool4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType3.bool4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool4 = 4,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType3.enum`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType3.enum`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Enum = 5,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType3.float`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType3.float`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float = 6,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType3.float2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType3.float2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float2 = 7,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType3.float2x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType3.float2x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float2x2 = 8,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType3.float3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType3.float3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float3 = 9,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType3.float3x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType3.float3x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float3x3 = 10,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType3.float4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType3.float4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float4 = 11,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType3.float4x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType3.float4x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float4x4 = 12,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType3.int`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType3.int`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int = 13,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType3.int2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType3.int2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int2 = 14,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType3.int3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType3.int3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int3 = 15,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType3.int4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType3.int4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int4 = 16,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType3.sampler1D`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType3.sampler1D`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Sampler1D = 17,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType3.sampler2D`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType3.sampler2D`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Sampler2D = 18,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType3.sampler3D`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType3.sampler3D`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Sampler3D = 19,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType3.samplerCUBE`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType3.samplerCUBE`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            SamplerCUBE = 20,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType3.samplerDEPTH`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType3.samplerDEPTH`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            SamplerDEPTH = 21,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType3.samplerRECT`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType3.samplerRECT`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            SamplerRECT = 22,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType3.surface`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType3 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType3.surface`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Surface = 23,
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone, Copy, Debug, Default, Eq, Hash, PartialEq)]
        #[repr(i32)]
        pub enum ItemsChoiceType4 {
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.array`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.array`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            #[default]
            Array = 0,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.bool`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.bool`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool = 1,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.bool1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.bool1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool1 = 2,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.bool1x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.bool1x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool1x1 = 3,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.bool1x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.bool1x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool1x2 = 4,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.bool1x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.bool1x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool1x3 = 5,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.bool1x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.bool1x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool1x4 = 6,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.bool2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.bool2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool2 = 7,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.bool2x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.bool2x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool2x1 = 8,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.bool2x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.bool2x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool2x2 = 9,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.bool2x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.bool2x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool2x3 = 10,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.bool2x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.bool2x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool2x4 = 11,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.bool3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.bool3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool3 = 12,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.bool3x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.bool3x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool3x1 = 13,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.bool3x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.bool3x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool3x2 = 14,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.bool3x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.bool3x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool3x3 = 15,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.bool3x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.bool3x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool3x4 = 16,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.bool4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.bool4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool4 = 17,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.bool4x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.bool4x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool4x1 = 18,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.bool4x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.bool4x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool4x2 = 19,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.bool4x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.bool4x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool4x3 = 20,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.bool4x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.bool4x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool4x4 = 21,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.enum`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.enum`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Enum = 22,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.fixed`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.fixed`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed = 23,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.fixed1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.fixed1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed1 = 24,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.fixed1x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.fixed1x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed1x1 = 25,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.fixed1x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.fixed1x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed1x2 = 26,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.fixed1x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.fixed1x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed1x3 = 27,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.fixed1x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.fixed1x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed1x4 = 28,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.fixed2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.fixed2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed2 = 29,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.fixed2x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.fixed2x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed2x1 = 30,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.fixed2x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.fixed2x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed2x2 = 31,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.fixed2x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.fixed2x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed2x3 = 32,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.fixed2x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.fixed2x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed2x4 = 33,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.fixed3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.fixed3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed3 = 34,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.fixed3x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.fixed3x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed3x1 = 35,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.fixed3x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.fixed3x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed3x2 = 36,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.fixed3x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.fixed3x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed3x3 = 37,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.fixed3x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.fixed3x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed3x4 = 38,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.fixed4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.fixed4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed4 = 39,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.fixed4x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.fixed4x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed4x1 = 40,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.fixed4x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.fixed4x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed4x2 = 41,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.fixed4x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.fixed4x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed4x3 = 42,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.fixed4x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.fixed4x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed4x4 = 43,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.float`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.float`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float = 44,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.float1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.float1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float1 = 45,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.float1x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.float1x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float1x1 = 46,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.float1x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.float1x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float1x2 = 47,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.float1x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.float1x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float1x3 = 48,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.float1x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.float1x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float1x4 = 49,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.float2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.float2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float2 = 50,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.float2x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.float2x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float2x1 = 51,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.float2x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.float2x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float2x2 = 52,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.float2x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.float2x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float2x3 = 53,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.float2x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.float2x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float2x4 = 54,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.float3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.float3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float3 = 55,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.float3x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.float3x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float3x1 = 56,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.float3x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.float3x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float3x2 = 57,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.float3x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.float3x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float3x3 = 58,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.float3x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.float3x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float3x4 = 59,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.float4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.float4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float4 = 60,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.float4x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.float4x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float4x1 = 61,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.float4x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.float4x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float4x2 = 62,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.float4x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.float4x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float4x3 = 63,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.float4x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.float4x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float4x4 = 64,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.half`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.half`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half = 65,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.half1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.half1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half1 = 66,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.half1x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.half1x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half1x1 = 67,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.half1x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.half1x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half1x2 = 68,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.half1x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.half1x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half1x3 = 69,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.half1x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.half1x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half1x4 = 70,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.half2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.half2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half2 = 71,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.half2x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.half2x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half2x1 = 72,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.half2x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.half2x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half2x2 = 73,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.half2x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.half2x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half2x3 = 74,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.half2x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.half2x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half2x4 = 75,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.half3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.half3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half3 = 76,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.half3x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.half3x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half3x1 = 77,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.half3x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.half3x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half3x2 = 78,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.half3x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.half3x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half3x3 = 79,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.half3x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.half3x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half3x4 = 80,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.half4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.half4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half4 = 81,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.half4x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.half4x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half4x1 = 82,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.half4x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.half4x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half4x2 = 83,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.half4x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.half4x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half4x3 = 84,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.half4x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.half4x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half4x4 = 85,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.int`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.int`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int = 86,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.int1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.int1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int1 = 87,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.int1x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.int1x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int1x1 = 88,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.int1x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.int1x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int1x2 = 89,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.int1x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.int1x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int1x3 = 90,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.int1x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.int1x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int1x4 = 91,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.int2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.int2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int2 = 92,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.int2x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.int2x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int2x1 = 93,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.int2x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.int2x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int2x2 = 94,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.int2x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.int2x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int2x3 = 95,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.int2x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.int2x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int2x4 = 96,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.int3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.int3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int3 = 97,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.int3x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.int3x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int3x1 = 98,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.int3x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.int3x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int3x2 = 99,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.int3x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.int3x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int3x3 = 100,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.int3x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.int3x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int3x4 = 101,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.int4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.int4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int4 = 102,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.int4x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.int4x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int4x1 = 103,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.int4x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.int4x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int4x2 = 104,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.int4x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.int4x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int4x3 = 105,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.int4x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.int4x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int4x4 = 106,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.sampler1D`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.sampler1D`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Sampler1D = 107,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.sampler2D`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.sampler2D`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Sampler2D = 108,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.sampler3D`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.sampler3D`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Sampler3D = 109,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.samplerCUBE`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.samplerCUBE`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            SamplerCUBE = 110,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.samplerDEPTH`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.samplerDEPTH`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            SamplerDEPTH = 111,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.samplerRECT`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.samplerRECT`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            SamplerRECT = 112,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.string`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.string`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            String = 113,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.surface`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.surface`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Surface = 114,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.usertype`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4.usertype`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Usertype = 115,
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone, Copy, Debug, Default, Eq, Hash, PartialEq)]
        #[repr(i32)]
        pub enum ItemsChoiceType5 {
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.array`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.array`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            #[default]
            Array = 0,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.bool`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.bool`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool = 1,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.bool1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.bool1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool1 = 2,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.bool1x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.bool1x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool1x1 = 3,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.bool1x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.bool1x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool1x2 = 4,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.bool1x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.bool1x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool1x3 = 5,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.bool1x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.bool1x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool1x4 = 6,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.bool2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.bool2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool2 = 7,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.bool2x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.bool2x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool2x1 = 8,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.bool2x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.bool2x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool2x2 = 9,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.bool2x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.bool2x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool2x3 = 10,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.bool2x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.bool2x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool2x4 = 11,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.bool3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.bool3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool3 = 12,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.bool3x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.bool3x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool3x1 = 13,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.bool3x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.bool3x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool3x2 = 14,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.bool3x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.bool3x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool3x3 = 15,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.bool3x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.bool3x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool3x4 = 16,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.bool4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.bool4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool4 = 17,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.bool4x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.bool4x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool4x1 = 18,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.bool4x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.bool4x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool4x2 = 19,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.bool4x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.bool4x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool4x3 = 20,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.bool4x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.bool4x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool4x4 = 21,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.connect_param`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.connect_param`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Connect_Param = 22,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.enum`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.enum`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Enum = 23,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.fixed`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.fixed`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed = 24,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.fixed1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.fixed1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed1 = 25,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.fixed1x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.fixed1x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed1x1 = 26,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.fixed1x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.fixed1x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed1x2 = 27,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.fixed1x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.fixed1x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed1x3 = 28,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.fixed1x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.fixed1x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed1x4 = 29,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.fixed2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.fixed2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed2 = 30,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.fixed2x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.fixed2x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed2x1 = 31,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.fixed2x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.fixed2x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed2x2 = 32,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.fixed2x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.fixed2x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed2x3 = 33,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.fixed2x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.fixed2x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed2x4 = 34,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.fixed3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.fixed3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed3 = 35,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.fixed3x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.fixed3x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed3x1 = 36,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.fixed3x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.fixed3x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed3x2 = 37,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.fixed3x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.fixed3x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed3x3 = 38,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.fixed3x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.fixed3x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed3x4 = 39,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.fixed4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.fixed4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed4 = 40,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.fixed4x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.fixed4x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed4x1 = 41,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.fixed4x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.fixed4x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed4x2 = 42,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.fixed4x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.fixed4x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed4x3 = 43,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.fixed4x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.fixed4x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed4x4 = 44,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.float`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.float`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float = 45,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.float1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.float1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float1 = 46,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.float1x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.float1x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float1x1 = 47,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.float1x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.float1x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float1x2 = 48,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.float1x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.float1x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float1x3 = 49,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.float1x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.float1x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float1x4 = 50,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.float2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.float2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float2 = 51,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.float2x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.float2x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float2x1 = 52,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.float2x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.float2x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float2x2 = 53,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.float2x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.float2x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float2x3 = 54,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.float2x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.float2x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float2x4 = 55,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.float3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.float3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float3 = 56,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.float3x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.float3x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float3x1 = 57,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.float3x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.float3x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float3x2 = 58,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.float3x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.float3x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float3x3 = 59,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.float3x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.float3x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float3x4 = 60,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.float4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.float4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float4 = 61,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.float4x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.float4x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float4x1 = 62,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.float4x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.float4x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float4x2 = 63,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.float4x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.float4x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float4x3 = 64,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.float4x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.float4x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float4x4 = 65,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.half`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.half`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half = 66,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.half1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.half1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half1 = 67,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.half1x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.half1x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half1x1 = 68,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.half1x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.half1x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half1x2 = 69,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.half1x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.half1x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half1x3 = 70,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.half1x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.half1x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half1x4 = 71,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.half2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.half2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half2 = 72,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.half2x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.half2x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half2x1 = 73,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.half2x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.half2x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half2x2 = 74,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.half2x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.half2x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half2x3 = 75,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.half2x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.half2x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half2x4 = 76,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.half3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.half3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half3 = 77,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.half3x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.half3x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half3x1 = 78,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.half3x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.half3x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half3x2 = 79,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.half3x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.half3x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half3x3 = 80,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.half3x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.half3x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half3x4 = 81,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.half4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.half4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half4 = 82,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.half4x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.half4x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half4x1 = 83,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.half4x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.half4x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half4x2 = 84,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.half4x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.half4x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half4x3 = 85,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.half4x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.half4x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half4x4 = 86,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.int`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.int`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int = 87,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.int1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.int1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int1 = 88,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.int1x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.int1x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int1x1 = 89,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.int1x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.int1x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int1x2 = 90,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.int1x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.int1x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int1x3 = 91,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.int1x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.int1x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int1x4 = 92,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.int2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.int2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int2 = 93,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.int2x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.int2x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int2x1 = 94,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.int2x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.int2x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int2x2 = 95,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.int2x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.int2x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int2x3 = 96,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.int2x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.int2x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int2x4 = 97,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.int3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.int3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int3 = 98,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.int3x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.int3x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int3x1 = 99,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.int3x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.int3x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int3x2 = 100,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.int3x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.int3x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int3x3 = 101,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.int3x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.int3x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int3x4 = 102,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.int4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.int4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int4 = 103,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.int4x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.int4x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int4x1 = 104,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.int4x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.int4x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int4x2 = 105,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.int4x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.int4x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int4x3 = 106,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.int4x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.int4x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int4x4 = 107,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.sampler1D`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.sampler1D`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Sampler1D = 108,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.sampler2D`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.sampler2D`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Sampler2D = 109,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.sampler3D`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.sampler3D`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Sampler3D = 110,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.samplerCUBE`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.samplerCUBE`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            SamplerCUBE = 111,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.samplerDEPTH`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.samplerDEPTH`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            SamplerDEPTH = 112,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.samplerRECT`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.samplerRECT`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            SamplerRECT = 113,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.setparam`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.setparam`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Setparam = 114,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.string`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.string`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            String = 115,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.surface`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.surface`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Surface = 116,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.usertype`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5.usertype`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Usertype = 117,
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone, Copy, Debug, Default, Eq, Hash, PartialEq)]
        #[repr(i32)]
        pub enum ItemsChoiceType6 {
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.array`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.array`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            #[default]
            Array = 0,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.bool`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.bool`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool = 1,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.bool1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.bool1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool1 = 2,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.bool1x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.bool1x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool1x1 = 3,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.bool1x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.bool1x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool1x2 = 4,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.bool1x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.bool1x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool1x3 = 5,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.bool1x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.bool1x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool1x4 = 6,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.bool2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.bool2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool2 = 7,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.bool2x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.bool2x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool2x1 = 8,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.bool2x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.bool2x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool2x2 = 9,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.bool2x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.bool2x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool2x3 = 10,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.bool2x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.bool2x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool2x4 = 11,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.bool3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.bool3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool3 = 12,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.bool3x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.bool3x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool3x1 = 13,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.bool3x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.bool3x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool3x2 = 14,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.bool3x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.bool3x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool3x3 = 15,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.bool3x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.bool3x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool3x4 = 16,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.bool4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.bool4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool4 = 17,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.bool4x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.bool4x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool4x1 = 18,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.bool4x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.bool4x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool4x2 = 19,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.bool4x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.bool4x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool4x3 = 20,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.bool4x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.bool4x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Bool4x4 = 21,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.connect_param`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.connect_param`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Connect_Param = 22,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.enum`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.enum`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Enum = 23,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.fixed`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.fixed`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed = 24,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.fixed1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.fixed1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed1 = 25,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.fixed1x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.fixed1x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed1x1 = 26,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.fixed1x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.fixed1x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed1x2 = 27,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.fixed1x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.fixed1x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed1x3 = 28,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.fixed1x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.fixed1x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed1x4 = 29,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.fixed2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.fixed2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed2 = 30,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.fixed2x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.fixed2x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed2x1 = 31,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.fixed2x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.fixed2x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed2x2 = 32,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.fixed2x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.fixed2x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed2x3 = 33,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.fixed2x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.fixed2x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed2x4 = 34,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.fixed3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.fixed3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed3 = 35,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.fixed3x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.fixed3x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed3x1 = 36,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.fixed3x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.fixed3x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed3x2 = 37,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.fixed3x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.fixed3x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed3x3 = 38,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.fixed3x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.fixed3x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed3x4 = 39,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.fixed4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.fixed4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed4 = 40,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.fixed4x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.fixed4x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed4x1 = 41,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.fixed4x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.fixed4x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed4x2 = 42,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.fixed4x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.fixed4x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed4x3 = 43,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.fixed4x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.fixed4x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Fixed4x4 = 44,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.float`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.float`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float = 45,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.float1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.float1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float1 = 46,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.float1x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.float1x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float1x1 = 47,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.float1x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.float1x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float1x2 = 48,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.float1x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.float1x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float1x3 = 49,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.float1x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.float1x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float1x4 = 50,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.float2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.float2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float2 = 51,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.float2x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.float2x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float2x1 = 52,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.float2x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.float2x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float2x2 = 53,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.float2x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.float2x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float2x3 = 54,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.float2x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.float2x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float2x4 = 55,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.float3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.float3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float3 = 56,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.float3x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.float3x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float3x1 = 57,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.float3x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.float3x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float3x2 = 58,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.float3x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.float3x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float3x3 = 59,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.float3x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.float3x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float3x4 = 60,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.float4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.float4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float4 = 61,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.float4x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.float4x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float4x1 = 62,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.float4x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.float4x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float4x2 = 63,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.float4x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.float4x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float4x3 = 64,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.float4x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.float4x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Float4x4 = 65,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.half`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.half`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half = 66,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.half1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.half1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half1 = 67,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.half1x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.half1x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half1x1 = 68,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.half1x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.half1x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half1x2 = 69,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.half1x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.half1x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half1x3 = 70,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.half1x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.half1x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half1x4 = 71,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.half2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.half2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half2 = 72,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.half2x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.half2x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half2x1 = 73,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.half2x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.half2x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half2x2 = 74,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.half2x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.half2x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half2x3 = 75,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.half2x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.half2x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half2x4 = 76,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.half3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.half3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half3 = 77,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.half3x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.half3x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half3x1 = 78,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.half3x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.half3x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half3x2 = 79,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.half3x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.half3x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half3x3 = 80,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.half3x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.half3x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half3x4 = 81,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.half4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.half4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half4 = 82,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.half4x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.half4x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half4x1 = 83,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.half4x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.half4x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half4x2 = 84,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.half4x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.half4x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half4x3 = 85,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.half4x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.half4x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Half4x4 = 86,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.int`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.int`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int = 87,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.int1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.int1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int1 = 88,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.int1x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.int1x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int1x1 = 89,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.int1x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.int1x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int1x2 = 90,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.int1x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.int1x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int1x3 = 91,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.int1x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.int1x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int1x4 = 92,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.int2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.int2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int2 = 93,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.int2x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.int2x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int2x1 = 94,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.int2x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.int2x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int2x2 = 95,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.int2x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.int2x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int2x3 = 96,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.int2x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.int2x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int2x4 = 97,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.int3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.int3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int3 = 98,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.int3x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.int3x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int3x1 = 99,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.int3x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.int3x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int3x2 = 100,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.int3x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.int3x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int3x3 = 101,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.int3x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.int3x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int3x4 = 102,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.int4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.int4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int4 = 103,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.int4x1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.int4x1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int4x1 = 104,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.int4x2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.int4x2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int4x2 = 105,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.int4x3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.int4x3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int4x3 = 106,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.int4x4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.int4x4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Int4x4 = 107,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.sampler1D`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.sampler1D`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Sampler1D = 108,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.sampler2D`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.sampler2D`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Sampler2D = 109,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.sampler3D`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.sampler3D`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Sampler3D = 110,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.samplerCUBE`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.samplerCUBE`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            SamplerCUBE = 111,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.samplerDEPTH`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.samplerDEPTH`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            SamplerDEPTH = 112,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.samplerRECT`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.samplerRECT`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            SamplerRECT = 113,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.string`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.string`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            String = 114,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.surface`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.surface`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Surface = 115,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.usertype`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6.usertype`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Usertype = 116,
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType7`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType7` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone, Copy, Debug, Default, Eq, Hash, PartialEq)]
        #[repr(i32)]
        pub enum ItemsChoiceType7 {
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType7.lookat`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType7 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType7.lookat`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            #[default]
            Lookat = 0,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType7.matrix`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType7 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType7.matrix`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Matrix = 1,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType7.rotate`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType7 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType7.rotate`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Rotate = 2,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType7.scale`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType7 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType7.scale`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Scale = 3,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType7.skew`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType7 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType7.skew`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Skew = 4,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.ItemsChoiceType7.translate`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType7 LibreMetaverse.ImportExport.Collada14.ItemsChoiceType7.translate`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Translate = 5,
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.MorphMethodType`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.MorphMethodType` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone, Copy, Debug, Default, Eq, Hash, PartialEq)]
        #[repr(i32)]
        pub enum MorphMethodType {
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.MorphMethodType.NORMALIZED`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.MorphMethodType LibreMetaverse.ImportExport.Collada14.MorphMethodType.NORMALIZED`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            #[default]
            NORMALIZED = 0,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.MorphMethodType.RELATIVE`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.MorphMethodType LibreMetaverse.ImportExport.Collada14.MorphMethodType.RELATIVE`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            RELATIVE = 1,
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.Name_array`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.Name_array` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Name_Array {
            property_0: Vec<String>,
            property_1: String,
            property_2: u64,
            property_3: String,
            property_4: String,
        }
        impl Default for Name_Array {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                    property_4: Default::default(),
                }
            }
        }
        impl Name_Array {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.Name_array.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.Name_array()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.Name_array.Values`.
            ///
            /// C# signature: `System.String[] LibreMetaverse.ImportExport.Collada14.Name_array.Values`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn values(&self) -> Vec<String> {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.Name_array.Values`.
            pub fn set_values(&mut self, value: Vec<String>) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.Name_array._Text_`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.Name_array._Text_`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn text(&self) -> String {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.Name_array._Text_`.
            pub fn set_text(&mut self, value: String) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.Name_array.count`.
            ///
            /// C# signature: `System.UInt64 LibreMetaverse.ImportExport.Collada14.Name_array.count`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn count(&self) -> u64 {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.Name_array.count`.
            pub fn set_count(&mut self, value: u64) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.Name_array.id`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.Name_array.id`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn id(&self) -> String {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.Name_array.id`.
            pub fn set_id(&mut self, value: String) {
                /* complete generated data model */
                self.property_3 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.Name_array.name`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.Name_array.name`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn name(&self) -> String {
                /* complete generated data model */
                self.property_4.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.Name_array.name`.
            pub fn set_name(&mut self, value: String) {
                /* complete generated data model */
                self.property_4 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.NodeType`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.NodeType` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone, Copy, Debug, Default, Eq, Hash, PartialEq)]
        #[repr(i32)]
        pub enum NodeType {
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.NodeType.JOINT`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.NodeType LibreMetaverse.ImportExport.Collada14.NodeType.JOINT`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            #[default]
            JOINT = 0,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.NodeType.NODE`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.NodeType LibreMetaverse.ImportExport.Collada14.NodeType.NODE`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            NODE = 1,
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.TargetableFloat`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.TargetableFloat` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct TargetableFloat {
            property_0: f64,
            property_1: String,
        }
        impl Default for TargetableFloat {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                }
            }
        }
        impl TargetableFloat {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.TargetableFloat.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.TargetableFloat()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.TargetableFloat.Value`.
            ///
            /// C# signature: `System.Double LibreMetaverse.ImportExport.Collada14.TargetableFloat.Value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> f64 {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.TargetableFloat.Value`.
            pub fn set_value(&mut self, value: f64) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.TargetableFloat.sid`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.TargetableFloat.sid`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn sid(&self) -> String {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.TargetableFloat.sid`.
            pub fn set_sid(&mut self, value: String) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.TargetableFloat3`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.TargetableFloat3` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct TargetableFloat3 {
            property_0: Vec<f64>,
            property_1: String,
            property_2: String,
        }
        impl Default for TargetableFloat3 {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                }
            }
        }
        impl TargetableFloat3 {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.TargetableFloat3.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.TargetableFloat3()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.TargetableFloat3.Values`.
            ///
            /// C# signature: `System.Double[] LibreMetaverse.ImportExport.Collada14.TargetableFloat3.Values`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn values(&self) -> Vec<f64> {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.TargetableFloat3.Values`.
            pub fn set_values(&mut self, value: Vec<f64>) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.TargetableFloat3._Text_`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.TargetableFloat3._Text_`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn text(&self) -> String {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.TargetableFloat3._Text_`.
            pub fn set_text(&mut self, value: String) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.TargetableFloat3.sid`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.TargetableFloat3.sid`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn sid(&self) -> String {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.TargetableFloat3.sid`.
            pub fn set_sid(&mut self, value: String) {
                /* complete generated data model */
                self.property_2 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.UpAxisType`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.UpAxisType` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone, Copy, Debug, Default, Eq, Hash, PartialEq)]
        #[repr(i32)]
        pub enum UpAxisType {
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.UpAxisType.X_UP`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.UpAxisType LibreMetaverse.ImportExport.Collada14.UpAxisType.X_UP`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            #[default]
            X_UP = 0,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.UpAxisType.Y_UP`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.UpAxisType LibreMetaverse.ImportExport.Collada14.UpAxisType.Y_UP`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Y_UP = 1,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.UpAxisType.Z_UP`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.UpAxisType LibreMetaverse.ImportExport.Collada14.UpAxisType.Z_UP`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Z_UP = 2,
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.VersionType`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.VersionType` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone, Copy, Debug, Default, Eq, Hash, PartialEq)]
        #[repr(i32)]
        pub enum VersionType {
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.VersionType.Item140`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.VersionType LibreMetaverse.ImportExport.Collada14.VersionType.Item140`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            #[default]
            Item140 = 0,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.VersionType.Item141`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.VersionType LibreMetaverse.ImportExport.Collada14.VersionType.Item141`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Item141 = 1,
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.accessor`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.accessor` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Accessor {
            property_0: u64,
            property_1: u64,
            property_2: Vec<libremetaverse::import_export::collada14::Param>,
            property_3: String,
            property_4: u64,
        }
        impl Default for Accessor {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: 0,
                    property_2: Default::default(),
                    property_3: Default::default(),
                    property_4: 1,
                }
            }
        }
        impl Accessor {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.accessor.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.accessor()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.accessor.count`.
            ///
            /// C# signature: `System.UInt64 LibreMetaverse.ImportExport.Collada14.accessor.count`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn count(&self) -> u64 {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.accessor.count`.
            pub fn set_count(&mut self, value: u64) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.accessor.offset`.
            ///
            /// C# signature: `System.UInt64 LibreMetaverse.ImportExport.Collada14.accessor.offset`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn offset(&self) -> u64 {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.accessor.offset`.
            pub fn set_offset(&mut self, value: u64) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.accessor.param`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.param[] LibreMetaverse.ImportExport.Collada14.accessor.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> Vec<libremetaverse::import_export::collada14::Param> {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.accessor.param`.
            pub fn set_param(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Param>,
            ) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.accessor.source`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.accessor.source`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn source(&self) -> String {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.accessor.source`.
            pub fn set_source(&mut self, value: String) {
                /* complete generated data model */
                self.property_3 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.accessor.stride`.
            ///
            /// C# signature: `System.UInt64 LibreMetaverse.ImportExport.Collada14.accessor.stride`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn stride(&self) -> u64 {
                /* complete generated data model */
                self.property_4.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.accessor.stride`.
            pub fn set_stride(&mut self, value: u64) {
                /* complete generated data model */
                self.property_4 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.animation`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.animation` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Animation {
            property_0: Vec<libremetaverse_types::compat::Object>,
            property_1: libremetaverse::import_export::collada14::Asset,
            property_2: Vec<libremetaverse::import_export::collada14::Extra>,
            property_3: String,
            property_4: String,
        }
        impl Default for Animation {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                    property_4: Default::default(),
                }
            }
        }
        impl Animation {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.animation.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.animation()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.animation.Items`.
            ///
            /// C# signature: `System.Object[] LibreMetaverse.ImportExport.Collada14.animation.Items`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn items(&self) -> Vec<libremetaverse_types::compat::Object> {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.animation.Items`.
            pub fn set_items(&mut self, value: Vec<libremetaverse_types::compat::Object>) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.animation.asset`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.asset LibreMetaverse.ImportExport.Collada14.animation.asset`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn asset(&self) -> libremetaverse::import_export::collada14::Asset {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.animation.asset`.
            pub fn set_asset(&mut self, value: libremetaverse::import_export::collada14::Asset) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.animation.extra`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.extra[] LibreMetaverse.ImportExport.Collada14.animation.extra`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn extra(&self) -> Vec<libremetaverse::import_export::collada14::Extra> {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.animation.extra`.
            pub fn set_extra(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Extra>,
            ) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.animation.id`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.animation.id`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn id(&self) -> String {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.animation.id`.
            pub fn set_id(&mut self, value: String) {
                /* complete generated data model */
                self.property_3 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.animation.name`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.animation.name`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn name(&self) -> String {
                /* complete generated data model */
                self.property_4.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.animation.name`.
            pub fn set_name(&mut self, value: String) {
                /* complete generated data model */
                self.property_4 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.animation_clip`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.animation_clip` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Animation_Clip {
            property_0: libremetaverse::import_export::collada14::Asset,
            property_1: f64,
            property_2: bool,
            property_3: Vec<libremetaverse::import_export::collada14::Extra>,
            property_4: String,
            property_5: Vec<libremetaverse::import_export::collada14::InstanceWithExtra>,
            property_6: String,
            property_7: f64,
        }
        impl Default for Animation_Clip {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                    property_4: Default::default(),
                    property_5: Default::default(),
                    property_6: Default::default(),
                    property_7: 0.0,
                }
            }
        }
        impl Animation_Clip {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.animation_clip.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.animation_clip()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.animation_clip.asset`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.asset LibreMetaverse.ImportExport.Collada14.animation_clip.asset`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn asset(&self) -> libremetaverse::import_export::collada14::Asset {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.animation_clip.asset`.
            pub fn set_asset(&mut self, value: libremetaverse::import_export::collada14::Asset) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.animation_clip.end`.
            ///
            /// C# signature: `System.Double LibreMetaverse.ImportExport.Collada14.animation_clip.end`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn end(&self) -> f64 {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.animation_clip.end`.
            pub fn set_end(&mut self, value: f64) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.animation_clip.endSpecified`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.ImportExport.Collada14.animation_clip.endSpecified`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn end_specified(&self) -> bool {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.animation_clip.endSpecified`.
            pub fn set_end_specified(&mut self, value: bool) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.animation_clip.extra`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.extra[] LibreMetaverse.ImportExport.Collada14.animation_clip.extra`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn extra(&self) -> Vec<libremetaverse::import_export::collada14::Extra> {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.animation_clip.extra`.
            pub fn set_extra(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Extra>,
            ) {
                /* complete generated data model */
                self.property_3 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.animation_clip.id`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.animation_clip.id`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn id(&self) -> String {
                /* complete generated data model */
                self.property_4.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.animation_clip.id`.
            pub fn set_id(&mut self, value: String) {
                /* complete generated data model */
                self.property_4 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.animation_clip.instance_animation`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.InstanceWithExtra[] LibreMetaverse.ImportExport.Collada14.animation_clip.instance_animation`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn instance_animation(
                &self,
            ) -> Vec<libremetaverse::import_export::collada14::InstanceWithExtra> {
                /* complete generated data model */
                self.property_5.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.animation_clip.instance_animation`.
            pub fn set_instance_animation(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::InstanceWithExtra>,
            ) {
                /* complete generated data model */
                self.property_5 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.animation_clip.name`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.animation_clip.name`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn name(&self) -> String {
                /* complete generated data model */
                self.property_6.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.animation_clip.name`.
            pub fn set_name(&mut self, value: String) {
                /* complete generated data model */
                self.property_6 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.animation_clip.start`.
            ///
            /// C# signature: `System.Double LibreMetaverse.ImportExport.Collada14.animation_clip.start`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn start(&self) -> f64 {
                /* complete generated data model */
                self.property_7.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.animation_clip.start`.
            pub fn set_start(&mut self, value: f64) {
                /* complete generated data model */
                self.property_7 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.asset`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.asset` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Asset {
            property_0: Vec<libremetaverse::import_export::collada14::AssetContributor>,
            property_1: std::time::SystemTime,
            property_2: String,
            property_3: std::time::SystemTime,
            property_4: String,
            property_5: String,
            property_6: String,
            property_7: libremetaverse::import_export::collada14::AssetUnit,
            property_8: libremetaverse::import_export::collada14::UpAxisType,
        }
        impl Default for Asset {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: std::time::UNIX_EPOCH,
                    property_2: Default::default(),
                    property_3: std::time::UNIX_EPOCH,
                    property_4: Default::default(),
                    property_5: Default::default(),
                    property_6: Default::default(),
                    property_7: Default::default(),
                    property_8: libremetaverse::import_export::collada14::UpAxisType::Y_UP,
                }
            }
        }
        impl Asset {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.asset.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.asset()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.asset.contributor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.assetContributor[] LibreMetaverse.ImportExport.Collada14.asset.contributor`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn contributor(
                &self,
            ) -> Vec<libremetaverse::import_export::collada14::AssetContributor> {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.asset.contributor`.
            pub fn set_contributor(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::AssetContributor>,
            ) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.asset.created`.
            ///
            /// C# signature: `System.DateTime LibreMetaverse.ImportExport.Collada14.asset.created`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn created(&self) -> std::time::SystemTime {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.asset.created`.
            pub fn set_created(&mut self, value: std::time::SystemTime) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.asset.keywords`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.asset.keywords`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn keywords(&self) -> String {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.asset.keywords`.
            pub fn set_keywords(&mut self, value: String) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.asset.modified`.
            ///
            /// C# signature: `System.DateTime LibreMetaverse.ImportExport.Collada14.asset.modified`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn modified(&self) -> std::time::SystemTime {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.asset.modified`.
            pub fn set_modified(&mut self, value: std::time::SystemTime) {
                /* complete generated data model */
                self.property_3 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.asset.revision`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.asset.revision`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn revision(&self) -> String {
                /* complete generated data model */
                self.property_4.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.asset.revision`.
            pub fn set_revision(&mut self, value: String) {
                /* complete generated data model */
                self.property_4 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.asset.subject`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.asset.subject`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn subject(&self) -> String {
                /* complete generated data model */
                self.property_5.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.asset.subject`.
            pub fn set_subject(&mut self, value: String) {
                /* complete generated data model */
                self.property_5 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.asset.title`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.asset.title`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn title(&self) -> String {
                /* complete generated data model */
                self.property_6.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.asset.title`.
            pub fn set_title(&mut self, value: String) {
                /* complete generated data model */
                self.property_6 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.asset.unit`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.assetUnit LibreMetaverse.ImportExport.Collada14.asset.unit`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn unit(&self) -> libremetaverse::import_export::collada14::AssetUnit {
                /* complete generated data model */
                self.property_7.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.asset.unit`.
            pub fn set_unit(&mut self, value: libremetaverse::import_export::collada14::AssetUnit) {
                /* complete generated data model */
                self.property_7 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.asset.up_axis`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.UpAxisType LibreMetaverse.ImportExport.Collada14.asset.up_axis`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn up_axis(&self) -> libremetaverse::import_export::collada14::UpAxisType {
                /* complete generated data model */
                self.property_8.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.asset.up_axis`.
            pub fn set_up_axis(
                &mut self,
                value: libremetaverse::import_export::collada14::UpAxisType,
            ) {
                /* complete generated data model */
                self.property_8 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.assetContributor`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.assetContributor` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct AssetContributor {
            property_0: String,
            property_1: String,
            property_2: String,
            property_3: String,
            property_4: String,
        }
        impl Default for AssetContributor {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                    property_4: Default::default(),
                }
            }
        }
        impl AssetContributor {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.assetContributor.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.assetContributor()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.assetContributor.author`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.assetContributor.author`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn author(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.assetContributor.author`.
            pub fn set_author(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.assetContributor.authoring_tool`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.assetContributor.authoring_tool`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn authoring_tool(&self) -> String {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.assetContributor.authoring_tool`.
            pub fn set_authoring_tool(&mut self, value: String) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.assetContributor.comments`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.assetContributor.comments`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn comments(&self) -> String {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.assetContributor.comments`.
            pub fn set_comments(&mut self, value: String) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.assetContributor.copyright`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.assetContributor.copyright`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn copyright(&self) -> String {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.assetContributor.copyright`.
            pub fn set_copyright(&mut self, value: String) {
                /* complete generated data model */
                self.property_3 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.assetContributor.source_data`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.assetContributor.source_data`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn source_data(&self) -> String {
                /* complete generated data model */
                self.property_4.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.assetContributor.source_data`.
            pub fn set_source_data(&mut self, value: String) {
                /* complete generated data model */
                self.property_4 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.assetUnit`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.assetUnit` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct AssetUnit {
            property_0: f64,
            property_1: String,
        }
        impl Default for AssetUnit {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: 1.0,
                    property_1: "meter".to_owned(),
                }
            }
        }
        impl AssetUnit {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.assetUnit.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.assetUnit()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.assetUnit.meter`.
            ///
            /// C# signature: `System.Double LibreMetaverse.ImportExport.Collada14.assetUnit.meter`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn meter(&self) -> f64 {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.assetUnit.meter`.
            pub fn set_meter(&mut self, value: f64) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.assetUnit.name`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.assetUnit.name`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn name(&self) -> String {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.assetUnit.name`.
            pub fn set_name(&mut self, value: String) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.bind_material`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.bind_material` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Bind_Material {
            property_0: Vec<libremetaverse::import_export::collada14::Extra>,
            property_1: Vec<libremetaverse::import_export::collada14::Param>,
            property_2: Vec<libremetaverse::import_export::collada14::Technique>,
            property_3: Vec<libremetaverse::import_export::collada14::Instance_Material>,
        }
        impl Default for Bind_Material {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                }
            }
        }
        impl Bind_Material {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.bind_material.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.bind_material()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.bind_material.extra`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.extra[] LibreMetaverse.ImportExport.Collada14.bind_material.extra`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn extra(&self) -> Vec<libremetaverse::import_export::collada14::Extra> {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.bind_material.extra`.
            pub fn set_extra(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Extra>,
            ) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.bind_material.param`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.param[] LibreMetaverse.ImportExport.Collada14.bind_material.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> Vec<libremetaverse::import_export::collada14::Param> {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.bind_material.param`.
            pub fn set_param(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Param>,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.bind_material.technique`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.technique[] LibreMetaverse.ImportExport.Collada14.bind_material.technique`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn technique(&self) -> Vec<libremetaverse::import_export::collada14::Technique> {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.bind_material.technique`.
            pub fn set_technique(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Technique>,
            ) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.bind_material.technique_common`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.instance_material[] LibreMetaverse.ImportExport.Collada14.bind_material.technique_common`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn technique_common(
                &self,
            ) -> Vec<libremetaverse::import_export::collada14::Instance_Material> {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.bind_material.technique_common`.
            pub fn set_technique_common(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Instance_Material>,
            ) {
                /* complete generated data model */
                self.property_3 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.bool_array`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.bool_array` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Bool_Array {
            property_0: Vec<bool>,
            property_1: String,
            property_2: u64,
            property_3: String,
            property_4: String,
        }
        impl Default for Bool_Array {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                    property_4: Default::default(),
                }
            }
        }
        impl Bool_Array {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.bool_array.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.bool_array()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.bool_array.Values`.
            ///
            /// C# signature: `System.Boolean[] LibreMetaverse.ImportExport.Collada14.bool_array.Values`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn values(&self) -> Vec<bool> {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.bool_array.Values`.
            pub fn set_values(&mut self, value: Vec<bool>) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.bool_array._Text_`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.bool_array._Text_`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn text(&self) -> String {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.bool_array._Text_`.
            pub fn set_text(&mut self, value: String) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.bool_array.count`.
            ///
            /// C# signature: `System.UInt64 LibreMetaverse.ImportExport.Collada14.bool_array.count`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn count(&self) -> u64 {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.bool_array.count`.
            pub fn set_count(&mut self, value: u64) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.bool_array.id`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.bool_array.id`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn id(&self) -> String {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.bool_array.id`.
            pub fn set_id(&mut self, value: String) {
                /* complete generated data model */
                self.property_3 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.bool_array.name`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.bool_array.name`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn name(&self) -> String {
                /* complete generated data model */
                self.property_4.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.bool_array.name`.
            pub fn set_name(&mut self, value: String) {
                /* complete generated data model */
                self.property_4 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.box`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.box` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Box {
            property_0: Vec<libremetaverse::import_export::collada14::Extra>,
            property_1: String,
        }
        impl Default for Box {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                }
            }
        }
        impl Box {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.box.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.box()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.box.extra`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.extra[] LibreMetaverse.ImportExport.Collada14.box.extra`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn extra(&self) -> Vec<libremetaverse::import_export::collada14::Extra> {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.box.extra`.
            pub fn set_extra(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Extra>,
            ) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.box.half_extents`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.box.half_extents`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn half_extents(&self) -> String {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.box.half_extents`.
            pub fn set_half_extents(&mut self, value: String) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.camera`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.camera` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Camera {
            property_0: libremetaverse::import_export::collada14::Asset,
            property_1: Vec<libremetaverse::import_export::collada14::Extra>,
            property_2: String,
            property_3: libremetaverse::import_export::collada14::CameraImager,
            property_4: String,
            property_5: libremetaverse::import_export::collada14::CameraOptics,
        }
        impl Default for Camera {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                    property_4: Default::default(),
                    property_5: Default::default(),
                }
            }
        }
        impl Camera {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.camera.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.camera()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.camera.asset`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.asset LibreMetaverse.ImportExport.Collada14.camera.asset`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn asset(&self) -> libremetaverse::import_export::collada14::Asset {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.camera.asset`.
            pub fn set_asset(&mut self, value: libremetaverse::import_export::collada14::Asset) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.camera.extra`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.extra[] LibreMetaverse.ImportExport.Collada14.camera.extra`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn extra(&self) -> Vec<libremetaverse::import_export::collada14::Extra> {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.camera.extra`.
            pub fn set_extra(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Extra>,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.camera.id`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.camera.id`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn id(&self) -> String {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.camera.id`.
            pub fn set_id(&mut self, value: String) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.camera.imager`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.cameraImager LibreMetaverse.ImportExport.Collada14.camera.imager`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn imager(&self) -> libremetaverse::import_export::collada14::CameraImager {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.camera.imager`.
            pub fn set_imager(
                &mut self,
                value: libremetaverse::import_export::collada14::CameraImager,
            ) {
                /* complete generated data model */
                self.property_3 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.camera.name`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.camera.name`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn name(&self) -> String {
                /* complete generated data model */
                self.property_4.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.camera.name`.
            pub fn set_name(&mut self, value: String) {
                /* complete generated data model */
                self.property_4 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.camera.optics`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.cameraOptics LibreMetaverse.ImportExport.Collada14.camera.optics`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn optics(&self) -> libremetaverse::import_export::collada14::CameraOptics {
                /* complete generated data model */
                self.property_5.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.camera.optics`.
            pub fn set_optics(
                &mut self,
                value: libremetaverse::import_export::collada14::CameraOptics,
            ) {
                /* complete generated data model */
                self.property_5 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.cameraImager`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.cameraImager` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct CameraImager {
            property_0: Vec<libremetaverse::import_export::collada14::Extra>,
            property_1: Vec<libremetaverse::import_export::collada14::Technique>,
        }
        impl Default for CameraImager {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                }
            }
        }
        impl CameraImager {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.cameraImager.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.cameraImager()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cameraImager.extra`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.extra[] LibreMetaverse.ImportExport.Collada14.cameraImager.extra`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn extra(&self) -> Vec<libremetaverse::import_export::collada14::Extra> {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cameraImager.extra`.
            pub fn set_extra(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Extra>,
            ) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cameraImager.technique`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.technique[] LibreMetaverse.ImportExport.Collada14.cameraImager.technique`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn technique(&self) -> Vec<libremetaverse::import_export::collada14::Technique> {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cameraImager.technique`.
            pub fn set_technique(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Technique>,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.cameraOptics`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.cameraOptics` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct CameraOptics {
            property_0: Vec<libremetaverse::import_export::collada14::Extra>,
            property_1: Vec<libremetaverse::import_export::collada14::Technique>,
            property_2: libremetaverse::import_export::collada14::CameraOpticsTechnique_Common,
        }
        impl Default for CameraOptics {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                }
            }
        }
        impl CameraOptics {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.cameraOptics.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.cameraOptics()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cameraOptics.extra`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.extra[] LibreMetaverse.ImportExport.Collada14.cameraOptics.extra`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn extra(&self) -> Vec<libremetaverse::import_export::collada14::Extra> {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cameraOptics.extra`.
            pub fn set_extra(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Extra>,
            ) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cameraOptics.technique`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.technique[] LibreMetaverse.ImportExport.Collada14.cameraOptics.technique`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn technique(&self) -> Vec<libremetaverse::import_export::collada14::Technique> {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cameraOptics.technique`.
            pub fn set_technique(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Technique>,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cameraOptics.technique_common`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.cameraOpticsTechnique_common LibreMetaverse.ImportExport.Collada14.cameraOptics.technique_common`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn technique_common(
                &self,
            ) -> libremetaverse::import_export::collada14::CameraOpticsTechnique_Common
            {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cameraOptics.technique_common`.
            pub fn set_technique_common(
                &mut self,
                value: libremetaverse::import_export::collada14::CameraOpticsTechnique_Common,
            ) {
                /* complete generated data model */
                self.property_2 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.cameraOpticsTechnique_common`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.cameraOpticsTechnique_common` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct CameraOpticsTechnique_Common {
            property_0: libremetaverse_types::compat::Object,
        }
        impl Default for CameraOpticsTechnique_Common {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                }
            }
        }
        impl CameraOpticsTechnique_Common {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.cameraOpticsTechnique_common.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.cameraOpticsTechnique_common()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cameraOpticsTechnique_common.Item`.
            ///
            /// C# signature: `System.Object LibreMetaverse.ImportExport.Collada14.cameraOpticsTechnique_common.Item`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn item(&self) -> libremetaverse_types::compat::Object {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cameraOpticsTechnique_common.Item`.
            pub fn set_item(&mut self, value: libremetaverse_types::compat::Object) {
                /* complete generated data model */
                self.property_0 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.cameraOpticsTechnique_commonOrthographic`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.cameraOpticsTechnique_commonOrthographic` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct CameraOpticsTechnique_CommonOrthographic {
            property_0: Vec<libremetaverse::import_export::collada14::TargetableFloat>,
            property_1: Vec<libremetaverse::import_export::collada14::ItemsChoiceType>,
            property_2: libremetaverse::import_export::collada14::TargetableFloat,
            property_3: libremetaverse::import_export::collada14::TargetableFloat,
        }
        impl Default for CameraOpticsTechnique_CommonOrthographic {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                }
            }
        }
        impl CameraOpticsTechnique_CommonOrthographic {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.cameraOpticsTechnique_commonOrthographic.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.cameraOpticsTechnique_commonOrthographic()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cameraOpticsTechnique_commonOrthographic.Items`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.TargetableFloat[] LibreMetaverse.ImportExport.Collada14.cameraOpticsTechnique_commonOrthographic.Items`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn items(&self) -> Vec<libremetaverse::import_export::collada14::TargetableFloat> {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cameraOpticsTechnique_commonOrthographic.Items`.
            pub fn set_items(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::TargetableFloat>,
            ) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cameraOpticsTechnique_commonOrthographic.ItemsElementName`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType[] LibreMetaverse.ImportExport.Collada14.cameraOpticsTechnique_commonOrthographic.ItemsElementName`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn items_element_name(
                &self,
            ) -> Vec<libremetaverse::import_export::collada14::ItemsChoiceType> {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cameraOpticsTechnique_commonOrthographic.ItemsElementName`.
            pub fn set_items_element_name(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::ItemsChoiceType>,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cameraOpticsTechnique_commonOrthographic.zfar`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.TargetableFloat LibreMetaverse.ImportExport.Collada14.cameraOpticsTechnique_commonOrthographic.zfar`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn zfar(&self) -> libremetaverse::import_export::collada14::TargetableFloat {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cameraOpticsTechnique_commonOrthographic.zfar`.
            pub fn set_zfar(
                &mut self,
                value: libremetaverse::import_export::collada14::TargetableFloat,
            ) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cameraOpticsTechnique_commonOrthographic.znear`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.TargetableFloat LibreMetaverse.ImportExport.Collada14.cameraOpticsTechnique_commonOrthographic.znear`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn znear(&self) -> libremetaverse::import_export::collada14::TargetableFloat {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cameraOpticsTechnique_commonOrthographic.znear`.
            pub fn set_znear(
                &mut self,
                value: libremetaverse::import_export::collada14::TargetableFloat,
            ) {
                /* complete generated data model */
                self.property_3 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.cameraOpticsTechnique_commonPerspective`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.cameraOpticsTechnique_commonPerspective` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct CameraOpticsTechnique_CommonPerspective {
            property_0: Vec<libremetaverse::import_export::collada14::TargetableFloat>,
            property_1: Vec<libremetaverse::import_export::collada14::ItemsChoiceType1>,
            property_2: libremetaverse::import_export::collada14::TargetableFloat,
            property_3: libremetaverse::import_export::collada14::TargetableFloat,
        }
        impl Default for CameraOpticsTechnique_CommonPerspective {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                }
            }
        }
        impl CameraOpticsTechnique_CommonPerspective {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.cameraOpticsTechnique_commonPerspective.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.cameraOpticsTechnique_commonPerspective()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cameraOpticsTechnique_commonPerspective.Items`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.TargetableFloat[] LibreMetaverse.ImportExport.Collada14.cameraOpticsTechnique_commonPerspective.Items`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn items(&self) -> Vec<libremetaverse::import_export::collada14::TargetableFloat> {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cameraOpticsTechnique_commonPerspective.Items`.
            pub fn set_items(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::TargetableFloat>,
            ) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cameraOpticsTechnique_commonPerspective.ItemsElementName`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType1[] LibreMetaverse.ImportExport.Collada14.cameraOpticsTechnique_commonPerspective.ItemsElementName`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn items_element_name(
                &self,
            ) -> Vec<libremetaverse::import_export::collada14::ItemsChoiceType1> {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cameraOpticsTechnique_commonPerspective.ItemsElementName`.
            pub fn set_items_element_name(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::ItemsChoiceType1>,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cameraOpticsTechnique_commonPerspective.zfar`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.TargetableFloat LibreMetaverse.ImportExport.Collada14.cameraOpticsTechnique_commonPerspective.zfar`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn zfar(&self) -> libremetaverse::import_export::collada14::TargetableFloat {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cameraOpticsTechnique_commonPerspective.zfar`.
            pub fn set_zfar(
                &mut self,
                value: libremetaverse::import_export::collada14::TargetableFloat,
            ) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cameraOpticsTechnique_commonPerspective.znear`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.TargetableFloat LibreMetaverse.ImportExport.Collada14.cameraOpticsTechnique_commonPerspective.znear`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn znear(&self) -> libremetaverse::import_export::collada14::TargetableFloat {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cameraOpticsTechnique_commonPerspective.znear`.
            pub fn set_znear(
                &mut self,
                value: libremetaverse::import_export::collada14::TargetableFloat,
            ) {
                /* complete generated data model */
                self.property_3 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.capsule`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.capsule` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Capsule {
            property_0: Vec<libremetaverse::import_export::collada14::Extra>,
            property_1: f64,
            property_2: String,
        }
        impl Default for Capsule {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                }
            }
        }
        impl Capsule {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.capsule.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.capsule()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.capsule.extra`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.extra[] LibreMetaverse.ImportExport.Collada14.capsule.extra`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn extra(&self) -> Vec<libremetaverse::import_export::collada14::Extra> {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.capsule.extra`.
            pub fn set_extra(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Extra>,
            ) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.capsule.height`.
            ///
            /// C# signature: `System.Double LibreMetaverse.ImportExport.Collada14.capsule.height`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn height(&self) -> f64 {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.capsule.height`.
            pub fn set_height(&mut self, value: f64) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.capsule.radius`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.capsule.radius`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn radius(&self) -> String {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.capsule.radius`.
            pub fn set_radius(&mut self, value: String) {
                /* complete generated data model */
                self.property_2 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.cg_connect_param`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.cg_connect_param` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Cg_Connect_Param {
            property_0: String,
        }
        impl Default for Cg_Connect_Param {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                }
            }
        }
        impl Cg_Connect_Param {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.cg_connect_param.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.cg_connect_param()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_connect_param.ref`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.cg_connect_param.ref`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn ref_(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_connect_param.ref`.
            pub fn set_ref_(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.cg_newarray_type`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.cg_newarray_type` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Cg_Newarray_Type {
            property_0: Vec<libremetaverse_types::compat::Object>,
            property_1: Vec<libremetaverse::import_export::collada14::ItemsChoiceType6>,
            property_2: String,
        }
        impl Default for Cg_Newarray_Type {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                }
            }
        }
        impl Cg_Newarray_Type {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.cg_newarray_type.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.cg_newarray_type()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_newarray_type.Items`.
            ///
            /// C# signature: `System.Object[] LibreMetaverse.ImportExport.Collada14.cg_newarray_type.Items`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn items(&self) -> Vec<libremetaverse_types::compat::Object> {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_newarray_type.Items`.
            pub fn set_items(&mut self, value: Vec<libremetaverse_types::compat::Object>) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_newarray_type.ItemsElementName`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType6[] LibreMetaverse.ImportExport.Collada14.cg_newarray_type.ItemsElementName`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn items_element_name(
                &self,
            ) -> Vec<libremetaverse::import_export::collada14::ItemsChoiceType6> {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_newarray_type.ItemsElementName`.
            pub fn set_items_element_name(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::ItemsChoiceType6>,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_newarray_type.length`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.cg_newarray_type.length`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn length(&self) -> String {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_newarray_type.length`.
            pub fn set_length(&mut self, value: String) {
                /* complete generated data model */
                self.property_2 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.cg_newparam`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.cg_newparam` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Cg_Newparam {
            property_0: libremetaverse_types::compat::Object,
            property_1: libremetaverse::import_export::collada14::ItemChoiceType4,
            property_2: Vec<libremetaverse::import_export::collada14::Fx_Annotate_Common>,
            property_3: libremetaverse::import_export::collada14::Fx_Modifier_Enum_Common,
            property_4: bool,
            property_5: String,
            property_6: String,
        }
        impl Default for Cg_Newparam {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                    property_4: Default::default(),
                    property_5: Default::default(),
                    property_6: Default::default(),
                }
            }
        }
        impl Cg_Newparam {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.cg_newparam.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.cg_newparam()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_newparam.Item`.
            ///
            /// C# signature: `System.Object LibreMetaverse.ImportExport.Collada14.cg_newparam.Item`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn item(&self) -> libremetaverse_types::compat::Object {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_newparam.Item`.
            pub fn set_item(&mut self, value: libremetaverse_types::compat::Object) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_newparam.ItemElementName`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType4 LibreMetaverse.ImportExport.Collada14.cg_newparam.ItemElementName`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn item_element_name(
                &self,
            ) -> libremetaverse::import_export::collada14::ItemChoiceType4 {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_newparam.ItemElementName`.
            pub fn set_item_element_name(
                &mut self,
                value: libremetaverse::import_export::collada14::ItemChoiceType4,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_newparam.annotate`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_annotate_common[] LibreMetaverse.ImportExport.Collada14.cg_newparam.annotate`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn annotate(
                &self,
            ) -> Vec<libremetaverse::import_export::collada14::Fx_Annotate_Common> {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_newparam.annotate`.
            pub fn set_annotate(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Fx_Annotate_Common>,
            ) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_newparam.modifier`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_modifier_enum_common LibreMetaverse.ImportExport.Collada14.cg_newparam.modifier`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn modifier(
                &self,
            ) -> libremetaverse::import_export::collada14::Fx_Modifier_Enum_Common {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_newparam.modifier`.
            pub fn set_modifier(
                &mut self,
                value: libremetaverse::import_export::collada14::Fx_Modifier_Enum_Common,
            ) {
                /* complete generated data model */
                self.property_3 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_newparam.modifierSpecified`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.ImportExport.Collada14.cg_newparam.modifierSpecified`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn modifier_specified(&self) -> bool {
                /* complete generated data model */
                self.property_4.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_newparam.modifierSpecified`.
            pub fn set_modifier_specified(&mut self, value: bool) {
                /* complete generated data model */
                self.property_4 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_newparam.semantic`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.cg_newparam.semantic`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn semantic(&self) -> String {
                /* complete generated data model */
                self.property_5.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_newparam.semantic`.
            pub fn set_semantic(&mut self, value: String) {
                /* complete generated data model */
                self.property_5 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_newparam.sid`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.cg_newparam.sid`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn sid(&self) -> String {
                /* complete generated data model */
                self.property_6.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_newparam.sid`.
            pub fn set_sid(&mut self, value: String) {
                /* complete generated data model */
                self.property_6 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.cg_pipeline_stage`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.cg_pipeline_stage` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone, Copy, Debug, Default, Eq, Hash, PartialEq)]
        #[repr(i32)]
        pub enum Cg_Pipeline_Stage {
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.cg_pipeline_stage.FRAGMENT`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.cg_pipeline_stage LibreMetaverse.ImportExport.Collada14.cg_pipeline_stage.FRAGMENT`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            #[default]
            FRAGMENT = 1,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.cg_pipeline_stage.VERTEX`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.cg_pipeline_stage LibreMetaverse.ImportExport.Collada14.cg_pipeline_stage.VERTEX`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            VERTEX = 0,
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.cg_sampler1D`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.cg_sampler1D` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Cg_Sampler1D {}
        impl Default for Cg_Sampler1D {
            fn default() -> Self {
                /* complete generated data model */
                Self {}
            }
        }
        impl Cg_Sampler1D {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.cg_sampler1D.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.cg_sampler1D()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.cg_sampler2D`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.cg_sampler2D` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Cg_Sampler2D {}
        impl Default for Cg_Sampler2D {
            fn default() -> Self {
                /* complete generated data model */
                Self {}
            }
        }
        impl Cg_Sampler2D {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.cg_sampler2D.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.cg_sampler2D()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.cg_sampler3D`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.cg_sampler3D` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Cg_Sampler3D {}
        impl Default for Cg_Sampler3D {
            fn default() -> Self {
                /* complete generated data model */
                Self {}
            }
        }
        impl Cg_Sampler3D {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.cg_sampler3D.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.cg_sampler3D()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.cg_samplerCUBE`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.cg_samplerCUBE` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Cg_SamplerCUBE {}
        impl Default for Cg_SamplerCUBE {
            fn default() -> Self {
                /* complete generated data model */
                Self {}
            }
        }
        impl Cg_SamplerCUBE {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.cg_samplerCUBE.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.cg_samplerCUBE()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.cg_samplerDEPTH`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.cg_samplerDEPTH` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Cg_SamplerDEPTH {}
        impl Default for Cg_SamplerDEPTH {
            fn default() -> Self {
                /* complete generated data model */
                Self {}
            }
        }
        impl Cg_SamplerDEPTH {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.cg_samplerDEPTH.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.cg_samplerDEPTH()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.cg_samplerRECT`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.cg_samplerRECT` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Cg_SamplerRECT {}
        impl Default for Cg_SamplerRECT {
            fn default() -> Self {
                /* complete generated data model */
                Self {}
            }
        }
        impl Cg_SamplerRECT {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.cg_samplerRECT.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.cg_samplerRECT()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.cg_setarray_type`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.cg_setarray_type` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Cg_Setarray_Type {
            property_0: Vec<libremetaverse_types::compat::Object>,
            property_1: Vec<libremetaverse::import_export::collada14::ItemsChoiceType4>,
            property_2: String,
        }
        impl Default for Cg_Setarray_Type {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                }
            }
        }
        impl Cg_Setarray_Type {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.cg_setarray_type.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.cg_setarray_type()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setarray_type.Items`.
            ///
            /// C# signature: `System.Object[] LibreMetaverse.ImportExport.Collada14.cg_setarray_type.Items`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn items(&self) -> Vec<libremetaverse_types::compat::Object> {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setarray_type.Items`.
            pub fn set_items(&mut self, value: Vec<libremetaverse_types::compat::Object>) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setarray_type.ItemsElementName`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType4[] LibreMetaverse.ImportExport.Collada14.cg_setarray_type.ItemsElementName`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn items_element_name(
                &self,
            ) -> Vec<libremetaverse::import_export::collada14::ItemsChoiceType4> {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setarray_type.ItemsElementName`.
            pub fn set_items_element_name(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::ItemsChoiceType4>,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setarray_type.length`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.cg_setarray_type.length`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn length(&self) -> String {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setarray_type.length`.
            pub fn set_length(&mut self, value: String) {
                /* complete generated data model */
                self.property_2 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.cg_setparam`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.cg_setparam` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Cg_Setparam {
            property_0: libremetaverse_types::compat::Object,
            property_1: libremetaverse::import_export::collada14::ItemChoiceType3,
            property_2: String,
            property_3: String,
        }
        impl Default for Cg_Setparam {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                }
            }
        }
        impl Cg_Setparam {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.cg_setparam.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.cg_setparam()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam.Item`.
            ///
            /// C# signature: `System.Object LibreMetaverse.ImportExport.Collada14.cg_setparam.Item`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn item(&self) -> libremetaverse_types::compat::Object {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam.Item`.
            pub fn set_item(&mut self, value: libremetaverse_types::compat::Object) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam.ItemElementName`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType3 LibreMetaverse.ImportExport.Collada14.cg_setparam.ItemElementName`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn item_element_name(
                &self,
            ) -> libremetaverse::import_export::collada14::ItemChoiceType3 {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam.ItemElementName`.
            pub fn set_item_element_name(
                &mut self,
                value: libremetaverse::import_export::collada14::ItemChoiceType3,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam.program`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.cg_setparam.program`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn program(&self) -> String {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam.program`.
            pub fn set_program(&mut self, value: String) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam.ref`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.cg_setparam.ref`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn ref_(&self) -> String {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam.ref`.
            pub fn set_ref_(&mut self, value: String) {
                /* complete generated data model */
                self.property_3 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.cg_setparam_simple` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Cg_Setparam_Simple {
            property_0: Vec<libremetaverse::import_export::collada14::Fx_Annotate_Common>,
            property_1: bool,
            property_2: bool,
            property_3: String,
            property_4: String,
            property_5: String,
            property_6: String,
            property_7: String,
            property_8: String,
            property_9: String,
            property_10: String,
            property_11: String,
            property_12: String,
            property_13: String,
            property_14: String,
            property_15: String,
            property_16: String,
            property_17: String,
            property_18: String,
            property_19: String,
            property_20: String,
            property_21: String,
            property_22: String,
            property_23: f32,
            property_24: f32,
            property_25: String,
            property_26: String,
            property_27: String,
            property_28: String,
            property_29: String,
            property_30: String,
            property_31: String,
            property_32: String,
            property_33: String,
            property_34: String,
            property_35: String,
            property_36: String,
            property_37: String,
            property_38: String,
            property_39: String,
            property_40: String,
            property_41: String,
            property_42: String,
            property_43: String,
            property_44: f32,
            property_45: f32,
            property_46: String,
            property_47: String,
            property_48: String,
            property_49: String,
            property_50: String,
            property_51: String,
            property_52: String,
            property_53: String,
            property_54: String,
            property_55: String,
            property_56: String,
            property_57: String,
            property_58: String,
            property_59: String,
            property_60: String,
            property_61: String,
            property_62: String,
            property_63: String,
            property_64: String,
            property_65: f32,
            property_66: f32,
            property_67: String,
            property_68: String,
            property_69: String,
            property_70: String,
            property_71: String,
            property_72: String,
            property_73: String,
            property_74: String,
            property_75: String,
            property_76: String,
            property_77: String,
            property_78: String,
            property_79: String,
            property_80: String,
            property_81: String,
            property_82: String,
            property_83: String,
            property_84: String,
            property_85: String,
            property_86: i32,
            property_87: i32,
            property_88: String,
            property_89: String,
            property_90: String,
            property_91: String,
            property_92: String,
            property_93: String,
            property_94: String,
            property_95: String,
            property_96: String,
            property_97: String,
            property_98: String,
            property_99: String,
            property_100: String,
            property_101: String,
            property_102: String,
            property_103: String,
            property_104: String,
            property_105: String,
            property_106: String,
            property_107: String,
            property_108: libremetaverse::import_export::collada14::Cg_Sampler1D,
            property_109: libremetaverse::import_export::collada14::Cg_Sampler2D,
            property_110: libremetaverse::import_export::collada14::Cg_Sampler3D,
            property_111: libremetaverse::import_export::collada14::Cg_SamplerCUBE,
            property_112: libremetaverse::import_export::collada14::Cg_SamplerDEPTH,
            property_113: libremetaverse::import_export::collada14::Cg_SamplerRECT,
            property_114: String,
            property_115: libremetaverse::import_export::collada14::Cg_Surface_Type,
        }
        impl Default for Cg_Setparam_Simple {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                    property_4: Default::default(),
                    property_5: Default::default(),
                    property_6: Default::default(),
                    property_7: Default::default(),
                    property_8: Default::default(),
                    property_9: Default::default(),
                    property_10: Default::default(),
                    property_11: Default::default(),
                    property_12: Default::default(),
                    property_13: Default::default(),
                    property_14: Default::default(),
                    property_15: Default::default(),
                    property_16: Default::default(),
                    property_17: Default::default(),
                    property_18: Default::default(),
                    property_19: Default::default(),
                    property_20: Default::default(),
                    property_21: Default::default(),
                    property_22: Default::default(),
                    property_23: Default::default(),
                    property_24: Default::default(),
                    property_25: Default::default(),
                    property_26: Default::default(),
                    property_27: Default::default(),
                    property_28: Default::default(),
                    property_29: Default::default(),
                    property_30: Default::default(),
                    property_31: Default::default(),
                    property_32: Default::default(),
                    property_33: Default::default(),
                    property_34: Default::default(),
                    property_35: Default::default(),
                    property_36: Default::default(),
                    property_37: Default::default(),
                    property_38: Default::default(),
                    property_39: Default::default(),
                    property_40: Default::default(),
                    property_41: Default::default(),
                    property_42: Default::default(),
                    property_43: Default::default(),
                    property_44: Default::default(),
                    property_45: Default::default(),
                    property_46: Default::default(),
                    property_47: Default::default(),
                    property_48: Default::default(),
                    property_49: Default::default(),
                    property_50: Default::default(),
                    property_51: Default::default(),
                    property_52: Default::default(),
                    property_53: Default::default(),
                    property_54: Default::default(),
                    property_55: Default::default(),
                    property_56: Default::default(),
                    property_57: Default::default(),
                    property_58: Default::default(),
                    property_59: Default::default(),
                    property_60: Default::default(),
                    property_61: Default::default(),
                    property_62: Default::default(),
                    property_63: Default::default(),
                    property_64: Default::default(),
                    property_65: Default::default(),
                    property_66: Default::default(),
                    property_67: Default::default(),
                    property_68: Default::default(),
                    property_69: Default::default(),
                    property_70: Default::default(),
                    property_71: Default::default(),
                    property_72: Default::default(),
                    property_73: Default::default(),
                    property_74: Default::default(),
                    property_75: Default::default(),
                    property_76: Default::default(),
                    property_77: Default::default(),
                    property_78: Default::default(),
                    property_79: Default::default(),
                    property_80: Default::default(),
                    property_81: Default::default(),
                    property_82: Default::default(),
                    property_83: Default::default(),
                    property_84: Default::default(),
                    property_85: Default::default(),
                    property_86: Default::default(),
                    property_87: Default::default(),
                    property_88: Default::default(),
                    property_89: Default::default(),
                    property_90: Default::default(),
                    property_91: Default::default(),
                    property_92: Default::default(),
                    property_93: Default::default(),
                    property_94: Default::default(),
                    property_95: Default::default(),
                    property_96: Default::default(),
                    property_97: Default::default(),
                    property_98: Default::default(),
                    property_99: Default::default(),
                    property_100: Default::default(),
                    property_101: Default::default(),
                    property_102: Default::default(),
                    property_103: Default::default(),
                    property_104: Default::default(),
                    property_105: Default::default(),
                    property_106: Default::default(),
                    property_107: Default::default(),
                    property_108: Default::default(),
                    property_109: Default::default(),
                    property_110: Default::default(),
                    property_111: Default::default(),
                    property_112: Default::default(),
                    property_113: Default::default(),
                    property_114: Default::default(),
                    property_115: Default::default(),
                }
            }
        }
        impl Cg_Setparam_Simple {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.cg_setparam_simple()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.annotate`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_annotate_common[] LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.annotate`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn annotate(
                &self,
            ) -> Vec<libremetaverse::import_export::collada14::Fx_Annotate_Common> {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.annotate`.
            pub fn set_annotate(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Fx_Annotate_Common>,
            ) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.bool`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.bool`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn bool(&self) -> bool {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.bool`.
            pub fn set_bool(&mut self, value: bool) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.bool1`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.bool1`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn bool1(&self) -> bool {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.bool1`.
            pub fn set_bool1(&mut self, value: bool) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.bool1x1`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.bool1x1`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn bool1x1(&self) -> String {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.bool1x1`.
            pub fn set_bool1x1(&mut self, value: String) {
                /* complete generated data model */
                self.property_3 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.bool1x2`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.bool1x2`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn bool1x2(&self) -> String {
                /* complete generated data model */
                self.property_4.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.bool1x2`.
            pub fn set_bool1x2(&mut self, value: String) {
                /* complete generated data model */
                self.property_4 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.bool1x3`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.bool1x3`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn bool1x3(&self) -> String {
                /* complete generated data model */
                self.property_5.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.bool1x3`.
            pub fn set_bool1x3(&mut self, value: String) {
                /* complete generated data model */
                self.property_5 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.bool1x4`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.bool1x4`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn bool1x4(&self) -> String {
                /* complete generated data model */
                self.property_6.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.bool1x4`.
            pub fn set_bool1x4(&mut self, value: String) {
                /* complete generated data model */
                self.property_6 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.bool2`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.bool2`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn bool2(&self) -> String {
                /* complete generated data model */
                self.property_7.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.bool2`.
            pub fn set_bool2(&mut self, value: String) {
                /* complete generated data model */
                self.property_7 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.bool2x1`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.bool2x1`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn bool2x1(&self) -> String {
                /* complete generated data model */
                self.property_8.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.bool2x1`.
            pub fn set_bool2x1(&mut self, value: String) {
                /* complete generated data model */
                self.property_8 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.bool2x2`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.bool2x2`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn bool2x2(&self) -> String {
                /* complete generated data model */
                self.property_9.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.bool2x2`.
            pub fn set_bool2x2(&mut self, value: String) {
                /* complete generated data model */
                self.property_9 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.bool2x3`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.bool2x3`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn bool2x3(&self) -> String {
                /* complete generated data model */
                self.property_10.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.bool2x3`.
            pub fn set_bool2x3(&mut self, value: String) {
                /* complete generated data model */
                self.property_10 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.bool2x4`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.bool2x4`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn bool2x4(&self) -> String {
                /* complete generated data model */
                self.property_11.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.bool2x4`.
            pub fn set_bool2x4(&mut self, value: String) {
                /* complete generated data model */
                self.property_11 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.bool3`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.bool3`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn bool3(&self) -> String {
                /* complete generated data model */
                self.property_12.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.bool3`.
            pub fn set_bool3(&mut self, value: String) {
                /* complete generated data model */
                self.property_12 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.bool3x1`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.bool3x1`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn bool3x1(&self) -> String {
                /* complete generated data model */
                self.property_13.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.bool3x1`.
            pub fn set_bool3x1(&mut self, value: String) {
                /* complete generated data model */
                self.property_13 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.bool3x2`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.bool3x2`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn bool3x2(&self) -> String {
                /* complete generated data model */
                self.property_14.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.bool3x2`.
            pub fn set_bool3x2(&mut self, value: String) {
                /* complete generated data model */
                self.property_14 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.bool3x3`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.bool3x3`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn bool3x3(&self) -> String {
                /* complete generated data model */
                self.property_15.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.bool3x3`.
            pub fn set_bool3x3(&mut self, value: String) {
                /* complete generated data model */
                self.property_15 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.bool3x4`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.bool3x4`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn bool3x4(&self) -> String {
                /* complete generated data model */
                self.property_16.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.bool3x4`.
            pub fn set_bool3x4(&mut self, value: String) {
                /* complete generated data model */
                self.property_16 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.bool4`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.bool4`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn bool4(&self) -> String {
                /* complete generated data model */
                self.property_17.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.bool4`.
            pub fn set_bool4(&mut self, value: String) {
                /* complete generated data model */
                self.property_17 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.bool4x1`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.bool4x1`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn bool4x1(&self) -> String {
                /* complete generated data model */
                self.property_18.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.bool4x1`.
            pub fn set_bool4x1(&mut self, value: String) {
                /* complete generated data model */
                self.property_18 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.bool4x2`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.bool4x2`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn bool4x2(&self) -> String {
                /* complete generated data model */
                self.property_19.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.bool4x2`.
            pub fn set_bool4x2(&mut self, value: String) {
                /* complete generated data model */
                self.property_19 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.bool4x3`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.bool4x3`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn bool4x3(&self) -> String {
                /* complete generated data model */
                self.property_20.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.bool4x3`.
            pub fn set_bool4x3(&mut self, value: String) {
                /* complete generated data model */
                self.property_20 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.bool4x4`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.bool4x4`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn bool4x4(&self) -> String {
                /* complete generated data model */
                self.property_21.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.bool4x4`.
            pub fn set_bool4x4(&mut self, value: String) {
                /* complete generated data model */
                self.property_21 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.enum`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.enum`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn enum_(&self) -> String {
                /* complete generated data model */
                self.property_22.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.enum`.
            pub fn set_enum_(&mut self, value: String) {
                /* complete generated data model */
                self.property_22 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.fixed`.
            ///
            /// C# signature: `System.Single LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.fixed`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn fixed(&self) -> f32 {
                /* complete generated data model */
                self.property_23.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.fixed`.
            pub fn set_fixed(&mut self, value: f32) {
                /* complete generated data model */
                self.property_23 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.fixed1`.
            ///
            /// C# signature: `System.Single LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.fixed1`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn fixed1(&self) -> f32 {
                /* complete generated data model */
                self.property_24.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.fixed1`.
            pub fn set_fixed1(&mut self, value: f32) {
                /* complete generated data model */
                self.property_24 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.fixed1x1`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.fixed1x1`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn fixed1x1(&self) -> String {
                /* complete generated data model */
                self.property_25.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.fixed1x1`.
            pub fn set_fixed1x1(&mut self, value: String) {
                /* complete generated data model */
                self.property_25 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.fixed1x2`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.fixed1x2`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn fixed1x2(&self) -> String {
                /* complete generated data model */
                self.property_26.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.fixed1x2`.
            pub fn set_fixed1x2(&mut self, value: String) {
                /* complete generated data model */
                self.property_26 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.fixed1x3`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.fixed1x3`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn fixed1x3(&self) -> String {
                /* complete generated data model */
                self.property_27.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.fixed1x3`.
            pub fn set_fixed1x3(&mut self, value: String) {
                /* complete generated data model */
                self.property_27 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.fixed1x4`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.fixed1x4`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn fixed1x4(&self) -> String {
                /* complete generated data model */
                self.property_28.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.fixed1x4`.
            pub fn set_fixed1x4(&mut self, value: String) {
                /* complete generated data model */
                self.property_28 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.fixed2`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.fixed2`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn fixed2(&self) -> String {
                /* complete generated data model */
                self.property_29.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.fixed2`.
            pub fn set_fixed2(&mut self, value: String) {
                /* complete generated data model */
                self.property_29 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.fixed2x1`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.fixed2x1`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn fixed2x1(&self) -> String {
                /* complete generated data model */
                self.property_30.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.fixed2x1`.
            pub fn set_fixed2x1(&mut self, value: String) {
                /* complete generated data model */
                self.property_30 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.fixed2x2`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.fixed2x2`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn fixed2x2(&self) -> String {
                /* complete generated data model */
                self.property_31.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.fixed2x2`.
            pub fn set_fixed2x2(&mut self, value: String) {
                /* complete generated data model */
                self.property_31 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.fixed2x3`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.fixed2x3`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn fixed2x3(&self) -> String {
                /* complete generated data model */
                self.property_32.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.fixed2x3`.
            pub fn set_fixed2x3(&mut self, value: String) {
                /* complete generated data model */
                self.property_32 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.fixed2x4`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.fixed2x4`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn fixed2x4(&self) -> String {
                /* complete generated data model */
                self.property_33.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.fixed2x4`.
            pub fn set_fixed2x4(&mut self, value: String) {
                /* complete generated data model */
                self.property_33 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.fixed3`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.fixed3`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn fixed3(&self) -> String {
                /* complete generated data model */
                self.property_34.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.fixed3`.
            pub fn set_fixed3(&mut self, value: String) {
                /* complete generated data model */
                self.property_34 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.fixed3x1`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.fixed3x1`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn fixed3x1(&self) -> String {
                /* complete generated data model */
                self.property_35.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.fixed3x1`.
            pub fn set_fixed3x1(&mut self, value: String) {
                /* complete generated data model */
                self.property_35 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.fixed3x2`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.fixed3x2`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn fixed3x2(&self) -> String {
                /* complete generated data model */
                self.property_36.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.fixed3x2`.
            pub fn set_fixed3x2(&mut self, value: String) {
                /* complete generated data model */
                self.property_36 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.fixed3x3`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.fixed3x3`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn fixed3x3(&self) -> String {
                /* complete generated data model */
                self.property_37.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.fixed3x3`.
            pub fn set_fixed3x3(&mut self, value: String) {
                /* complete generated data model */
                self.property_37 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.fixed3x4`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.fixed3x4`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn fixed3x4(&self) -> String {
                /* complete generated data model */
                self.property_38.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.fixed3x4`.
            pub fn set_fixed3x4(&mut self, value: String) {
                /* complete generated data model */
                self.property_38 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.fixed4`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.fixed4`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn fixed4(&self) -> String {
                /* complete generated data model */
                self.property_39.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.fixed4`.
            pub fn set_fixed4(&mut self, value: String) {
                /* complete generated data model */
                self.property_39 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.fixed4x1`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.fixed4x1`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn fixed4x1(&self) -> String {
                /* complete generated data model */
                self.property_40.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.fixed4x1`.
            pub fn set_fixed4x1(&mut self, value: String) {
                /* complete generated data model */
                self.property_40 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.fixed4x2`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.fixed4x2`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn fixed4x2(&self) -> String {
                /* complete generated data model */
                self.property_41.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.fixed4x2`.
            pub fn set_fixed4x2(&mut self, value: String) {
                /* complete generated data model */
                self.property_41 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.fixed4x3`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.fixed4x3`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn fixed4x3(&self) -> String {
                /* complete generated data model */
                self.property_42.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.fixed4x3`.
            pub fn set_fixed4x3(&mut self, value: String) {
                /* complete generated data model */
                self.property_42 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.fixed4x4`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.fixed4x4`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn fixed4x4(&self) -> String {
                /* complete generated data model */
                self.property_43.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.fixed4x4`.
            pub fn set_fixed4x4(&mut self, value: String) {
                /* complete generated data model */
                self.property_43 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.float`.
            ///
            /// C# signature: `System.Single LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.float`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float(&self) -> f32 {
                /* complete generated data model */
                self.property_44.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.float`.
            pub fn set_float(&mut self, value: f32) {
                /* complete generated data model */
                self.property_44 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.float1`.
            ///
            /// C# signature: `System.Single LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.float1`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float1(&self) -> f32 {
                /* complete generated data model */
                self.property_45.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.float1`.
            pub fn set_float1(&mut self, value: f32) {
                /* complete generated data model */
                self.property_45 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.float1x1`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.float1x1`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float1x1(&self) -> String {
                /* complete generated data model */
                self.property_46.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.float1x1`.
            pub fn set_float1x1(&mut self, value: String) {
                /* complete generated data model */
                self.property_46 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.float1x2`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.float1x2`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float1x2(&self) -> String {
                /* complete generated data model */
                self.property_47.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.float1x2`.
            pub fn set_float1x2(&mut self, value: String) {
                /* complete generated data model */
                self.property_47 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.float1x3`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.float1x3`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float1x3(&self) -> String {
                /* complete generated data model */
                self.property_48.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.float1x3`.
            pub fn set_float1x3(&mut self, value: String) {
                /* complete generated data model */
                self.property_48 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.float1x4`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.float1x4`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float1x4(&self) -> String {
                /* complete generated data model */
                self.property_49.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.float1x4`.
            pub fn set_float1x4(&mut self, value: String) {
                /* complete generated data model */
                self.property_49 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.float2`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.float2`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float2(&self) -> String {
                /* complete generated data model */
                self.property_50.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.float2`.
            pub fn set_float2(&mut self, value: String) {
                /* complete generated data model */
                self.property_50 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.float2x1`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.float2x1`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float2x1(&self) -> String {
                /* complete generated data model */
                self.property_51.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.float2x1`.
            pub fn set_float2x1(&mut self, value: String) {
                /* complete generated data model */
                self.property_51 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.float2x2`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.float2x2`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float2x2(&self) -> String {
                /* complete generated data model */
                self.property_52.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.float2x2`.
            pub fn set_float2x2(&mut self, value: String) {
                /* complete generated data model */
                self.property_52 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.float2x3`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.float2x3`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float2x3(&self) -> String {
                /* complete generated data model */
                self.property_53.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.float2x3`.
            pub fn set_float2x3(&mut self, value: String) {
                /* complete generated data model */
                self.property_53 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.float2x4`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.float2x4`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float2x4(&self) -> String {
                /* complete generated data model */
                self.property_54.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.float2x4`.
            pub fn set_float2x4(&mut self, value: String) {
                /* complete generated data model */
                self.property_54 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.float3`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.float3`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float3(&self) -> String {
                /* complete generated data model */
                self.property_55.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.float3`.
            pub fn set_float3(&mut self, value: String) {
                /* complete generated data model */
                self.property_55 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.float3x1`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.float3x1`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float3x1(&self) -> String {
                /* complete generated data model */
                self.property_56.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.float3x1`.
            pub fn set_float3x1(&mut self, value: String) {
                /* complete generated data model */
                self.property_56 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.float3x2`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.float3x2`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float3x2(&self) -> String {
                /* complete generated data model */
                self.property_57.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.float3x2`.
            pub fn set_float3x2(&mut self, value: String) {
                /* complete generated data model */
                self.property_57 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.float3x3`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.float3x3`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float3x3(&self) -> String {
                /* complete generated data model */
                self.property_58.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.float3x3`.
            pub fn set_float3x3(&mut self, value: String) {
                /* complete generated data model */
                self.property_58 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.float3x4`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.float3x4`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float3x4(&self) -> String {
                /* complete generated data model */
                self.property_59.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.float3x4`.
            pub fn set_float3x4(&mut self, value: String) {
                /* complete generated data model */
                self.property_59 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.float4`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.float4`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float4(&self) -> String {
                /* complete generated data model */
                self.property_60.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.float4`.
            pub fn set_float4(&mut self, value: String) {
                /* complete generated data model */
                self.property_60 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.float4x1`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.float4x1`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float4x1(&self) -> String {
                /* complete generated data model */
                self.property_61.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.float4x1`.
            pub fn set_float4x1(&mut self, value: String) {
                /* complete generated data model */
                self.property_61 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.float4x2`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.float4x2`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float4x2(&self) -> String {
                /* complete generated data model */
                self.property_62.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.float4x2`.
            pub fn set_float4x2(&mut self, value: String) {
                /* complete generated data model */
                self.property_62 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.float4x3`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.float4x3`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float4x3(&self) -> String {
                /* complete generated data model */
                self.property_63.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.float4x3`.
            pub fn set_float4x3(&mut self, value: String) {
                /* complete generated data model */
                self.property_63 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.float4x4`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.float4x4`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float4x4(&self) -> String {
                /* complete generated data model */
                self.property_64.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.float4x4`.
            pub fn set_float4x4(&mut self, value: String) {
                /* complete generated data model */
                self.property_64 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.half`.
            ///
            /// C# signature: `System.Single LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.half`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn half(&self) -> f32 {
                /* complete generated data model */
                self.property_65.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.half`.
            pub fn set_half(&mut self, value: f32) {
                /* complete generated data model */
                self.property_65 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.half1`.
            ///
            /// C# signature: `System.Single LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.half1`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn half1(&self) -> f32 {
                /* complete generated data model */
                self.property_66.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.half1`.
            pub fn set_half1(&mut self, value: f32) {
                /* complete generated data model */
                self.property_66 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.half1x1`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.half1x1`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn half1x1(&self) -> String {
                /* complete generated data model */
                self.property_67.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.half1x1`.
            pub fn set_half1x1(&mut self, value: String) {
                /* complete generated data model */
                self.property_67 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.half1x2`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.half1x2`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn half1x2(&self) -> String {
                /* complete generated data model */
                self.property_68.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.half1x2`.
            pub fn set_half1x2(&mut self, value: String) {
                /* complete generated data model */
                self.property_68 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.half1x3`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.half1x3`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn half1x3(&self) -> String {
                /* complete generated data model */
                self.property_69.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.half1x3`.
            pub fn set_half1x3(&mut self, value: String) {
                /* complete generated data model */
                self.property_69 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.half1x4`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.half1x4`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn half1x4(&self) -> String {
                /* complete generated data model */
                self.property_70.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.half1x4`.
            pub fn set_half1x4(&mut self, value: String) {
                /* complete generated data model */
                self.property_70 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.half2`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.half2`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn half2(&self) -> String {
                /* complete generated data model */
                self.property_71.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.half2`.
            pub fn set_half2(&mut self, value: String) {
                /* complete generated data model */
                self.property_71 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.half2x1`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.half2x1`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn half2x1(&self) -> String {
                /* complete generated data model */
                self.property_72.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.half2x1`.
            pub fn set_half2x1(&mut self, value: String) {
                /* complete generated data model */
                self.property_72 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.half2x2`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.half2x2`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn half2x2(&self) -> String {
                /* complete generated data model */
                self.property_73.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.half2x2`.
            pub fn set_half2x2(&mut self, value: String) {
                /* complete generated data model */
                self.property_73 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.half2x3`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.half2x3`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn half2x3(&self) -> String {
                /* complete generated data model */
                self.property_74.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.half2x3`.
            pub fn set_half2x3(&mut self, value: String) {
                /* complete generated data model */
                self.property_74 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.half2x4`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.half2x4`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn half2x4(&self) -> String {
                /* complete generated data model */
                self.property_75.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.half2x4`.
            pub fn set_half2x4(&mut self, value: String) {
                /* complete generated data model */
                self.property_75 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.half3`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.half3`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn half3(&self) -> String {
                /* complete generated data model */
                self.property_76.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.half3`.
            pub fn set_half3(&mut self, value: String) {
                /* complete generated data model */
                self.property_76 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.half3x1`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.half3x1`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn half3x1(&self) -> String {
                /* complete generated data model */
                self.property_77.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.half3x1`.
            pub fn set_half3x1(&mut self, value: String) {
                /* complete generated data model */
                self.property_77 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.half3x2`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.half3x2`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn half3x2(&self) -> String {
                /* complete generated data model */
                self.property_78.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.half3x2`.
            pub fn set_half3x2(&mut self, value: String) {
                /* complete generated data model */
                self.property_78 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.half3x3`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.half3x3`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn half3x3(&self) -> String {
                /* complete generated data model */
                self.property_79.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.half3x3`.
            pub fn set_half3x3(&mut self, value: String) {
                /* complete generated data model */
                self.property_79 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.half3x4`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.half3x4`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn half3x4(&self) -> String {
                /* complete generated data model */
                self.property_80.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.half3x4`.
            pub fn set_half3x4(&mut self, value: String) {
                /* complete generated data model */
                self.property_80 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.half4`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.half4`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn half4(&self) -> String {
                /* complete generated data model */
                self.property_81.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.half4`.
            pub fn set_half4(&mut self, value: String) {
                /* complete generated data model */
                self.property_81 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.half4x1`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.half4x1`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn half4x1(&self) -> String {
                /* complete generated data model */
                self.property_82.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.half4x1`.
            pub fn set_half4x1(&mut self, value: String) {
                /* complete generated data model */
                self.property_82 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.half4x2`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.half4x2`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn half4x2(&self) -> String {
                /* complete generated data model */
                self.property_83.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.half4x2`.
            pub fn set_half4x2(&mut self, value: String) {
                /* complete generated data model */
                self.property_83 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.half4x3`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.half4x3`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn half4x3(&self) -> String {
                /* complete generated data model */
                self.property_84.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.half4x3`.
            pub fn set_half4x3(&mut self, value: String) {
                /* complete generated data model */
                self.property_84 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.half4x4`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.half4x4`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn half4x4(&self) -> String {
                /* complete generated data model */
                self.property_85.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.half4x4`.
            pub fn set_half4x4(&mut self, value: String) {
                /* complete generated data model */
                self.property_85 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.int`.
            ///
            /// C# signature: `System.Int32 LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.int`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn int(&self) -> i32 {
                /* complete generated data model */
                self.property_86.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.int`.
            pub fn set_int(&mut self, value: i32) {
                /* complete generated data model */
                self.property_86 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.int1`.
            ///
            /// C# signature: `System.Int32 LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.int1`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn int1(&self) -> i32 {
                /* complete generated data model */
                self.property_87.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.int1`.
            pub fn set_int1(&mut self, value: i32) {
                /* complete generated data model */
                self.property_87 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.int1x1`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.int1x1`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn int1x1(&self) -> String {
                /* complete generated data model */
                self.property_88.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.int1x1`.
            pub fn set_int1x1(&mut self, value: String) {
                /* complete generated data model */
                self.property_88 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.int1x2`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.int1x2`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn int1x2(&self) -> String {
                /* complete generated data model */
                self.property_89.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.int1x2`.
            pub fn set_int1x2(&mut self, value: String) {
                /* complete generated data model */
                self.property_89 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.int1x3`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.int1x3`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn int1x3(&self) -> String {
                /* complete generated data model */
                self.property_90.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.int1x3`.
            pub fn set_int1x3(&mut self, value: String) {
                /* complete generated data model */
                self.property_90 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.int1x4`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.int1x4`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn int1x4(&self) -> String {
                /* complete generated data model */
                self.property_91.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.int1x4`.
            pub fn set_int1x4(&mut self, value: String) {
                /* complete generated data model */
                self.property_91 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.int2`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.int2`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn int2(&self) -> String {
                /* complete generated data model */
                self.property_92.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.int2`.
            pub fn set_int2(&mut self, value: String) {
                /* complete generated data model */
                self.property_92 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.int2x1`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.int2x1`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn int2x1(&self) -> String {
                /* complete generated data model */
                self.property_93.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.int2x1`.
            pub fn set_int2x1(&mut self, value: String) {
                /* complete generated data model */
                self.property_93 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.int2x2`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.int2x2`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn int2x2(&self) -> String {
                /* complete generated data model */
                self.property_94.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.int2x2`.
            pub fn set_int2x2(&mut self, value: String) {
                /* complete generated data model */
                self.property_94 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.int2x3`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.int2x3`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn int2x3(&self) -> String {
                /* complete generated data model */
                self.property_95.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.int2x3`.
            pub fn set_int2x3(&mut self, value: String) {
                /* complete generated data model */
                self.property_95 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.int2x4`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.int2x4`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn int2x4(&self) -> String {
                /* complete generated data model */
                self.property_96.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.int2x4`.
            pub fn set_int2x4(&mut self, value: String) {
                /* complete generated data model */
                self.property_96 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.int3`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.int3`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn int3(&self) -> String {
                /* complete generated data model */
                self.property_97.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.int3`.
            pub fn set_int3(&mut self, value: String) {
                /* complete generated data model */
                self.property_97 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.int3x1`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.int3x1`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn int3x1(&self) -> String {
                /* complete generated data model */
                self.property_98.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.int3x1`.
            pub fn set_int3x1(&mut self, value: String) {
                /* complete generated data model */
                self.property_98 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.int3x2`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.int3x2`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn int3x2(&self) -> String {
                /* complete generated data model */
                self.property_99.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.int3x2`.
            pub fn set_int3x2(&mut self, value: String) {
                /* complete generated data model */
                self.property_99 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.int3x3`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.int3x3`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn int3x3(&self) -> String {
                /* complete generated data model */
                self.property_100.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.int3x3`.
            pub fn set_int3x3(&mut self, value: String) {
                /* complete generated data model */
                self.property_100 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.int3x4`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.int3x4`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn int3x4(&self) -> String {
                /* complete generated data model */
                self.property_101.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.int3x4`.
            pub fn set_int3x4(&mut self, value: String) {
                /* complete generated data model */
                self.property_101 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.int4`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.int4`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn int4(&self) -> String {
                /* complete generated data model */
                self.property_102.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.int4`.
            pub fn set_int4(&mut self, value: String) {
                /* complete generated data model */
                self.property_102 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.int4x1`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.int4x1`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn int4x1(&self) -> String {
                /* complete generated data model */
                self.property_103.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.int4x1`.
            pub fn set_int4x1(&mut self, value: String) {
                /* complete generated data model */
                self.property_103 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.int4x2`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.int4x2`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn int4x2(&self) -> String {
                /* complete generated data model */
                self.property_104.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.int4x2`.
            pub fn set_int4x2(&mut self, value: String) {
                /* complete generated data model */
                self.property_104 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.int4x3`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.int4x3`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn int4x3(&self) -> String {
                /* complete generated data model */
                self.property_105.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.int4x3`.
            pub fn set_int4x3(&mut self, value: String) {
                /* complete generated data model */
                self.property_105 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.int4x4`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.int4x4`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn int4x4(&self) -> String {
                /* complete generated data model */
                self.property_106.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.int4x4`.
            pub fn set_int4x4(&mut self, value: String) {
                /* complete generated data model */
                self.property_106 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.ref`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.ref`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn ref_(&self) -> String {
                /* complete generated data model */
                self.property_107.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.ref`.
            pub fn set_ref_(&mut self, value: String) {
                /* complete generated data model */
                self.property_107 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.sampler1D`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.cg_sampler1D LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.sampler1D`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn sampler1_d(&self) -> libremetaverse::import_export::collada14::Cg_Sampler1D {
                /* complete generated data model */
                self.property_108.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.sampler1D`.
            pub fn set_sampler1_d(
                &mut self,
                value: libremetaverse::import_export::collada14::Cg_Sampler1D,
            ) {
                /* complete generated data model */
                self.property_108 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.sampler2D`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.cg_sampler2D LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.sampler2D`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn sampler2_d(&self) -> libremetaverse::import_export::collada14::Cg_Sampler2D {
                /* complete generated data model */
                self.property_109.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.sampler2D`.
            pub fn set_sampler2_d(
                &mut self,
                value: libremetaverse::import_export::collada14::Cg_Sampler2D,
            ) {
                /* complete generated data model */
                self.property_109 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.sampler3D`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.cg_sampler3D LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.sampler3D`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn sampler3_d(&self) -> libremetaverse::import_export::collada14::Cg_Sampler3D {
                /* complete generated data model */
                self.property_110.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.sampler3D`.
            pub fn set_sampler3_d(
                &mut self,
                value: libremetaverse::import_export::collada14::Cg_Sampler3D,
            ) {
                /* complete generated data model */
                self.property_110 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.samplerCUBE`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.cg_samplerCUBE LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.samplerCUBE`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn sampler_cube(&self) -> libremetaverse::import_export::collada14::Cg_SamplerCUBE {
                /* complete generated data model */
                self.property_111.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.samplerCUBE`.
            pub fn set_sampler_cube(
                &mut self,
                value: libremetaverse::import_export::collada14::Cg_SamplerCUBE,
            ) {
                /* complete generated data model */
                self.property_111 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.samplerDEPTH`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.cg_samplerDEPTH LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.samplerDEPTH`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn sampler_depth(
                &self,
            ) -> libremetaverse::import_export::collada14::Cg_SamplerDEPTH {
                /* complete generated data model */
                self.property_112.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.samplerDEPTH`.
            pub fn set_sampler_depth(
                &mut self,
                value: libremetaverse::import_export::collada14::Cg_SamplerDEPTH,
            ) {
                /* complete generated data model */
                self.property_112 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.samplerRECT`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.cg_samplerRECT LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.samplerRECT`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn sampler_rect(&self) -> libremetaverse::import_export::collada14::Cg_SamplerRECT {
                /* complete generated data model */
                self.property_113.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.samplerRECT`.
            pub fn set_sampler_rect(
                &mut self,
                value: libremetaverse::import_export::collada14::Cg_SamplerRECT,
            ) {
                /* complete generated data model */
                self.property_113 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.string`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.string`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn string(&self) -> String {
                /* complete generated data model */
                self.property_114.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.string`.
            pub fn set_string(&mut self, value: String) {
                /* complete generated data model */
                self.property_114 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.surface`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.cg_surface_type LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.surface`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn surface(&self) -> libremetaverse::import_export::collada14::Cg_Surface_Type {
                /* complete generated data model */
                self.property_115.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setparam_simple.surface`.
            pub fn set_surface(
                &mut self,
                value: libremetaverse::import_export::collada14::Cg_Surface_Type,
            ) {
                /* complete generated data model */
                self.property_115 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.cg_setuser_type`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.cg_setuser_type` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Cg_Setuser_Type {
            property_0: Vec<libremetaverse_types::compat::Object>,
            property_1: Vec<libremetaverse::import_export::collada14::ItemsChoiceType5>,
            property_2: String,
            property_3: String,
        }
        impl Default for Cg_Setuser_Type {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                }
            }
        }
        impl Cg_Setuser_Type {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.cg_setuser_type.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.cg_setuser_type()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setuser_type.Items`.
            ///
            /// C# signature: `System.Object[] LibreMetaverse.ImportExport.Collada14.cg_setuser_type.Items`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn items(&self) -> Vec<libremetaverse_types::compat::Object> {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setuser_type.Items`.
            pub fn set_items(&mut self, value: Vec<libremetaverse_types::compat::Object>) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setuser_type.ItemsElementName`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType5[] LibreMetaverse.ImportExport.Collada14.cg_setuser_type.ItemsElementName`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn items_element_name(
                &self,
            ) -> Vec<libremetaverse::import_export::collada14::ItemsChoiceType5> {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setuser_type.ItemsElementName`.
            pub fn set_items_element_name(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::ItemsChoiceType5>,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setuser_type.name`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.cg_setuser_type.name`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn name(&self) -> String {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setuser_type.name`.
            pub fn set_name(&mut self, value: String) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setuser_type.source`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.cg_setuser_type.source`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn source(&self) -> String {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_setuser_type.source`.
            pub fn set_source(&mut self, value: String) {
                /* complete generated data model */
                self.property_3 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.cg_surface_type`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.cg_surface_type` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Cg_Surface_Type {
            property_0: libremetaverse::import_export::collada14::Cg_Surface_TypeGenerator,
        }
        impl Default for Cg_Surface_Type {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                }
            }
        }
        impl Cg_Surface_Type {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.cg_surface_type.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.cg_surface_type()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_surface_type.generator`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.cg_surface_typeGenerator LibreMetaverse.ImportExport.Collada14.cg_surface_type.generator`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn generator(
                &self,
            ) -> libremetaverse::import_export::collada14::Cg_Surface_TypeGenerator {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_surface_type.generator`.
            pub fn set_generator(
                &mut self,
                value: libremetaverse::import_export::collada14::Cg_Surface_TypeGenerator,
            ) {
                /* complete generated data model */
                self.property_0 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.cg_surface_typeGenerator`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.cg_surface_typeGenerator` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Cg_Surface_TypeGenerator {
            property_0: Vec<libremetaverse_types::compat::Object>,
            property_1: Vec<libremetaverse::import_export::collada14::Fx_Annotate_Common>,
            property_2: libremetaverse::import_export::collada14::Cg_Surface_TypeGeneratorName,
            property_3: Vec<libremetaverse::import_export::collada14::Cg_Setparam_Simple>,
        }
        impl Default for Cg_Surface_TypeGenerator {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                }
            }
        }
        impl Cg_Surface_TypeGenerator {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.cg_surface_typeGenerator.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.cg_surface_typeGenerator()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_surface_typeGenerator.Items`.
            ///
            /// C# signature: `System.Object[] LibreMetaverse.ImportExport.Collada14.cg_surface_typeGenerator.Items`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn items(&self) -> Vec<libremetaverse_types::compat::Object> {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_surface_typeGenerator.Items`.
            pub fn set_items(&mut self, value: Vec<libremetaverse_types::compat::Object>) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_surface_typeGenerator.annotate`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_annotate_common[] LibreMetaverse.ImportExport.Collada14.cg_surface_typeGenerator.annotate`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn annotate(
                &self,
            ) -> Vec<libremetaverse::import_export::collada14::Fx_Annotate_Common> {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_surface_typeGenerator.annotate`.
            pub fn set_annotate(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Fx_Annotate_Common>,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_surface_typeGenerator.name`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.cg_surface_typeGeneratorName LibreMetaverse.ImportExport.Collada14.cg_surface_typeGenerator.name`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn name(
                &self,
            ) -> libremetaverse::import_export::collada14::Cg_Surface_TypeGeneratorName
            {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_surface_typeGenerator.name`.
            pub fn set_name(
                &mut self,
                value: libremetaverse::import_export::collada14::Cg_Surface_TypeGeneratorName,
            ) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_surface_typeGenerator.setparam`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.cg_setparam_simple[] LibreMetaverse.ImportExport.Collada14.cg_surface_typeGenerator.setparam`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn setparam(
                &self,
            ) -> Vec<libremetaverse::import_export::collada14::Cg_Setparam_Simple> {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_surface_typeGenerator.setparam`.
            pub fn set_setparam(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Cg_Setparam_Simple>,
            ) {
                /* complete generated data model */
                self.property_3 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.cg_surface_typeGeneratorName`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.cg_surface_typeGeneratorName` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Cg_Surface_TypeGeneratorName {
            property_0: String,
            property_1: String,
        }
        impl Default for Cg_Surface_TypeGeneratorName {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                }
            }
        }
        impl Cg_Surface_TypeGeneratorName {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.cg_surface_typeGeneratorName.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.cg_surface_typeGeneratorName()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_surface_typeGeneratorName.Value`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.cg_surface_typeGeneratorName.Value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_surface_typeGeneratorName.Value`.
            pub fn set_value(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_surface_typeGeneratorName.source`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.cg_surface_typeGeneratorName.source`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn source(&self) -> String {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cg_surface_typeGeneratorName.source`.
            pub fn set_source(&mut self, value: String) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.channel`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.channel` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Channel {
            property_0: String,
            property_1: String,
        }
        impl Default for Channel {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                }
            }
        }
        impl Channel {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.channel.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.channel()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.channel.source`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.channel.source`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn source(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.channel.source`.
            pub fn set_source(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.channel.target`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.channel.target`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn target(&self) -> String {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.channel.target`.
            pub fn set_target(&mut self, value: String) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.common_color_or_texture_type`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.common_color_or_texture_type` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Common_Color_Or_Texture_Type {
            property_0: libremetaverse_types::compat::Object,
        }
        impl Default for Common_Color_Or_Texture_Type {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                }
            }
        }
        impl Common_Color_Or_Texture_Type {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.common_color_or_texture_type.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.common_color_or_texture_type()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.common_color_or_texture_type.Item`.
            ///
            /// C# signature: `System.Object LibreMetaverse.ImportExport.Collada14.common_color_or_texture_type.Item`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn item(&self) -> libremetaverse_types::compat::Object {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.common_color_or_texture_type.Item`.
            pub fn set_item(&mut self, value: libremetaverse_types::compat::Object) {
                /* complete generated data model */
                self.property_0 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.common_color_or_texture_typeColor`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.common_color_or_texture_typeColor` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Common_Color_Or_Texture_TypeColor {
            property_0: Vec<f64>,
            property_1: String,
            property_2: String,
        }
        impl Default for Common_Color_Or_Texture_TypeColor {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                }
            }
        }
        impl Common_Color_Or_Texture_TypeColor {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.common_color_or_texture_typeColor.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.common_color_or_texture_typeColor()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.common_color_or_texture_typeColor.Values`.
            ///
            /// C# signature: `System.Double[] LibreMetaverse.ImportExport.Collada14.common_color_or_texture_typeColor.Values`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn values(&self) -> Vec<f64> {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.common_color_or_texture_typeColor.Values`.
            pub fn set_values(&mut self, value: Vec<f64>) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.common_color_or_texture_typeColor._Text_`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.common_color_or_texture_typeColor._Text_`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn text(&self) -> String {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.common_color_or_texture_typeColor._Text_`.
            pub fn set_text(&mut self, value: String) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.common_color_or_texture_typeColor.sid`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.common_color_or_texture_typeColor.sid`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn sid(&self) -> String {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.common_color_or_texture_typeColor.sid`.
            pub fn set_sid(&mut self, value: String) {
                /* complete generated data model */
                self.property_2 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.common_color_or_texture_typeParam`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.common_color_or_texture_typeParam` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Common_Color_Or_Texture_TypeParam {
            property_0: String,
        }
        impl Default for Common_Color_Or_Texture_TypeParam {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                }
            }
        }
        impl Common_Color_Or_Texture_TypeParam {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.common_color_or_texture_typeParam.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.common_color_or_texture_typeParam()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.common_color_or_texture_typeParam.ref`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.common_color_or_texture_typeParam.ref`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn ref_(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.common_color_or_texture_typeParam.ref`.
            pub fn set_ref_(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.common_color_or_texture_typeTexture`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.common_color_or_texture_typeTexture` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Common_Color_Or_Texture_TypeTexture {
            property_0: libremetaverse::import_export::collada14::Extra,
            property_1: String,
            property_2: String,
        }
        impl Default for Common_Color_Or_Texture_TypeTexture {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                }
            }
        }
        impl Common_Color_Or_Texture_TypeTexture {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.common_color_or_texture_typeTexture.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.common_color_or_texture_typeTexture()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.common_color_or_texture_typeTexture.extra`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.extra LibreMetaverse.ImportExport.Collada14.common_color_or_texture_typeTexture.extra`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn extra(&self) -> libremetaverse::import_export::collada14::Extra {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.common_color_or_texture_typeTexture.extra`.
            pub fn set_extra(&mut self, value: libremetaverse::import_export::collada14::Extra) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.common_color_or_texture_typeTexture.texcoord`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.common_color_or_texture_typeTexture.texcoord`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn texcoord(&self) -> String {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.common_color_or_texture_typeTexture.texcoord`.
            pub fn set_texcoord(&mut self, value: String) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.common_color_or_texture_typeTexture.texture`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.common_color_or_texture_typeTexture.texture`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn texture(&self) -> String {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.common_color_or_texture_typeTexture.texture`.
            pub fn set_texture(&mut self, value: String) {
                /* complete generated data model */
                self.property_2 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.common_float_or_param_type`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.common_float_or_param_type` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Common_Float_Or_Param_Type {
            property_0: libremetaverse_types::compat::Object,
        }
        impl Default for Common_Float_Or_Param_Type {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                }
            }
        }
        impl Common_Float_Or_Param_Type {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.common_float_or_param_type.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.common_float_or_param_type()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.common_float_or_param_type.Item`.
            ///
            /// C# signature: `System.Object LibreMetaverse.ImportExport.Collada14.common_float_or_param_type.Item`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn item(&self) -> libremetaverse_types::compat::Object {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.common_float_or_param_type.Item`.
            pub fn set_item(&mut self, value: libremetaverse_types::compat::Object) {
                /* complete generated data model */
                self.property_0 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.common_float_or_param_typeFloat`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.common_float_or_param_typeFloat` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Common_Float_Or_Param_TypeFloat {
            property_0: f64,
            property_1: String,
        }
        impl Default for Common_Float_Or_Param_TypeFloat {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                }
            }
        }
        impl Common_Float_Or_Param_TypeFloat {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.common_float_or_param_typeFloat.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.common_float_or_param_typeFloat()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.common_float_or_param_typeFloat.Value`.
            ///
            /// C# signature: `System.Double LibreMetaverse.ImportExport.Collada14.common_float_or_param_typeFloat.Value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> f64 {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.common_float_or_param_typeFloat.Value`.
            pub fn set_value(&mut self, value: f64) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.common_float_or_param_typeFloat.sid`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.common_float_or_param_typeFloat.sid`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn sid(&self) -> String {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.common_float_or_param_typeFloat.sid`.
            pub fn set_sid(&mut self, value: String) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.common_float_or_param_typeParam`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.common_float_or_param_typeParam` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Common_Float_Or_Param_TypeParam {
            property_0: String,
        }
        impl Default for Common_Float_Or_Param_TypeParam {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                }
            }
        }
        impl Common_Float_Or_Param_TypeParam {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.common_float_or_param_typeParam.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.common_float_or_param_typeParam()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.common_float_or_param_typeParam.ref`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.common_float_or_param_typeParam.ref`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn ref_(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.common_float_or_param_typeParam.ref`.
            pub fn set_ref_(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.common_newparam_type`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.common_newparam_type` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Common_Newparam_Type {
            property_0: libremetaverse_types::compat::Object,
            property_1: libremetaverse::import_export::collada14::ItemChoiceType2,
            property_2: String,
            property_3: String,
        }
        impl Default for Common_Newparam_Type {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                }
            }
        }
        impl Common_Newparam_Type {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.common_newparam_type.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.common_newparam_type()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.common_newparam_type.Item`.
            ///
            /// C# signature: `System.Object LibreMetaverse.ImportExport.Collada14.common_newparam_type.Item`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn item(&self) -> libremetaverse_types::compat::Object {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.common_newparam_type.Item`.
            pub fn set_item(&mut self, value: libremetaverse_types::compat::Object) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.common_newparam_type.ItemElementName`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType2 LibreMetaverse.ImportExport.Collada14.common_newparam_type.ItemElementName`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn item_element_name(
                &self,
            ) -> libremetaverse::import_export::collada14::ItemChoiceType2 {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.common_newparam_type.ItemElementName`.
            pub fn set_item_element_name(
                &mut self,
                value: libremetaverse::import_export::collada14::ItemChoiceType2,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.common_newparam_type.semantic`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.common_newparam_type.semantic`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn semantic(&self) -> String {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.common_newparam_type.semantic`.
            pub fn set_semantic(&mut self, value: String) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.common_newparam_type.sid`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.common_newparam_type.sid`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn sid(&self) -> String {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.common_newparam_type.sid`.
            pub fn set_sid(&mut self, value: String) {
                /* complete generated data model */
                self.property_3 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.common_transparent_type`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.common_transparent_type` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Common_Transparent_Type {
            property_0: libremetaverse::import_export::collada14::Fx_Opaque_Enum,
        }
        impl Default for Common_Transparent_Type {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: libremetaverse::import_export::collada14::Fx_Opaque_Enum::A_ONE,
                }
            }
        }
        impl Common_Transparent_Type {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.common_transparent_type.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.common_transparent_type()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.common_transparent_type.opaque`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_opaque_enum LibreMetaverse.ImportExport.Collada14.common_transparent_type.opaque`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn opaque(&self) -> libremetaverse::import_export::collada14::Fx_Opaque_Enum {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.common_transparent_type.opaque`.
            pub fn set_opaque(
                &mut self,
                value: libremetaverse::import_export::collada14::Fx_Opaque_Enum,
            ) {
                /* complete generated data model */
                self.property_0 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.controller`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.controller` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Controller {
            property_0: libremetaverse_types::compat::Object,
            property_1: libremetaverse::import_export::collada14::Asset,
            property_2: Vec<libremetaverse::import_export::collada14::Extra>,
            property_3: String,
            property_4: String,
        }
        impl Default for Controller {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                    property_4: Default::default(),
                }
            }
        }
        impl Controller {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.controller.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.controller()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.controller.Item`.
            ///
            /// C# signature: `System.Object LibreMetaverse.ImportExport.Collada14.controller.Item`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn item(&self) -> libremetaverse_types::compat::Object {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.controller.Item`.
            pub fn set_item(&mut self, value: libremetaverse_types::compat::Object) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.controller.asset`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.asset LibreMetaverse.ImportExport.Collada14.controller.asset`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn asset(&self) -> libremetaverse::import_export::collada14::Asset {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.controller.asset`.
            pub fn set_asset(&mut self, value: libremetaverse::import_export::collada14::Asset) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.controller.extra`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.extra[] LibreMetaverse.ImportExport.Collada14.controller.extra`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn extra(&self) -> Vec<libremetaverse::import_export::collada14::Extra> {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.controller.extra`.
            pub fn set_extra(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Extra>,
            ) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.controller.id`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.controller.id`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn id(&self) -> String {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.controller.id`.
            pub fn set_id(&mut self, value: String) {
                /* complete generated data model */
                self.property_3 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.controller.name`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.controller.name`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn name(&self) -> String {
                /* complete generated data model */
                self.property_4.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.controller.name`.
            pub fn set_name(&mut self, value: String) {
                /* complete generated data model */
                self.property_4 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.convex_mesh`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.convex_mesh` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Convex_Mesh {
            property_0: Vec<libremetaverse_types::compat::Object>,
            property_1: String,
            property_2: Vec<libremetaverse::import_export::collada14::Extra>,
            property_3: Vec<libremetaverse::import_export::collada14::Source>,
            property_4: libremetaverse::import_export::collada14::Vertices,
        }
        impl Default for Convex_Mesh {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                    property_4: Default::default(),
                }
            }
        }
        impl Convex_Mesh {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.convex_mesh.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.convex_mesh()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.convex_mesh.Items`.
            ///
            /// C# signature: `System.Object[] LibreMetaverse.ImportExport.Collada14.convex_mesh.Items`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn items(&self) -> Vec<libremetaverse_types::compat::Object> {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.convex_mesh.Items`.
            pub fn set_items(&mut self, value: Vec<libremetaverse_types::compat::Object>) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.convex_mesh.convex_hull_of`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.convex_mesh.convex_hull_of`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn convex_hull_of(&self) -> String {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.convex_mesh.convex_hull_of`.
            pub fn set_convex_hull_of(&mut self, value: String) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.convex_mesh.extra`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.extra[] LibreMetaverse.ImportExport.Collada14.convex_mesh.extra`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn extra(&self) -> Vec<libremetaverse::import_export::collada14::Extra> {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.convex_mesh.extra`.
            pub fn set_extra(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Extra>,
            ) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.convex_mesh.source`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.source[] LibreMetaverse.ImportExport.Collada14.convex_mesh.source`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn source(&self) -> Vec<libremetaverse::import_export::collada14::Source> {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.convex_mesh.source`.
            pub fn set_source(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Source>,
            ) {
                /* complete generated data model */
                self.property_3 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.convex_mesh.vertices`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.vertices LibreMetaverse.ImportExport.Collada14.convex_mesh.vertices`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn vertices(&self) -> libremetaverse::import_export::collada14::Vertices {
                /* complete generated data model */
                self.property_4.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.convex_mesh.vertices`.
            pub fn set_vertices(
                &mut self,
                value: libremetaverse::import_export::collada14::Vertices,
            ) {
                /* complete generated data model */
                self.property_4 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.cylinder`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.cylinder` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Cylinder {
            property_0: Vec<libremetaverse::import_export::collada14::Extra>,
            property_1: f64,
            property_2: String,
        }
        impl Default for Cylinder {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                }
            }
        }
        impl Cylinder {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.cylinder.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.cylinder()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cylinder.extra`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.extra[] LibreMetaverse.ImportExport.Collada14.cylinder.extra`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn extra(&self) -> Vec<libremetaverse::import_export::collada14::Extra> {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cylinder.extra`.
            pub fn set_extra(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Extra>,
            ) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cylinder.height`.
            ///
            /// C# signature: `System.Double LibreMetaverse.ImportExport.Collada14.cylinder.height`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn height(&self) -> f64 {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cylinder.height`.
            pub fn set_height(&mut self, value: f64) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.cylinder.radius`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.cylinder.radius`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn radius(&self) -> String {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.cylinder.radius`.
            pub fn set_radius(&mut self, value: String) {
                /* complete generated data model */
                self.property_2 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effect`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effect` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Effect {
            property_0: Vec<libremetaverse_types::compat::Object>,
            property_1: Vec<libremetaverse::import_export::collada14::Fx_Annotate_Common>,
            property_2: libremetaverse::import_export::collada14::Asset,
            property_3: Vec<libremetaverse::import_export::collada14::Extra>,
            property_4: String,
            property_5: Vec<libremetaverse::import_export::collada14::Image>,
            property_6: String,
            property_7: Vec<libremetaverse::import_export::collada14::Fx_Newparam_Common>,
        }
        impl Default for Effect {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                    property_4: Default::default(),
                    property_5: Default::default(),
                    property_6: Default::default(),
                    property_7: Default::default(),
                }
            }
        }
        impl Effect {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effect.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effect()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effect.Items`.
            ///
            /// C# signature: `System.Object[] LibreMetaverse.ImportExport.Collada14.effect.Items`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn items(&self) -> Vec<libremetaverse_types::compat::Object> {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effect.Items`.
            pub fn set_items(&mut self, value: Vec<libremetaverse_types::compat::Object>) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effect.annotate`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_annotate_common[] LibreMetaverse.ImportExport.Collada14.effect.annotate`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn annotate(
                &self,
            ) -> Vec<libremetaverse::import_export::collada14::Fx_Annotate_Common> {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effect.annotate`.
            pub fn set_annotate(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Fx_Annotate_Common>,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effect.asset`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.asset LibreMetaverse.ImportExport.Collada14.effect.asset`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn asset(&self) -> libremetaverse::import_export::collada14::Asset {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effect.asset`.
            pub fn set_asset(&mut self, value: libremetaverse::import_export::collada14::Asset) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effect.extra`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.extra[] LibreMetaverse.ImportExport.Collada14.effect.extra`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn extra(&self) -> Vec<libremetaverse::import_export::collada14::Extra> {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effect.extra`.
            pub fn set_extra(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Extra>,
            ) {
                /* complete generated data model */
                self.property_3 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effect.id`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effect.id`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn id(&self) -> String {
                /* complete generated data model */
                self.property_4.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effect.id`.
            pub fn set_id(&mut self, value: String) {
                /* complete generated data model */
                self.property_4 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effect.image`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.image[] LibreMetaverse.ImportExport.Collada14.effect.image`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn image(&self) -> Vec<libremetaverse::import_export::collada14::Image> {
                /* complete generated data model */
                self.property_5.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effect.image`.
            pub fn set_image(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Image>,
            ) {
                /* complete generated data model */
                self.property_5 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effect.name`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effect.name`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn name(&self) -> String {
                /* complete generated data model */
                self.property_6.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effect.name`.
            pub fn set_name(&mut self, value: String) {
                /* complete generated data model */
                self.property_6 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effect.newparam`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_newparam_common[] LibreMetaverse.ImportExport.Collada14.effect.newparam`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn newparam(
                &self,
            ) -> Vec<libremetaverse::import_export::collada14::Fx_Newparam_Common> {
                /* complete generated data model */
                self.property_7.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effect.newparam`.
            pub fn set_newparam(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Fx_Newparam_Common>,
            ) {
                /* complete generated data model */
                self.property_7 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CG`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CG` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_CG {
    property_0: Vec<libremetaverse_types::compat::Object>,
    property_1: Vec<libremetaverse_types::compat::Object>,
    property_2: libremetaverse::import_export::collada14::Asset,
    property_3: Vec<libremetaverse::import_export::collada14::Extra>,
    property_4: String,
    property_5: String,
    property_6: Vec<libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_CGTechnique>,
}
        impl Default for EffectFx_Profile_AbstractProfile_CG {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                    property_4: Default::default(),
                    property_5: "PC".to_owned(),
                    property_6: Default::default(),
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_CG {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CG.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CG()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CG.Items`.
            ///
            /// C# signature: `System.Object[] LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CG.Items`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn items(&self) -> Vec<libremetaverse_types::compat::Object> {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CG.Items`.
            pub fn set_items(&mut self, value: Vec<libremetaverse_types::compat::Object>) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CG.Items1`.
            ///
            /// C# signature: `System.Object[] LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CG.Items1`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn items1(&self) -> Vec<libremetaverse_types::compat::Object> {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CG.Items1`.
            pub fn set_items1(&mut self, value: Vec<libremetaverse_types::compat::Object>) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CG.asset`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.asset LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CG.asset`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn asset(&self) -> libremetaverse::import_export::collada14::Asset {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CG.asset`.
            pub fn set_asset(&mut self, value: libremetaverse::import_export::collada14::Asset) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CG.extra`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.extra[] LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CG.extra`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn extra(&self) -> Vec<libremetaverse::import_export::collada14::Extra> {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CG.extra`.
            pub fn set_extra(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Extra>,
            ) {
                /* complete generated data model */
                self.property_3 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CG.id`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CG.id`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn id(&self) -> String {
                /* complete generated data model */
                self.property_4.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CG.id`.
            pub fn set_id(&mut self, value: String) {
                /* complete generated data model */
                self.property_4 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CG.platform`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CG.platform`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn platform(&self) -> String {
                /* complete generated data model */
                self.property_5.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CG.platform`.
            pub fn set_platform(&mut self, value: String) {
                /* complete generated data model */
                self.property_5 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CG.technique`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechnique[] LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CG.technique`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn technique(&self) -> Vec<libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_CGTechnique>{
                /* complete generated data model */
                self.property_6.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CG.technique`.
            pub fn set_technique(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_CGTechnique>,
            ) {
                /* complete generated data model */
                self.property_6 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechnique`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechnique` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_CGTechnique {
    property_0: Vec<libremetaverse_types::compat::Object>,
    property_1: Vec<libremetaverse_types::compat::Object>,
    property_2: Vec<libremetaverse::import_export::collada14::Fx_Annotate_Common>,
    property_3: libremetaverse::import_export::collada14::Asset,
    property_4: Vec<libremetaverse::import_export::collada14::Extra>,
    property_5: String,
    property_6: Vec<libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_CGTechniquePass>,
    property_7: String,
}
        impl Default for EffectFx_Profile_AbstractProfile_CGTechnique {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                    property_4: Default::default(),
                    property_5: Default::default(),
                    property_6: Default::default(),
                    property_7: Default::default(),
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_CGTechnique {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechnique.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechnique()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechnique.Items`.
            ///
            /// C# signature: `System.Object[] LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechnique.Items`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn items(&self) -> Vec<libremetaverse_types::compat::Object> {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechnique.Items`.
            pub fn set_items(&mut self, value: Vec<libremetaverse_types::compat::Object>) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechnique.Items1`.
            ///
            /// C# signature: `System.Object[] LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechnique.Items1`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn items1(&self) -> Vec<libremetaverse_types::compat::Object> {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechnique.Items1`.
            pub fn set_items1(&mut self, value: Vec<libremetaverse_types::compat::Object>) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechnique.annotate`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_annotate_common[] LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechnique.annotate`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn annotate(
                &self,
            ) -> Vec<libremetaverse::import_export::collada14::Fx_Annotate_Common> {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechnique.annotate`.
            pub fn set_annotate(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Fx_Annotate_Common>,
            ) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechnique.asset`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.asset LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechnique.asset`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn asset(&self) -> libremetaverse::import_export::collada14::Asset {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechnique.asset`.
            pub fn set_asset(&mut self, value: libremetaverse::import_export::collada14::Asset) {
                /* complete generated data model */
                self.property_3 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechnique.extra`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.extra[] LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechnique.extra`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn extra(&self) -> Vec<libremetaverse::import_export::collada14::Extra> {
                /* complete generated data model */
                self.property_4.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechnique.extra`.
            pub fn set_extra(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Extra>,
            ) {
                /* complete generated data model */
                self.property_4 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechnique.id`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechnique.id`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn id(&self) -> String {
                /* complete generated data model */
                self.property_5.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechnique.id`.
            pub fn set_id(&mut self, value: String) {
                /* complete generated data model */
                self.property_5 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechnique.pass`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechniquePass[] LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechnique.pass`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn pass_(&self) -> Vec<libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_CGTechniquePass>{
                /* complete generated data model */
                self.property_6.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechnique.pass`.
            pub fn set_pass_(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_CGTechniquePass>,
            ) {
                /* complete generated data model */
                self.property_6 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechnique.sid`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechnique.sid`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn sid(&self) -> String {
                /* complete generated data model */
                self.property_7.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechnique.sid`.
            pub fn set_sid(&mut self, value: String) {
                /* complete generated data model */
                self.property_7 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechniquePass`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechniquePass` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_CGTechniquePass {
            property_0: Vec<libremetaverse_types::compat::Object>,
            property_1: Vec<libremetaverse::import_export::collada14::Fx_Annotate_Common>,
            property_2: Vec<libremetaverse::import_export::collada14::Fx_Clearcolor_Common>,
            property_3: Vec<libremetaverse::import_export::collada14::Fx_Colortarget_Common>,
            property_4: Vec<libremetaverse::import_export::collada14::Fx_Cleardepth_Common>,
            property_5: Vec<libremetaverse::import_export::collada14::Fx_Depthtarget_Common>,
            property_6: String,
            property_7: Vec<libremetaverse::import_export::collada14::Extra>,
            property_8: String,
            property_9: Vec<libremetaverse::import_export::collada14::Fx_Clearstencil_Common>,
            property_10: Vec<libremetaverse::import_export::collada14::Fx_Stenciltarget_Common>,
        }
        impl Default for EffectFx_Profile_AbstractProfile_CGTechniquePass {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                    property_4: Default::default(),
                    property_5: Default::default(),
                    property_6: Default::default(),
                    property_7: Default::default(),
                    property_8: Default::default(),
                    property_9: Default::default(),
                    property_10: Default::default(),
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_CGTechniquePass {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechniquePass.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechniquePass()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechniquePass.Items`.
            ///
            /// C# signature: `System.Object[] LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechniquePass.Items`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn items(&self) -> Vec<libremetaverse_types::compat::Object> {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechniquePass.Items`.
            pub fn set_items(&mut self, value: Vec<libremetaverse_types::compat::Object>) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechniquePass.annotate`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_annotate_common[] LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechniquePass.annotate`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn annotate(
                &self,
            ) -> Vec<libremetaverse::import_export::collada14::Fx_Annotate_Common> {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechniquePass.annotate`.
            pub fn set_annotate(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Fx_Annotate_Common>,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechniquePass.color_clear`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_clearcolor_common[] LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechniquePass.color_clear`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn color_clear(
                &self,
            ) -> Vec<libremetaverse::import_export::collada14::Fx_Clearcolor_Common> {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechniquePass.color_clear`.
            pub fn set_color_clear(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Fx_Clearcolor_Common>,
            ) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechniquePass.color_target`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_colortarget_common[] LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechniquePass.color_target`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn color_target(
                &self,
            ) -> Vec<libremetaverse::import_export::collada14::Fx_Colortarget_Common> {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechniquePass.color_target`.
            pub fn set_color_target(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Fx_Colortarget_Common>,
            ) {
                /* complete generated data model */
                self.property_3 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechniquePass.depth_clear`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_cleardepth_common[] LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechniquePass.depth_clear`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn depth_clear(
                &self,
            ) -> Vec<libremetaverse::import_export::collada14::Fx_Cleardepth_Common> {
                /* complete generated data model */
                self.property_4.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechniquePass.depth_clear`.
            pub fn set_depth_clear(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Fx_Cleardepth_Common>,
            ) {
                /* complete generated data model */
                self.property_4 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechniquePass.depth_target`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_depthtarget_common[] LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechniquePass.depth_target`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn depth_target(
                &self,
            ) -> Vec<libremetaverse::import_export::collada14::Fx_Depthtarget_Common> {
                /* complete generated data model */
                self.property_5.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechniquePass.depth_target`.
            pub fn set_depth_target(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Fx_Depthtarget_Common>,
            ) {
                /* complete generated data model */
                self.property_5 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechniquePass.draw`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechniquePass.draw`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn draw(&self) -> String {
                /* complete generated data model */
                self.property_6.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechniquePass.draw`.
            pub fn set_draw(&mut self, value: String) {
                /* complete generated data model */
                self.property_6 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechniquePass.extra`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.extra[] LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechniquePass.extra`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn extra(&self) -> Vec<libremetaverse::import_export::collada14::Extra> {
                /* complete generated data model */
                self.property_7.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechniquePass.extra`.
            pub fn set_extra(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Extra>,
            ) {
                /* complete generated data model */
                self.property_7 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechniquePass.sid`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechniquePass.sid`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn sid(&self) -> String {
                /* complete generated data model */
                self.property_8.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechniquePass.sid`.
            pub fn set_sid(&mut self, value: String) {
                /* complete generated data model */
                self.property_8 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechniquePass.stencil_clear`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_clearstencil_common[] LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechniquePass.stencil_clear`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn stencil_clear(
                &self,
            ) -> Vec<libremetaverse::import_export::collada14::Fx_Clearstencil_Common> {
                /* complete generated data model */
                self.property_9.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechniquePass.stencil_clear`.
            pub fn set_stencil_clear(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Fx_Clearstencil_Common>,
            ) {
                /* complete generated data model */
                self.property_9 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechniquePass.stencil_target`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_stenciltarget_common[] LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechniquePass.stencil_target`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn stencil_target(
                &self,
            ) -> Vec<libremetaverse::import_export::collada14::Fx_Stenciltarget_Common>
            {
                /* complete generated data model */
                self.property_10.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechniquePass.stencil_target`.
            pub fn set_stencil_target(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Fx_Stenciltarget_Common>,
            ) {
                /* complete generated data model */
                self.property_10 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechniquePassShader`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechniquePassShader` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_CGTechniquePassShader {
    property_0: Vec<libremetaverse::import_export::collada14::Fx_Annotate_Common>,
    property_1: Vec<libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_CGTechniquePassShaderBind>,
    property_2: String,
    property_3: libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_CGTechniquePassShaderCompiler_Target,
    property_4: libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_CGTechniquePassShaderName,
    property_5: libremetaverse::import_export::collada14::Cg_Pipeline_Stage,
    property_6: bool,
}
        impl Default for EffectFx_Profile_AbstractProfile_CGTechniquePassShader {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                    property_4: Default::default(),
                    property_5: Default::default(),
                    property_6: Default::default(),
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_CGTechniquePassShader {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechniquePassShader.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechniquePassShader()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechniquePassShader.annotate`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_annotate_common[] LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechniquePassShader.annotate`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn annotate(
                &self,
            ) -> Vec<libremetaverse::import_export::collada14::Fx_Annotate_Common> {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechniquePassShader.annotate`.
            pub fn set_annotate(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Fx_Annotate_Common>,
            ) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechniquePassShader.bind`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechniquePassShaderBind[] LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechniquePassShader.bind`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn bind(&self) -> Vec<libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_CGTechniquePassShaderBind>{
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechniquePassShader.bind`.
            pub fn set_bind(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_CGTechniquePassShaderBind>,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechniquePassShader.compiler_options`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechniquePassShader.compiler_options`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn compiler_options(&self) -> String {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechniquePassShader.compiler_options`.
            pub fn set_compiler_options(&mut self, value: String) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechniquePassShader.compiler_target`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechniquePassShaderCompiler_target LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechniquePassShader.compiler_target`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn compiler_target(&self) -> libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_CGTechniquePassShaderCompiler_Target{
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechniquePassShader.compiler_target`.
            pub fn set_compiler_target(
                &mut self,
                value: libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_CGTechniquePassShaderCompiler_Target,
            ) {
                /* complete generated data model */
                self.property_3 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechniquePassShader.name`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechniquePassShaderName LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechniquePassShader.name`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn name(&self) -> libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_CGTechniquePassShaderName{
                /* complete generated data model */
                self.property_4.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechniquePassShader.name`.
            pub fn set_name(
                &mut self,
                value: libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_CGTechniquePassShaderName,
            ) {
                /* complete generated data model */
                self.property_4 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechniquePassShader.stage`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.cg_pipeline_stage LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechniquePassShader.stage`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn stage(&self) -> libremetaverse::import_export::collada14::Cg_Pipeline_Stage {
                /* complete generated data model */
                self.property_5.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechniquePassShader.stage`.
            pub fn set_stage(
                &mut self,
                value: libremetaverse::import_export::collada14::Cg_Pipeline_Stage,
            ) {
                /* complete generated data model */
                self.property_5 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechniquePassShader.stageSpecified`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechniquePassShader.stageSpecified`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn stage_specified(&self) -> bool {
                /* complete generated data model */
                self.property_6.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechniquePassShader.stageSpecified`.
            pub fn set_stage_specified(&mut self, value: bool) {
                /* complete generated data model */
                self.property_6 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechniquePassShaderBind`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechniquePassShaderBind` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_CGTechniquePassShaderBind {
            property_0: libremetaverse_types::compat::Object,
            property_1: libremetaverse::import_export::collada14::ItemChoiceType6,
            property_2: String,
        }
        impl Default for EffectFx_Profile_AbstractProfile_CGTechniquePassShaderBind {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_CGTechniquePassShaderBind {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechniquePassShaderBind.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechniquePassShaderBind()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechniquePassShaderBind.Item`.
            ///
            /// C# signature: `System.Object LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechniquePassShaderBind.Item`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn item(&self) -> libremetaverse_types::compat::Object {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechniquePassShaderBind.Item`.
            pub fn set_item(&mut self, value: libremetaverse_types::compat::Object) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechniquePassShaderBind.ItemElementName`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType6 LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechniquePassShaderBind.ItemElementName`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn item_element_name(
                &self,
            ) -> libremetaverse::import_export::collada14::ItemChoiceType6 {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechniquePassShaderBind.ItemElementName`.
            pub fn set_item_element_name(
                &mut self,
                value: libremetaverse::import_export::collada14::ItemChoiceType6,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechniquePassShaderBind.symbol`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechniquePassShaderBind.symbol`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn symbol(&self) -> String {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechniquePassShaderBind.symbol`.
            pub fn set_symbol(&mut self, value: String) {
                /* complete generated data model */
                self.property_2 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechniquePassShaderBindParam`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechniquePassShaderBindParam` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_CGTechniquePassShaderBindParam {
            property_0: String,
        }
        impl Default for EffectFx_Profile_AbstractProfile_CGTechniquePassShaderBindParam {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_CGTechniquePassShaderBindParam {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechniquePassShaderBindParam.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechniquePassShaderBindParam()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechniquePassShaderBindParam.ref`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechniquePassShaderBindParam.ref`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn ref_(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechniquePassShaderBindParam.ref`.
            pub fn set_ref_(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechniquePassShaderCompiler_target`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechniquePassShaderCompiler_target` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_CGTechniquePassShaderCompiler_Target {
            property_0: String,
        }
        impl Default for EffectFx_Profile_AbstractProfile_CGTechniquePassShaderCompiler_Target {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_CGTechniquePassShaderCompiler_Target {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechniquePassShaderCompiler_target.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechniquePassShaderCompiler_target()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechniquePassShaderCompiler_target.Value`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechniquePassShaderCompiler_target.Value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechniquePassShaderCompiler_target.Value`.
            pub fn set_value(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechniquePassShaderName`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechniquePassShaderName` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_CGTechniquePassShaderName {
            property_0: String,
            property_1: String,
        }
        impl Default for EffectFx_Profile_AbstractProfile_CGTechniquePassShaderName {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_CGTechniquePassShaderName {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechniquePassShaderName.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechniquePassShaderName()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechniquePassShaderName.Value`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechniquePassShaderName.Value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechniquePassShaderName.Value`.
            pub fn set_value(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechniquePassShaderName.source`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechniquePassShaderName.source`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn source(&self) -> String {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_CGTechniquePassShaderName.source`.
            pub fn set_source(&mut self, value: String) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMON`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMON` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_COMMON {
    property_0: Vec<libremetaverse_types::compat::Object>,
    property_1: libremetaverse::import_export::collada14::Asset,
    property_2: Vec<libremetaverse::import_export::collada14::Extra>,
    property_3: String,
    property_4: libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_COMMONTechnique,
}
        impl Default for EffectFx_Profile_AbstractProfile_COMMON {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                    property_4: Default::default(),
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_COMMON {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMON.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMON()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMON.Items`.
            ///
            /// C# signature: `System.Object[] LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMON.Items`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn items(&self) -> Vec<libremetaverse_types::compat::Object> {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMON.Items`.
            pub fn set_items(&mut self, value: Vec<libremetaverse_types::compat::Object>) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMON.asset`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.asset LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMON.asset`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn asset(&self) -> libremetaverse::import_export::collada14::Asset {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMON.asset`.
            pub fn set_asset(&mut self, value: libremetaverse::import_export::collada14::Asset) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMON.extra`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.extra[] LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMON.extra`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn extra(&self) -> Vec<libremetaverse::import_export::collada14::Extra> {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMON.extra`.
            pub fn set_extra(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Extra>,
            ) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMON.id`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMON.id`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn id(&self) -> String {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMON.id`.
            pub fn set_id(&mut self, value: String) {
                /* complete generated data model */
                self.property_3 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMON.technique`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechnique LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMON.technique`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn technique(&self) -> libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_COMMONTechnique{
                /* complete generated data model */
                self.property_4.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMON.technique`.
            pub fn set_technique(
                &mut self,
                value: libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_COMMONTechnique,
            ) {
                /* complete generated data model */
                self.property_4 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechnique`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechnique` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_COMMONTechnique {
            property_0: libremetaverse_types::compat::Object,
            property_1: Vec<libremetaverse_types::compat::Object>,
            property_2: libremetaverse::import_export::collada14::Asset,
            property_3: Vec<libremetaverse::import_export::collada14::Extra>,
            property_4: String,
            property_5: String,
        }
        impl Default for EffectFx_Profile_AbstractProfile_COMMONTechnique {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                    property_4: Default::default(),
                    property_5: Default::default(),
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_COMMONTechnique {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechnique.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechnique()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechnique.Item`.
            ///
            /// C# signature: `System.Object LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechnique.Item`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn item(&self) -> libremetaverse_types::compat::Object {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechnique.Item`.
            pub fn set_item(&mut self, value: libremetaverse_types::compat::Object) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechnique.Items`.
            ///
            /// C# signature: `System.Object[] LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechnique.Items`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn items(&self) -> Vec<libremetaverse_types::compat::Object> {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechnique.Items`.
            pub fn set_items(&mut self, value: Vec<libremetaverse_types::compat::Object>) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechnique.asset`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.asset LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechnique.asset`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn asset(&self) -> libremetaverse::import_export::collada14::Asset {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechnique.asset`.
            pub fn set_asset(&mut self, value: libremetaverse::import_export::collada14::Asset) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechnique.extra`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.extra[] LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechnique.extra`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn extra(&self) -> Vec<libremetaverse::import_export::collada14::Extra> {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechnique.extra`.
            pub fn set_extra(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Extra>,
            ) {
                /* complete generated data model */
                self.property_3 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechnique.id`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechnique.id`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn id(&self) -> String {
                /* complete generated data model */
                self.property_4.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechnique.id`.
            pub fn set_id(&mut self, value: String) {
                /* complete generated data model */
                self.property_4 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechnique.sid`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechnique.sid`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn sid(&self) -> String {
                /* complete generated data model */
                self.property_5.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechnique.sid`.
            pub fn set_sid(&mut self, value: String) {
                /* complete generated data model */
                self.property_5 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniqueBlinn`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniqueBlinn` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_COMMONTechniqueBlinn {
            property_0: libremetaverse::import_export::collada14::Common_Color_Or_Texture_Type,
            property_1: libremetaverse::import_export::collada14::Common_Color_Or_Texture_Type,
            property_2: libremetaverse::import_export::collada14::Common_Color_Or_Texture_Type,
            property_3: libremetaverse::import_export::collada14::Common_Float_Or_Param_Type,
            property_4: libremetaverse::import_export::collada14::Common_Color_Or_Texture_Type,
            property_5: libremetaverse::import_export::collada14::Common_Float_Or_Param_Type,
            property_6: libremetaverse::import_export::collada14::Common_Float_Or_Param_Type,
            property_7: libremetaverse::import_export::collada14::Common_Color_Or_Texture_Type,
            property_8: libremetaverse::import_export::collada14::Common_Float_Or_Param_Type,
            property_9: libremetaverse::import_export::collada14::Common_Transparent_Type,
        }
        impl Default for EffectFx_Profile_AbstractProfile_COMMONTechniqueBlinn {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                    property_4: Default::default(),
                    property_5: Default::default(),
                    property_6: Default::default(),
                    property_7: Default::default(),
                    property_8: Default::default(),
                    property_9: Default::default(),
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_COMMONTechniqueBlinn {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniqueBlinn.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniqueBlinn()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniqueBlinn.ambient`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.common_color_or_texture_type LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniqueBlinn.ambient`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn ambient(
                &self,
            ) -> libremetaverse::import_export::collada14::Common_Color_Or_Texture_Type
            {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniqueBlinn.ambient`.
            pub fn set_ambient(
                &mut self,
                value: libremetaverse::import_export::collada14::Common_Color_Or_Texture_Type,
            ) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniqueBlinn.diffuse`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.common_color_or_texture_type LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniqueBlinn.diffuse`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn diffuse(
                &self,
            ) -> libremetaverse::import_export::collada14::Common_Color_Or_Texture_Type
            {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniqueBlinn.diffuse`.
            pub fn set_diffuse(
                &mut self,
                value: libremetaverse::import_export::collada14::Common_Color_Or_Texture_Type,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniqueBlinn.emission`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.common_color_or_texture_type LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniqueBlinn.emission`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn emission(
                &self,
            ) -> libremetaverse::import_export::collada14::Common_Color_Or_Texture_Type
            {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniqueBlinn.emission`.
            pub fn set_emission(
                &mut self,
                value: libremetaverse::import_export::collada14::Common_Color_Or_Texture_Type,
            ) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniqueBlinn.index_of_refraction`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.common_float_or_param_type LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniqueBlinn.index_of_refraction`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn index_of_refraction(
                &self,
            ) -> libremetaverse::import_export::collada14::Common_Float_Or_Param_Type {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniqueBlinn.index_of_refraction`.
            pub fn set_index_of_refraction(
                &mut self,
                value: libremetaverse::import_export::collada14::Common_Float_Or_Param_Type,
            ) {
                /* complete generated data model */
                self.property_3 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniqueBlinn.reflective`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.common_color_or_texture_type LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniqueBlinn.reflective`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn reflective(
                &self,
            ) -> libremetaverse::import_export::collada14::Common_Color_Or_Texture_Type
            {
                /* complete generated data model */
                self.property_4.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniqueBlinn.reflective`.
            pub fn set_reflective(
                &mut self,
                value: libremetaverse::import_export::collada14::Common_Color_Or_Texture_Type,
            ) {
                /* complete generated data model */
                self.property_4 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniqueBlinn.reflectivity`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.common_float_or_param_type LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniqueBlinn.reflectivity`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn reflectivity(
                &self,
            ) -> libremetaverse::import_export::collada14::Common_Float_Or_Param_Type {
                /* complete generated data model */
                self.property_5.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniqueBlinn.reflectivity`.
            pub fn set_reflectivity(
                &mut self,
                value: libremetaverse::import_export::collada14::Common_Float_Or_Param_Type,
            ) {
                /* complete generated data model */
                self.property_5 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniqueBlinn.shininess`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.common_float_or_param_type LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniqueBlinn.shininess`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn shininess(
                &self,
            ) -> libremetaverse::import_export::collada14::Common_Float_Or_Param_Type {
                /* complete generated data model */
                self.property_6.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniqueBlinn.shininess`.
            pub fn set_shininess(
                &mut self,
                value: libremetaverse::import_export::collada14::Common_Float_Or_Param_Type,
            ) {
                /* complete generated data model */
                self.property_6 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniqueBlinn.specular`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.common_color_or_texture_type LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniqueBlinn.specular`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn specular(
                &self,
            ) -> libremetaverse::import_export::collada14::Common_Color_Or_Texture_Type
            {
                /* complete generated data model */
                self.property_7.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniqueBlinn.specular`.
            pub fn set_specular(
                &mut self,
                value: libremetaverse::import_export::collada14::Common_Color_Or_Texture_Type,
            ) {
                /* complete generated data model */
                self.property_7 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniqueBlinn.transparency`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.common_float_or_param_type LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniqueBlinn.transparency`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn transparency(
                &self,
            ) -> libremetaverse::import_export::collada14::Common_Float_Or_Param_Type {
                /* complete generated data model */
                self.property_8.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniqueBlinn.transparency`.
            pub fn set_transparency(
                &mut self,
                value: libremetaverse::import_export::collada14::Common_Float_Or_Param_Type,
            ) {
                /* complete generated data model */
                self.property_8 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniqueBlinn.transparent`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.common_transparent_type LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniqueBlinn.transparent`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn transparent(
                &self,
            ) -> libremetaverse::import_export::collada14::Common_Transparent_Type {
                /* complete generated data model */
                self.property_9.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniqueBlinn.transparent`.
            pub fn set_transparent(
                &mut self,
                value: libremetaverse::import_export::collada14::Common_Transparent_Type,
            ) {
                /* complete generated data model */
                self.property_9 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniqueConstant`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniqueConstant` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_COMMONTechniqueConstant {
            property_0: libremetaverse::import_export::collada14::Common_Color_Or_Texture_Type,
            property_1: libremetaverse::import_export::collada14::Common_Float_Or_Param_Type,
            property_2: libremetaverse::import_export::collada14::Common_Color_Or_Texture_Type,
            property_3: libremetaverse::import_export::collada14::Common_Float_Or_Param_Type,
            property_4: libremetaverse::import_export::collada14::Common_Float_Or_Param_Type,
            property_5: libremetaverse::import_export::collada14::Common_Transparent_Type,
        }
        impl Default for EffectFx_Profile_AbstractProfile_COMMONTechniqueConstant {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                    property_4: Default::default(),
                    property_5: Default::default(),
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_COMMONTechniqueConstant {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniqueConstant.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniqueConstant()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniqueConstant.emission`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.common_color_or_texture_type LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniqueConstant.emission`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn emission(
                &self,
            ) -> libremetaverse::import_export::collada14::Common_Color_Or_Texture_Type
            {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniqueConstant.emission`.
            pub fn set_emission(
                &mut self,
                value: libremetaverse::import_export::collada14::Common_Color_Or_Texture_Type,
            ) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniqueConstant.index_of_refraction`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.common_float_or_param_type LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniqueConstant.index_of_refraction`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn index_of_refraction(
                &self,
            ) -> libremetaverse::import_export::collada14::Common_Float_Or_Param_Type {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniqueConstant.index_of_refraction`.
            pub fn set_index_of_refraction(
                &mut self,
                value: libremetaverse::import_export::collada14::Common_Float_Or_Param_Type,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniqueConstant.reflective`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.common_color_or_texture_type LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniqueConstant.reflective`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn reflective(
                &self,
            ) -> libremetaverse::import_export::collada14::Common_Color_Or_Texture_Type
            {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniqueConstant.reflective`.
            pub fn set_reflective(
                &mut self,
                value: libremetaverse::import_export::collada14::Common_Color_Or_Texture_Type,
            ) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniqueConstant.reflectivity`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.common_float_or_param_type LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniqueConstant.reflectivity`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn reflectivity(
                &self,
            ) -> libremetaverse::import_export::collada14::Common_Float_Or_Param_Type {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniqueConstant.reflectivity`.
            pub fn set_reflectivity(
                &mut self,
                value: libremetaverse::import_export::collada14::Common_Float_Or_Param_Type,
            ) {
                /* complete generated data model */
                self.property_3 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniqueConstant.transparency`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.common_float_or_param_type LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniqueConstant.transparency`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn transparency(
                &self,
            ) -> libremetaverse::import_export::collada14::Common_Float_Or_Param_Type {
                /* complete generated data model */
                self.property_4.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniqueConstant.transparency`.
            pub fn set_transparency(
                &mut self,
                value: libremetaverse::import_export::collada14::Common_Float_Or_Param_Type,
            ) {
                /* complete generated data model */
                self.property_4 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniqueConstant.transparent`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.common_transparent_type LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniqueConstant.transparent`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn transparent(
                &self,
            ) -> libremetaverse::import_export::collada14::Common_Transparent_Type {
                /* complete generated data model */
                self.property_5.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniqueConstant.transparent`.
            pub fn set_transparent(
                &mut self,
                value: libremetaverse::import_export::collada14::Common_Transparent_Type,
            ) {
                /* complete generated data model */
                self.property_5 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniqueLambert`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniqueLambert` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_COMMONTechniqueLambert {
            property_0: libremetaverse::import_export::collada14::Common_Color_Or_Texture_Type,
            property_1: libremetaverse::import_export::collada14::Common_Color_Or_Texture_Type,
            property_2: libremetaverse::import_export::collada14::Common_Color_Or_Texture_Type,
            property_3: libremetaverse::import_export::collada14::Common_Float_Or_Param_Type,
            property_4: libremetaverse::import_export::collada14::Common_Color_Or_Texture_Type,
            property_5: libremetaverse::import_export::collada14::Common_Float_Or_Param_Type,
            property_6: libremetaverse::import_export::collada14::Common_Float_Or_Param_Type,
            property_7: libremetaverse::import_export::collada14::Common_Transparent_Type,
        }
        impl Default for EffectFx_Profile_AbstractProfile_COMMONTechniqueLambert {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                    property_4: Default::default(),
                    property_5: Default::default(),
                    property_6: Default::default(),
                    property_7: Default::default(),
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_COMMONTechniqueLambert {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniqueLambert.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniqueLambert()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniqueLambert.ambient`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.common_color_or_texture_type LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniqueLambert.ambient`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn ambient(
                &self,
            ) -> libremetaverse::import_export::collada14::Common_Color_Or_Texture_Type
            {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniqueLambert.ambient`.
            pub fn set_ambient(
                &mut self,
                value: libremetaverse::import_export::collada14::Common_Color_Or_Texture_Type,
            ) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniqueLambert.diffuse`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.common_color_or_texture_type LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniqueLambert.diffuse`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn diffuse(
                &self,
            ) -> libremetaverse::import_export::collada14::Common_Color_Or_Texture_Type
            {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniqueLambert.diffuse`.
            pub fn set_diffuse(
                &mut self,
                value: libremetaverse::import_export::collada14::Common_Color_Or_Texture_Type,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniqueLambert.emission`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.common_color_or_texture_type LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniqueLambert.emission`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn emission(
                &self,
            ) -> libremetaverse::import_export::collada14::Common_Color_Or_Texture_Type
            {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniqueLambert.emission`.
            pub fn set_emission(
                &mut self,
                value: libremetaverse::import_export::collada14::Common_Color_Or_Texture_Type,
            ) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniqueLambert.index_of_refraction`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.common_float_or_param_type LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniqueLambert.index_of_refraction`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn index_of_refraction(
                &self,
            ) -> libremetaverse::import_export::collada14::Common_Float_Or_Param_Type {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniqueLambert.index_of_refraction`.
            pub fn set_index_of_refraction(
                &mut self,
                value: libremetaverse::import_export::collada14::Common_Float_Or_Param_Type,
            ) {
                /* complete generated data model */
                self.property_3 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniqueLambert.reflective`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.common_color_or_texture_type LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniqueLambert.reflective`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn reflective(
                &self,
            ) -> libremetaverse::import_export::collada14::Common_Color_Or_Texture_Type
            {
                /* complete generated data model */
                self.property_4.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniqueLambert.reflective`.
            pub fn set_reflective(
                &mut self,
                value: libremetaverse::import_export::collada14::Common_Color_Or_Texture_Type,
            ) {
                /* complete generated data model */
                self.property_4 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniqueLambert.reflectivity`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.common_float_or_param_type LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniqueLambert.reflectivity`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn reflectivity(
                &self,
            ) -> libremetaverse::import_export::collada14::Common_Float_Or_Param_Type {
                /* complete generated data model */
                self.property_5.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniqueLambert.reflectivity`.
            pub fn set_reflectivity(
                &mut self,
                value: libremetaverse::import_export::collada14::Common_Float_Or_Param_Type,
            ) {
                /* complete generated data model */
                self.property_5 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniqueLambert.transparency`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.common_float_or_param_type LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniqueLambert.transparency`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn transparency(
                &self,
            ) -> libremetaverse::import_export::collada14::Common_Float_Or_Param_Type {
                /* complete generated data model */
                self.property_6.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniqueLambert.transparency`.
            pub fn set_transparency(
                &mut self,
                value: libremetaverse::import_export::collada14::Common_Float_Or_Param_Type,
            ) {
                /* complete generated data model */
                self.property_6 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniqueLambert.transparent`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.common_transparent_type LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniqueLambert.transparent`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn transparent(
                &self,
            ) -> libremetaverse::import_export::collada14::Common_Transparent_Type {
                /* complete generated data model */
                self.property_7.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniqueLambert.transparent`.
            pub fn set_transparent(
                &mut self,
                value: libremetaverse::import_export::collada14::Common_Transparent_Type,
            ) {
                /* complete generated data model */
                self.property_7 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniquePhong`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniquePhong` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_COMMONTechniquePhong {
            property_0: libremetaverse::import_export::collada14::Common_Color_Or_Texture_Type,
            property_1: libremetaverse::import_export::collada14::Common_Color_Or_Texture_Type,
            property_2: libremetaverse::import_export::collada14::Common_Color_Or_Texture_Type,
            property_3: libremetaverse::import_export::collada14::Common_Float_Or_Param_Type,
            property_4: libremetaverse::import_export::collada14::Common_Color_Or_Texture_Type,
            property_5: libremetaverse::import_export::collada14::Common_Float_Or_Param_Type,
            property_6: libremetaverse::import_export::collada14::Common_Float_Or_Param_Type,
            property_7: libremetaverse::import_export::collada14::Common_Color_Or_Texture_Type,
            property_8: libremetaverse::import_export::collada14::Common_Float_Or_Param_Type,
            property_9: libremetaverse::import_export::collada14::Common_Transparent_Type,
        }
        impl Default for EffectFx_Profile_AbstractProfile_COMMONTechniquePhong {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                    property_4: Default::default(),
                    property_5: Default::default(),
                    property_6: Default::default(),
                    property_7: Default::default(),
                    property_8: Default::default(),
                    property_9: Default::default(),
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_COMMONTechniquePhong {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniquePhong.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniquePhong()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniquePhong.ambient`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.common_color_or_texture_type LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniquePhong.ambient`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn ambient(
                &self,
            ) -> libremetaverse::import_export::collada14::Common_Color_Or_Texture_Type
            {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniquePhong.ambient`.
            pub fn set_ambient(
                &mut self,
                value: libremetaverse::import_export::collada14::Common_Color_Or_Texture_Type,
            ) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniquePhong.diffuse`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.common_color_or_texture_type LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniquePhong.diffuse`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn diffuse(
                &self,
            ) -> libremetaverse::import_export::collada14::Common_Color_Or_Texture_Type
            {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniquePhong.diffuse`.
            pub fn set_diffuse(
                &mut self,
                value: libremetaverse::import_export::collada14::Common_Color_Or_Texture_Type,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniquePhong.emission`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.common_color_or_texture_type LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniquePhong.emission`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn emission(
                &self,
            ) -> libremetaverse::import_export::collada14::Common_Color_Or_Texture_Type
            {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniquePhong.emission`.
            pub fn set_emission(
                &mut self,
                value: libremetaverse::import_export::collada14::Common_Color_Or_Texture_Type,
            ) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniquePhong.index_of_refraction`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.common_float_or_param_type LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniquePhong.index_of_refraction`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn index_of_refraction(
                &self,
            ) -> libremetaverse::import_export::collada14::Common_Float_Or_Param_Type {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniquePhong.index_of_refraction`.
            pub fn set_index_of_refraction(
                &mut self,
                value: libremetaverse::import_export::collada14::Common_Float_Or_Param_Type,
            ) {
                /* complete generated data model */
                self.property_3 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniquePhong.reflective`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.common_color_or_texture_type LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniquePhong.reflective`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn reflective(
                &self,
            ) -> libremetaverse::import_export::collada14::Common_Color_Or_Texture_Type
            {
                /* complete generated data model */
                self.property_4.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniquePhong.reflective`.
            pub fn set_reflective(
                &mut self,
                value: libremetaverse::import_export::collada14::Common_Color_Or_Texture_Type,
            ) {
                /* complete generated data model */
                self.property_4 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniquePhong.reflectivity`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.common_float_or_param_type LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniquePhong.reflectivity`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn reflectivity(
                &self,
            ) -> libremetaverse::import_export::collada14::Common_Float_Or_Param_Type {
                /* complete generated data model */
                self.property_5.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniquePhong.reflectivity`.
            pub fn set_reflectivity(
                &mut self,
                value: libremetaverse::import_export::collada14::Common_Float_Or_Param_Type,
            ) {
                /* complete generated data model */
                self.property_5 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniquePhong.shininess`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.common_float_or_param_type LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniquePhong.shininess`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn shininess(
                &self,
            ) -> libremetaverse::import_export::collada14::Common_Float_Or_Param_Type {
                /* complete generated data model */
                self.property_6.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniquePhong.shininess`.
            pub fn set_shininess(
                &mut self,
                value: libremetaverse::import_export::collada14::Common_Float_Or_Param_Type,
            ) {
                /* complete generated data model */
                self.property_6 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniquePhong.specular`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.common_color_or_texture_type LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniquePhong.specular`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn specular(
                &self,
            ) -> libremetaverse::import_export::collada14::Common_Color_Or_Texture_Type
            {
                /* complete generated data model */
                self.property_7.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniquePhong.specular`.
            pub fn set_specular(
                &mut self,
                value: libremetaverse::import_export::collada14::Common_Color_Or_Texture_Type,
            ) {
                /* complete generated data model */
                self.property_7 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniquePhong.transparency`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.common_float_or_param_type LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniquePhong.transparency`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn transparency(
                &self,
            ) -> libremetaverse::import_export::collada14::Common_Float_Or_Param_Type {
                /* complete generated data model */
                self.property_8.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniquePhong.transparency`.
            pub fn set_transparency(
                &mut self,
                value: libremetaverse::import_export::collada14::Common_Float_Or_Param_Type,
            ) {
                /* complete generated data model */
                self.property_8 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniquePhong.transparent`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.common_transparent_type LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniquePhong.transparent`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn transparent(
                &self,
            ) -> libremetaverse::import_export::collada14::Common_Transparent_Type {
                /* complete generated data model */
                self.property_9.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_COMMONTechniquePhong.transparent`.
            pub fn set_transparent(
                &mut self,
                value: libremetaverse::import_export::collada14::Common_Transparent_Type,
            ) {
                /* complete generated data model */
                self.property_9 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLES`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLES` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLES {
    property_0: Vec<libremetaverse_types::compat::Object>,
    property_1: libremetaverse::import_export::collada14::Asset,
    property_2: Vec<libremetaverse::import_export::collada14::Extra>,
    property_3: String,
    property_4: String,
    property_5: Vec<libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLESTechnique>,
}
        impl Default for EffectFx_Profile_AbstractProfile_GLES {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                    property_4: "PC".to_owned(),
                    property_5: Default::default(),
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLES {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLES.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLES()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLES.Items`.
            ///
            /// C# signature: `System.Object[] LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLES.Items`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn items(&self) -> Vec<libremetaverse_types::compat::Object> {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLES.Items`.
            pub fn set_items(&mut self, value: Vec<libremetaverse_types::compat::Object>) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLES.asset`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.asset LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLES.asset`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn asset(&self) -> libremetaverse::import_export::collada14::Asset {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLES.asset`.
            pub fn set_asset(&mut self, value: libremetaverse::import_export::collada14::Asset) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLES.extra`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.extra[] LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLES.extra`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn extra(&self) -> Vec<libremetaverse::import_export::collada14::Extra> {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLES.extra`.
            pub fn set_extra(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Extra>,
            ) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLES.id`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLES.id`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn id(&self) -> String {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLES.id`.
            pub fn set_id(&mut self, value: String) {
                /* complete generated data model */
                self.property_3 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLES.platform`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLES.platform`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn platform(&self) -> String {
                /* complete generated data model */
                self.property_4.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLES.platform`.
            pub fn set_platform(&mut self, value: String) {
                /* complete generated data model */
                self.property_4 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLES.technique`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechnique[] LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLES.technique`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn technique(&self) -> Vec<libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLESTechnique>{
                /* complete generated data model */
                self.property_5.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLES.technique`.
            pub fn set_technique(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLESTechnique>,
            ) {
                /* complete generated data model */
                self.property_5 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechnique`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechnique` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLESTechnique {
    property_0: Vec<libremetaverse_types::compat::Object>,
    property_1: Vec<libremetaverse::import_export::collada14::Fx_Annotate_Common>,
    property_2: libremetaverse::import_export::collada14::Asset,
    property_3: Vec<libremetaverse::import_export::collada14::Extra>,
    property_4: String,
    property_5: Vec<libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLESTechniquePass>,
    property_6: String,
}
        impl Default for EffectFx_Profile_AbstractProfile_GLESTechnique {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                    property_4: Default::default(),
                    property_5: Default::default(),
                    property_6: Default::default(),
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLESTechnique {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechnique.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechnique()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechnique.Items`.
            ///
            /// C# signature: `System.Object[] LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechnique.Items`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn items(&self) -> Vec<libremetaverse_types::compat::Object> {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechnique.Items`.
            pub fn set_items(&mut self, value: Vec<libremetaverse_types::compat::Object>) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechnique.annotate`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_annotate_common[] LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechnique.annotate`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn annotate(
                &self,
            ) -> Vec<libremetaverse::import_export::collada14::Fx_Annotate_Common> {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechnique.annotate`.
            pub fn set_annotate(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Fx_Annotate_Common>,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechnique.asset`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.asset LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechnique.asset`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn asset(&self) -> libremetaverse::import_export::collada14::Asset {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechnique.asset`.
            pub fn set_asset(&mut self, value: libremetaverse::import_export::collada14::Asset) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechnique.extra`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.extra[] LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechnique.extra`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn extra(&self) -> Vec<libremetaverse::import_export::collada14::Extra> {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechnique.extra`.
            pub fn set_extra(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Extra>,
            ) {
                /* complete generated data model */
                self.property_3 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechnique.id`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechnique.id`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn id(&self) -> String {
                /* complete generated data model */
                self.property_4.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechnique.id`.
            pub fn set_id(&mut self, value: String) {
                /* complete generated data model */
                self.property_4 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechnique.pass`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePass[] LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechnique.pass`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn pass_(&self) -> Vec<libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLESTechniquePass>{
                /* complete generated data model */
                self.property_5.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechnique.pass`.
            pub fn set_pass_(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLESTechniquePass>,
            ) {
                /* complete generated data model */
                self.property_5 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechnique.sid`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechnique.sid`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn sid(&self) -> String {
                /* complete generated data model */
                self.property_6.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechnique.sid`.
            pub fn set_sid(&mut self, value: String) {
                /* complete generated data model */
                self.property_6 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePass`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePass` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLESTechniquePass {
            property_0: Vec<libremetaverse_types::compat::Object>,
            property_1: Vec<libremetaverse::import_export::collada14::Fx_Annotate_Common>,
            property_2: String,
            property_3: String,
            property_4: f64,
            property_5: bool,
            property_6: String,
            property_7: String,
            property_8: Vec<libremetaverse::import_export::collada14::Extra>,
            property_9: String,
            property_10: i8,
            property_11: bool,
            property_12: String,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLESTechniquePass {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                    property_4: Default::default(),
                    property_5: Default::default(),
                    property_6: Default::default(),
                    property_7: Default::default(),
                    property_8: Default::default(),
                    property_9: Default::default(),
                    property_10: Default::default(),
                    property_11: Default::default(),
                    property_12: Default::default(),
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLESTechniquePass {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePass.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePass()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePass.Items`.
            ///
            /// C# signature: `System.Object[] LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePass.Items`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn items(&self) -> Vec<libremetaverse_types::compat::Object> {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePass.Items`.
            pub fn set_items(&mut self, value: Vec<libremetaverse_types::compat::Object>) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePass.annotate`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_annotate_common[] LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePass.annotate`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn annotate(
                &self,
            ) -> Vec<libremetaverse::import_export::collada14::Fx_Annotate_Common> {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePass.annotate`.
            pub fn set_annotate(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Fx_Annotate_Common>,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePass.color_clear`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePass.color_clear`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn color_clear(&self) -> String {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePass.color_clear`.
            pub fn set_color_clear(&mut self, value: String) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePass.color_target`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePass.color_target`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn color_target(&self) -> String {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePass.color_target`.
            pub fn set_color_target(&mut self, value: String) {
                /* complete generated data model */
                self.property_3 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePass.depth_clear`.
            ///
            /// C# signature: `System.Double LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePass.depth_clear`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn depth_clear(&self) -> f64 {
                /* complete generated data model */
                self.property_4.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePass.depth_clear`.
            pub fn set_depth_clear(&mut self, value: f64) {
                /* complete generated data model */
                self.property_4 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePass.depth_clearSpecified`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePass.depth_clearSpecified`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn depth_clear_specified(&self) -> bool {
                /* complete generated data model */
                self.property_5.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePass.depth_clearSpecified`.
            pub fn set_depth_clear_specified(&mut self, value: bool) {
                /* complete generated data model */
                self.property_5 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePass.depth_target`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePass.depth_target`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn depth_target(&self) -> String {
                /* complete generated data model */
                self.property_6.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePass.depth_target`.
            pub fn set_depth_target(&mut self, value: String) {
                /* complete generated data model */
                self.property_6 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePass.draw`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePass.draw`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn draw(&self) -> String {
                /* complete generated data model */
                self.property_7.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePass.draw`.
            pub fn set_draw(&mut self, value: String) {
                /* complete generated data model */
                self.property_7 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePass.extra`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.extra[] LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePass.extra`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn extra(&self) -> Vec<libremetaverse::import_export::collada14::Extra> {
                /* complete generated data model */
                self.property_8.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePass.extra`.
            pub fn set_extra(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Extra>,
            ) {
                /* complete generated data model */
                self.property_8 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePass.sid`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePass.sid`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn sid(&self) -> String {
                /* complete generated data model */
                self.property_9.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePass.sid`.
            pub fn set_sid(&mut self, value: String) {
                /* complete generated data model */
                self.property_9 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePass.stencil_clear`.
            ///
            /// C# signature: `System.SByte LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePass.stencil_clear`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn stencil_clear(&self) -> i8 {
                /* complete generated data model */
                self.property_10.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePass.stencil_clear`.
            pub fn set_stencil_clear(&mut self, value: i8) {
                /* complete generated data model */
                self.property_10 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePass.stencil_clearSpecified`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePass.stencil_clearSpecified`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn stencil_clear_specified(&self) -> bool {
                /* complete generated data model */
                self.property_11.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePass.stencil_clearSpecified`.
            pub fn set_stencil_clear_specified(&mut self, value: bool) {
                /* complete generated data model */
                self.property_11 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePass.stencil_target`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePass.stencil_target`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn stencil_target(&self) -> String {
                /* complete generated data model */
                self.property_12.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePass.stencil_target`.
            pub fn set_stencil_target(&mut self, value: String) {
                /* complete generated data model */
                self.property_12 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassAlpha_func`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassAlpha_func` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLESTechniquePassAlpha_Func {
    property_0: libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLESTechniquePassAlpha_FuncFunc,
    property_1: libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLESTechniquePassAlpha_FuncValue,
}
        impl Default for EffectFx_Profile_AbstractProfile_GLESTechniquePassAlpha_Func {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLESTechniquePassAlpha_Func {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassAlpha_func.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassAlpha_func()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassAlpha_func.func`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassAlpha_funcFunc LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassAlpha_func.func`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn func(&self) -> libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLESTechniquePassAlpha_FuncFunc{
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassAlpha_func.func`.
            pub fn set_func(
                &mut self,
                value: libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLESTechniquePassAlpha_FuncFunc,
            ) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassAlpha_func.value`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassAlpha_funcValue LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassAlpha_func.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLESTechniquePassAlpha_FuncValue{
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassAlpha_func.value`.
            pub fn set_value(
                &mut self,
                value: libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLESTechniquePassAlpha_FuncValue,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassAlpha_funcFunc`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassAlpha_funcFunc` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLESTechniquePassAlpha_FuncFunc {
            property_0: String,
            property_1: libremetaverse::import_export::collada14::Gl_Func_Type,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLESTechniquePassAlpha_FuncFunc {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: libremetaverse::import_export::collada14::Gl_Func_Type::ALWAYS,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLESTechniquePassAlpha_FuncFunc {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassAlpha_funcFunc.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassAlpha_funcFunc()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassAlpha_funcFunc.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassAlpha_funcFunc.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassAlpha_funcFunc.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassAlpha_funcFunc.value`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_func_type LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassAlpha_funcFunc.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> libremetaverse::import_export::collada14::Gl_Func_Type {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassAlpha_funcFunc.value`.
            pub fn set_value(
                &mut self,
                value: libremetaverse::import_export::collada14::Gl_Func_Type,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassAlpha_funcValue`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassAlpha_funcValue` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLESTechniquePassAlpha_FuncValue {
            property_0: String,
            property_1: f32,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLESTechniquePassAlpha_FuncValue {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: 0.0,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLESTechniquePassAlpha_FuncValue {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassAlpha_funcValue.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassAlpha_funcValue()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassAlpha_funcValue.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassAlpha_funcValue.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassAlpha_funcValue.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassAlpha_funcValue.value`.
            ///
            /// C# signature: `System.Single LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassAlpha_funcValue.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> f32 {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassAlpha_funcValue.value`.
            pub fn set_value(&mut self, value: f32) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassAlpha_test_enable`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassAlpha_test_enable` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLESTechniquePassAlpha_Test_Enable {
            property_0: String,
            property_1: bool,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLESTechniquePassAlpha_Test_Enable {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: false,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLESTechniquePassAlpha_Test_Enable {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassAlpha_test_enable.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassAlpha_test_enable()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassAlpha_test_enable.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassAlpha_test_enable.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassAlpha_test_enable.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassAlpha_test_enable.value`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassAlpha_test_enable.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> bool {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassAlpha_test_enable.value`.
            pub fn set_value(&mut self, value: bool) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassBlend_enable`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassBlend_enable` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLESTechniquePassBlend_Enable {
            property_0: String,
            property_1: bool,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLESTechniquePassBlend_Enable {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: false,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLESTechniquePassBlend_Enable {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassBlend_enable.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassBlend_enable()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassBlend_enable.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassBlend_enable.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassBlend_enable.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassBlend_enable.value`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassBlend_enable.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> bool {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassBlend_enable.value`.
            pub fn set_value(&mut self, value: bool) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassBlend_func`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassBlend_func` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLESTechniquePassBlend_Func {
    property_0: libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLESTechniquePassBlend_FuncDest,
    property_1: libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLESTechniquePassBlend_FuncSrc,
}
        impl Default for EffectFx_Profile_AbstractProfile_GLESTechniquePassBlend_Func {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLESTechniquePassBlend_Func {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassBlend_func.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassBlend_func()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassBlend_func.dest`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassBlend_funcDest LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassBlend_func.dest`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn dest(&self) -> libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLESTechniquePassBlend_FuncDest{
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassBlend_func.dest`.
            pub fn set_dest(
                &mut self,
                value: libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLESTechniquePassBlend_FuncDest,
            ) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassBlend_func.src`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassBlend_funcSrc LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassBlend_func.src`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn src(&self) -> libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLESTechniquePassBlend_FuncSrc{
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassBlend_func.src`.
            pub fn set_src(
                &mut self,
                value: libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLESTechniquePassBlend_FuncSrc,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassBlend_funcDest`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassBlend_funcDest` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLESTechniquePassBlend_FuncDest {
            property_0: String,
            property_1: libremetaverse::import_export::collada14::Gl_Blend_Type,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLESTechniquePassBlend_FuncDest {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: libremetaverse::import_export::collada14::Gl_Blend_Type::ZERO,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLESTechniquePassBlend_FuncDest {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassBlend_funcDest.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassBlend_funcDest()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassBlend_funcDest.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassBlend_funcDest.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassBlend_funcDest.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassBlend_funcDest.value`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_blend_type LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassBlend_funcDest.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> libremetaverse::import_export::collada14::Gl_Blend_Type {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassBlend_funcDest.value`.
            pub fn set_value(
                &mut self,
                value: libremetaverse::import_export::collada14::Gl_Blend_Type,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassBlend_funcSrc`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassBlend_funcSrc` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLESTechniquePassBlend_FuncSrc {
            property_0: String,
            property_1: libremetaverse::import_export::collada14::Gl_Blend_Type,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLESTechniquePassBlend_FuncSrc {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: libremetaverse::import_export::collada14::Gl_Blend_Type::ONE,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLESTechniquePassBlend_FuncSrc {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassBlend_funcSrc.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassBlend_funcSrc()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassBlend_funcSrc.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassBlend_funcSrc.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassBlend_funcSrc.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassBlend_funcSrc.value`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_blend_type LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassBlend_funcSrc.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> libremetaverse::import_export::collada14::Gl_Blend_Type {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassBlend_funcSrc.value`.
            pub fn set_value(
                &mut self,
                value: libremetaverse::import_export::collada14::Gl_Blend_Type,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassClear_color`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassClear_color` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLESTechniquePassClear_Color {
            property_0: String,
            property_1: Vec<f64>,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLESTechniquePassClear_Color {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLESTechniquePassClear_Color {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassClear_color.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassClear_color()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassClear_color.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassClear_color.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassClear_color.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassClear_color.value`.
            ///
            /// C# signature: `System.Double[] LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassClear_color.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> Vec<f64> {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassClear_color.value`.
            pub fn set_value(&mut self, value: Vec<f64>) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassClear_depth`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassClear_depth` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLESTechniquePassClear_Depth {
            property_0: String,
            property_1: f64,
            property_2: bool,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLESTechniquePassClear_Depth {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLESTechniquePassClear_Depth {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassClear_depth.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassClear_depth()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassClear_depth.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassClear_depth.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassClear_depth.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassClear_depth.value`.
            ///
            /// C# signature: `System.Double LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassClear_depth.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> f64 {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassClear_depth.value`.
            pub fn set_value(&mut self, value: f64) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassClear_depth.valueSpecified`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassClear_depth.valueSpecified`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value_specified(&self) -> bool {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassClear_depth.valueSpecified`.
            pub fn set_value_specified(&mut self, value: bool) {
                /* complete generated data model */
                self.property_2 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassClear_stencil`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassClear_stencil` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLESTechniquePassClear_Stencil {
            property_0: String,
            property_1: i64,
            property_2: bool,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLESTechniquePassClear_Stencil {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLESTechniquePassClear_Stencil {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassClear_stencil.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassClear_stencil()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassClear_stencil.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassClear_stencil.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassClear_stencil.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassClear_stencil.value`.
            ///
            /// C# signature: `System.Int64 LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassClear_stencil.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> i64 {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassClear_stencil.value`.
            pub fn set_value(&mut self, value: i64) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassClear_stencil.valueSpecified`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassClear_stencil.valueSpecified`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value_specified(&self) -> bool {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassClear_stencil.valueSpecified`.
            pub fn set_value_specified(&mut self, value: bool) {
                /* complete generated data model */
                self.property_2 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassClip_plane`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassClip_plane` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLESTechniquePassClip_Plane {
            property_0: String,
            property_1: String,
            property_2: Vec<bool>,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLESTechniquePassClip_Plane {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLESTechniquePassClip_Plane {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassClip_plane.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassClip_plane()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassClip_plane.index`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassClip_plane.index`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn index(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassClip_plane.index`.
            pub fn set_index(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassClip_plane.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassClip_plane.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassClip_plane.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassClip_plane.value`.
            ///
            /// C# signature: `System.Boolean[] LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassClip_plane.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> Vec<bool> {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassClip_plane.value`.
            pub fn set_value(&mut self, value: Vec<bool>) {
                /* complete generated data model */
                self.property_2 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassClip_plane_enable`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassClip_plane_enable` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLESTechniquePassClip_Plane_Enable {
            property_0: String,
            property_1: String,
            property_2: bool,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLESTechniquePassClip_Plane_Enable {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: false,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLESTechniquePassClip_Plane_Enable {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassClip_plane_enable.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassClip_plane_enable()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassClip_plane_enable.index`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassClip_plane_enable.index`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn index(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassClip_plane_enable.index`.
            pub fn set_index(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassClip_plane_enable.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassClip_plane_enable.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassClip_plane_enable.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassClip_plane_enable.value`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassClip_plane_enable.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> bool {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassClip_plane_enable.value`.
            pub fn set_value(&mut self, value: bool) {
                /* complete generated data model */
                self.property_2 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassColor_logic_op_enable`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassColor_logic_op_enable` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLESTechniquePassColor_Logic_Op_Enable {
            property_0: String,
            property_1: bool,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLESTechniquePassColor_Logic_Op_Enable {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: false,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLESTechniquePassColor_Logic_Op_Enable {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassColor_logic_op_enable.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassColor_logic_op_enable()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassColor_logic_op_enable.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassColor_logic_op_enable.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassColor_logic_op_enable.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassColor_logic_op_enable.value`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassColor_logic_op_enable.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> bool {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassColor_logic_op_enable.value`.
            pub fn set_value(&mut self, value: bool) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassColor_mask`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassColor_mask` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLESTechniquePassColor_Mask {
            property_0: String,
            property_1: Vec<bool>,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLESTechniquePassColor_Mask {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLESTechniquePassColor_Mask {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassColor_mask.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassColor_mask()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassColor_mask.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassColor_mask.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassColor_mask.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassColor_mask.value`.
            ///
            /// C# signature: `System.Boolean[] LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassColor_mask.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> Vec<bool> {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassColor_mask.value`.
            pub fn set_value(&mut self, value: Vec<bool>) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassColor_material_enable`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassColor_material_enable` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLESTechniquePassColor_Material_Enable {
            property_0: String,
            property_1: bool,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLESTechniquePassColor_Material_Enable {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: true,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLESTechniquePassColor_Material_Enable {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassColor_material_enable.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassColor_material_enable()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassColor_material_enable.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassColor_material_enable.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassColor_material_enable.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassColor_material_enable.value`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassColor_material_enable.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> bool {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassColor_material_enable.value`.
            pub fn set_value(&mut self, value: bool) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassCull_face`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassCull_face` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLESTechniquePassCull_Face {
            property_0: String,
            property_1: libremetaverse::import_export::collada14::Gl_Face_Type,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLESTechniquePassCull_Face {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: libremetaverse::import_export::collada14::Gl_Face_Type::BACK,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLESTechniquePassCull_Face {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassCull_face.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassCull_face()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassCull_face.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassCull_face.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassCull_face.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassCull_face.value`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_face_type LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassCull_face.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> libremetaverse::import_export::collada14::Gl_Face_Type {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassCull_face.value`.
            pub fn set_value(
                &mut self,
                value: libremetaverse::import_export::collada14::Gl_Face_Type,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassCull_face_enable`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassCull_face_enable` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLESTechniquePassCull_Face_Enable {
            property_0: String,
            property_1: bool,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLESTechniquePassCull_Face_Enable {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: false,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLESTechniquePassCull_Face_Enable {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassCull_face_enable.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassCull_face_enable()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassCull_face_enable.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassCull_face_enable.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassCull_face_enable.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassCull_face_enable.value`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassCull_face_enable.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> bool {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassCull_face_enable.value`.
            pub fn set_value(&mut self, value: bool) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassDepth_func`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassDepth_func` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLESTechniquePassDepth_Func {
            property_0: String,
            property_1: libremetaverse::import_export::collada14::Gl_Func_Type,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLESTechniquePassDepth_Func {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: libremetaverse::import_export::collada14::Gl_Func_Type::ALWAYS,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLESTechniquePassDepth_Func {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassDepth_func.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassDepth_func()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassDepth_func.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassDepth_func.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassDepth_func.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassDepth_func.value`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_func_type LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassDepth_func.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> libremetaverse::import_export::collada14::Gl_Func_Type {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassDepth_func.value`.
            pub fn set_value(
                &mut self,
                value: libremetaverse::import_export::collada14::Gl_Func_Type,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassDepth_mask`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassDepth_mask` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLESTechniquePassDepth_Mask {
            property_0: String,
            property_1: bool,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLESTechniquePassDepth_Mask {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: false,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLESTechniquePassDepth_Mask {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassDepth_mask.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassDepth_mask()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassDepth_mask.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassDepth_mask.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassDepth_mask.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassDepth_mask.value`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassDepth_mask.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> bool {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassDepth_mask.value`.
            pub fn set_value(&mut self, value: bool) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassDepth_range`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassDepth_range` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLESTechniquePassDepth_Range {
            property_0: String,
            property_1: Vec<f64>,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLESTechniquePassDepth_Range {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLESTechniquePassDepth_Range {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassDepth_range.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassDepth_range()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassDepth_range.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassDepth_range.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassDepth_range.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassDepth_range.value`.
            ///
            /// C# signature: `System.Double[] LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassDepth_range.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> Vec<f64> {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassDepth_range.value`.
            pub fn set_value(&mut self, value: Vec<f64>) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassDepth_test_enable`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassDepth_test_enable` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLESTechniquePassDepth_Test_Enable {
            property_0: String,
            property_1: bool,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLESTechniquePassDepth_Test_Enable {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: false,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLESTechniquePassDepth_Test_Enable {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassDepth_test_enable.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassDepth_test_enable()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassDepth_test_enable.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassDepth_test_enable.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassDepth_test_enable.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassDepth_test_enable.value`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassDepth_test_enable.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> bool {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassDepth_test_enable.value`.
            pub fn set_value(&mut self, value: bool) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassDither_enable`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassDither_enable` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLESTechniquePassDither_Enable {
            property_0: String,
            property_1: bool,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLESTechniquePassDither_Enable {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: false,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLESTechniquePassDither_Enable {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassDither_enable.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassDither_enable()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassDither_enable.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassDither_enable.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassDither_enable.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassDither_enable.value`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassDither_enable.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> bool {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassDither_enable.value`.
            pub fn set_value(&mut self, value: bool) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassFog_color`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassFog_color` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLESTechniquePassFog_Color {
            property_0: String,
            property_1: Vec<f64>,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLESTechniquePassFog_Color {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLESTechniquePassFog_Color {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassFog_color.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassFog_color()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassFog_color.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassFog_color.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassFog_color.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassFog_color.value`.
            ///
            /// C# signature: `System.Double[] LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassFog_color.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> Vec<f64> {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassFog_color.value`.
            pub fn set_value(&mut self, value: Vec<f64>) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassFog_density`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassFog_density` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLESTechniquePassFog_Density {
            property_0: String,
            property_1: f64,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLESTechniquePassFog_Density {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: 1.0,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLESTechniquePassFog_Density {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassFog_density.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassFog_density()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassFog_density.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassFog_density.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassFog_density.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassFog_density.value`.
            ///
            /// C# signature: `System.Double LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassFog_density.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> f64 {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassFog_density.value`.
            pub fn set_value(&mut self, value: f64) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassFog_enable`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassFog_enable` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLESTechniquePassFog_Enable {
            property_0: String,
            property_1: bool,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLESTechniquePassFog_Enable {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: false,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLESTechniquePassFog_Enable {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassFog_enable.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassFog_enable()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassFog_enable.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassFog_enable.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassFog_enable.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassFog_enable.value`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassFog_enable.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> bool {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassFog_enable.value`.
            pub fn set_value(&mut self, value: bool) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassFog_end`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassFog_end` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLESTechniquePassFog_End {
            property_0: String,
            property_1: f64,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLESTechniquePassFog_End {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: 1.0,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLESTechniquePassFog_End {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassFog_end.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassFog_end()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassFog_end.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassFog_end.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassFog_end.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassFog_end.value`.
            ///
            /// C# signature: `System.Double LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassFog_end.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> f64 {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassFog_end.value`.
            pub fn set_value(&mut self, value: f64) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassFog_mode`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassFog_mode` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLESTechniquePassFog_Mode {
            property_0: String,
            property_1: libremetaverse::import_export::collada14::Gl_Fog_Type,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLESTechniquePassFog_Mode {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: libremetaverse::import_export::collada14::Gl_Fog_Type::EXP,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLESTechniquePassFog_Mode {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassFog_mode.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassFog_mode()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassFog_mode.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassFog_mode.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassFog_mode.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassFog_mode.value`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_fog_type LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassFog_mode.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> libremetaverse::import_export::collada14::Gl_Fog_Type {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassFog_mode.value`.
            pub fn set_value(
                &mut self,
                value: libremetaverse::import_export::collada14::Gl_Fog_Type,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassFog_start`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassFog_start` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLESTechniquePassFog_Start {
            property_0: String,
            property_1: f64,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLESTechniquePassFog_Start {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: 0.0,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLESTechniquePassFog_Start {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassFog_start.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassFog_start()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassFog_start.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassFog_start.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassFog_start.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassFog_start.value`.
            ///
            /// C# signature: `System.Double LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassFog_start.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> f64 {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassFog_start.value`.
            pub fn set_value(&mut self, value: f64) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassFront_face`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassFront_face` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLESTechniquePassFront_Face {
            property_0: String,
            property_1: libremetaverse::import_export::collada14::Gl_Front_Face_Type,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLESTechniquePassFront_Face {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: libremetaverse::import_export::collada14::Gl_Front_Face_Type::CCW,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLESTechniquePassFront_Face {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassFront_face.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassFront_face()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassFront_face.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassFront_face.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassFront_face.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassFront_face.value`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_front_face_type LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassFront_face.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> libremetaverse::import_export::collada14::Gl_Front_Face_Type {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassFront_face.value`.
            pub fn set_value(
                &mut self,
                value: libremetaverse::import_export::collada14::Gl_Front_Face_Type,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_ambient`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_ambient` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLESTechniquePassLight_Ambient {
            property_0: String,
            property_1: String,
            property_2: Vec<f64>,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLESTechniquePassLight_Ambient {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLESTechniquePassLight_Ambient {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_ambient.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_ambient()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_ambient.index`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_ambient.index`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn index(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_ambient.index`.
            pub fn set_index(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_ambient.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_ambient.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_ambient.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_ambient.value`.
            ///
            /// C# signature: `System.Double[] LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_ambient.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> Vec<f64> {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_ambient.value`.
            pub fn set_value(&mut self, value: Vec<f64>) {
                /* complete generated data model */
                self.property_2 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_constant_attenuation`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_constant_attenuation` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLESTechniquePassLight_Constant_Attenuation {
            property_0: String,
            property_1: String,
            property_2: f64,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLESTechniquePassLight_Constant_Attenuation {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: 1.0,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLESTechniquePassLight_Constant_Attenuation {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_constant_attenuation.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_constant_attenuation()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_constant_attenuation.index`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_constant_attenuation.index`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn index(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_constant_attenuation.index`.
            pub fn set_index(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_constant_attenuation.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_constant_attenuation.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_constant_attenuation.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_constant_attenuation.value`.
            ///
            /// C# signature: `System.Double LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_constant_attenuation.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> f64 {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_constant_attenuation.value`.
            pub fn set_value(&mut self, value: f64) {
                /* complete generated data model */
                self.property_2 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_diffuse`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_diffuse` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLESTechniquePassLight_Diffuse {
            property_0: String,
            property_1: String,
            property_2: Vec<f64>,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLESTechniquePassLight_Diffuse {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLESTechniquePassLight_Diffuse {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_diffuse.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_diffuse()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_diffuse.index`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_diffuse.index`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn index(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_diffuse.index`.
            pub fn set_index(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_diffuse.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_diffuse.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_diffuse.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_diffuse.value`.
            ///
            /// C# signature: `System.Double[] LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_diffuse.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> Vec<f64> {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_diffuse.value`.
            pub fn set_value(&mut self, value: Vec<f64>) {
                /* complete generated data model */
                self.property_2 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_enable`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_enable` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLESTechniquePassLight_Enable {
            property_0: String,
            property_1: String,
            property_2: bool,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLESTechniquePassLight_Enable {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: false,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLESTechniquePassLight_Enable {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_enable.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_enable()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_enable.index`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_enable.index`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn index(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_enable.index`.
            pub fn set_index(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_enable.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_enable.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_enable.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_enable.value`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_enable.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> bool {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_enable.value`.
            pub fn set_value(&mut self, value: bool) {
                /* complete generated data model */
                self.property_2 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_linear_attenutation`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_linear_attenutation` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLESTechniquePassLight_Linear_Attenutation {
            property_0: String,
            property_1: String,
            property_2: f64,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLESTechniquePassLight_Linear_Attenutation {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: 1.0,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLESTechniquePassLight_Linear_Attenutation {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_linear_attenutation.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_linear_attenutation()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_linear_attenutation.index`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_linear_attenutation.index`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn index(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_linear_attenutation.index`.
            pub fn set_index(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_linear_attenutation.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_linear_attenutation.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_linear_attenutation.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_linear_attenutation.value`.
            ///
            /// C# signature: `System.Double LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_linear_attenutation.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> f64 {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_linear_attenutation.value`.
            pub fn set_value(&mut self, value: f64) {
                /* complete generated data model */
                self.property_2 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_model_ambient`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_model_ambient` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLESTechniquePassLight_Model_Ambient {
            property_0: String,
            property_1: Vec<f64>,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLESTechniquePassLight_Model_Ambient {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLESTechniquePassLight_Model_Ambient {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_model_ambient.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_model_ambient()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_model_ambient.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_model_ambient.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_model_ambient.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_model_ambient.value`.
            ///
            /// C# signature: `System.Double[] LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_model_ambient.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> Vec<f64> {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_model_ambient.value`.
            pub fn set_value(&mut self, value: Vec<f64>) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_model_two_side_enable`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_model_two_side_enable` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLESTechniquePassLight_Model_Two_Side_Enable {
            property_0: String,
            property_1: bool,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLESTechniquePassLight_Model_Two_Side_Enable {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: false,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLESTechniquePassLight_Model_Two_Side_Enable {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_model_two_side_enable.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_model_two_side_enable()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_model_two_side_enable.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_model_two_side_enable.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_model_two_side_enable.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_model_two_side_enable.value`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_model_two_side_enable.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> bool {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_model_two_side_enable.value`.
            pub fn set_value(&mut self, value: bool) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_position`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_position` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLESTechniquePassLight_Position {
            property_0: String,
            property_1: String,
            property_2: Vec<f64>,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLESTechniquePassLight_Position {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLESTechniquePassLight_Position {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_position.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_position()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_position.index`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_position.index`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn index(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_position.index`.
            pub fn set_index(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_position.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_position.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_position.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_position.value`.
            ///
            /// C# signature: `System.Double[] LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_position.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> Vec<f64> {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_position.value`.
            pub fn set_value(&mut self, value: Vec<f64>) {
                /* complete generated data model */
                self.property_2 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_quadratic_attenuation`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_quadratic_attenuation` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLESTechniquePassLight_Quadratic_Attenuation {
            property_0: String,
            property_1: String,
            property_2: f64,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLESTechniquePassLight_Quadratic_Attenuation {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: 1.0,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLESTechniquePassLight_Quadratic_Attenuation {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_quadratic_attenuation.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_quadratic_attenuation()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_quadratic_attenuation.index`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_quadratic_attenuation.index`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn index(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_quadratic_attenuation.index`.
            pub fn set_index(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_quadratic_attenuation.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_quadratic_attenuation.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_quadratic_attenuation.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_quadratic_attenuation.value`.
            ///
            /// C# signature: `System.Double LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_quadratic_attenuation.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> f64 {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_quadratic_attenuation.value`.
            pub fn set_value(&mut self, value: f64) {
                /* complete generated data model */
                self.property_2 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_specular`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_specular` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLESTechniquePassLight_Specular {
            property_0: String,
            property_1: String,
            property_2: Vec<f64>,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLESTechniquePassLight_Specular {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLESTechniquePassLight_Specular {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_specular.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_specular()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_specular.index`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_specular.index`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn index(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_specular.index`.
            pub fn set_index(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_specular.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_specular.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_specular.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_specular.value`.
            ///
            /// C# signature: `System.Double[] LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_specular.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> Vec<f64> {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_specular.value`.
            pub fn set_value(&mut self, value: Vec<f64>) {
                /* complete generated data model */
                self.property_2 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_spot_cutoff`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_spot_cutoff` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLESTechniquePassLight_Spot_Cutoff {
            property_0: String,
            property_1: String,
            property_2: f64,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLESTechniquePassLight_Spot_Cutoff {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: 180.0,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLESTechniquePassLight_Spot_Cutoff {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_spot_cutoff.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_spot_cutoff()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_spot_cutoff.index`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_spot_cutoff.index`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn index(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_spot_cutoff.index`.
            pub fn set_index(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_spot_cutoff.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_spot_cutoff.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_spot_cutoff.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_spot_cutoff.value`.
            ///
            /// C# signature: `System.Double LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_spot_cutoff.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> f64 {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_spot_cutoff.value`.
            pub fn set_value(&mut self, value: f64) {
                /* complete generated data model */
                self.property_2 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_spot_direction`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_spot_direction` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLESTechniquePassLight_Spot_Direction {
            property_0: String,
            property_1: String,
            property_2: Vec<f64>,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLESTechniquePassLight_Spot_Direction {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLESTechniquePassLight_Spot_Direction {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_spot_direction.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_spot_direction()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_spot_direction.index`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_spot_direction.index`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn index(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_spot_direction.index`.
            pub fn set_index(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_spot_direction.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_spot_direction.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_spot_direction.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_spot_direction.value`.
            ///
            /// C# signature: `System.Double[] LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_spot_direction.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> Vec<f64> {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_spot_direction.value`.
            pub fn set_value(&mut self, value: Vec<f64>) {
                /* complete generated data model */
                self.property_2 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_spot_exponent`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_spot_exponent` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLESTechniquePassLight_Spot_Exponent {
            property_0: String,
            property_1: String,
            property_2: f64,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLESTechniquePassLight_Spot_Exponent {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: 0.0,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLESTechniquePassLight_Spot_Exponent {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_spot_exponent.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_spot_exponent()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_spot_exponent.index`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_spot_exponent.index`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn index(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_spot_exponent.index`.
            pub fn set_index(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_spot_exponent.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_spot_exponent.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_spot_exponent.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_spot_exponent.value`.
            ///
            /// C# signature: `System.Double LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_spot_exponent.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> f64 {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLight_spot_exponent.value`.
            pub fn set_value(&mut self, value: f64) {
                /* complete generated data model */
                self.property_2 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLighting_enable`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLighting_enable` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLESTechniquePassLighting_Enable {
            property_0: String,
            property_1: bool,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLESTechniquePassLighting_Enable {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: false,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLESTechniquePassLighting_Enable {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLighting_enable.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLighting_enable()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLighting_enable.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLighting_enable.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLighting_enable.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLighting_enable.value`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLighting_enable.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> bool {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLighting_enable.value`.
            pub fn set_value(&mut self, value: bool) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLine_smooth_enable`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLine_smooth_enable` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLESTechniquePassLine_Smooth_Enable {
            property_0: String,
            property_1: bool,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLESTechniquePassLine_Smooth_Enable {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: false,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLESTechniquePassLine_Smooth_Enable {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLine_smooth_enable.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLine_smooth_enable()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLine_smooth_enable.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLine_smooth_enable.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLine_smooth_enable.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLine_smooth_enable.value`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLine_smooth_enable.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> bool {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLine_smooth_enable.value`.
            pub fn set_value(&mut self, value: bool) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLine_width`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLine_width` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLESTechniquePassLine_Width {
            property_0: String,
            property_1: f64,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLESTechniquePassLine_Width {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: 1.0,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLESTechniquePassLine_Width {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLine_width.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLine_width()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLine_width.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLine_width.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLine_width.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLine_width.value`.
            ///
            /// C# signature: `System.Double LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLine_width.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> f64 {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLine_width.value`.
            pub fn set_value(&mut self, value: f64) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLogic_op`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLogic_op` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLESTechniquePassLogic_Op {
            property_0: String,
            property_1: libremetaverse::import_export::collada14::Gl_Logic_Op_Type,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLESTechniquePassLogic_Op {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: libremetaverse::import_export::collada14::Gl_Logic_Op_Type::COPY,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLESTechniquePassLogic_Op {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLogic_op.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLogic_op()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLogic_op.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLogic_op.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLogic_op.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLogic_op.value`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_logic_op_type LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLogic_op.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> libremetaverse::import_export::collada14::Gl_Logic_Op_Type {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassLogic_op.value`.
            pub fn set_value(
                &mut self,
                value: libremetaverse::import_export::collada14::Gl_Logic_Op_Type,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassMaterial_ambient`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassMaterial_ambient` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLESTechniquePassMaterial_Ambient {
            property_0: String,
            property_1: Vec<f64>,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLESTechniquePassMaterial_Ambient {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLESTechniquePassMaterial_Ambient {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassMaterial_ambient.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassMaterial_ambient()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassMaterial_ambient.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassMaterial_ambient.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassMaterial_ambient.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassMaterial_ambient.value`.
            ///
            /// C# signature: `System.Double[] LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassMaterial_ambient.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> Vec<f64> {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassMaterial_ambient.value`.
            pub fn set_value(&mut self, value: Vec<f64>) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassMaterial_diffuse`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassMaterial_diffuse` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLESTechniquePassMaterial_Diffuse {
            property_0: String,
            property_1: Vec<f64>,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLESTechniquePassMaterial_Diffuse {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLESTechniquePassMaterial_Diffuse {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassMaterial_diffuse.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassMaterial_diffuse()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassMaterial_diffuse.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassMaterial_diffuse.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassMaterial_diffuse.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassMaterial_diffuse.value`.
            ///
            /// C# signature: `System.Double[] LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassMaterial_diffuse.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> Vec<f64> {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassMaterial_diffuse.value`.
            pub fn set_value(&mut self, value: Vec<f64>) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassMaterial_emission`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassMaterial_emission` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLESTechniquePassMaterial_Emission {
            property_0: String,
            property_1: Vec<f64>,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLESTechniquePassMaterial_Emission {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLESTechniquePassMaterial_Emission {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassMaterial_emission.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassMaterial_emission()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassMaterial_emission.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassMaterial_emission.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassMaterial_emission.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassMaterial_emission.value`.
            ///
            /// C# signature: `System.Double[] LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassMaterial_emission.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> Vec<f64> {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassMaterial_emission.value`.
            pub fn set_value(&mut self, value: Vec<f64>) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassMaterial_shininess`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassMaterial_shininess` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLESTechniquePassMaterial_Shininess {
            property_0: String,
            property_1: f64,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLESTechniquePassMaterial_Shininess {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: 0.0,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLESTechniquePassMaterial_Shininess {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassMaterial_shininess.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassMaterial_shininess()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassMaterial_shininess.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassMaterial_shininess.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassMaterial_shininess.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassMaterial_shininess.value`.
            ///
            /// C# signature: `System.Double LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassMaterial_shininess.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> f64 {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassMaterial_shininess.value`.
            pub fn set_value(&mut self, value: f64) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassMaterial_specular`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassMaterial_specular` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLESTechniquePassMaterial_Specular {
            property_0: String,
            property_1: Vec<f64>,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLESTechniquePassMaterial_Specular {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLESTechniquePassMaterial_Specular {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassMaterial_specular.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassMaterial_specular()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassMaterial_specular.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassMaterial_specular.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassMaterial_specular.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassMaterial_specular.value`.
            ///
            /// C# signature: `System.Double[] LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassMaterial_specular.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> Vec<f64> {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassMaterial_specular.value`.
            pub fn set_value(&mut self, value: Vec<f64>) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassModel_view_matrix`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassModel_view_matrix` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLESTechniquePassModel_View_Matrix {
            property_0: String,
            property_1: Vec<f64>,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLESTechniquePassModel_View_Matrix {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLESTechniquePassModel_View_Matrix {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassModel_view_matrix.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassModel_view_matrix()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassModel_view_matrix.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassModel_view_matrix.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassModel_view_matrix.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassModel_view_matrix.value`.
            ///
            /// C# signature: `System.Double[] LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassModel_view_matrix.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> Vec<f64> {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassModel_view_matrix.value`.
            pub fn set_value(&mut self, value: Vec<f64>) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassMultisample_enable`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassMultisample_enable` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLESTechniquePassMultisample_Enable {
            property_0: String,
            property_1: bool,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLESTechniquePassMultisample_Enable {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: false,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLESTechniquePassMultisample_Enable {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassMultisample_enable.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassMultisample_enable()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassMultisample_enable.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassMultisample_enable.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassMultisample_enable.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassMultisample_enable.value`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassMultisample_enable.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> bool {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassMultisample_enable.value`.
            pub fn set_value(&mut self, value: bool) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassNormalize_enable`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassNormalize_enable` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLESTechniquePassNormalize_Enable {
            property_0: String,
            property_1: bool,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLESTechniquePassNormalize_Enable {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: false,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLESTechniquePassNormalize_Enable {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassNormalize_enable.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassNormalize_enable()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassNormalize_enable.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassNormalize_enable.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassNormalize_enable.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassNormalize_enable.value`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassNormalize_enable.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> bool {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassNormalize_enable.value`.
            pub fn set_value(&mut self, value: bool) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassPoint_distance_attenuation`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassPoint_distance_attenuation` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLESTechniquePassPoint_Distance_Attenuation {
            property_0: String,
            property_1: Vec<f64>,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLESTechniquePassPoint_Distance_Attenuation {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLESTechniquePassPoint_Distance_Attenuation {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassPoint_distance_attenuation.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassPoint_distance_attenuation()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassPoint_distance_attenuation.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassPoint_distance_attenuation.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassPoint_distance_attenuation.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassPoint_distance_attenuation.value`.
            ///
            /// C# signature: `System.Double[] LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassPoint_distance_attenuation.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> Vec<f64> {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassPoint_distance_attenuation.value`.
            pub fn set_value(&mut self, value: Vec<f64>) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassPoint_fade_threshold_size`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassPoint_fade_threshold_size` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLESTechniquePassPoint_Fade_Threshold_Size {
            property_0: String,
            property_1: f64,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLESTechniquePassPoint_Fade_Threshold_Size {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: 1.0,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLESTechniquePassPoint_Fade_Threshold_Size {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassPoint_fade_threshold_size.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassPoint_fade_threshold_size()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassPoint_fade_threshold_size.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassPoint_fade_threshold_size.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassPoint_fade_threshold_size.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassPoint_fade_threshold_size.value`.
            ///
            /// C# signature: `System.Double LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassPoint_fade_threshold_size.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> f64 {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassPoint_fade_threshold_size.value`.
            pub fn set_value(&mut self, value: f64) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassPoint_size`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassPoint_size` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLESTechniquePassPoint_Size {
            property_0: String,
            property_1: f64,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLESTechniquePassPoint_Size {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: 1.0,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLESTechniquePassPoint_Size {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassPoint_size.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassPoint_size()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassPoint_size.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassPoint_size.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassPoint_size.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassPoint_size.value`.
            ///
            /// C# signature: `System.Double LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassPoint_size.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> f64 {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassPoint_size.value`.
            pub fn set_value(&mut self, value: f64) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassPoint_size_max`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassPoint_size_max` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLESTechniquePassPoint_Size_Max {
            property_0: String,
            property_1: f64,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLESTechniquePassPoint_Size_Max {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: 1.0,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLESTechniquePassPoint_Size_Max {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassPoint_size_max.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassPoint_size_max()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassPoint_size_max.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassPoint_size_max.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassPoint_size_max.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassPoint_size_max.value`.
            ///
            /// C# signature: `System.Double LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassPoint_size_max.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> f64 {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassPoint_size_max.value`.
            pub fn set_value(&mut self, value: f64) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassPoint_size_min`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassPoint_size_min` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLESTechniquePassPoint_Size_Min {
            property_0: String,
            property_1: f64,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLESTechniquePassPoint_Size_Min {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: 0.0,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLESTechniquePassPoint_Size_Min {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassPoint_size_min.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassPoint_size_min()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassPoint_size_min.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassPoint_size_min.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassPoint_size_min.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassPoint_size_min.value`.
            ///
            /// C# signature: `System.Double LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassPoint_size_min.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> f64 {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassPoint_size_min.value`.
            pub fn set_value(&mut self, value: f64) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassPoint_smooth_enable`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassPoint_smooth_enable` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLESTechniquePassPoint_Smooth_Enable {
            property_0: String,
            property_1: bool,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLESTechniquePassPoint_Smooth_Enable {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: false,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLESTechniquePassPoint_Smooth_Enable {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassPoint_smooth_enable.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassPoint_smooth_enable()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassPoint_smooth_enable.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassPoint_smooth_enable.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassPoint_smooth_enable.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassPoint_smooth_enable.value`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassPoint_smooth_enable.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> bool {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassPoint_smooth_enable.value`.
            pub fn set_value(&mut self, value: bool) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassPolygon_offset`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassPolygon_offset` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLESTechniquePassPolygon_Offset {
            property_0: String,
            property_1: Vec<f64>,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLESTechniquePassPolygon_Offset {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLESTechniquePassPolygon_Offset {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassPolygon_offset.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassPolygon_offset()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassPolygon_offset.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassPolygon_offset.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassPolygon_offset.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassPolygon_offset.value`.
            ///
            /// C# signature: `System.Double[] LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassPolygon_offset.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> Vec<f64> {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassPolygon_offset.value`.
            pub fn set_value(&mut self, value: Vec<f64>) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassPolygon_offset_fill_enable`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassPolygon_offset_fill_enable` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLESTechniquePassPolygon_Offset_Fill_Enable {
            property_0: String,
            property_1: bool,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLESTechniquePassPolygon_Offset_Fill_Enable {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: false,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLESTechniquePassPolygon_Offset_Fill_Enable {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassPolygon_offset_fill_enable.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassPolygon_offset_fill_enable()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassPolygon_offset_fill_enable.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassPolygon_offset_fill_enable.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassPolygon_offset_fill_enable.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassPolygon_offset_fill_enable.value`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassPolygon_offset_fill_enable.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> bool {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassPolygon_offset_fill_enable.value`.
            pub fn set_value(&mut self, value: bool) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassProjection_matrix`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassProjection_matrix` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLESTechniquePassProjection_Matrix {
            property_0: String,
            property_1: Vec<f64>,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLESTechniquePassProjection_Matrix {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLESTechniquePassProjection_Matrix {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassProjection_matrix.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassProjection_matrix()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassProjection_matrix.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassProjection_matrix.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassProjection_matrix.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassProjection_matrix.value`.
            ///
            /// C# signature: `System.Double[] LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassProjection_matrix.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> Vec<f64> {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassProjection_matrix.value`.
            pub fn set_value(&mut self, value: Vec<f64>) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassRescale_normal_enable`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassRescale_normal_enable` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLESTechniquePassRescale_Normal_Enable {
            property_0: String,
            property_1: bool,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLESTechniquePassRescale_Normal_Enable {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: false,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLESTechniquePassRescale_Normal_Enable {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassRescale_normal_enable.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassRescale_normal_enable()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassRescale_normal_enable.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassRescale_normal_enable.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassRescale_normal_enable.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassRescale_normal_enable.value`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassRescale_normal_enable.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> bool {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassRescale_normal_enable.value`.
            pub fn set_value(&mut self, value: bool) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassSample_alpha_to_coverage_enable`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassSample_alpha_to_coverage_enable` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLESTechniquePassSample_Alpha_To_Coverage_Enable {
            property_0: String,
            property_1: bool,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLESTechniquePassSample_Alpha_To_Coverage_Enable {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: false,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLESTechniquePassSample_Alpha_To_Coverage_Enable {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassSample_alpha_to_coverage_enable.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassSample_alpha_to_coverage_enable()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassSample_alpha_to_coverage_enable.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassSample_alpha_to_coverage_enable.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassSample_alpha_to_coverage_enable.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassSample_alpha_to_coverage_enable.value`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassSample_alpha_to_coverage_enable.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> bool {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassSample_alpha_to_coverage_enable.value`.
            pub fn set_value(&mut self, value: bool) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassSample_alpha_to_one_enable`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassSample_alpha_to_one_enable` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLESTechniquePassSample_Alpha_To_One_Enable {
            property_0: String,
            property_1: bool,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLESTechniquePassSample_Alpha_To_One_Enable {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: false,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLESTechniquePassSample_Alpha_To_One_Enable {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassSample_alpha_to_one_enable.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassSample_alpha_to_one_enable()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassSample_alpha_to_one_enable.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassSample_alpha_to_one_enable.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassSample_alpha_to_one_enable.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassSample_alpha_to_one_enable.value`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassSample_alpha_to_one_enable.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> bool {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassSample_alpha_to_one_enable.value`.
            pub fn set_value(&mut self, value: bool) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassSample_coverage_enable`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassSample_coverage_enable` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLESTechniquePassSample_Coverage_Enable {
            property_0: String,
            property_1: bool,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLESTechniquePassSample_Coverage_Enable {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: false,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLESTechniquePassSample_Coverage_Enable {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassSample_coverage_enable.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassSample_coverage_enable()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassSample_coverage_enable.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassSample_coverage_enable.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassSample_coverage_enable.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassSample_coverage_enable.value`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassSample_coverage_enable.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> bool {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassSample_coverage_enable.value`.
            pub fn set_value(&mut self, value: bool) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassScissor`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassScissor` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLESTechniquePassScissor {
            property_0: String,
            property_1: Vec<i64>,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLESTechniquePassScissor {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLESTechniquePassScissor {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassScissor.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassScissor()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassScissor.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassScissor.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassScissor.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassScissor.value`.
            ///
            /// C# signature: `System.Int64[] LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassScissor.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> Vec<i64> {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassScissor.value`.
            pub fn set_value(&mut self, value: Vec<i64>) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassScissor_test_enable`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassScissor_test_enable` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLESTechniquePassScissor_Test_Enable {
            property_0: String,
            property_1: bool,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLESTechniquePassScissor_Test_Enable {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: false,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLESTechniquePassScissor_Test_Enable {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassScissor_test_enable.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassScissor_test_enable()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassScissor_test_enable.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassScissor_test_enable.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassScissor_test_enable.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassScissor_test_enable.value`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassScissor_test_enable.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> bool {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassScissor_test_enable.value`.
            pub fn set_value(&mut self, value: bool) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassShade_model`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassShade_model` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLESTechniquePassShade_Model {
            property_0: String,
            property_1: libremetaverse::import_export::collada14::Gl_Shade_Model_Type,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLESTechniquePassShade_Model {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1:
                        libremetaverse::import_export::collada14::Gl_Shade_Model_Type::SMOOTH,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLESTechniquePassShade_Model {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassShade_model.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassShade_model()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassShade_model.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassShade_model.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassShade_model.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassShade_model.value`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_shade_model_type LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassShade_model.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> libremetaverse::import_export::collada14::Gl_Shade_Model_Type {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassShade_model.value`.
            pub fn set_value(
                &mut self,
                value: libremetaverse::import_export::collada14::Gl_Shade_Model_Type,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_func`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_func` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLESTechniquePassStencil_Func {
    property_0: libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLESTechniquePassStencil_FuncFunc,
    property_1: libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLESTechniquePassStencil_FuncMask,
    property_2: libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLESTechniquePassStencil_FuncRef,
}
        impl Default for EffectFx_Profile_AbstractProfile_GLESTechniquePassStencil_Func {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLESTechniquePassStencil_Func {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_func.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_func()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_func.func`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_funcFunc LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_func.func`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn func(&self) -> libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLESTechniquePassStencil_FuncFunc{
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_func.func`.
            pub fn set_func(
                &mut self,
                value: libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLESTechniquePassStencil_FuncFunc,
            ) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_func.mask`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_funcMask LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_func.mask`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn mask(&self) -> libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLESTechniquePassStencil_FuncMask{
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_func.mask`.
            pub fn set_mask(
                &mut self,
                value: libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLESTechniquePassStencil_FuncMask,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_func.ref`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_funcRef LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_func.ref`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn ref_(&self) -> libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLESTechniquePassStencil_FuncRef{
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_func.ref`.
            pub fn set_ref_(
                &mut self,
                value: libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLESTechniquePassStencil_FuncRef,
            ) {
                /* complete generated data model */
                self.property_2 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_funcFunc`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_funcFunc` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLESTechniquePassStencil_FuncFunc {
            property_0: String,
            property_1: libremetaverse::import_export::collada14::Gl_Func_Type,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLESTechniquePassStencil_FuncFunc {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: libremetaverse::import_export::collada14::Gl_Func_Type::ALWAYS,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLESTechniquePassStencil_FuncFunc {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_funcFunc.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_funcFunc()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_funcFunc.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_funcFunc.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_funcFunc.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_funcFunc.value`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_func_type LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_funcFunc.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> libremetaverse::import_export::collada14::Gl_Func_Type {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_funcFunc.value`.
            pub fn set_value(
                &mut self,
                value: libremetaverse::import_export::collada14::Gl_Func_Type,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_funcMask`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_funcMask` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLESTechniquePassStencil_FuncMask {
            property_0: String,
            property_1: u8,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLESTechniquePassStencil_FuncMask {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: 255,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLESTechniquePassStencil_FuncMask {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_funcMask.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_funcMask()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_funcMask.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_funcMask.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_funcMask.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_funcMask.value`.
            ///
            /// C# signature: `System.Byte LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_funcMask.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> u8 {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_funcMask.value`.
            pub fn set_value(&mut self, value: u8) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_funcRef`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_funcRef` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLESTechniquePassStencil_FuncRef {
            property_0: String,
            property_1: u8,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLESTechniquePassStencil_FuncRef {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: 0,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLESTechniquePassStencil_FuncRef {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_funcRef.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_funcRef()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_funcRef.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_funcRef.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_funcRef.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_funcRef.value`.
            ///
            /// C# signature: `System.Byte LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_funcRef.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> u8 {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_funcRef.value`.
            pub fn set_value(&mut self, value: u8) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_mask`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_mask` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLESTechniquePassStencil_Mask {
            property_0: String,
            property_1: i64,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLESTechniquePassStencil_Mask {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: 4294967295,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLESTechniquePassStencil_Mask {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_mask.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_mask()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_mask.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_mask.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_mask.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_mask.value`.
            ///
            /// C# signature: `System.Int64 LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_mask.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> i64 {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_mask.value`.
            pub fn set_value(&mut self, value: i64) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_op`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_op` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLESTechniquePassStencil_Op {
    property_0: libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLESTechniquePassStencil_OpFail,
    property_1: libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLESTechniquePassStencil_OpZfail,
    property_2: libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLESTechniquePassStencil_OpZpass,
}
        impl Default for EffectFx_Profile_AbstractProfile_GLESTechniquePassStencil_Op {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLESTechniquePassStencil_Op {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_op.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_op()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_op.fail`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_opFail LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_op.fail`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn fail(&self) -> libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLESTechniquePassStencil_OpFail{
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_op.fail`.
            pub fn set_fail(
                &mut self,
                value: libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLESTechniquePassStencil_OpFail,
            ) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_op.zfail`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_opZfail LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_op.zfail`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn zfail(&self) -> libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLESTechniquePassStencil_OpZfail{
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_op.zfail`.
            pub fn set_zfail(
                &mut self,
                value: libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLESTechniquePassStencil_OpZfail,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_op.zpass`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_opZpass LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_op.zpass`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn zpass(&self) -> libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLESTechniquePassStencil_OpZpass{
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_op.zpass`.
            pub fn set_zpass(
                &mut self,
                value: libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLESTechniquePassStencil_OpZpass,
            ) {
                /* complete generated data model */
                self.property_2 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_opFail`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_opFail` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLESTechniquePassStencil_OpFail {
            property_0: String,
            property_1: libremetaverse::import_export::collada14::Gles_Stencil_Op_Type,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLESTechniquePassStencil_OpFail {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1:
                        libremetaverse::import_export::collada14::Gles_Stencil_Op_Type::KEEP,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLESTechniquePassStencil_OpFail {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_opFail.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_opFail()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_opFail.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_opFail.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_opFail.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_opFail.value`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gles_stencil_op_type LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_opFail.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> libremetaverse::import_export::collada14::Gles_Stencil_Op_Type {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_opFail.value`.
            pub fn set_value(
                &mut self,
                value: libremetaverse::import_export::collada14::Gles_Stencil_Op_Type,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_opZfail`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_opZfail` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLESTechniquePassStencil_OpZfail {
            property_0: String,
            property_1: libremetaverse::import_export::collada14::Gles_Stencil_Op_Type,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLESTechniquePassStencil_OpZfail {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1:
                        libremetaverse::import_export::collada14::Gles_Stencil_Op_Type::KEEP,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLESTechniquePassStencil_OpZfail {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_opZfail.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_opZfail()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_opZfail.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_opZfail.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_opZfail.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_opZfail.value`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gles_stencil_op_type LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_opZfail.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> libremetaverse::import_export::collada14::Gles_Stencil_Op_Type {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_opZfail.value`.
            pub fn set_value(
                &mut self,
                value: libremetaverse::import_export::collada14::Gles_Stencil_Op_Type,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_opZpass`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_opZpass` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLESTechniquePassStencil_OpZpass {
            property_0: String,
            property_1: libremetaverse::import_export::collada14::Gles_Stencil_Op_Type,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLESTechniquePassStencil_OpZpass {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1:
                        libremetaverse::import_export::collada14::Gles_Stencil_Op_Type::KEEP,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLESTechniquePassStencil_OpZpass {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_opZpass.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_opZpass()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_opZpass.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_opZpass.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_opZpass.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_opZpass.value`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gles_stencil_op_type LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_opZpass.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> libremetaverse::import_export::collada14::Gles_Stencil_Op_Type {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_opZpass.value`.
            pub fn set_value(
                &mut self,
                value: libremetaverse::import_export::collada14::Gles_Stencil_Op_Type,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_test_enable`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_test_enable` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLESTechniquePassStencil_Test_Enable {
            property_0: String,
            property_1: bool,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLESTechniquePassStencil_Test_Enable {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: false,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLESTechniquePassStencil_Test_Enable {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_test_enable.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_test_enable()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_test_enable.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_test_enable.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_test_enable.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_test_enable.value`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_test_enable.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> bool {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassStencil_test_enable.value`.
            pub fn set_value(&mut self, value: bool) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassTexture_pipeline`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassTexture_pipeline` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLESTechniquePassTexture_Pipeline {
            property_0: String,
            property_1: libremetaverse::import_export::collada14::Gles_Texture_Pipeline,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLESTechniquePassTexture_Pipeline {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLESTechniquePassTexture_Pipeline {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassTexture_pipeline.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassTexture_pipeline()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassTexture_pipeline.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassTexture_pipeline.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassTexture_pipeline.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassTexture_pipeline.value`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gles_texture_pipeline LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassTexture_pipeline.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> libremetaverse::import_export::collada14::Gles_Texture_Pipeline {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassTexture_pipeline.value`.
            pub fn set_value(
                &mut self,
                value: libremetaverse::import_export::collada14::Gles_Texture_Pipeline,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassTexture_pipeline_enable`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassTexture_pipeline_enable` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLESTechniquePassTexture_Pipeline_Enable {
            property_0: String,
            property_1: bool,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLESTechniquePassTexture_Pipeline_Enable {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: false,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLESTechniquePassTexture_Pipeline_Enable {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassTexture_pipeline_enable.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassTexture_pipeline_enable()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassTexture_pipeline_enable.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassTexture_pipeline_enable.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassTexture_pipeline_enable.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassTexture_pipeline_enable.value`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassTexture_pipeline_enable.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> bool {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniquePassTexture_pipeline_enable.value`.
            pub fn set_value(&mut self, value: bool) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniqueSetparam`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniqueSetparam` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLESTechniqueSetparam {
            property_0: Vec<libremetaverse::import_export::collada14::Fx_Annotate_Common>,
            property_1: bool,
            property_2: String,
            property_3: String,
            property_4: String,
            property_5: String,
            property_6: f64,
            property_7: f64,
            property_8: String,
            property_9: String,
            property_10: String,
            property_11: String,
            property_12: String,
            property_13: String,
            property_14: String,
            property_15: String,
            property_16: String,
            property_17: String,
            property_18: String,
            property_19: String,
            property_20: String,
            property_21: String,
            property_22: String,
            property_23: String,
            property_24: String,
            property_25: String,
            property_26: i64,
            property_27: String,
            property_28: String,
            property_29: String,
            property_30: String,
            property_31: libremetaverse::import_export::collada14::Gles_Sampler_State,
            property_32: libremetaverse::import_export::collada14::Fx_Surface_Common,
            property_33: libremetaverse::import_export::collada14::Gles_Texture_Pipeline,
            property_34: libremetaverse::import_export::collada14::Gles_Texture_Unit,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLESTechniqueSetparam {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                    property_4: Default::default(),
                    property_5: Default::default(),
                    property_6: Default::default(),
                    property_7: Default::default(),
                    property_8: Default::default(),
                    property_9: Default::default(),
                    property_10: Default::default(),
                    property_11: Default::default(),
                    property_12: Default::default(),
                    property_13: Default::default(),
                    property_14: Default::default(),
                    property_15: Default::default(),
                    property_16: Default::default(),
                    property_17: Default::default(),
                    property_18: Default::default(),
                    property_19: Default::default(),
                    property_20: Default::default(),
                    property_21: Default::default(),
                    property_22: Default::default(),
                    property_23: Default::default(),
                    property_24: Default::default(),
                    property_25: Default::default(),
                    property_26: Default::default(),
                    property_27: Default::default(),
                    property_28: Default::default(),
                    property_29: Default::default(),
                    property_30: Default::default(),
                    property_31: Default::default(),
                    property_32: Default::default(),
                    property_33: Default::default(),
                    property_34: Default::default(),
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLESTechniqueSetparam {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniqueSetparam.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniqueSetparam()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniqueSetparam.annotate`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_annotate_common[] LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniqueSetparam.annotate`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn annotate(
                &self,
            ) -> Vec<libremetaverse::import_export::collada14::Fx_Annotate_Common> {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniqueSetparam.annotate`.
            pub fn set_annotate(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Fx_Annotate_Common>,
            ) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniqueSetparam.bool`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniqueSetparam.bool`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn bool(&self) -> bool {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniqueSetparam.bool`.
            pub fn set_bool(&mut self, value: bool) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniqueSetparam.bool2`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniqueSetparam.bool2`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn bool2(&self) -> String {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniqueSetparam.bool2`.
            pub fn set_bool2(&mut self, value: String) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniqueSetparam.bool3`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniqueSetparam.bool3`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn bool3(&self) -> String {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniqueSetparam.bool3`.
            pub fn set_bool3(&mut self, value: String) {
                /* complete generated data model */
                self.property_3 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniqueSetparam.bool4`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniqueSetparam.bool4`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn bool4(&self) -> String {
                /* complete generated data model */
                self.property_4.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniqueSetparam.bool4`.
            pub fn set_bool4(&mut self, value: String) {
                /* complete generated data model */
                self.property_4 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniqueSetparam.enum`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniqueSetparam.enum`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn enum_(&self) -> String {
                /* complete generated data model */
                self.property_5.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniqueSetparam.enum`.
            pub fn set_enum_(&mut self, value: String) {
                /* complete generated data model */
                self.property_5 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniqueSetparam.float`.
            ///
            /// C# signature: `System.Double LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniqueSetparam.float`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float(&self) -> f64 {
                /* complete generated data model */
                self.property_6.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniqueSetparam.float`.
            pub fn set_float(&mut self, value: f64) {
                /* complete generated data model */
                self.property_6 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniqueSetparam.float1x1`.
            ///
            /// C# signature: `System.Double LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniqueSetparam.float1x1`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float1x1(&self) -> f64 {
                /* complete generated data model */
                self.property_7.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniqueSetparam.float1x1`.
            pub fn set_float1x1(&mut self, value: f64) {
                /* complete generated data model */
                self.property_7 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniqueSetparam.float1x2`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniqueSetparam.float1x2`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float1x2(&self) -> String {
                /* complete generated data model */
                self.property_8.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniqueSetparam.float1x2`.
            pub fn set_float1x2(&mut self, value: String) {
                /* complete generated data model */
                self.property_8 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniqueSetparam.float1x3`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniqueSetparam.float1x3`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float1x3(&self) -> String {
                /* complete generated data model */
                self.property_9.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniqueSetparam.float1x3`.
            pub fn set_float1x3(&mut self, value: String) {
                /* complete generated data model */
                self.property_9 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniqueSetparam.float1x4`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniqueSetparam.float1x4`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float1x4(&self) -> String {
                /* complete generated data model */
                self.property_10.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniqueSetparam.float1x4`.
            pub fn set_float1x4(&mut self, value: String) {
                /* complete generated data model */
                self.property_10 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniqueSetparam.float2`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniqueSetparam.float2`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float2(&self) -> String {
                /* complete generated data model */
                self.property_11.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniqueSetparam.float2`.
            pub fn set_float2(&mut self, value: String) {
                /* complete generated data model */
                self.property_11 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniqueSetparam.float2x1`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniqueSetparam.float2x1`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float2x1(&self) -> String {
                /* complete generated data model */
                self.property_12.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniqueSetparam.float2x1`.
            pub fn set_float2x1(&mut self, value: String) {
                /* complete generated data model */
                self.property_12 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniqueSetparam.float2x2`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniqueSetparam.float2x2`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float2x2(&self) -> String {
                /* complete generated data model */
                self.property_13.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniqueSetparam.float2x2`.
            pub fn set_float2x2(&mut self, value: String) {
                /* complete generated data model */
                self.property_13 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniqueSetparam.float2x3`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniqueSetparam.float2x3`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float2x3(&self) -> String {
                /* complete generated data model */
                self.property_14.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniqueSetparam.float2x3`.
            pub fn set_float2x3(&mut self, value: String) {
                /* complete generated data model */
                self.property_14 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniqueSetparam.float2x4`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniqueSetparam.float2x4`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float2x4(&self) -> String {
                /* complete generated data model */
                self.property_15.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniqueSetparam.float2x4`.
            pub fn set_float2x4(&mut self, value: String) {
                /* complete generated data model */
                self.property_15 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniqueSetparam.float3`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniqueSetparam.float3`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float3(&self) -> String {
                /* complete generated data model */
                self.property_16.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniqueSetparam.float3`.
            pub fn set_float3(&mut self, value: String) {
                /* complete generated data model */
                self.property_16 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniqueSetparam.float3x1`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniqueSetparam.float3x1`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float3x1(&self) -> String {
                /* complete generated data model */
                self.property_17.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniqueSetparam.float3x1`.
            pub fn set_float3x1(&mut self, value: String) {
                /* complete generated data model */
                self.property_17 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniqueSetparam.float3x2`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniqueSetparam.float3x2`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float3x2(&self) -> String {
                /* complete generated data model */
                self.property_18.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniqueSetparam.float3x2`.
            pub fn set_float3x2(&mut self, value: String) {
                /* complete generated data model */
                self.property_18 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniqueSetparam.float3x3`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniqueSetparam.float3x3`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float3x3(&self) -> String {
                /* complete generated data model */
                self.property_19.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniqueSetparam.float3x3`.
            pub fn set_float3x3(&mut self, value: String) {
                /* complete generated data model */
                self.property_19 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniqueSetparam.float3x4`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniqueSetparam.float3x4`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float3x4(&self) -> String {
                /* complete generated data model */
                self.property_20.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniqueSetparam.float3x4`.
            pub fn set_float3x4(&mut self, value: String) {
                /* complete generated data model */
                self.property_20 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniqueSetparam.float4`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniqueSetparam.float4`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float4(&self) -> String {
                /* complete generated data model */
                self.property_21.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniqueSetparam.float4`.
            pub fn set_float4(&mut self, value: String) {
                /* complete generated data model */
                self.property_21 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniqueSetparam.float4x1`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniqueSetparam.float4x1`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float4x1(&self) -> String {
                /* complete generated data model */
                self.property_22.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniqueSetparam.float4x1`.
            pub fn set_float4x1(&mut self, value: String) {
                /* complete generated data model */
                self.property_22 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniqueSetparam.float4x2`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniqueSetparam.float4x2`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float4x2(&self) -> String {
                /* complete generated data model */
                self.property_23.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniqueSetparam.float4x2`.
            pub fn set_float4x2(&mut self, value: String) {
                /* complete generated data model */
                self.property_23 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniqueSetparam.float4x3`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniqueSetparam.float4x3`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float4x3(&self) -> String {
                /* complete generated data model */
                self.property_24.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniqueSetparam.float4x3`.
            pub fn set_float4x3(&mut self, value: String) {
                /* complete generated data model */
                self.property_24 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniqueSetparam.float4x4`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniqueSetparam.float4x4`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float4x4(&self) -> String {
                /* complete generated data model */
                self.property_25.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniqueSetparam.float4x4`.
            pub fn set_float4x4(&mut self, value: String) {
                /* complete generated data model */
                self.property_25 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniqueSetparam.int`.
            ///
            /// C# signature: `System.Int64 LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniqueSetparam.int`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn int(&self) -> i64 {
                /* complete generated data model */
                self.property_26.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniqueSetparam.int`.
            pub fn set_int(&mut self, value: i64) {
                /* complete generated data model */
                self.property_26 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniqueSetparam.int2`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniqueSetparam.int2`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn int2(&self) -> String {
                /* complete generated data model */
                self.property_27.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniqueSetparam.int2`.
            pub fn set_int2(&mut self, value: String) {
                /* complete generated data model */
                self.property_27 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniqueSetparam.int3`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniqueSetparam.int3`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn int3(&self) -> String {
                /* complete generated data model */
                self.property_28.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniqueSetparam.int3`.
            pub fn set_int3(&mut self, value: String) {
                /* complete generated data model */
                self.property_28 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniqueSetparam.int4`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniqueSetparam.int4`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn int4(&self) -> String {
                /* complete generated data model */
                self.property_29.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniqueSetparam.int4`.
            pub fn set_int4(&mut self, value: String) {
                /* complete generated data model */
                self.property_29 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniqueSetparam.ref`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniqueSetparam.ref`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn ref_(&self) -> String {
                /* complete generated data model */
                self.property_30.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniqueSetparam.ref`.
            pub fn set_ref_(&mut self, value: String) {
                /* complete generated data model */
                self.property_30 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniqueSetparam.sampler_state`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gles_sampler_state LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniqueSetparam.sampler_state`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn sampler_state(
                &self,
            ) -> libremetaverse::import_export::collada14::Gles_Sampler_State {
                /* complete generated data model */
                self.property_31.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniqueSetparam.sampler_state`.
            pub fn set_sampler_state(
                &mut self,
                value: libremetaverse::import_export::collada14::Gles_Sampler_State,
            ) {
                /* complete generated data model */
                self.property_31 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniqueSetparam.surface`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_surface_common LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniqueSetparam.surface`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn surface(&self) -> libremetaverse::import_export::collada14::Fx_Surface_Common {
                /* complete generated data model */
                self.property_32.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniqueSetparam.surface`.
            pub fn set_surface(
                &mut self,
                value: libremetaverse::import_export::collada14::Fx_Surface_Common,
            ) {
                /* complete generated data model */
                self.property_32 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniqueSetparam.texture_pipeline`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gles_texture_pipeline LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniqueSetparam.texture_pipeline`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn texture_pipeline(
                &self,
            ) -> libremetaverse::import_export::collada14::Gles_Texture_Pipeline {
                /* complete generated data model */
                self.property_33.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniqueSetparam.texture_pipeline`.
            pub fn set_texture_pipeline(
                &mut self,
                value: libremetaverse::import_export::collada14::Gles_Texture_Pipeline,
            ) {
                /* complete generated data model */
                self.property_33 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniqueSetparam.texture_unit`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gles_texture_unit LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniqueSetparam.texture_unit`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn texture_unit(
                &self,
            ) -> libremetaverse::import_export::collada14::Gles_Texture_Unit {
                /* complete generated data model */
                self.property_34.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLESTechniqueSetparam.texture_unit`.
            pub fn set_texture_unit(
                &mut self,
                value: libremetaverse::import_export::collada14::Gles_Texture_Unit,
            ) {
                /* complete generated data model */
                self.property_34 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSL`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSL` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSL {
    property_0: Vec<libremetaverse_types::compat::Object>,
    property_1: Vec<libremetaverse_types::compat::Object>,
    property_2: libremetaverse::import_export::collada14::Asset,
    property_3: Vec<libremetaverse::import_export::collada14::Extra>,
    property_4: String,
    property_5: Vec<libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLSLTechnique>,
}
        impl Default for EffectFx_Profile_AbstractProfile_GLSL {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                    property_4: Default::default(),
                    property_5: Default::default(),
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSL {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSL.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSL()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSL.Items`.
            ///
            /// C# signature: `System.Object[] LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSL.Items`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn items(&self) -> Vec<libremetaverse_types::compat::Object> {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSL.Items`.
            pub fn set_items(&mut self, value: Vec<libremetaverse_types::compat::Object>) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSL.Items1`.
            ///
            /// C# signature: `System.Object[] LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSL.Items1`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn items1(&self) -> Vec<libremetaverse_types::compat::Object> {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSL.Items1`.
            pub fn set_items1(&mut self, value: Vec<libremetaverse_types::compat::Object>) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSL.asset`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.asset LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSL.asset`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn asset(&self) -> libremetaverse::import_export::collada14::Asset {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSL.asset`.
            pub fn set_asset(&mut self, value: libremetaverse::import_export::collada14::Asset) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSL.extra`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.extra[] LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSL.extra`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn extra(&self) -> Vec<libremetaverse::import_export::collada14::Extra> {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSL.extra`.
            pub fn set_extra(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Extra>,
            ) {
                /* complete generated data model */
                self.property_3 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSL.id`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSL.id`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn id(&self) -> String {
                /* complete generated data model */
                self.property_4.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSL.id`.
            pub fn set_id(&mut self, value: String) {
                /* complete generated data model */
                self.property_4 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSL.technique`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechnique[] LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSL.technique`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn technique(&self) -> Vec<libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLSLTechnique>{
                /* complete generated data model */
                self.property_5.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSL.technique`.
            pub fn set_technique(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLSLTechnique>,
            ) {
                /* complete generated data model */
                self.property_5 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechnique`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechnique` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechnique {
    property_0: Vec<libremetaverse_types::compat::Object>,
    property_1: Vec<libremetaverse_types::compat::Object>,
    property_2: Vec<libremetaverse::import_export::collada14::Fx_Annotate_Common>,
    property_3: Vec<libremetaverse::import_export::collada14::Extra>,
    property_4: String,
    property_5: Vec<libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLSLTechniquePass>,
    property_6: String,
}
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechnique {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                    property_4: Default::default(),
                    property_5: Default::default(),
                    property_6: Default::default(),
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechnique {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechnique.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechnique()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechnique.Items`.
            ///
            /// C# signature: `System.Object[] LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechnique.Items`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn items(&self) -> Vec<libremetaverse_types::compat::Object> {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechnique.Items`.
            pub fn set_items(&mut self, value: Vec<libremetaverse_types::compat::Object>) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechnique.Items1`.
            ///
            /// C# signature: `System.Object[] LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechnique.Items1`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn items1(&self) -> Vec<libremetaverse_types::compat::Object> {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechnique.Items1`.
            pub fn set_items1(&mut self, value: Vec<libremetaverse_types::compat::Object>) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechnique.annotate`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_annotate_common[] LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechnique.annotate`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn annotate(
                &self,
            ) -> Vec<libremetaverse::import_export::collada14::Fx_Annotate_Common> {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechnique.annotate`.
            pub fn set_annotate(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Fx_Annotate_Common>,
            ) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechnique.extra`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.extra[] LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechnique.extra`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn extra(&self) -> Vec<libremetaverse::import_export::collada14::Extra> {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechnique.extra`.
            pub fn set_extra(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Extra>,
            ) {
                /* complete generated data model */
                self.property_3 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechnique.id`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechnique.id`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn id(&self) -> String {
                /* complete generated data model */
                self.property_4.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechnique.id`.
            pub fn set_id(&mut self, value: String) {
                /* complete generated data model */
                self.property_4 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechnique.pass`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePass[] LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechnique.pass`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn pass_(&self) -> Vec<libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLSLTechniquePass>{
                /* complete generated data model */
                self.property_5.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechnique.pass`.
            pub fn set_pass_(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLSLTechniquePass>,
            ) {
                /* complete generated data model */
                self.property_5 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechnique.sid`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechnique.sid`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn sid(&self) -> String {
                /* complete generated data model */
                self.property_6.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechnique.sid`.
            pub fn set_sid(&mut self, value: String) {
                /* complete generated data model */
                self.property_6 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePass`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePass` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePass {
            property_0: Vec<libremetaverse_types::compat::Object>,
            property_1: Vec<libremetaverse::import_export::collada14::Fx_Annotate_Common>,
            property_2: Vec<libremetaverse::import_export::collada14::Fx_Clearcolor_Common>,
            property_3: Vec<libremetaverse::import_export::collada14::Fx_Colortarget_Common>,
            property_4: Vec<libremetaverse::import_export::collada14::Fx_Cleardepth_Common>,
            property_5: Vec<libremetaverse::import_export::collada14::Fx_Depthtarget_Common>,
            property_6: String,
            property_7: Vec<libremetaverse::import_export::collada14::Extra>,
            property_8: String,
            property_9: Vec<libremetaverse::import_export::collada14::Fx_Clearstencil_Common>,
            property_10: Vec<libremetaverse::import_export::collada14::Fx_Stenciltarget_Common>,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePass {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                    property_4: Default::default(),
                    property_5: Default::default(),
                    property_6: Default::default(),
                    property_7: Default::default(),
                    property_8: Default::default(),
                    property_9: Default::default(),
                    property_10: Default::default(),
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePass {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePass.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePass()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePass.Items`.
            ///
            /// C# signature: `System.Object[] LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePass.Items`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn items(&self) -> Vec<libremetaverse_types::compat::Object> {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePass.Items`.
            pub fn set_items(&mut self, value: Vec<libremetaverse_types::compat::Object>) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePass.annotate`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_annotate_common[] LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePass.annotate`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn annotate(
                &self,
            ) -> Vec<libremetaverse::import_export::collada14::Fx_Annotate_Common> {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePass.annotate`.
            pub fn set_annotate(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Fx_Annotate_Common>,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePass.color_clear`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_clearcolor_common[] LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePass.color_clear`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn color_clear(
                &self,
            ) -> Vec<libremetaverse::import_export::collada14::Fx_Clearcolor_Common> {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePass.color_clear`.
            pub fn set_color_clear(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Fx_Clearcolor_Common>,
            ) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePass.color_target`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_colortarget_common[] LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePass.color_target`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn color_target(
                &self,
            ) -> Vec<libremetaverse::import_export::collada14::Fx_Colortarget_Common> {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePass.color_target`.
            pub fn set_color_target(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Fx_Colortarget_Common>,
            ) {
                /* complete generated data model */
                self.property_3 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePass.depth_clear`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_cleardepth_common[] LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePass.depth_clear`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn depth_clear(
                &self,
            ) -> Vec<libremetaverse::import_export::collada14::Fx_Cleardepth_Common> {
                /* complete generated data model */
                self.property_4.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePass.depth_clear`.
            pub fn set_depth_clear(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Fx_Cleardepth_Common>,
            ) {
                /* complete generated data model */
                self.property_4 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePass.depth_target`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_depthtarget_common[] LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePass.depth_target`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn depth_target(
                &self,
            ) -> Vec<libremetaverse::import_export::collada14::Fx_Depthtarget_Common> {
                /* complete generated data model */
                self.property_5.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePass.depth_target`.
            pub fn set_depth_target(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Fx_Depthtarget_Common>,
            ) {
                /* complete generated data model */
                self.property_5 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePass.draw`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePass.draw`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn draw(&self) -> String {
                /* complete generated data model */
                self.property_6.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePass.draw`.
            pub fn set_draw(&mut self, value: String) {
                /* complete generated data model */
                self.property_6 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePass.extra`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.extra[] LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePass.extra`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn extra(&self) -> Vec<libremetaverse::import_export::collada14::Extra> {
                /* complete generated data model */
                self.property_7.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePass.extra`.
            pub fn set_extra(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Extra>,
            ) {
                /* complete generated data model */
                self.property_7 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePass.sid`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePass.sid`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn sid(&self) -> String {
                /* complete generated data model */
                self.property_8.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePass.sid`.
            pub fn set_sid(&mut self, value: String) {
                /* complete generated data model */
                self.property_8 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePass.stencil_clear`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_clearstencil_common[] LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePass.stencil_clear`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn stencil_clear(
                &self,
            ) -> Vec<libremetaverse::import_export::collada14::Fx_Clearstencil_Common> {
                /* complete generated data model */
                self.property_9.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePass.stencil_clear`.
            pub fn set_stencil_clear(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Fx_Clearstencil_Common>,
            ) {
                /* complete generated data model */
                self.property_9 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePass.stencil_target`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_stenciltarget_common[] LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePass.stencil_target`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn stencil_target(
                &self,
            ) -> Vec<libremetaverse::import_export::collada14::Fx_Stenciltarget_Common>
            {
                /* complete generated data model */
                self.property_10.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePass.stencil_target`.
            pub fn set_stencil_target(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Fx_Stenciltarget_Common>,
            ) {
                /* complete generated data model */
                self.property_10 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassAlpha_func`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassAlpha_func` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassAlpha_Func {
    property_0: libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLSLTechniquePassAlpha_FuncFunc,
    property_1: libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLSLTechniquePassAlpha_FuncValue,
}
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassAlpha_Func {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassAlpha_Func {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassAlpha_func.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassAlpha_func()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassAlpha_func.func`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassAlpha_funcFunc LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassAlpha_func.func`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn func(&self) -> libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLSLTechniquePassAlpha_FuncFunc{
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassAlpha_func.func`.
            pub fn set_func(
                &mut self,
                value: libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLSLTechniquePassAlpha_FuncFunc,
            ) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassAlpha_func.value`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassAlpha_funcValue LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassAlpha_func.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLSLTechniquePassAlpha_FuncValue{
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassAlpha_func.value`.
            pub fn set_value(
                &mut self,
                value: libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLSLTechniquePassAlpha_FuncValue,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassAlpha_funcFunc`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassAlpha_funcFunc` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassAlpha_FuncFunc {
            property_0: String,
            property_1: libremetaverse::import_export::collada14::Gl_Func_Type,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassAlpha_FuncFunc {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: libremetaverse::import_export::collada14::Gl_Func_Type::ALWAYS,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassAlpha_FuncFunc {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassAlpha_funcFunc.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassAlpha_funcFunc()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassAlpha_funcFunc.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassAlpha_funcFunc.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassAlpha_funcFunc.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassAlpha_funcFunc.value`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_func_type LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassAlpha_funcFunc.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> libremetaverse::import_export::collada14::Gl_Func_Type {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassAlpha_funcFunc.value`.
            pub fn set_value(
                &mut self,
                value: libremetaverse::import_export::collada14::Gl_Func_Type,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassAlpha_funcValue`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassAlpha_funcValue` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassAlpha_FuncValue {
            property_0: String,
            property_1: f32,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassAlpha_FuncValue {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: 0.0,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassAlpha_FuncValue {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassAlpha_funcValue.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassAlpha_funcValue()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassAlpha_funcValue.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassAlpha_funcValue.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassAlpha_funcValue.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassAlpha_funcValue.value`.
            ///
            /// C# signature: `System.Single LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassAlpha_funcValue.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> f32 {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassAlpha_funcValue.value`.
            pub fn set_value(&mut self, value: f32) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassAlpha_test_enable`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassAlpha_test_enable` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassAlpha_Test_Enable {
            property_0: String,
            property_1: bool,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassAlpha_Test_Enable {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: false,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassAlpha_Test_Enable {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassAlpha_test_enable.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassAlpha_test_enable()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassAlpha_test_enable.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassAlpha_test_enable.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassAlpha_test_enable.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassAlpha_test_enable.value`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassAlpha_test_enable.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> bool {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassAlpha_test_enable.value`.
            pub fn set_value(&mut self, value: bool) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassAuto_normal_enable`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassAuto_normal_enable` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassAuto_Normal_Enable {
            property_0: String,
            property_1: bool,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassAuto_Normal_Enable {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: false,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassAuto_Normal_Enable {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassAuto_normal_enable.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassAuto_normal_enable()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassAuto_normal_enable.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassAuto_normal_enable.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassAuto_normal_enable.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassAuto_normal_enable.value`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassAuto_normal_enable.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> bool {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassAuto_normal_enable.value`.
            pub fn set_value(&mut self, value: bool) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_color`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_color` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassBlend_Color {
            property_0: String,
            property_1: Vec<f64>,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassBlend_Color {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassBlend_Color {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_color.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_color()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_color.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_color.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_color.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_color.value`.
            ///
            /// C# signature: `System.Double[] LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_color.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> Vec<f64> {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_color.value`.
            pub fn set_value(&mut self, value: Vec<f64>) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_enable`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_enable` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassBlend_Enable {
            property_0: String,
            property_1: bool,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassBlend_Enable {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: false,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassBlend_Enable {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_enable.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_enable()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_enable.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_enable.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_enable.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_enable.value`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_enable.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> bool {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_enable.value`.
            pub fn set_value(&mut self, value: bool) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_equation`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_equation` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassBlend_Equation {
            property_0: String,
            property_1: libremetaverse::import_export::collada14::Gl_Blend_Equation_Type,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassBlend_Equation {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1:
                        libremetaverse::import_export::collada14::Gl_Blend_Equation_Type::FUNC_ADD,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassBlend_Equation {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_equation.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_equation()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_equation.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_equation.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_equation.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_equation.value`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_blend_equation_type LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_equation.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(
                &self,
            ) -> libremetaverse::import_export::collada14::Gl_Blend_Equation_Type {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_equation.value`.
            pub fn set_value(
                &mut self,
                value: libremetaverse::import_export::collada14::Gl_Blend_Equation_Type,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_equation_separate`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_equation_separate` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassBlend_Equation_Separate {
    property_0: libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLSLTechniquePassBlend_Equation_SeparateAlpha,
    property_1: libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLSLTechniquePassBlend_Equation_SeparateRgb,
}
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassBlend_Equation_Separate {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassBlend_Equation_Separate {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_equation_separate.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_equation_separate()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_equation_separate.alpha`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_equation_separateAlpha LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_equation_separate.alpha`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn alpha(&self) -> libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLSLTechniquePassBlend_Equation_SeparateAlpha{
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_equation_separate.alpha`.
            pub fn set_alpha(
                &mut self,
                value: libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLSLTechniquePassBlend_Equation_SeparateAlpha,
            ) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_equation_separate.rgb`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_equation_separateRgb LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_equation_separate.rgb`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn rgb(&self) -> libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLSLTechniquePassBlend_Equation_SeparateRgb{
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_equation_separate.rgb`.
            pub fn set_rgb(
                &mut self,
                value: libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLSLTechniquePassBlend_Equation_SeparateRgb,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_equation_separateAlpha`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_equation_separateAlpha` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassBlend_Equation_SeparateAlpha {
            property_0: String,
            property_1: libremetaverse::import_export::collada14::Gl_Blend_Equation_Type,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassBlend_Equation_SeparateAlpha {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1:
                        libremetaverse::import_export::collada14::Gl_Blend_Equation_Type::FUNC_ADD,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassBlend_Equation_SeparateAlpha {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_equation_separateAlpha.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_equation_separateAlpha()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_equation_separateAlpha.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_equation_separateAlpha.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_equation_separateAlpha.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_equation_separateAlpha.value`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_blend_equation_type LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_equation_separateAlpha.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(
                &self,
            ) -> libremetaverse::import_export::collada14::Gl_Blend_Equation_Type {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_equation_separateAlpha.value`.
            pub fn set_value(
                &mut self,
                value: libremetaverse::import_export::collada14::Gl_Blend_Equation_Type,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_equation_separateRgb`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_equation_separateRgb` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassBlend_Equation_SeparateRgb {
            property_0: String,
            property_1: libremetaverse::import_export::collada14::Gl_Blend_Equation_Type,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassBlend_Equation_SeparateRgb {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1:
                        libremetaverse::import_export::collada14::Gl_Blend_Equation_Type::FUNC_ADD,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassBlend_Equation_SeparateRgb {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_equation_separateRgb.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_equation_separateRgb()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_equation_separateRgb.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_equation_separateRgb.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_equation_separateRgb.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_equation_separateRgb.value`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_blend_equation_type LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_equation_separateRgb.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(
                &self,
            ) -> libremetaverse::import_export::collada14::Gl_Blend_Equation_Type {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_equation_separateRgb.value`.
            pub fn set_value(
                &mut self,
                value: libremetaverse::import_export::collada14::Gl_Blend_Equation_Type,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_func`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_func` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassBlend_Func {
    property_0: libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLSLTechniquePassBlend_FuncDest,
    property_1: libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLSLTechniquePassBlend_FuncSrc,
}
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassBlend_Func {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassBlend_Func {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_func.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_func()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_func.dest`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_funcDest LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_func.dest`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn dest(&self) -> libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLSLTechniquePassBlend_FuncDest{
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_func.dest`.
            pub fn set_dest(
                &mut self,
                value: libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLSLTechniquePassBlend_FuncDest,
            ) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_func.src`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_funcSrc LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_func.src`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn src(&self) -> libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLSLTechniquePassBlend_FuncSrc{
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_func.src`.
            pub fn set_src(
                &mut self,
                value: libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLSLTechniquePassBlend_FuncSrc,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_funcDest`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_funcDest` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassBlend_FuncDest {
            property_0: String,
            property_1: libremetaverse::import_export::collada14::Gl_Blend_Type,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassBlend_FuncDest {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: libremetaverse::import_export::collada14::Gl_Blend_Type::ZERO,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassBlend_FuncDest {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_funcDest.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_funcDest()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_funcDest.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_funcDest.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_funcDest.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_funcDest.value`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_blend_type LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_funcDest.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> libremetaverse::import_export::collada14::Gl_Blend_Type {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_funcDest.value`.
            pub fn set_value(
                &mut self,
                value: libremetaverse::import_export::collada14::Gl_Blend_Type,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_funcSrc`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_funcSrc` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassBlend_FuncSrc {
            property_0: String,
            property_1: libremetaverse::import_export::collada14::Gl_Blend_Type,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassBlend_FuncSrc {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: libremetaverse::import_export::collada14::Gl_Blend_Type::ONE,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassBlend_FuncSrc {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_funcSrc.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_funcSrc()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_funcSrc.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_funcSrc.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_funcSrc.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_funcSrc.value`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_blend_type LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_funcSrc.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> libremetaverse::import_export::collada14::Gl_Blend_Type {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_funcSrc.value`.
            pub fn set_value(
                &mut self,
                value: libremetaverse::import_export::collada14::Gl_Blend_Type,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_func_separate`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_func_separate` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassBlend_Func_Separate {
    property_0: libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLSLTechniquePassBlend_Func_SeparateDest_Alpha,
    property_1: libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLSLTechniquePassBlend_Func_SeparateDest_Rgb,
    property_2: libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLSLTechniquePassBlend_Func_SeparateSrc_Alpha,
    property_3: libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLSLTechniquePassBlend_Func_SeparateSrc_Rgb,
}
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassBlend_Func_Separate {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassBlend_Func_Separate {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_func_separate.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_func_separate()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_func_separate.dest_alpha`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_func_separateDest_alpha LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_func_separate.dest_alpha`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn dest_alpha(&self) -> libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLSLTechniquePassBlend_Func_SeparateDest_Alpha{
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_func_separate.dest_alpha`.
            pub fn set_dest_alpha(
                &mut self,
                value: libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLSLTechniquePassBlend_Func_SeparateDest_Alpha,
            ) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_func_separate.dest_rgb`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_func_separateDest_rgb LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_func_separate.dest_rgb`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn dest_rgb(&self) -> libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLSLTechniquePassBlend_Func_SeparateDest_Rgb{
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_func_separate.dest_rgb`.
            pub fn set_dest_rgb(
                &mut self,
                value: libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLSLTechniquePassBlend_Func_SeparateDest_Rgb,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_func_separate.src_alpha`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_func_separateSrc_alpha LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_func_separate.src_alpha`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn src_alpha(&self) -> libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLSLTechniquePassBlend_Func_SeparateSrc_Alpha{
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_func_separate.src_alpha`.
            pub fn set_src_alpha(
                &mut self,
                value: libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLSLTechniquePassBlend_Func_SeparateSrc_Alpha,
            ) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_func_separate.src_rgb`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_func_separateSrc_rgb LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_func_separate.src_rgb`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn src_rgb(&self) -> libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLSLTechniquePassBlend_Func_SeparateSrc_Rgb{
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_func_separate.src_rgb`.
            pub fn set_src_rgb(
                &mut self,
                value: libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLSLTechniquePassBlend_Func_SeparateSrc_Rgb,
            ) {
                /* complete generated data model */
                self.property_3 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_func_separateDest_alpha`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_func_separateDest_alpha` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassBlend_Func_SeparateDest_Alpha {
            property_0: String,
            property_1: libremetaverse::import_export::collada14::Gl_Blend_Type,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassBlend_Func_SeparateDest_Alpha {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: libremetaverse::import_export::collada14::Gl_Blend_Type::ZERO,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassBlend_Func_SeparateDest_Alpha {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_func_separateDest_alpha.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_func_separateDest_alpha()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_func_separateDest_alpha.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_func_separateDest_alpha.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_func_separateDest_alpha.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_func_separateDest_alpha.value`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_blend_type LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_func_separateDest_alpha.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> libremetaverse::import_export::collada14::Gl_Blend_Type {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_func_separateDest_alpha.value`.
            pub fn set_value(
                &mut self,
                value: libremetaverse::import_export::collada14::Gl_Blend_Type,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_func_separateDest_rgb`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_func_separateDest_rgb` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassBlend_Func_SeparateDest_Rgb {
            property_0: String,
            property_1: libremetaverse::import_export::collada14::Gl_Blend_Type,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassBlend_Func_SeparateDest_Rgb {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: libremetaverse::import_export::collada14::Gl_Blend_Type::ZERO,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassBlend_Func_SeparateDest_Rgb {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_func_separateDest_rgb.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_func_separateDest_rgb()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_func_separateDest_rgb.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_func_separateDest_rgb.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_func_separateDest_rgb.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_func_separateDest_rgb.value`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_blend_type LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_func_separateDest_rgb.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> libremetaverse::import_export::collada14::Gl_Blend_Type {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_func_separateDest_rgb.value`.
            pub fn set_value(
                &mut self,
                value: libremetaverse::import_export::collada14::Gl_Blend_Type,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_func_separateSrc_alpha`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_func_separateSrc_alpha` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassBlend_Func_SeparateSrc_Alpha {
            property_0: String,
            property_1: libremetaverse::import_export::collada14::Gl_Blend_Type,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassBlend_Func_SeparateSrc_Alpha {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: libremetaverse::import_export::collada14::Gl_Blend_Type::ONE,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassBlend_Func_SeparateSrc_Alpha {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_func_separateSrc_alpha.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_func_separateSrc_alpha()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_func_separateSrc_alpha.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_func_separateSrc_alpha.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_func_separateSrc_alpha.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_func_separateSrc_alpha.value`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_blend_type LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_func_separateSrc_alpha.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> libremetaverse::import_export::collada14::Gl_Blend_Type {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_func_separateSrc_alpha.value`.
            pub fn set_value(
                &mut self,
                value: libremetaverse::import_export::collada14::Gl_Blend_Type,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_func_separateSrc_rgb`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_func_separateSrc_rgb` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassBlend_Func_SeparateSrc_Rgb {
            property_0: String,
            property_1: libremetaverse::import_export::collada14::Gl_Blend_Type,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassBlend_Func_SeparateSrc_Rgb {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: libremetaverse::import_export::collada14::Gl_Blend_Type::ONE,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassBlend_Func_SeparateSrc_Rgb {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_func_separateSrc_rgb.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_func_separateSrc_rgb()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_func_separateSrc_rgb.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_func_separateSrc_rgb.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_func_separateSrc_rgb.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_func_separateSrc_rgb.value`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_blend_type LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_func_separateSrc_rgb.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> libremetaverse::import_export::collada14::Gl_Blend_Type {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassBlend_func_separateSrc_rgb.value`.
            pub fn set_value(
                &mut self,
                value: libremetaverse::import_export::collada14::Gl_Blend_Type,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassClear_color`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassClear_color` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassClear_Color {
            property_0: String,
            property_1: Vec<f64>,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassClear_Color {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassClear_Color {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassClear_color.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassClear_color()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassClear_color.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassClear_color.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassClear_color.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassClear_color.value`.
            ///
            /// C# signature: `System.Double[] LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassClear_color.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> Vec<f64> {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassClear_color.value`.
            pub fn set_value(&mut self, value: Vec<f64>) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassClear_depth`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassClear_depth` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassClear_Depth {
            property_0: String,
            property_1: f64,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassClear_Depth {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: 1.0,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassClear_Depth {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassClear_depth.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassClear_depth()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassClear_depth.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassClear_depth.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassClear_depth.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassClear_depth.value`.
            ///
            /// C# signature: `System.Double LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassClear_depth.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> f64 {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassClear_depth.value`.
            pub fn set_value(&mut self, value: f64) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassClear_stencil`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassClear_stencil` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassClear_Stencil {
            property_0: String,
            property_1: i64,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassClear_Stencil {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: 0,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassClear_Stencil {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassClear_stencil.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassClear_stencil()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassClear_stencil.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassClear_stencil.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassClear_stencil.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassClear_stencil.value`.
            ///
            /// C# signature: `System.Int64 LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassClear_stencil.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> i64 {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassClear_stencil.value`.
            pub fn set_value(&mut self, value: i64) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassClip_plane`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassClip_plane` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassClip_Plane {
            property_0: String,
            property_1: String,
            property_2: Vec<f64>,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassClip_Plane {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassClip_Plane {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassClip_plane.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassClip_plane()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassClip_plane.index`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassClip_plane.index`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn index(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassClip_plane.index`.
            pub fn set_index(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassClip_plane.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassClip_plane.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassClip_plane.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassClip_plane.value`.
            ///
            /// C# signature: `System.Double[] LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassClip_plane.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> Vec<f64> {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassClip_plane.value`.
            pub fn set_value(&mut self, value: Vec<f64>) {
                /* complete generated data model */
                self.property_2 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassClip_plane_enable`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassClip_plane_enable` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassClip_Plane_Enable {
            property_0: String,
            property_1: String,
            property_2: bool,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassClip_Plane_Enable {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: false,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassClip_Plane_Enable {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassClip_plane_enable.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassClip_plane_enable()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassClip_plane_enable.index`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassClip_plane_enable.index`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn index(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassClip_plane_enable.index`.
            pub fn set_index(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassClip_plane_enable.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassClip_plane_enable.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassClip_plane_enable.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassClip_plane_enable.value`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassClip_plane_enable.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> bool {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassClip_plane_enable.value`.
            pub fn set_value(&mut self, value: bool) {
                /* complete generated data model */
                self.property_2 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassColor_logic_op_enable`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassColor_logic_op_enable` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassColor_Logic_Op_Enable {
            property_0: String,
            property_1: bool,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassColor_Logic_Op_Enable {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: false,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassColor_Logic_Op_Enable {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassColor_logic_op_enable.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassColor_logic_op_enable()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassColor_logic_op_enable.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassColor_logic_op_enable.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassColor_logic_op_enable.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassColor_logic_op_enable.value`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassColor_logic_op_enable.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> bool {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassColor_logic_op_enable.value`.
            pub fn set_value(&mut self, value: bool) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassColor_mask`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassColor_mask` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassColor_Mask {
            property_0: String,
            property_1: Vec<bool>,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassColor_Mask {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassColor_Mask {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassColor_mask.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassColor_mask()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassColor_mask.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassColor_mask.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassColor_mask.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassColor_mask.value`.
            ///
            /// C# signature: `System.Boolean[] LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassColor_mask.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> Vec<bool> {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassColor_mask.value`.
            pub fn set_value(&mut self, value: Vec<bool>) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassColor_material`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassColor_material` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassColor_Material {
    property_0: libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLSLTechniquePassColor_MaterialFace,
    property_1: libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLSLTechniquePassColor_MaterialMode,
}
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassColor_Material {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassColor_Material {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassColor_material.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassColor_material()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassColor_material.face`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassColor_materialFace LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassColor_material.face`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn face(&self) -> libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLSLTechniquePassColor_MaterialFace{
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassColor_material.face`.
            pub fn set_face(
                &mut self,
                value: libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLSLTechniquePassColor_MaterialFace,
            ) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassColor_material.mode`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassColor_materialMode LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassColor_material.mode`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn mode(&self) -> libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLSLTechniquePassColor_MaterialMode{
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassColor_material.mode`.
            pub fn set_mode(
                &mut self,
                value: libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLSLTechniquePassColor_MaterialMode,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassColor_materialFace`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassColor_materialFace` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassColor_MaterialFace {
            property_0: String,
            property_1: libremetaverse::import_export::collada14::Gl_Face_Type,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassColor_MaterialFace {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1:
                        libremetaverse::import_export::collada14::Gl_Face_Type::FRONT_AND_BACK,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassColor_MaterialFace {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassColor_materialFace.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassColor_materialFace()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassColor_materialFace.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassColor_materialFace.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassColor_materialFace.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassColor_materialFace.value`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_face_type LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassColor_materialFace.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> libremetaverse::import_export::collada14::Gl_Face_Type {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassColor_materialFace.value`.
            pub fn set_value(
                &mut self,
                value: libremetaverse::import_export::collada14::Gl_Face_Type,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassColor_materialMode`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassColor_materialMode` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassColor_MaterialMode {
            property_0: String,
            property_1: libremetaverse::import_export::collada14::Gl_Material_Type,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassColor_MaterialMode {
            fn default() -> Self {
                /* complete generated data model */
                Self {
            property_0: Default::default(),
            property_1: libremetaverse::import_export::collada14::Gl_Material_Type::AMBIENT_AND_DIFFUSE,
        }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassColor_MaterialMode {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassColor_materialMode.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassColor_materialMode()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassColor_materialMode.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassColor_materialMode.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassColor_materialMode.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassColor_materialMode.value`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_material_type LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassColor_materialMode.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> libremetaverse::import_export::collada14::Gl_Material_Type {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassColor_materialMode.value`.
            pub fn set_value(
                &mut self,
                value: libremetaverse::import_export::collada14::Gl_Material_Type,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassColor_material_enable`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassColor_material_enable` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassColor_Material_Enable {
            property_0: String,
            property_1: bool,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassColor_Material_Enable {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: true,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassColor_Material_Enable {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassColor_material_enable.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassColor_material_enable()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassColor_material_enable.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassColor_material_enable.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassColor_material_enable.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassColor_material_enable.value`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassColor_material_enable.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> bool {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassColor_material_enable.value`.
            pub fn set_value(&mut self, value: bool) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassCull_face`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassCull_face` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassCull_Face {
            property_0: String,
            property_1: libremetaverse::import_export::collada14::Gl_Face_Type,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassCull_Face {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: libremetaverse::import_export::collada14::Gl_Face_Type::BACK,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassCull_Face {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassCull_face.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassCull_face()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassCull_face.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassCull_face.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassCull_face.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassCull_face.value`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_face_type LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassCull_face.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> libremetaverse::import_export::collada14::Gl_Face_Type {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassCull_face.value`.
            pub fn set_value(
                &mut self,
                value: libremetaverse::import_export::collada14::Gl_Face_Type,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassCull_face_enable`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassCull_face_enable` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassCull_Face_Enable {
            property_0: String,
            property_1: bool,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassCull_Face_Enable {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: false,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassCull_Face_Enable {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassCull_face_enable.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassCull_face_enable()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassCull_face_enable.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassCull_face_enable.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassCull_face_enable.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassCull_face_enable.value`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassCull_face_enable.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> bool {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassCull_face_enable.value`.
            pub fn set_value(&mut self, value: bool) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassDepth_bounds`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassDepth_bounds` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassDepth_Bounds {
            property_0: String,
            property_1: Vec<f64>,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassDepth_Bounds {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassDepth_Bounds {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassDepth_bounds.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassDepth_bounds()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassDepth_bounds.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassDepth_bounds.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassDepth_bounds.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassDepth_bounds.value`.
            ///
            /// C# signature: `System.Double[] LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassDepth_bounds.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> Vec<f64> {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassDepth_bounds.value`.
            pub fn set_value(&mut self, value: Vec<f64>) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassDepth_bounds_enable`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassDepth_bounds_enable` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassDepth_Bounds_Enable {
            property_0: String,
            property_1: bool,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassDepth_Bounds_Enable {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: false,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassDepth_Bounds_Enable {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassDepth_bounds_enable.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassDepth_bounds_enable()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassDepth_bounds_enable.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassDepth_bounds_enable.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassDepth_bounds_enable.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassDepth_bounds_enable.value`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassDepth_bounds_enable.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> bool {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassDepth_bounds_enable.value`.
            pub fn set_value(&mut self, value: bool) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassDepth_clamp_enable`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassDepth_clamp_enable` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassDepth_Clamp_Enable {
            property_0: String,
            property_1: bool,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassDepth_Clamp_Enable {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: false,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassDepth_Clamp_Enable {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassDepth_clamp_enable.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassDepth_clamp_enable()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassDepth_clamp_enable.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassDepth_clamp_enable.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassDepth_clamp_enable.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassDepth_clamp_enable.value`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassDepth_clamp_enable.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> bool {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassDepth_clamp_enable.value`.
            pub fn set_value(&mut self, value: bool) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassDepth_func`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassDepth_func` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassDepth_Func {
            property_0: String,
            property_1: libremetaverse::import_export::collada14::Gl_Func_Type,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassDepth_Func {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: libremetaverse::import_export::collada14::Gl_Func_Type::ALWAYS,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassDepth_Func {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassDepth_func.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassDepth_func()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassDepth_func.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassDepth_func.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassDepth_func.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassDepth_func.value`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_func_type LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassDepth_func.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> libremetaverse::import_export::collada14::Gl_Func_Type {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassDepth_func.value`.
            pub fn set_value(
                &mut self,
                value: libremetaverse::import_export::collada14::Gl_Func_Type,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassDepth_mask`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassDepth_mask` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassDepth_Mask {
            property_0: String,
            property_1: bool,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassDepth_Mask {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: true,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassDepth_Mask {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassDepth_mask.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassDepth_mask()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassDepth_mask.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassDepth_mask.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassDepth_mask.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassDepth_mask.value`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassDepth_mask.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> bool {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassDepth_mask.value`.
            pub fn set_value(&mut self, value: bool) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassDepth_range`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassDepth_range` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassDepth_Range {
            property_0: String,
            property_1: Vec<f64>,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassDepth_Range {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassDepth_Range {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassDepth_range.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassDepth_range()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassDepth_range.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassDepth_range.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassDepth_range.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassDepth_range.value`.
            ///
            /// C# signature: `System.Double[] LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassDepth_range.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> Vec<f64> {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassDepth_range.value`.
            pub fn set_value(&mut self, value: Vec<f64>) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassDepth_test_enable`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassDepth_test_enable` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassDepth_Test_Enable {
            property_0: String,
            property_1: bool,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassDepth_Test_Enable {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: false,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassDepth_Test_Enable {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassDepth_test_enable.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassDepth_test_enable()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassDepth_test_enable.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassDepth_test_enable.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassDepth_test_enable.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassDepth_test_enable.value`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassDepth_test_enable.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> bool {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassDepth_test_enable.value`.
            pub fn set_value(&mut self, value: bool) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassDither_enable`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassDither_enable` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassDither_Enable {
            property_0: String,
            property_1: bool,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassDither_Enable {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: true,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassDither_Enable {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassDither_enable.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassDither_enable()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassDither_enable.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassDither_enable.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassDither_enable.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassDither_enable.value`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassDither_enable.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> bool {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassDither_enable.value`.
            pub fn set_value(&mut self, value: bool) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassFog_color`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassFog_color` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassFog_Color {
            property_0: String,
            property_1: Vec<f64>,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassFog_Color {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassFog_Color {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassFog_color.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassFog_color()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassFog_color.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassFog_color.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassFog_color.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassFog_color.value`.
            ///
            /// C# signature: `System.Double[] LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassFog_color.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> Vec<f64> {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassFog_color.value`.
            pub fn set_value(&mut self, value: Vec<f64>) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassFog_coord_src`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassFog_coord_src` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassFog_Coord_Src {
            property_0: String,
            property_1: libremetaverse::import_export::collada14::Gl_Fog_Coord_Src_Type,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassFog_Coord_Src {
            fn default() -> Self {
                /* complete generated data model */
                Self {
            property_0: Default::default(),
            property_1: libremetaverse::import_export::collada14::Gl_Fog_Coord_Src_Type::FOG_COORDINATE,
        }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassFog_Coord_Src {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassFog_coord_src.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassFog_coord_src()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassFog_coord_src.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassFog_coord_src.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassFog_coord_src.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassFog_coord_src.value`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_fog_coord_src_type LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassFog_coord_src.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> libremetaverse::import_export::collada14::Gl_Fog_Coord_Src_Type {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassFog_coord_src.value`.
            pub fn set_value(
                &mut self,
                value: libremetaverse::import_export::collada14::Gl_Fog_Coord_Src_Type,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassFog_density`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassFog_density` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassFog_Density {
            property_0: String,
            property_1: f64,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassFog_Density {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: 1.0,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassFog_Density {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassFog_density.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassFog_density()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassFog_density.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassFog_density.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassFog_density.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassFog_density.value`.
            ///
            /// C# signature: `System.Double LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassFog_density.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> f64 {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassFog_density.value`.
            pub fn set_value(&mut self, value: f64) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassFog_enable`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassFog_enable` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassFog_Enable {
            property_0: String,
            property_1: bool,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassFog_Enable {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: false,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassFog_Enable {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassFog_enable.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassFog_enable()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassFog_enable.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassFog_enable.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassFog_enable.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassFog_enable.value`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassFog_enable.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> bool {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassFog_enable.value`.
            pub fn set_value(&mut self, value: bool) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassFog_end`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassFog_end` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassFog_End {
            property_0: String,
            property_1: f64,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassFog_End {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: 1.0,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassFog_End {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassFog_end.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassFog_end()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassFog_end.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassFog_end.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassFog_end.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassFog_end.value`.
            ///
            /// C# signature: `System.Double LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassFog_end.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> f64 {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassFog_end.value`.
            pub fn set_value(&mut self, value: f64) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassFog_mode`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassFog_mode` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassFog_Mode {
            property_0: String,
            property_1: libremetaverse::import_export::collada14::Gl_Fog_Type,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassFog_Mode {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: libremetaverse::import_export::collada14::Gl_Fog_Type::EXP,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassFog_Mode {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassFog_mode.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassFog_mode()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassFog_mode.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassFog_mode.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassFog_mode.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassFog_mode.value`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_fog_type LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassFog_mode.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> libremetaverse::import_export::collada14::Gl_Fog_Type {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassFog_mode.value`.
            pub fn set_value(
                &mut self,
                value: libremetaverse::import_export::collada14::Gl_Fog_Type,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassFog_start`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassFog_start` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassFog_Start {
            property_0: String,
            property_1: f64,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassFog_Start {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: 0.0,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassFog_Start {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassFog_start.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassFog_start()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassFog_start.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassFog_start.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassFog_start.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassFog_start.value`.
            ///
            /// C# signature: `System.Double LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassFog_start.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> f64 {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassFog_start.value`.
            pub fn set_value(&mut self, value: f64) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassFront_face`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassFront_face` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassFront_Face {
            property_0: String,
            property_1: libremetaverse::import_export::collada14::Gl_Front_Face_Type,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassFront_Face {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: libremetaverse::import_export::collada14::Gl_Front_Face_Type::CCW,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassFront_Face {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassFront_face.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassFront_face()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassFront_face.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassFront_face.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassFront_face.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassFront_face.value`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_front_face_type LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassFront_face.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> libremetaverse::import_export::collada14::Gl_Front_Face_Type {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassFront_face.value`.
            pub fn set_value(
                &mut self,
                value: libremetaverse::import_export::collada14::Gl_Front_Face_Type,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_ambient`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_ambient` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassLight_Ambient {
            property_0: String,
            property_1: String,
            property_2: Vec<f64>,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassLight_Ambient {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassLight_Ambient {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_ambient.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_ambient()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_ambient.index`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_ambient.index`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn index(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_ambient.index`.
            pub fn set_index(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_ambient.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_ambient.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_ambient.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_ambient.value`.
            ///
            /// C# signature: `System.Double[] LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_ambient.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> Vec<f64> {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_ambient.value`.
            pub fn set_value(&mut self, value: Vec<f64>) {
                /* complete generated data model */
                self.property_2 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_constant_attenuation`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_constant_attenuation` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassLight_Constant_Attenuation {
            property_0: String,
            property_1: String,
            property_2: f64,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassLight_Constant_Attenuation {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: 1.0,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassLight_Constant_Attenuation {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_constant_attenuation.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_constant_attenuation()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_constant_attenuation.index`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_constant_attenuation.index`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn index(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_constant_attenuation.index`.
            pub fn set_index(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_constant_attenuation.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_constant_attenuation.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_constant_attenuation.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_constant_attenuation.value`.
            ///
            /// C# signature: `System.Double LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_constant_attenuation.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> f64 {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_constant_attenuation.value`.
            pub fn set_value(&mut self, value: f64) {
                /* complete generated data model */
                self.property_2 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_diffuse`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_diffuse` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassLight_Diffuse {
            property_0: String,
            property_1: String,
            property_2: Vec<f64>,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassLight_Diffuse {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassLight_Diffuse {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_diffuse.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_diffuse()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_diffuse.index`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_diffuse.index`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn index(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_diffuse.index`.
            pub fn set_index(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_diffuse.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_diffuse.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_diffuse.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_diffuse.value`.
            ///
            /// C# signature: `System.Double[] LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_diffuse.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> Vec<f64> {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_diffuse.value`.
            pub fn set_value(&mut self, value: Vec<f64>) {
                /* complete generated data model */
                self.property_2 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_enable`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_enable` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassLight_Enable {
            property_0: String,
            property_1: String,
            property_2: bool,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassLight_Enable {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: false,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassLight_Enable {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_enable.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_enable()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_enable.index`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_enable.index`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn index(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_enable.index`.
            pub fn set_index(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_enable.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_enable.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_enable.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_enable.value`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_enable.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> bool {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_enable.value`.
            pub fn set_value(&mut self, value: bool) {
                /* complete generated data model */
                self.property_2 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_linear_attenuation`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_linear_attenuation` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassLight_Linear_Attenuation {
            property_0: String,
            property_1: String,
            property_2: f64,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassLight_Linear_Attenuation {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: 0.0,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassLight_Linear_Attenuation {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_linear_attenuation.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_linear_attenuation()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_linear_attenuation.index`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_linear_attenuation.index`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn index(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_linear_attenuation.index`.
            pub fn set_index(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_linear_attenuation.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_linear_attenuation.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_linear_attenuation.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_linear_attenuation.value`.
            ///
            /// C# signature: `System.Double LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_linear_attenuation.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> f64 {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_linear_attenuation.value`.
            pub fn set_value(&mut self, value: f64) {
                /* complete generated data model */
                self.property_2 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_model_ambient`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_model_ambient` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassLight_Model_Ambient {
            property_0: String,
            property_1: Vec<f64>,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassLight_Model_Ambient {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassLight_Model_Ambient {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_model_ambient.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_model_ambient()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_model_ambient.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_model_ambient.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_model_ambient.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_model_ambient.value`.
            ///
            /// C# signature: `System.Double[] LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_model_ambient.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> Vec<f64> {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_model_ambient.value`.
            pub fn set_value(&mut self, value: Vec<f64>) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_model_color_control`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_model_color_control` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassLight_Model_Color_Control {
            property_0: String,
            property_1: libremetaverse::import_export::collada14::Gl_Light_Model_Color_Control_Type,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassLight_Model_Color_Control {
            fn default() -> Self {
                /* complete generated data model */
                Self {
            property_0: Default::default(),
            property_1: libremetaverse::import_export::collada14::Gl_Light_Model_Color_Control_Type::SINGLE_COLOR,
        }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassLight_Model_Color_Control {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_model_color_control.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_model_color_control()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_model_color_control.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_model_color_control.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_model_color_control.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_model_color_control.value`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_light_model_color_control_type LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_model_color_control.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(
                &self,
            ) -> libremetaverse::import_export::collada14::Gl_Light_Model_Color_Control_Type
            {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_model_color_control.value`.
            pub fn set_value(
                &mut self,
                value: libremetaverse::import_export::collada14::Gl_Light_Model_Color_Control_Type,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_model_local_viewer_enable`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_model_local_viewer_enable` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassLight_Model_Local_Viewer_Enable {
            property_0: String,
            property_1: bool,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassLight_Model_Local_Viewer_Enable {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: false,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassLight_Model_Local_Viewer_Enable {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_model_local_viewer_enable.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_model_local_viewer_enable()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_model_local_viewer_enable.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_model_local_viewer_enable.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_model_local_viewer_enable.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_model_local_viewer_enable.value`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_model_local_viewer_enable.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> bool {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_model_local_viewer_enable.value`.
            pub fn set_value(&mut self, value: bool) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_model_two_side_enable`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_model_two_side_enable` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassLight_Model_Two_Side_Enable {
            property_0: String,
            property_1: bool,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassLight_Model_Two_Side_Enable {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: false,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassLight_Model_Two_Side_Enable {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_model_two_side_enable.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_model_two_side_enable()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_model_two_side_enable.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_model_two_side_enable.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_model_two_side_enable.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_model_two_side_enable.value`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_model_two_side_enable.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> bool {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_model_two_side_enable.value`.
            pub fn set_value(&mut self, value: bool) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_position`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_position` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassLight_Position {
            property_0: String,
            property_1: String,
            property_2: Vec<f64>,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassLight_Position {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassLight_Position {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_position.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_position()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_position.index`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_position.index`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn index(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_position.index`.
            pub fn set_index(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_position.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_position.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_position.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_position.value`.
            ///
            /// C# signature: `System.Double[] LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_position.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> Vec<f64> {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_position.value`.
            pub fn set_value(&mut self, value: Vec<f64>) {
                /* complete generated data model */
                self.property_2 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_quadratic_attenuation`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_quadratic_attenuation` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassLight_Quadratic_Attenuation {
            property_0: String,
            property_1: String,
            property_2: f64,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassLight_Quadratic_Attenuation {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: 0.0,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassLight_Quadratic_Attenuation {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_quadratic_attenuation.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_quadratic_attenuation()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_quadratic_attenuation.index`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_quadratic_attenuation.index`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn index(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_quadratic_attenuation.index`.
            pub fn set_index(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_quadratic_attenuation.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_quadratic_attenuation.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_quadratic_attenuation.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_quadratic_attenuation.value`.
            ///
            /// C# signature: `System.Double LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_quadratic_attenuation.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> f64 {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_quadratic_attenuation.value`.
            pub fn set_value(&mut self, value: f64) {
                /* complete generated data model */
                self.property_2 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_specular`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_specular` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassLight_Specular {
            property_0: String,
            property_1: String,
            property_2: Vec<f64>,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassLight_Specular {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassLight_Specular {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_specular.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_specular()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_specular.index`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_specular.index`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn index(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_specular.index`.
            pub fn set_index(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_specular.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_specular.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_specular.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_specular.value`.
            ///
            /// C# signature: `System.Double[] LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_specular.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> Vec<f64> {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_specular.value`.
            pub fn set_value(&mut self, value: Vec<f64>) {
                /* complete generated data model */
                self.property_2 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_spot_cutoff`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_spot_cutoff` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassLight_Spot_Cutoff {
            property_0: String,
            property_1: String,
            property_2: f64,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassLight_Spot_Cutoff {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: 180.0,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassLight_Spot_Cutoff {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_spot_cutoff.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_spot_cutoff()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_spot_cutoff.index`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_spot_cutoff.index`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn index(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_spot_cutoff.index`.
            pub fn set_index(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_spot_cutoff.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_spot_cutoff.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_spot_cutoff.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_spot_cutoff.value`.
            ///
            /// C# signature: `System.Double LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_spot_cutoff.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> f64 {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_spot_cutoff.value`.
            pub fn set_value(&mut self, value: f64) {
                /* complete generated data model */
                self.property_2 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_spot_direction`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_spot_direction` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassLight_Spot_Direction {
            property_0: String,
            property_1: String,
            property_2: Vec<f64>,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassLight_Spot_Direction {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassLight_Spot_Direction {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_spot_direction.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_spot_direction()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_spot_direction.index`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_spot_direction.index`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn index(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_spot_direction.index`.
            pub fn set_index(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_spot_direction.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_spot_direction.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_spot_direction.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_spot_direction.value`.
            ///
            /// C# signature: `System.Double[] LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_spot_direction.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> Vec<f64> {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_spot_direction.value`.
            pub fn set_value(&mut self, value: Vec<f64>) {
                /* complete generated data model */
                self.property_2 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_spot_exponent`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_spot_exponent` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassLight_Spot_Exponent {
            property_0: String,
            property_1: String,
            property_2: f64,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassLight_Spot_Exponent {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: 0.0,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassLight_Spot_Exponent {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_spot_exponent.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_spot_exponent()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_spot_exponent.index`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_spot_exponent.index`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn index(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_spot_exponent.index`.
            pub fn set_index(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_spot_exponent.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_spot_exponent.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_spot_exponent.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_spot_exponent.value`.
            ///
            /// C# signature: `System.Double LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_spot_exponent.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> f64 {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLight_spot_exponent.value`.
            pub fn set_value(&mut self, value: f64) {
                /* complete generated data model */
                self.property_2 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLighting_enable`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLighting_enable` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassLighting_Enable {
            property_0: String,
            property_1: bool,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassLighting_Enable {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: false,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassLighting_Enable {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLighting_enable.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLighting_enable()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLighting_enable.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLighting_enable.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLighting_enable.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLighting_enable.value`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLighting_enable.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> bool {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLighting_enable.value`.
            pub fn set_value(&mut self, value: bool) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLine_smooth_enable`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLine_smooth_enable` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassLine_Smooth_Enable {
            property_0: String,
            property_1: bool,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassLine_Smooth_Enable {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: false,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassLine_Smooth_Enable {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLine_smooth_enable.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLine_smooth_enable()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLine_smooth_enable.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLine_smooth_enable.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLine_smooth_enable.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLine_smooth_enable.value`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLine_smooth_enable.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> bool {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLine_smooth_enable.value`.
            pub fn set_value(&mut self, value: bool) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLine_stipple`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLine_stipple` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassLine_Stipple {
            property_0: String,
            property_1: Vec<i64>,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassLine_Stipple {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassLine_Stipple {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLine_stipple.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLine_stipple()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLine_stipple.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLine_stipple.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLine_stipple.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLine_stipple.value`.
            ///
            /// C# signature: `System.Int64[] LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLine_stipple.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> Vec<i64> {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLine_stipple.value`.
            pub fn set_value(&mut self, value: Vec<i64>) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLine_stipple_enable`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLine_stipple_enable` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassLine_Stipple_Enable {
            property_0: String,
            property_1: bool,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassLine_Stipple_Enable {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: false,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassLine_Stipple_Enable {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLine_stipple_enable.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLine_stipple_enable()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLine_stipple_enable.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLine_stipple_enable.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLine_stipple_enable.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLine_stipple_enable.value`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLine_stipple_enable.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> bool {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLine_stipple_enable.value`.
            pub fn set_value(&mut self, value: bool) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLine_width`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLine_width` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassLine_Width {
            property_0: String,
            property_1: f64,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassLine_Width {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: 1.0,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassLine_Width {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLine_width.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLine_width()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLine_width.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLine_width.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLine_width.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLine_width.value`.
            ///
            /// C# signature: `System.Double LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLine_width.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> f64 {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLine_width.value`.
            pub fn set_value(&mut self, value: f64) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLogic_op`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLogic_op` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassLogic_Op {
            property_0: String,
            property_1: libremetaverse::import_export::collada14::Gl_Logic_Op_Type,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassLogic_Op {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: libremetaverse::import_export::collada14::Gl_Logic_Op_Type::COPY,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassLogic_Op {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLogic_op.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLogic_op()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLogic_op.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLogic_op.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLogic_op.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLogic_op.value`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_logic_op_type LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLogic_op.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> libremetaverse::import_export::collada14::Gl_Logic_Op_Type {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLogic_op.value`.
            pub fn set_value(
                &mut self,
                value: libremetaverse::import_export::collada14::Gl_Logic_Op_Type,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLogic_op_enable`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLogic_op_enable` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassLogic_Op_Enable {
            property_0: String,
            property_1: bool,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassLogic_Op_Enable {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: false,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassLogic_Op_Enable {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLogic_op_enable.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLogic_op_enable()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLogic_op_enable.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLogic_op_enable.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLogic_op_enable.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLogic_op_enable.value`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLogic_op_enable.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> bool {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassLogic_op_enable.value`.
            pub fn set_value(&mut self, value: bool) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassMaterial_ambient`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassMaterial_ambient` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassMaterial_Ambient {
            property_0: String,
            property_1: Vec<f64>,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassMaterial_Ambient {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassMaterial_Ambient {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassMaterial_ambient.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassMaterial_ambient()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassMaterial_ambient.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassMaterial_ambient.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassMaterial_ambient.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassMaterial_ambient.value`.
            ///
            /// C# signature: `System.Double[] LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassMaterial_ambient.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> Vec<f64> {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassMaterial_ambient.value`.
            pub fn set_value(&mut self, value: Vec<f64>) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassMaterial_diffuse`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassMaterial_diffuse` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassMaterial_Diffuse {
            property_0: String,
            property_1: Vec<f64>,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassMaterial_Diffuse {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassMaterial_Diffuse {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassMaterial_diffuse.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassMaterial_diffuse()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassMaterial_diffuse.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassMaterial_diffuse.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassMaterial_diffuse.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassMaterial_diffuse.value`.
            ///
            /// C# signature: `System.Double[] LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassMaterial_diffuse.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> Vec<f64> {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassMaterial_diffuse.value`.
            pub fn set_value(&mut self, value: Vec<f64>) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassMaterial_emission`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassMaterial_emission` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassMaterial_Emission {
            property_0: String,
            property_1: Vec<f64>,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassMaterial_Emission {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassMaterial_Emission {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassMaterial_emission.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassMaterial_emission()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassMaterial_emission.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassMaterial_emission.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassMaterial_emission.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassMaterial_emission.value`.
            ///
            /// C# signature: `System.Double[] LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassMaterial_emission.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> Vec<f64> {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassMaterial_emission.value`.
            pub fn set_value(&mut self, value: Vec<f64>) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassMaterial_shininess`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassMaterial_shininess` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassMaterial_Shininess {
            property_0: String,
            property_1: f64,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassMaterial_Shininess {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: 0.0,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassMaterial_Shininess {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassMaterial_shininess.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassMaterial_shininess()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassMaterial_shininess.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassMaterial_shininess.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassMaterial_shininess.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassMaterial_shininess.value`.
            ///
            /// C# signature: `System.Double LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassMaterial_shininess.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> f64 {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassMaterial_shininess.value`.
            pub fn set_value(&mut self, value: f64) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassMaterial_specular`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassMaterial_specular` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassMaterial_Specular {
            property_0: String,
            property_1: Vec<f64>,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassMaterial_Specular {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassMaterial_Specular {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassMaterial_specular.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassMaterial_specular()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassMaterial_specular.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassMaterial_specular.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassMaterial_specular.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassMaterial_specular.value`.
            ///
            /// C# signature: `System.Double[] LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassMaterial_specular.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> Vec<f64> {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassMaterial_specular.value`.
            pub fn set_value(&mut self, value: Vec<f64>) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassModel_view_matrix`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassModel_view_matrix` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassModel_View_Matrix {
            property_0: String,
            property_1: Vec<f64>,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassModel_View_Matrix {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassModel_View_Matrix {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassModel_view_matrix.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassModel_view_matrix()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassModel_view_matrix.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassModel_view_matrix.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassModel_view_matrix.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassModel_view_matrix.value`.
            ///
            /// C# signature: `System.Double[] LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassModel_view_matrix.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> Vec<f64> {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassModel_view_matrix.value`.
            pub fn set_value(&mut self, value: Vec<f64>) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassMultisample_enable`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassMultisample_enable` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassMultisample_Enable {
            property_0: String,
            property_1: bool,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassMultisample_Enable {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: false,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassMultisample_Enable {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassMultisample_enable.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassMultisample_enable()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassMultisample_enable.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassMultisample_enable.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassMultisample_enable.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassMultisample_enable.value`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassMultisample_enable.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> bool {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassMultisample_enable.value`.
            pub fn set_value(&mut self, value: bool) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassNormalize_enable`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassNormalize_enable` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassNormalize_Enable {
            property_0: String,
            property_1: bool,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassNormalize_Enable {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: false,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassNormalize_Enable {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassNormalize_enable.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassNormalize_enable()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassNormalize_enable.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassNormalize_enable.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassNormalize_enable.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassNormalize_enable.value`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassNormalize_enable.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> bool {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassNormalize_enable.value`.
            pub fn set_value(&mut self, value: bool) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPoint_distance_attenuation`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPoint_distance_attenuation` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassPoint_Distance_Attenuation {
            property_0: String,
            property_1: Vec<f64>,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassPoint_Distance_Attenuation {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassPoint_Distance_Attenuation {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPoint_distance_attenuation.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPoint_distance_attenuation()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPoint_distance_attenuation.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPoint_distance_attenuation.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPoint_distance_attenuation.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPoint_distance_attenuation.value`.
            ///
            /// C# signature: `System.Double[] LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPoint_distance_attenuation.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> Vec<f64> {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPoint_distance_attenuation.value`.
            pub fn set_value(&mut self, value: Vec<f64>) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPoint_fade_threshold_size`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPoint_fade_threshold_size` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassPoint_Fade_Threshold_Size {
            property_0: String,
            property_1: f64,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassPoint_Fade_Threshold_Size {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: 1.0,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassPoint_Fade_Threshold_Size {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPoint_fade_threshold_size.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPoint_fade_threshold_size()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPoint_fade_threshold_size.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPoint_fade_threshold_size.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPoint_fade_threshold_size.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPoint_fade_threshold_size.value`.
            ///
            /// C# signature: `System.Double LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPoint_fade_threshold_size.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> f64 {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPoint_fade_threshold_size.value`.
            pub fn set_value(&mut self, value: f64) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPoint_size`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPoint_size` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassPoint_Size {
            property_0: String,
            property_1: f64,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassPoint_Size {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: 1.0,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassPoint_Size {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPoint_size.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPoint_size()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPoint_size.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPoint_size.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPoint_size.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPoint_size.value`.
            ///
            /// C# signature: `System.Double LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPoint_size.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> f64 {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPoint_size.value`.
            pub fn set_value(&mut self, value: f64) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPoint_size_max`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPoint_size_max` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassPoint_Size_Max {
            property_0: String,
            property_1: f64,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassPoint_Size_Max {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: 1.0,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassPoint_Size_Max {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPoint_size_max.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPoint_size_max()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPoint_size_max.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPoint_size_max.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPoint_size_max.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPoint_size_max.value`.
            ///
            /// C# signature: `System.Double LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPoint_size_max.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> f64 {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPoint_size_max.value`.
            pub fn set_value(&mut self, value: f64) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPoint_size_min`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPoint_size_min` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassPoint_Size_Min {
            property_0: String,
            property_1: f64,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassPoint_Size_Min {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: 0.0,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassPoint_Size_Min {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPoint_size_min.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPoint_size_min()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPoint_size_min.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPoint_size_min.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPoint_size_min.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPoint_size_min.value`.
            ///
            /// C# signature: `System.Double LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPoint_size_min.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> f64 {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPoint_size_min.value`.
            pub fn set_value(&mut self, value: f64) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPoint_smooth_enable`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPoint_smooth_enable` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassPoint_Smooth_Enable {
            property_0: String,
            property_1: bool,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassPoint_Smooth_Enable {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: false,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassPoint_Smooth_Enable {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPoint_smooth_enable.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPoint_smooth_enable()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPoint_smooth_enable.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPoint_smooth_enable.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPoint_smooth_enable.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPoint_smooth_enable.value`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPoint_smooth_enable.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> bool {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPoint_smooth_enable.value`.
            pub fn set_value(&mut self, value: bool) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPolygon_mode`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPolygon_mode` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassPolygon_Mode {
    property_0: libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLSLTechniquePassPolygon_ModeFace,
    property_1: libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLSLTechniquePassPolygon_ModeMode,
}
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassPolygon_Mode {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassPolygon_Mode {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPolygon_mode.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPolygon_mode()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPolygon_mode.face`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPolygon_modeFace LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPolygon_mode.face`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn face(&self) -> libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLSLTechniquePassPolygon_ModeFace{
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPolygon_mode.face`.
            pub fn set_face(
                &mut self,
                value: libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLSLTechniquePassPolygon_ModeFace,
            ) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPolygon_mode.mode`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPolygon_modeMode LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPolygon_mode.mode`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn mode(&self) -> libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLSLTechniquePassPolygon_ModeMode{
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPolygon_mode.mode`.
            pub fn set_mode(
                &mut self,
                value: libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLSLTechniquePassPolygon_ModeMode,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPolygon_modeFace`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPolygon_modeFace` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassPolygon_ModeFace {
            property_0: String,
            property_1: libremetaverse::import_export::collada14::Gl_Face_Type,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassPolygon_ModeFace {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1:
                        libremetaverse::import_export::collada14::Gl_Face_Type::FRONT_AND_BACK,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassPolygon_ModeFace {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPolygon_modeFace.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPolygon_modeFace()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPolygon_modeFace.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPolygon_modeFace.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPolygon_modeFace.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPolygon_modeFace.value`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_face_type LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPolygon_modeFace.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> libremetaverse::import_export::collada14::Gl_Face_Type {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPolygon_modeFace.value`.
            pub fn set_value(
                &mut self,
                value: libremetaverse::import_export::collada14::Gl_Face_Type,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPolygon_modeMode`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPolygon_modeMode` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassPolygon_ModeMode {
            property_0: String,
            property_1: libremetaverse::import_export::collada14::Gl_Polygon_Mode_Type,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassPolygon_ModeMode {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1:
                        libremetaverse::import_export::collada14::Gl_Polygon_Mode_Type::FILL,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassPolygon_ModeMode {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPolygon_modeMode.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPolygon_modeMode()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPolygon_modeMode.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPolygon_modeMode.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPolygon_modeMode.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPolygon_modeMode.value`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_polygon_mode_type LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPolygon_modeMode.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> libremetaverse::import_export::collada14::Gl_Polygon_Mode_Type {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPolygon_modeMode.value`.
            pub fn set_value(
                &mut self,
                value: libremetaverse::import_export::collada14::Gl_Polygon_Mode_Type,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPolygon_offset`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPolygon_offset` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassPolygon_Offset {
            property_0: String,
            property_1: Vec<f64>,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassPolygon_Offset {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassPolygon_Offset {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPolygon_offset.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPolygon_offset()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPolygon_offset.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPolygon_offset.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPolygon_offset.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPolygon_offset.value`.
            ///
            /// C# signature: `System.Double[] LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPolygon_offset.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> Vec<f64> {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPolygon_offset.value`.
            pub fn set_value(&mut self, value: Vec<f64>) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPolygon_offset_fill_enable`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPolygon_offset_fill_enable` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassPolygon_Offset_Fill_Enable {
            property_0: String,
            property_1: bool,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassPolygon_Offset_Fill_Enable {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: false,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassPolygon_Offset_Fill_Enable {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPolygon_offset_fill_enable.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPolygon_offset_fill_enable()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPolygon_offset_fill_enable.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPolygon_offset_fill_enable.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPolygon_offset_fill_enable.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPolygon_offset_fill_enable.value`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPolygon_offset_fill_enable.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> bool {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPolygon_offset_fill_enable.value`.
            pub fn set_value(&mut self, value: bool) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPolygon_offset_line_enable`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPolygon_offset_line_enable` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassPolygon_Offset_Line_Enable {
            property_0: String,
            property_1: bool,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassPolygon_Offset_Line_Enable {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: false,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassPolygon_Offset_Line_Enable {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPolygon_offset_line_enable.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPolygon_offset_line_enable()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPolygon_offset_line_enable.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPolygon_offset_line_enable.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPolygon_offset_line_enable.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPolygon_offset_line_enable.value`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPolygon_offset_line_enable.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> bool {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPolygon_offset_line_enable.value`.
            pub fn set_value(&mut self, value: bool) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPolygon_offset_point_enable`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPolygon_offset_point_enable` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassPolygon_Offset_Point_Enable {
            property_0: String,
            property_1: bool,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassPolygon_Offset_Point_Enable {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: false,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassPolygon_Offset_Point_Enable {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPolygon_offset_point_enable.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPolygon_offset_point_enable()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPolygon_offset_point_enable.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPolygon_offset_point_enable.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPolygon_offset_point_enable.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPolygon_offset_point_enable.value`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPolygon_offset_point_enable.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> bool {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPolygon_offset_point_enable.value`.
            pub fn set_value(&mut self, value: bool) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPolygon_smooth_enable`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPolygon_smooth_enable` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassPolygon_Smooth_Enable {
            property_0: String,
            property_1: bool,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassPolygon_Smooth_Enable {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: false,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassPolygon_Smooth_Enable {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPolygon_smooth_enable.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPolygon_smooth_enable()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPolygon_smooth_enable.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPolygon_smooth_enable.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPolygon_smooth_enable.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPolygon_smooth_enable.value`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPolygon_smooth_enable.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> bool {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPolygon_smooth_enable.value`.
            pub fn set_value(&mut self, value: bool) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPolygon_stipple_enable`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPolygon_stipple_enable` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassPolygon_Stipple_Enable {
            property_0: String,
            property_1: bool,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassPolygon_Stipple_Enable {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: false,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassPolygon_Stipple_Enable {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPolygon_stipple_enable.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPolygon_stipple_enable()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPolygon_stipple_enable.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPolygon_stipple_enable.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPolygon_stipple_enable.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPolygon_stipple_enable.value`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPolygon_stipple_enable.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> bool {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassPolygon_stipple_enable.value`.
            pub fn set_value(&mut self, value: bool) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassProjection_matrix`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassProjection_matrix` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassProjection_Matrix {
            property_0: String,
            property_1: Vec<f64>,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassProjection_Matrix {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassProjection_Matrix {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassProjection_matrix.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassProjection_matrix()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassProjection_matrix.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassProjection_matrix.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassProjection_matrix.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassProjection_matrix.value`.
            ///
            /// C# signature: `System.Double[] LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassProjection_matrix.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> Vec<f64> {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassProjection_matrix.value`.
            pub fn set_value(&mut self, value: Vec<f64>) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassRescale_normal_enable`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassRescale_normal_enable` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassRescale_Normal_Enable {
            property_0: String,
            property_1: bool,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassRescale_Normal_Enable {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: false,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassRescale_Normal_Enable {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassRescale_normal_enable.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassRescale_normal_enable()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassRescale_normal_enable.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassRescale_normal_enable.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassRescale_normal_enable.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassRescale_normal_enable.value`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassRescale_normal_enable.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> bool {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassRescale_normal_enable.value`.
            pub fn set_value(&mut self, value: bool) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassSample_alpha_to_coverage_enable`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassSample_alpha_to_coverage_enable` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassSample_Alpha_To_Coverage_Enable {
            property_0: String,
            property_1: bool,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassSample_Alpha_To_Coverage_Enable {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: false,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassSample_Alpha_To_Coverage_Enable {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassSample_alpha_to_coverage_enable.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassSample_alpha_to_coverage_enable()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassSample_alpha_to_coverage_enable.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassSample_alpha_to_coverage_enable.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassSample_alpha_to_coverage_enable.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassSample_alpha_to_coverage_enable.value`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassSample_alpha_to_coverage_enable.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> bool {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassSample_alpha_to_coverage_enable.value`.
            pub fn set_value(&mut self, value: bool) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassSample_alpha_to_one_enable`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassSample_alpha_to_one_enable` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassSample_Alpha_To_One_Enable {
            property_0: String,
            property_1: bool,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassSample_Alpha_To_One_Enable {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: false,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassSample_Alpha_To_One_Enable {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassSample_alpha_to_one_enable.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassSample_alpha_to_one_enable()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassSample_alpha_to_one_enable.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassSample_alpha_to_one_enable.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassSample_alpha_to_one_enable.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassSample_alpha_to_one_enable.value`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassSample_alpha_to_one_enable.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> bool {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassSample_alpha_to_one_enable.value`.
            pub fn set_value(&mut self, value: bool) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassSample_coverage_enable`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassSample_coverage_enable` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassSample_Coverage_Enable {
            property_0: String,
            property_1: bool,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassSample_Coverage_Enable {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: false,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassSample_Coverage_Enable {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassSample_coverage_enable.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassSample_coverage_enable()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassSample_coverage_enable.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassSample_coverage_enable.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassSample_coverage_enable.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassSample_coverage_enable.value`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassSample_coverage_enable.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> bool {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassSample_coverage_enable.value`.
            pub fn set_value(&mut self, value: bool) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassScissor`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassScissor` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassScissor {
            property_0: String,
            property_1: Vec<i64>,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassScissor {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassScissor {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassScissor.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassScissor()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassScissor.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassScissor.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassScissor.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassScissor.value`.
            ///
            /// C# signature: `System.Int64[] LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassScissor.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> Vec<i64> {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassScissor.value`.
            pub fn set_value(&mut self, value: Vec<i64>) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassScissor_test_enable`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassScissor_test_enable` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassScissor_Test_Enable {
            property_0: String,
            property_1: bool,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassScissor_Test_Enable {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: false,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassScissor_Test_Enable {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassScissor_test_enable.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassScissor_test_enable()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassScissor_test_enable.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassScissor_test_enable.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassScissor_test_enable.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassScissor_test_enable.value`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassScissor_test_enable.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> bool {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassScissor_test_enable.value`.
            pub fn set_value(&mut self, value: bool) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassShade_model`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassShade_model` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassShade_Model {
            property_0: String,
            property_1: libremetaverse::import_export::collada14::Gl_Shade_Model_Type,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassShade_Model {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1:
                        libremetaverse::import_export::collada14::Gl_Shade_Model_Type::SMOOTH,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassShade_Model {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassShade_model.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassShade_model()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassShade_model.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassShade_model.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassShade_model.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassShade_model.value`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_shade_model_type LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassShade_model.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> libremetaverse::import_export::collada14::Gl_Shade_Model_Type {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassShade_model.value`.
            pub fn set_value(
                &mut self,
                value: libremetaverse::import_export::collada14::Gl_Shade_Model_Type,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassShader`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassShader` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassShader {
    property_0: Vec<libremetaverse::import_export::collada14::Fx_Annotate_Common>,
    property_1: Vec<libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLSLTechniquePassShaderBind>,
    property_2: String,
    property_3: libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLSLTechniquePassShaderCompiler_Target,
    property_4: libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLSLTechniquePassShaderName,
    property_5: libremetaverse::import_export::collada14::Glsl_Pipeline_Stage,
    property_6: bool,
}
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassShader {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                    property_4: Default::default(),
                    property_5: Default::default(),
                    property_6: Default::default(),
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassShader {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassShader.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassShader()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassShader.annotate`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_annotate_common[] LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassShader.annotate`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn annotate(
                &self,
            ) -> Vec<libremetaverse::import_export::collada14::Fx_Annotate_Common> {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassShader.annotate`.
            pub fn set_annotate(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Fx_Annotate_Common>,
            ) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassShader.bind`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassShaderBind[] LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassShader.bind`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn bind(&self) -> Vec<libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLSLTechniquePassShaderBind>{
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassShader.bind`.
            pub fn set_bind(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLSLTechniquePassShaderBind>,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassShader.compiler_options`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassShader.compiler_options`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn compiler_options(&self) -> String {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassShader.compiler_options`.
            pub fn set_compiler_options(&mut self, value: String) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassShader.compiler_target`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassShaderCompiler_target LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassShader.compiler_target`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn compiler_target(&self) -> libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLSLTechniquePassShaderCompiler_Target{
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassShader.compiler_target`.
            pub fn set_compiler_target(
                &mut self,
                value: libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLSLTechniquePassShaderCompiler_Target,
            ) {
                /* complete generated data model */
                self.property_3 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassShader.name`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassShaderName LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassShader.name`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn name(&self) -> libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLSLTechniquePassShaderName{
                /* complete generated data model */
                self.property_4.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassShader.name`.
            pub fn set_name(
                &mut self,
                value: libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLSLTechniquePassShaderName,
            ) {
                /* complete generated data model */
                self.property_4 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassShader.stage`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.glsl_pipeline_stage LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassShader.stage`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn stage(&self) -> libremetaverse::import_export::collada14::Glsl_Pipeline_Stage {
                /* complete generated data model */
                self.property_5.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassShader.stage`.
            pub fn set_stage(
                &mut self,
                value: libremetaverse::import_export::collada14::Glsl_Pipeline_Stage,
            ) {
                /* complete generated data model */
                self.property_5 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassShader.stageSpecified`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassShader.stageSpecified`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn stage_specified(&self) -> bool {
                /* complete generated data model */
                self.property_6.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassShader.stageSpecified`.
            pub fn set_stage_specified(&mut self, value: bool) {
                /* complete generated data model */
                self.property_6 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassShaderBind`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassShaderBind` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassShaderBind {
            property_0: libremetaverse_types::compat::Object,
            property_1: libremetaverse::import_export::collada14::ItemChoiceType5,
            property_2: String,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassShaderBind {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassShaderBind {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassShaderBind.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassShaderBind()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassShaderBind.Item`.
            ///
            /// C# signature: `System.Object LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassShaderBind.Item`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn item(&self) -> libremetaverse_types::compat::Object {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassShaderBind.Item`.
            pub fn set_item(&mut self, value: libremetaverse_types::compat::Object) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassShaderBind.ItemElementName`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType5 LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassShaderBind.ItemElementName`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn item_element_name(
                &self,
            ) -> libremetaverse::import_export::collada14::ItemChoiceType5 {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassShaderBind.ItemElementName`.
            pub fn set_item_element_name(
                &mut self,
                value: libremetaverse::import_export::collada14::ItemChoiceType5,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassShaderBind.symbol`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassShaderBind.symbol`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn symbol(&self) -> String {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassShaderBind.symbol`.
            pub fn set_symbol(&mut self, value: String) {
                /* complete generated data model */
                self.property_2 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassShaderBindParam`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassShaderBindParam` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassShaderBindParam {
            property_0: String,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassShaderBindParam {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassShaderBindParam {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassShaderBindParam.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassShaderBindParam()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassShaderBindParam.ref`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassShaderBindParam.ref`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn ref_(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassShaderBindParam.ref`.
            pub fn set_ref_(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassShaderCompiler_target`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassShaderCompiler_target` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassShaderCompiler_Target {
            property_0: String,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassShaderCompiler_Target {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassShaderCompiler_Target {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassShaderCompiler_target.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassShaderCompiler_target()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassShaderCompiler_target.Value`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassShaderCompiler_target.Value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassShaderCompiler_target.Value`.
            pub fn set_value(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassShaderName`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassShaderName` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassShaderName {
            property_0: String,
            property_1: String,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassShaderName {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassShaderName {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassShaderName.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassShaderName()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassShaderName.Value`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassShaderName.Value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassShaderName.Value`.
            pub fn set_value(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassShaderName.source`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassShaderName.source`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn source(&self) -> String {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassShaderName.source`.
            pub fn set_source(&mut self, value: String) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_func`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_func` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_Func {
    property_0: libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_FuncFunc,
    property_1: libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_FuncMask,
    property_2: libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_FuncRef,
}
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_Func {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_Func {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_func.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_func()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_func.func`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_funcFunc LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_func.func`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn func(&self) -> libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_FuncFunc{
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_func.func`.
            pub fn set_func(
                &mut self,
                value: libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_FuncFunc,
            ) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_func.mask`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_funcMask LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_func.mask`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn mask(&self) -> libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_FuncMask{
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_func.mask`.
            pub fn set_mask(
                &mut self,
                value: libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_FuncMask,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_func.ref`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_funcRef LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_func.ref`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn ref_(&self) -> libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_FuncRef{
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_func.ref`.
            pub fn set_ref_(
                &mut self,
                value: libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_FuncRef,
            ) {
                /* complete generated data model */
                self.property_2 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_funcFunc`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_funcFunc` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_FuncFunc {
            property_0: String,
            property_1: libremetaverse::import_export::collada14::Gl_Func_Type,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_FuncFunc {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: libremetaverse::import_export::collada14::Gl_Func_Type::ALWAYS,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_FuncFunc {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_funcFunc.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_funcFunc()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_funcFunc.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_funcFunc.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_funcFunc.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_funcFunc.value`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_func_type LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_funcFunc.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> libremetaverse::import_export::collada14::Gl_Func_Type {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_funcFunc.value`.
            pub fn set_value(
                &mut self,
                value: libremetaverse::import_export::collada14::Gl_Func_Type,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_funcMask`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_funcMask` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_FuncMask {
            property_0: String,
            property_1: u8,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_FuncMask {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: 255,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_FuncMask {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_funcMask.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_funcMask()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_funcMask.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_funcMask.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_funcMask.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_funcMask.value`.
            ///
            /// C# signature: `System.Byte LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_funcMask.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> u8 {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_funcMask.value`.
            pub fn set_value(&mut self, value: u8) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_funcRef`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_funcRef` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_FuncRef {
            property_0: String,
            property_1: u8,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_FuncRef {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: 0,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_FuncRef {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_funcRef.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_funcRef()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_funcRef.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_funcRef.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_funcRef.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_funcRef.value`.
            ///
            /// C# signature: `System.Byte LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_funcRef.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> u8 {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_funcRef.value`.
            pub fn set_value(&mut self, value: u8) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_func_separate`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_func_separate` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_Func_Separate {
    property_0: libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_Func_SeparateBack,
    property_1: libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_Func_SeparateFront,
    property_2: libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_Func_SeparateMask,
    property_3: libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_Func_SeparateRef,
}
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_Func_Separate {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_Func_Separate {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_func_separate.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_func_separate()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_func_separate.back`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_func_separateBack LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_func_separate.back`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn back(&self) -> libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_Func_SeparateBack{
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_func_separate.back`.
            pub fn set_back(
                &mut self,
                value: libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_Func_SeparateBack,
            ) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_func_separate.front`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_func_separateFront LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_func_separate.front`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn front(&self) -> libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_Func_SeparateFront{
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_func_separate.front`.
            pub fn set_front(
                &mut self,
                value: libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_Func_SeparateFront,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_func_separate.mask`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_func_separateMask LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_func_separate.mask`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn mask(&self) -> libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_Func_SeparateMask{
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_func_separate.mask`.
            pub fn set_mask(
                &mut self,
                value: libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_Func_SeparateMask,
            ) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_func_separate.ref`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_func_separateRef LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_func_separate.ref`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn ref_(&self) -> libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_Func_SeparateRef{
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_func_separate.ref`.
            pub fn set_ref_(
                &mut self,
                value: libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_Func_SeparateRef,
            ) {
                /* complete generated data model */
                self.property_3 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_func_separateBack`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_func_separateBack` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_Func_SeparateBack {
            property_0: String,
            property_1: libremetaverse::import_export::collada14::Gl_Func_Type,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_Func_SeparateBack {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: libremetaverse::import_export::collada14::Gl_Func_Type::ALWAYS,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_Func_SeparateBack {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_func_separateBack.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_func_separateBack()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_func_separateBack.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_func_separateBack.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_func_separateBack.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_func_separateBack.value`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_func_type LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_func_separateBack.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> libremetaverse::import_export::collada14::Gl_Func_Type {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_func_separateBack.value`.
            pub fn set_value(
                &mut self,
                value: libremetaverse::import_export::collada14::Gl_Func_Type,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_func_separateFront`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_func_separateFront` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_Func_SeparateFront {
            property_0: String,
            property_1: libremetaverse::import_export::collada14::Gl_Func_Type,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_Func_SeparateFront {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: libremetaverse::import_export::collada14::Gl_Func_Type::ALWAYS,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_Func_SeparateFront {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_func_separateFront.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_func_separateFront()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_func_separateFront.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_func_separateFront.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_func_separateFront.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_func_separateFront.value`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_func_type LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_func_separateFront.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> libremetaverse::import_export::collada14::Gl_Func_Type {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_func_separateFront.value`.
            pub fn set_value(
                &mut self,
                value: libremetaverse::import_export::collada14::Gl_Func_Type,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_func_separateMask`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_func_separateMask` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_Func_SeparateMask {
            property_0: String,
            property_1: u8,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_Func_SeparateMask {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: 255,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_Func_SeparateMask {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_func_separateMask.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_func_separateMask()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_func_separateMask.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_func_separateMask.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_func_separateMask.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_func_separateMask.value`.
            ///
            /// C# signature: `System.Byte LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_func_separateMask.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> u8 {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_func_separateMask.value`.
            pub fn set_value(&mut self, value: u8) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_func_separateRef`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_func_separateRef` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_Func_SeparateRef {
            property_0: String,
            property_1: u8,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_Func_SeparateRef {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: 0,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_Func_SeparateRef {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_func_separateRef.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_func_separateRef()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_func_separateRef.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_func_separateRef.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_func_separateRef.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_func_separateRef.value`.
            ///
            /// C# signature: `System.Byte LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_func_separateRef.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> u8 {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_func_separateRef.value`.
            pub fn set_value(&mut self, value: u8) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_mask`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_mask` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_Mask {
            property_0: String,
            property_1: i64,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_Mask {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: 4294967295,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_Mask {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_mask.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_mask()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_mask.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_mask.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_mask.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_mask.value`.
            ///
            /// C# signature: `System.Int64 LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_mask.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> i64 {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_mask.value`.
            pub fn set_value(&mut self, value: i64) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_mask_separate`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_mask_separate` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_Mask_Separate {
    property_0: libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_Mask_SeparateFace,
    property_1: libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_Mask_SeparateMask,
}
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_Mask_Separate {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_Mask_Separate {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_mask_separate.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_mask_separate()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_mask_separate.face`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_mask_separateFace LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_mask_separate.face`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn face(&self) -> libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_Mask_SeparateFace{
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_mask_separate.face`.
            pub fn set_face(
                &mut self,
                value: libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_Mask_SeparateFace,
            ) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_mask_separate.mask`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_mask_separateMask LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_mask_separate.mask`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn mask(&self) -> libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_Mask_SeparateMask{
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_mask_separate.mask`.
            pub fn set_mask(
                &mut self,
                value: libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_Mask_SeparateMask,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_mask_separateFace`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_mask_separateFace` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_Mask_SeparateFace {
            property_0: String,
            property_1: libremetaverse::import_export::collada14::Gl_Face_Type,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_Mask_SeparateFace {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1:
                        libremetaverse::import_export::collada14::Gl_Face_Type::FRONT_AND_BACK,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_Mask_SeparateFace {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_mask_separateFace.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_mask_separateFace()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_mask_separateFace.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_mask_separateFace.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_mask_separateFace.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_mask_separateFace.value`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_face_type LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_mask_separateFace.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> libremetaverse::import_export::collada14::Gl_Face_Type {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_mask_separateFace.value`.
            pub fn set_value(
                &mut self,
                value: libremetaverse::import_export::collada14::Gl_Face_Type,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_mask_separateMask`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_mask_separateMask` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_Mask_SeparateMask {
            property_0: String,
            property_1: u8,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_Mask_SeparateMask {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: 255,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_Mask_SeparateMask {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_mask_separateMask.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_mask_separateMask()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_mask_separateMask.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_mask_separateMask.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_mask_separateMask.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_mask_separateMask.value`.
            ///
            /// C# signature: `System.Byte LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_mask_separateMask.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> u8 {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_mask_separateMask.value`.
            pub fn set_value(&mut self, value: u8) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_op`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_op` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_Op {
    property_0: libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_OpFail,
    property_1: libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_OpZfail,
    property_2: libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_OpZpass,
}
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_Op {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_Op {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_op.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_op()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_op.fail`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_opFail LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_op.fail`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn fail(&self) -> libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_OpFail{
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_op.fail`.
            pub fn set_fail(
                &mut self,
                value: libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_OpFail,
            ) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_op.zfail`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_opZfail LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_op.zfail`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn zfail(&self) -> libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_OpZfail{
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_op.zfail`.
            pub fn set_zfail(
                &mut self,
                value: libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_OpZfail,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_op.zpass`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_opZpass LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_op.zpass`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn zpass(&self) -> libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_OpZpass{
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_op.zpass`.
            pub fn set_zpass(
                &mut self,
                value: libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_OpZpass,
            ) {
                /* complete generated data model */
                self.property_2 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_opFail`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_opFail` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_OpFail {
            property_0: String,
            property_1: libremetaverse::import_export::collada14::Gl_Stencil_Op_Type,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_OpFail {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: libremetaverse::import_export::collada14::Gl_Stencil_Op_Type::KEEP,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_OpFail {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_opFail.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_opFail()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_opFail.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_opFail.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_opFail.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_opFail.value`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_stencil_op_type LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_opFail.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> libremetaverse::import_export::collada14::Gl_Stencil_Op_Type {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_opFail.value`.
            pub fn set_value(
                &mut self,
                value: libremetaverse::import_export::collada14::Gl_Stencil_Op_Type,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_opZfail`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_opZfail` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_OpZfail {
            property_0: String,
            property_1: libremetaverse::import_export::collada14::Gl_Stencil_Op_Type,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_OpZfail {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: libremetaverse::import_export::collada14::Gl_Stencil_Op_Type::KEEP,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_OpZfail {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_opZfail.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_opZfail()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_opZfail.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_opZfail.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_opZfail.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_opZfail.value`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_stencil_op_type LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_opZfail.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> libremetaverse::import_export::collada14::Gl_Stencil_Op_Type {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_opZfail.value`.
            pub fn set_value(
                &mut self,
                value: libremetaverse::import_export::collada14::Gl_Stencil_Op_Type,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_opZpass`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_opZpass` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_OpZpass {
            property_0: String,
            property_1: libremetaverse::import_export::collada14::Gl_Stencil_Op_Type,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_OpZpass {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: libremetaverse::import_export::collada14::Gl_Stencil_Op_Type::KEEP,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_OpZpass {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_opZpass.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_opZpass()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_opZpass.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_opZpass.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_opZpass.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_opZpass.value`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_stencil_op_type LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_opZpass.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> libremetaverse::import_export::collada14::Gl_Stencil_Op_Type {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_opZpass.value`.
            pub fn set_value(
                &mut self,
                value: libremetaverse::import_export::collada14::Gl_Stencil_Op_Type,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_op_separate`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_op_separate` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_Op_Separate {
    property_0: libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_Op_SeparateFace,
    property_1: libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_Op_SeparateFail,
    property_2: libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_Op_SeparateZfail,
    property_3: libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_Op_SeparateZpass,
}
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_Op_Separate {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_Op_Separate {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_op_separate.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_op_separate()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_op_separate.face`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_op_separateFace LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_op_separate.face`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn face(&self) -> libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_Op_SeparateFace{
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_op_separate.face`.
            pub fn set_face(
                &mut self,
                value: libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_Op_SeparateFace,
            ) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_op_separate.fail`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_op_separateFail LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_op_separate.fail`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn fail(&self) -> libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_Op_SeparateFail{
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_op_separate.fail`.
            pub fn set_fail(
                &mut self,
                value: libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_Op_SeparateFail,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_op_separate.zfail`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_op_separateZfail LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_op_separate.zfail`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn zfail(&self) -> libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_Op_SeparateZfail{
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_op_separate.zfail`.
            pub fn set_zfail(
                &mut self,
                value: libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_Op_SeparateZfail,
            ) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_op_separate.zpass`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_op_separateZpass LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_op_separate.zpass`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn zpass(&self) -> libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_Op_SeparateZpass{
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_op_separate.zpass`.
            pub fn set_zpass(
                &mut self,
                value: libremetaverse::import_export::collada14::EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_Op_SeparateZpass,
            ) {
                /* complete generated data model */
                self.property_3 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_op_separateFace`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_op_separateFace` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_Op_SeparateFace {
            property_0: String,
            property_1: libremetaverse::import_export::collada14::Gl_Face_Type,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_Op_SeparateFace {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1:
                        libremetaverse::import_export::collada14::Gl_Face_Type::FRONT_AND_BACK,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_Op_SeparateFace {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_op_separateFace.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_op_separateFace()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_op_separateFace.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_op_separateFace.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_op_separateFace.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_op_separateFace.value`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_face_type LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_op_separateFace.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> libremetaverse::import_export::collada14::Gl_Face_Type {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_op_separateFace.value`.
            pub fn set_value(
                &mut self,
                value: libremetaverse::import_export::collada14::Gl_Face_Type,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_op_separateFail`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_op_separateFail` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_Op_SeparateFail {
            property_0: String,
            property_1: libremetaverse::import_export::collada14::Gl_Stencil_Op_Type,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_Op_SeparateFail {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: libremetaverse::import_export::collada14::Gl_Stencil_Op_Type::KEEP,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_Op_SeparateFail {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_op_separateFail.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_op_separateFail()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_op_separateFail.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_op_separateFail.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_op_separateFail.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_op_separateFail.value`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_stencil_op_type LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_op_separateFail.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> libremetaverse::import_export::collada14::Gl_Stencil_Op_Type {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_op_separateFail.value`.
            pub fn set_value(
                &mut self,
                value: libremetaverse::import_export::collada14::Gl_Stencil_Op_Type,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_op_separateZfail`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_op_separateZfail` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_Op_SeparateZfail {
            property_0: String,
            property_1: libremetaverse::import_export::collada14::Gl_Stencil_Op_Type,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_Op_SeparateZfail {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: libremetaverse::import_export::collada14::Gl_Stencil_Op_Type::KEEP,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_Op_SeparateZfail {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_op_separateZfail.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_op_separateZfail()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_op_separateZfail.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_op_separateZfail.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_op_separateZfail.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_op_separateZfail.value`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_stencil_op_type LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_op_separateZfail.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> libremetaverse::import_export::collada14::Gl_Stencil_Op_Type {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_op_separateZfail.value`.
            pub fn set_value(
                &mut self,
                value: libremetaverse::import_export::collada14::Gl_Stencil_Op_Type,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_op_separateZpass`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_op_separateZpass` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_Op_SeparateZpass {
            property_0: String,
            property_1: libremetaverse::import_export::collada14::Gl_Stencil_Op_Type,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_Op_SeparateZpass {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: libremetaverse::import_export::collada14::Gl_Stencil_Op_Type::KEEP,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_Op_SeparateZpass {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_op_separateZpass.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_op_separateZpass()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_op_separateZpass.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_op_separateZpass.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_op_separateZpass.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_op_separateZpass.value`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_stencil_op_type LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_op_separateZpass.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> libremetaverse::import_export::collada14::Gl_Stencil_Op_Type {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_op_separateZpass.value`.
            pub fn set_value(
                &mut self,
                value: libremetaverse::import_export::collada14::Gl_Stencil_Op_Type,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_test_enable`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_test_enable` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_Test_Enable {
            property_0: String,
            property_1: bool,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_Test_Enable {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: false,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassStencil_Test_Enable {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_test_enable.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_test_enable()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_test_enable.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_test_enable.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_test_enable.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_test_enable.value`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_test_enable.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> bool {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassStencil_test_enable.value`.
            pub fn set_value(&mut self, value: bool) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTexture1D`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTexture1D` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassTexture1D {
            property_0: libremetaverse_types::compat::Object,
            property_1: String,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassTexture1D {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassTexture1D {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTexture1D.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTexture1D()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTexture1D.Item`.
            ///
            /// C# signature: `System.Object LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTexture1D.Item`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn item(&self) -> libremetaverse_types::compat::Object {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTexture1D.Item`.
            pub fn set_item(&mut self, value: libremetaverse_types::compat::Object) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTexture1D.index`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTexture1D.index`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn index(&self) -> String {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTexture1D.index`.
            pub fn set_index(&mut self, value: String) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTexture1D_enable`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTexture1D_enable` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassTexture1D_Enable {
            property_0: String,
            property_1: String,
            property_2: bool,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassTexture1D_Enable {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: false,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassTexture1D_Enable {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTexture1D_enable.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTexture1D_enable()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTexture1D_enable.index`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTexture1D_enable.index`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn index(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTexture1D_enable.index`.
            pub fn set_index(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTexture1D_enable.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTexture1D_enable.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTexture1D_enable.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTexture1D_enable.value`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTexture1D_enable.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> bool {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTexture1D_enable.value`.
            pub fn set_value(&mut self, value: bool) {
                /* complete generated data model */
                self.property_2 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTexture2D`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTexture2D` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassTexture2D {
            property_0: libremetaverse_types::compat::Object,
            property_1: String,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassTexture2D {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassTexture2D {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTexture2D.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTexture2D()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTexture2D.Item`.
            ///
            /// C# signature: `System.Object LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTexture2D.Item`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn item(&self) -> libremetaverse_types::compat::Object {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTexture2D.Item`.
            pub fn set_item(&mut self, value: libremetaverse_types::compat::Object) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTexture2D.index`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTexture2D.index`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn index(&self) -> String {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTexture2D.index`.
            pub fn set_index(&mut self, value: String) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTexture2D_enable`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTexture2D_enable` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassTexture2D_Enable {
            property_0: String,
            property_1: String,
            property_2: bool,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassTexture2D_Enable {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: false,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassTexture2D_Enable {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTexture2D_enable.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTexture2D_enable()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTexture2D_enable.index`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTexture2D_enable.index`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn index(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTexture2D_enable.index`.
            pub fn set_index(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTexture2D_enable.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTexture2D_enable.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTexture2D_enable.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTexture2D_enable.value`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTexture2D_enable.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> bool {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTexture2D_enable.value`.
            pub fn set_value(&mut self, value: bool) {
                /* complete generated data model */
                self.property_2 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTexture3D`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTexture3D` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassTexture3D {
            property_0: libremetaverse_types::compat::Object,
            property_1: String,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassTexture3D {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassTexture3D {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTexture3D.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTexture3D()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTexture3D.Item`.
            ///
            /// C# signature: `System.Object LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTexture3D.Item`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn item(&self) -> libremetaverse_types::compat::Object {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTexture3D.Item`.
            pub fn set_item(&mut self, value: libremetaverse_types::compat::Object) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTexture3D.index`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTexture3D.index`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn index(&self) -> String {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTexture3D.index`.
            pub fn set_index(&mut self, value: String) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTexture3D_enable`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTexture3D_enable` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassTexture3D_Enable {
            property_0: String,
            property_1: String,
            property_2: bool,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassTexture3D_Enable {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: false,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassTexture3D_Enable {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTexture3D_enable.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTexture3D_enable()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTexture3D_enable.index`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTexture3D_enable.index`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn index(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTexture3D_enable.index`.
            pub fn set_index(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTexture3D_enable.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTexture3D_enable.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTexture3D_enable.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTexture3D_enable.value`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTexture3D_enable.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> bool {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTexture3D_enable.value`.
            pub fn set_value(&mut self, value: bool) {
                /* complete generated data model */
                self.property_2 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTextureCUBE`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTextureCUBE` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassTextureCUBE {
            property_0: libremetaverse_types::compat::Object,
            property_1: String,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassTextureCUBE {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassTextureCUBE {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTextureCUBE.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTextureCUBE()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTextureCUBE.Item`.
            ///
            /// C# signature: `System.Object LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTextureCUBE.Item`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn item(&self) -> libremetaverse_types::compat::Object {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTextureCUBE.Item`.
            pub fn set_item(&mut self, value: libremetaverse_types::compat::Object) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTextureCUBE.index`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTextureCUBE.index`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn index(&self) -> String {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTextureCUBE.index`.
            pub fn set_index(&mut self, value: String) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTextureCUBE_enable`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTextureCUBE_enable` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassTextureCUBE_Enable {
            property_0: String,
            property_1: String,
            property_2: bool,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassTextureCUBE_Enable {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: false,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassTextureCUBE_Enable {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTextureCUBE_enable.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTextureCUBE_enable()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTextureCUBE_enable.index`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTextureCUBE_enable.index`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn index(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTextureCUBE_enable.index`.
            pub fn set_index(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTextureCUBE_enable.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTextureCUBE_enable.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTextureCUBE_enable.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTextureCUBE_enable.value`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTextureCUBE_enable.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> bool {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTextureCUBE_enable.value`.
            pub fn set_value(&mut self, value: bool) {
                /* complete generated data model */
                self.property_2 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTextureDEPTH`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTextureDEPTH` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassTextureDEPTH {
            property_0: libremetaverse_types::compat::Object,
            property_1: String,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassTextureDEPTH {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassTextureDEPTH {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTextureDEPTH.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTextureDEPTH()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTextureDEPTH.Item`.
            ///
            /// C# signature: `System.Object LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTextureDEPTH.Item`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn item(&self) -> libremetaverse_types::compat::Object {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTextureDEPTH.Item`.
            pub fn set_item(&mut self, value: libremetaverse_types::compat::Object) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTextureDEPTH.index`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTextureDEPTH.index`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn index(&self) -> String {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTextureDEPTH.index`.
            pub fn set_index(&mut self, value: String) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTextureDEPTH_enable`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTextureDEPTH_enable` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassTextureDEPTH_Enable {
            property_0: String,
            property_1: String,
            property_2: bool,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassTextureDEPTH_Enable {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: false,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassTextureDEPTH_Enable {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTextureDEPTH_enable.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTextureDEPTH_enable()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTextureDEPTH_enable.index`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTextureDEPTH_enable.index`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn index(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTextureDEPTH_enable.index`.
            pub fn set_index(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTextureDEPTH_enable.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTextureDEPTH_enable.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTextureDEPTH_enable.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTextureDEPTH_enable.value`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTextureDEPTH_enable.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> bool {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTextureDEPTH_enable.value`.
            pub fn set_value(&mut self, value: bool) {
                /* complete generated data model */
                self.property_2 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTextureRECT`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTextureRECT` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassTextureRECT {
            property_0: libremetaverse_types::compat::Object,
            property_1: String,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassTextureRECT {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassTextureRECT {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTextureRECT.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTextureRECT()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTextureRECT.Item`.
            ///
            /// C# signature: `System.Object LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTextureRECT.Item`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn item(&self) -> libremetaverse_types::compat::Object {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTextureRECT.Item`.
            pub fn set_item(&mut self, value: libremetaverse_types::compat::Object) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTextureRECT.index`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTextureRECT.index`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn index(&self) -> String {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTextureRECT.index`.
            pub fn set_index(&mut self, value: String) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTextureRECT_enable`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTextureRECT_enable` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassTextureRECT_Enable {
            property_0: String,
            property_1: String,
            property_2: bool,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassTextureRECT_Enable {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: false,
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassTextureRECT_Enable {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTextureRECT_enable.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTextureRECT_enable()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTextureRECT_enable.index`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTextureRECT_enable.index`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn index(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTextureRECT_enable.index`.
            pub fn set_index(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTextureRECT_enable.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTextureRECT_enable.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTextureRECT_enable.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTextureRECT_enable.value`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTextureRECT_enable.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> bool {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTextureRECT_enable.value`.
            pub fn set_value(&mut self, value: bool) {
                /* complete generated data model */
                self.property_2 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTexture_env_color`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTexture_env_color` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassTexture_Env_Color {
            property_0: String,
            property_1: String,
            property_2: Vec<f64>,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassTexture_Env_Color {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassTexture_Env_Color {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTexture_env_color.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTexture_env_color()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTexture_env_color.index`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTexture_env_color.index`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn index(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTexture_env_color.index`.
            pub fn set_index(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTexture_env_color.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTexture_env_color.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTexture_env_color.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTexture_env_color.value`.
            ///
            /// C# signature: `System.Double[] LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTexture_env_color.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> Vec<f64> {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTexture_env_color.value`.
            pub fn set_value(&mut self, value: Vec<f64>) {
                /* complete generated data model */
                self.property_2 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTexture_env_mode`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTexture_env_mode` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct EffectFx_Profile_AbstractProfile_GLSLTechniquePassTexture_Env_Mode {
            property_0: String,
            property_1: String,
            property_2: String,
        }
        impl Default for EffectFx_Profile_AbstractProfile_GLSLTechniquePassTexture_Env_Mode {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                }
            }
        }
        impl EffectFx_Profile_AbstractProfile_GLSLTechniquePassTexture_Env_Mode {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTexture_env_mode.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTexture_env_mode()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTexture_env_mode.index`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTexture_env_mode.index`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn index(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTexture_env_mode.index`.
            pub fn set_index(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTexture_env_mode.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTexture_env_mode.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTexture_env_mode.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTexture_env_mode.value`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTexture_env_mode.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> String {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.effectFx_profile_abstractProfile_GLSLTechniquePassTexture_env_mode.value`.
            pub fn set_value(&mut self, value: String) {
                /* complete generated data model */
                self.property_2 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.ellipsoid`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.ellipsoid` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Ellipsoid {
            property_0: String,
        }
        impl Default for Ellipsoid {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                }
            }
        }
        impl Ellipsoid {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.ellipsoid.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ellipsoid()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.ellipsoid.size`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.ellipsoid.size`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn size(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.ellipsoid.size`.
            pub fn set_size(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.extra`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.extra` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Extra {
            property_0: libremetaverse::import_export::collada14::Asset,
            property_1: String,
            property_2: String,
            property_3: Vec<libremetaverse::import_export::collada14::Technique>,
            property_4: String,
        }
        impl Default for Extra {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                    property_4: Default::default(),
                }
            }
        }
        impl Extra {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.extra.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.extra()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.extra.asset`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.asset LibreMetaverse.ImportExport.Collada14.extra.asset`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn asset(&self) -> libremetaverse::import_export::collada14::Asset {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.extra.asset`.
            pub fn set_asset(&mut self, value: libremetaverse::import_export::collada14::Asset) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.extra.id`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.extra.id`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn id(&self) -> String {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.extra.id`.
            pub fn set_id(&mut self, value: String) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.extra.name`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.extra.name`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn name(&self) -> String {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.extra.name`.
            pub fn set_name(&mut self, value: String) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.extra.technique`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.technique[] LibreMetaverse.ImportExport.Collada14.extra.technique`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn technique(&self) -> Vec<libremetaverse::import_export::collada14::Technique> {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.extra.technique`.
            pub fn set_technique(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Technique>,
            ) {
                /* complete generated data model */
                self.property_3 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.extra.type`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.extra.type`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn type_(&self) -> String {
                /* complete generated data model */
                self.property_4.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.extra.type`.
            pub fn set_type_(&mut self, value: String) {
                /* complete generated data model */
                self.property_4 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.float_array`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.float_array` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Float_Array {
            property_0: Vec<f64>,
            property_1: String,
            property_2: u64,
            property_3: i16,
            property_4: String,
            property_5: i16,
            property_6: String,
        }
        impl Default for Float_Array {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: 6,
                    property_4: Default::default(),
                    property_5: 38,
                    property_6: Default::default(),
                }
            }
        }
        impl Float_Array {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.float_array.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.float_array()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.float_array.Values`.
            ///
            /// C# signature: `System.Double[] LibreMetaverse.ImportExport.Collada14.float_array.Values`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn values(&self) -> Vec<f64> {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.float_array.Values`.
            pub fn set_values(&mut self, value: Vec<f64>) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.float_array._Text_`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.float_array._Text_`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn text(&self) -> String {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.float_array._Text_`.
            pub fn set_text(&mut self, value: String) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.float_array.count`.
            ///
            /// C# signature: `System.UInt64 LibreMetaverse.ImportExport.Collada14.float_array.count`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn count(&self) -> u64 {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.float_array.count`.
            pub fn set_count(&mut self, value: u64) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.float_array.digits`.
            ///
            /// C# signature: `System.Int16 LibreMetaverse.ImportExport.Collada14.float_array.digits`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn digits(&self) -> i16 {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.float_array.digits`.
            pub fn set_digits(&mut self, value: i16) {
                /* complete generated data model */
                self.property_3 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.float_array.id`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.float_array.id`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn id(&self) -> String {
                /* complete generated data model */
                self.property_4.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.float_array.id`.
            pub fn set_id(&mut self, value: String) {
                /* complete generated data model */
                self.property_4 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.float_array.magnitude`.
            ///
            /// C# signature: `System.Int16 LibreMetaverse.ImportExport.Collada14.float_array.magnitude`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn magnitude(&self) -> i16 {
                /* complete generated data model */
                self.property_5.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.float_array.magnitude`.
            pub fn set_magnitude(&mut self, value: i16) {
                /* complete generated data model */
                self.property_5 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.float_array.name`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.float_array.name`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn name(&self) -> String {
                /* complete generated data model */
                self.property_6.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.float_array.name`.
            pub fn set_name(&mut self, value: String) {
                /* complete generated data model */
                self.property_6 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.force_field`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.force_field` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Force_Field {
            property_0: libremetaverse::import_export::collada14::Asset,
            property_1: Vec<libremetaverse::import_export::collada14::Extra>,
            property_2: String,
            property_3: String,
            property_4: Vec<libremetaverse::import_export::collada14::Technique>,
        }
        impl Default for Force_Field {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                    property_4: Default::default(),
                }
            }
        }
        impl Force_Field {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.force_field.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.force_field()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.force_field.asset`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.asset LibreMetaverse.ImportExport.Collada14.force_field.asset`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn asset(&self) -> libremetaverse::import_export::collada14::Asset {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.force_field.asset`.
            pub fn set_asset(&mut self, value: libremetaverse::import_export::collada14::Asset) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.force_field.extra`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.extra[] LibreMetaverse.ImportExport.Collada14.force_field.extra`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn extra(&self) -> Vec<libremetaverse::import_export::collada14::Extra> {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.force_field.extra`.
            pub fn set_extra(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Extra>,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.force_field.id`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.force_field.id`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn id(&self) -> String {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.force_field.id`.
            pub fn set_id(&mut self, value: String) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.force_field.name`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.force_field.name`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn name(&self) -> String {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.force_field.name`.
            pub fn set_name(&mut self, value: String) {
                /* complete generated data model */
                self.property_3 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.force_field.technique`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.technique[] LibreMetaverse.ImportExport.Collada14.force_field.technique`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn technique(&self) -> Vec<libremetaverse::import_export::collada14::Technique> {
                /* complete generated data model */
                self.property_4.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.force_field.technique`.
            pub fn set_technique(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Technique>,
            ) {
                /* complete generated data model */
                self.property_4 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.fx_annotate_common`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.fx_annotate_common` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Fx_Annotate_Common {
            property_0: bool,
            property_1: String,
            property_2: String,
            property_3: String,
            property_4: f64,
            property_5: String,
            property_6: String,
            property_7: String,
            property_8: String,
            property_9: String,
            property_10: String,
            property_11: i64,
            property_12: String,
            property_13: String,
            property_14: String,
            property_15: String,
            property_16: String,
        }
        impl Default for Fx_Annotate_Common {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                    property_4: Default::default(),
                    property_5: Default::default(),
                    property_6: Default::default(),
                    property_7: Default::default(),
                    property_8: Default::default(),
                    property_9: Default::default(),
                    property_10: Default::default(),
                    property_11: Default::default(),
                    property_12: Default::default(),
                    property_13: Default::default(),
                    property_14: Default::default(),
                    property_15: Default::default(),
                    property_16: Default::default(),
                }
            }
        }
        impl Fx_Annotate_Common {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.fx_annotate_common.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_annotate_common()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_annotate_common.bool`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.ImportExport.Collada14.fx_annotate_common.bool`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn bool(&self) -> bool {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_annotate_common.bool`.
            pub fn set_bool(&mut self, value: bool) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_annotate_common.bool2`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.fx_annotate_common.bool2`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn bool2(&self) -> String {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_annotate_common.bool2`.
            pub fn set_bool2(&mut self, value: String) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_annotate_common.bool3`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.fx_annotate_common.bool3`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn bool3(&self) -> String {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_annotate_common.bool3`.
            pub fn set_bool3(&mut self, value: String) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_annotate_common.bool4`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.fx_annotate_common.bool4`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn bool4(&self) -> String {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_annotate_common.bool4`.
            pub fn set_bool4(&mut self, value: String) {
                /* complete generated data model */
                self.property_3 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_annotate_common.float`.
            ///
            /// C# signature: `System.Double LibreMetaverse.ImportExport.Collada14.fx_annotate_common.float`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float(&self) -> f64 {
                /* complete generated data model */
                self.property_4.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_annotate_common.float`.
            pub fn set_float(&mut self, value: f64) {
                /* complete generated data model */
                self.property_4 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_annotate_common.float2`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.fx_annotate_common.float2`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float2(&self) -> String {
                /* complete generated data model */
                self.property_5.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_annotate_common.float2`.
            pub fn set_float2(&mut self, value: String) {
                /* complete generated data model */
                self.property_5 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_annotate_common.float2x2`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.fx_annotate_common.float2x2`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float2x2(&self) -> String {
                /* complete generated data model */
                self.property_6.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_annotate_common.float2x2`.
            pub fn set_float2x2(&mut self, value: String) {
                /* complete generated data model */
                self.property_6 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_annotate_common.float3`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.fx_annotate_common.float3`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float3(&self) -> String {
                /* complete generated data model */
                self.property_7.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_annotate_common.float3`.
            pub fn set_float3(&mut self, value: String) {
                /* complete generated data model */
                self.property_7 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_annotate_common.float3x3`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.fx_annotate_common.float3x3`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float3x3(&self) -> String {
                /* complete generated data model */
                self.property_8.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_annotate_common.float3x3`.
            pub fn set_float3x3(&mut self, value: String) {
                /* complete generated data model */
                self.property_8 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_annotate_common.float4`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.fx_annotate_common.float4`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float4(&self) -> String {
                /* complete generated data model */
                self.property_9.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_annotate_common.float4`.
            pub fn set_float4(&mut self, value: String) {
                /* complete generated data model */
                self.property_9 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_annotate_common.float4x4`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.fx_annotate_common.float4x4`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float4x4(&self) -> String {
                /* complete generated data model */
                self.property_10.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_annotate_common.float4x4`.
            pub fn set_float4x4(&mut self, value: String) {
                /* complete generated data model */
                self.property_10 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_annotate_common.int`.
            ///
            /// C# signature: `System.Int64 LibreMetaverse.ImportExport.Collada14.fx_annotate_common.int`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn int(&self) -> i64 {
                /* complete generated data model */
                self.property_11.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_annotate_common.int`.
            pub fn set_int(&mut self, value: i64) {
                /* complete generated data model */
                self.property_11 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_annotate_common.int2`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.fx_annotate_common.int2`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn int2(&self) -> String {
                /* complete generated data model */
                self.property_12.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_annotate_common.int2`.
            pub fn set_int2(&mut self, value: String) {
                /* complete generated data model */
                self.property_12 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_annotate_common.int3`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.fx_annotate_common.int3`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn int3(&self) -> String {
                /* complete generated data model */
                self.property_13.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_annotate_common.int3`.
            pub fn set_int3(&mut self, value: String) {
                /* complete generated data model */
                self.property_13 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_annotate_common.int4`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.fx_annotate_common.int4`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn int4(&self) -> String {
                /* complete generated data model */
                self.property_14.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_annotate_common.int4`.
            pub fn set_int4(&mut self, value: String) {
                /* complete generated data model */
                self.property_14 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_annotate_common.name`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.fx_annotate_common.name`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn name(&self) -> String {
                /* complete generated data model */
                self.property_15.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_annotate_common.name`.
            pub fn set_name(&mut self, value: String) {
                /* complete generated data model */
                self.property_15 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_annotate_common.string`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.fx_annotate_common.string`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn string(&self) -> String {
                /* complete generated data model */
                self.property_16.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_annotate_common.string`.
            pub fn set_string(&mut self, value: String) {
                /* complete generated data model */
                self.property_16 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.fx_clearcolor_common`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.fx_clearcolor_common` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Fx_Clearcolor_Common {
            property_0: Vec<f64>,
            property_1: String,
            property_2: String,
        }
        impl Default for Fx_Clearcolor_Common {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: "0".to_owned(),
                }
            }
        }
        impl Fx_Clearcolor_Common {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.fx_clearcolor_common.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_clearcolor_common()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_clearcolor_common.Values`.
            ///
            /// C# signature: `System.Double[] LibreMetaverse.ImportExport.Collada14.fx_clearcolor_common.Values`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn values(&self) -> Vec<f64> {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_clearcolor_common.Values`.
            pub fn set_values(&mut self, value: Vec<f64>) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_clearcolor_common._Text_`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.fx_clearcolor_common._Text_`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn text(&self) -> String {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_clearcolor_common._Text_`.
            pub fn set_text(&mut self, value: String) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_clearcolor_common.index`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.fx_clearcolor_common.index`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn index(&self) -> String {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_clearcolor_common.index`.
            pub fn set_index(&mut self, value: String) {
                /* complete generated data model */
                self.property_2 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.fx_cleardepth_common`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.fx_cleardepth_common` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Fx_Cleardepth_Common {
            property_0: f64,
            property_1: String,
        }
        impl Default for Fx_Cleardepth_Common {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: "0".to_owned(),
                }
            }
        }
        impl Fx_Cleardepth_Common {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.fx_cleardepth_common.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_cleardepth_common()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_cleardepth_common.Value`.
            ///
            /// C# signature: `System.Double LibreMetaverse.ImportExport.Collada14.fx_cleardepth_common.Value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> f64 {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_cleardepth_common.Value`.
            pub fn set_value(&mut self, value: f64) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_cleardepth_common.index`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.fx_cleardepth_common.index`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn index(&self) -> String {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_cleardepth_common.index`.
            pub fn set_index(&mut self, value: String) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.fx_clearstencil_common`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.fx_clearstencil_common` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Fx_Clearstencil_Common {
            property_0: i8,
            property_1: String,
        }
        impl Default for Fx_Clearstencil_Common {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: "0".to_owned(),
                }
            }
        }
        impl Fx_Clearstencil_Common {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.fx_clearstencil_common.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_clearstencil_common()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_clearstencil_common.Value`.
            ///
            /// C# signature: `System.SByte LibreMetaverse.ImportExport.Collada14.fx_clearstencil_common.Value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> i8 {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_clearstencil_common.Value`.
            pub fn set_value(&mut self, value: i8) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_clearstencil_common.index`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.fx_clearstencil_common.index`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn index(&self) -> String {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_clearstencil_common.index`.
            pub fn set_index(&mut self, value: String) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.fx_code_profile`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.fx_code_profile` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Fx_Code_Profile {
            property_0: String,
            property_1: String,
        }
        impl Default for Fx_Code_Profile {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                }
            }
        }
        impl Fx_Code_Profile {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.fx_code_profile.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_code_profile()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_code_profile.Value`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.fx_code_profile.Value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_code_profile.Value`.
            pub fn set_value(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_code_profile.sid`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.fx_code_profile.sid`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn sid(&self) -> String {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_code_profile.sid`.
            pub fn set_sid(&mut self, value: String) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.fx_colortarget_common`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.fx_colortarget_common` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Fx_Colortarget_Common {
            property_0: String,
            property_1: libremetaverse::import_export::collada14::Fx_Surface_Face_Enum,
            property_2: String,
            property_3: String,
            property_4: String,
        }
        impl Default for Fx_Colortarget_Common {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1:
                        libremetaverse::import_export::collada14::Fx_Surface_Face_Enum::POSITIVE_X,
                    property_2: "0".to_owned(),
                    property_3: "0".to_owned(),
                    property_4: "0".to_owned(),
                }
            }
        }
        impl Fx_Colortarget_Common {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.fx_colortarget_common.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_colortarget_common()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_colortarget_common.Value`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.fx_colortarget_common.Value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_colortarget_common.Value`.
            pub fn set_value(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_colortarget_common.face`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_surface_face_enum LibreMetaverse.ImportExport.Collada14.fx_colortarget_common.face`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn face(&self) -> libremetaverse::import_export::collada14::Fx_Surface_Face_Enum {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_colortarget_common.face`.
            pub fn set_face(
                &mut self,
                value: libremetaverse::import_export::collada14::Fx_Surface_Face_Enum,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_colortarget_common.index`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.fx_colortarget_common.index`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn index(&self) -> String {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_colortarget_common.index`.
            pub fn set_index(&mut self, value: String) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_colortarget_common.mip`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.fx_colortarget_common.mip`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn mip(&self) -> String {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_colortarget_common.mip`.
            pub fn set_mip(&mut self, value: String) {
                /* complete generated data model */
                self.property_3 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_colortarget_common.slice`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.fx_colortarget_common.slice`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn slice(&self) -> String {
                /* complete generated data model */
                self.property_4.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_colortarget_common.slice`.
            pub fn set_slice(&mut self, value: String) {
                /* complete generated data model */
                self.property_4 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.fx_depthtarget_common`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.fx_depthtarget_common` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Fx_Depthtarget_Common {
            property_0: String,
            property_1: libremetaverse::import_export::collada14::Fx_Surface_Face_Enum,
            property_2: String,
            property_3: String,
            property_4: String,
        }
        impl Default for Fx_Depthtarget_Common {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1:
                        libremetaverse::import_export::collada14::Fx_Surface_Face_Enum::POSITIVE_X,
                    property_2: "0".to_owned(),
                    property_3: "0".to_owned(),
                    property_4: "0".to_owned(),
                }
            }
        }
        impl Fx_Depthtarget_Common {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.fx_depthtarget_common.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_depthtarget_common()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_depthtarget_common.Value`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.fx_depthtarget_common.Value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_depthtarget_common.Value`.
            pub fn set_value(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_depthtarget_common.face`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_surface_face_enum LibreMetaverse.ImportExport.Collada14.fx_depthtarget_common.face`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn face(&self) -> libremetaverse::import_export::collada14::Fx_Surface_Face_Enum {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_depthtarget_common.face`.
            pub fn set_face(
                &mut self,
                value: libremetaverse::import_export::collada14::Fx_Surface_Face_Enum,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_depthtarget_common.index`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.fx_depthtarget_common.index`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn index(&self) -> String {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_depthtarget_common.index`.
            pub fn set_index(&mut self, value: String) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_depthtarget_common.mip`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.fx_depthtarget_common.mip`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn mip(&self) -> String {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_depthtarget_common.mip`.
            pub fn set_mip(&mut self, value: String) {
                /* complete generated data model */
                self.property_3 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_depthtarget_common.slice`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.fx_depthtarget_common.slice`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn slice(&self) -> String {
                /* complete generated data model */
                self.property_4.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_depthtarget_common.slice`.
            pub fn set_slice(&mut self, value: String) {
                /* complete generated data model */
                self.property_4 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.fx_include_common`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.fx_include_common` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Fx_Include_Common {
            property_0: String,
            property_1: String,
        }
        impl Default for Fx_Include_Common {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                }
            }
        }
        impl Fx_Include_Common {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.fx_include_common.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_include_common()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_include_common.sid`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.fx_include_common.sid`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn sid(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_include_common.sid`.
            pub fn set_sid(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_include_common.url`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.fx_include_common.url`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn url(&self) -> String {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_include_common.url`.
            pub fn set_url(&mut self, value: String) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.fx_modifier_enum_common`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.fx_modifier_enum_common` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone, Copy, Debug, Default, Eq, Hash, PartialEq)]
        #[repr(i32)]
        pub enum Fx_Modifier_Enum_Common {
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.fx_modifier_enum_common.CONST`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_modifier_enum_common LibreMetaverse.ImportExport.Collada14.fx_modifier_enum_common.CONST`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            #[default]
            CONST = 0,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.fx_modifier_enum_common.EXTERN`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_modifier_enum_common LibreMetaverse.ImportExport.Collada14.fx_modifier_enum_common.EXTERN`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            EXTERN = 5,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.fx_modifier_enum_common.SHARED`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_modifier_enum_common LibreMetaverse.ImportExport.Collada14.fx_modifier_enum_common.SHARED`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            SHARED = 6,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.fx_modifier_enum_common.STATIC`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_modifier_enum_common LibreMetaverse.ImportExport.Collada14.fx_modifier_enum_common.STATIC`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            STATIC = 3,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.fx_modifier_enum_common.UNIFORM`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_modifier_enum_common LibreMetaverse.ImportExport.Collada14.fx_modifier_enum_common.UNIFORM`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            UNIFORM = 1,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.fx_modifier_enum_common.VARYING`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_modifier_enum_common LibreMetaverse.ImportExport.Collada14.fx_modifier_enum_common.VARYING`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            VARYING = 2,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.fx_modifier_enum_common.VOLATILE`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_modifier_enum_common LibreMetaverse.ImportExport.Collada14.fx_modifier_enum_common.VOLATILE`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            VOLATILE = 4,
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.fx_newparam_common`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.fx_newparam_common` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Fx_Newparam_Common {
            property_0: Vec<libremetaverse::import_export::collada14::Fx_Annotate_Common>,
            property_1: bool,
            property_2: String,
            property_3: String,
            property_4: String,
            property_5: String,
            property_6: f64,
            property_7: f64,
            property_8: String,
            property_9: String,
            property_10: String,
            property_11: String,
            property_12: String,
            property_13: String,
            property_14: String,
            property_15: String,
            property_16: String,
            property_17: String,
            property_18: String,
            property_19: String,
            property_20: String,
            property_21: String,
            property_22: String,
            property_23: String,
            property_24: String,
            property_25: String,
            property_26: i64,
            property_27: String,
            property_28: String,
            property_29: String,
            property_30: libremetaverse::import_export::collada14::Fx_Modifier_Enum_Common,
            property_31: bool,
            property_32: libremetaverse::import_export::collada14::Fx_Sampler1D_Common,
            property_33: libremetaverse::import_export::collada14::Fx_Sampler2D_Common,
            property_34: libremetaverse::import_export::collada14::Fx_Sampler3D_Common,
            property_35: libremetaverse::import_export::collada14::Fx_SamplerCUBE_Common,
            property_36: libremetaverse::import_export::collada14::Fx_SamplerDEPTH_Common,
            property_37: libremetaverse::import_export::collada14::Fx_SamplerRECT_Common,
            property_38: String,
            property_39: String,
            property_40: libremetaverse::import_export::collada14::Fx_Surface_Common,
        }
        impl Default for Fx_Newparam_Common {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                    property_4: Default::default(),
                    property_5: Default::default(),
                    property_6: Default::default(),
                    property_7: Default::default(),
                    property_8: Default::default(),
                    property_9: Default::default(),
                    property_10: Default::default(),
                    property_11: Default::default(),
                    property_12: Default::default(),
                    property_13: Default::default(),
                    property_14: Default::default(),
                    property_15: Default::default(),
                    property_16: Default::default(),
                    property_17: Default::default(),
                    property_18: Default::default(),
                    property_19: Default::default(),
                    property_20: Default::default(),
                    property_21: Default::default(),
                    property_22: Default::default(),
                    property_23: Default::default(),
                    property_24: Default::default(),
                    property_25: Default::default(),
                    property_26: Default::default(),
                    property_27: Default::default(),
                    property_28: Default::default(),
                    property_29: Default::default(),
                    property_30: Default::default(),
                    property_31: Default::default(),
                    property_32: Default::default(),
                    property_33: Default::default(),
                    property_34: Default::default(),
                    property_35: Default::default(),
                    property_36: Default::default(),
                    property_37: Default::default(),
                    property_38: Default::default(),
                    property_39: Default::default(),
                    property_40: Default::default(),
                }
            }
        }
        impl Fx_Newparam_Common {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.fx_newparam_common.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_newparam_common()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_newparam_common.annotate`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_annotate_common[] LibreMetaverse.ImportExport.Collada14.fx_newparam_common.annotate`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn annotate(
                &self,
            ) -> Vec<libremetaverse::import_export::collada14::Fx_Annotate_Common> {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_newparam_common.annotate`.
            pub fn set_annotate(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Fx_Annotate_Common>,
            ) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_newparam_common.bool`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.ImportExport.Collada14.fx_newparam_common.bool`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn bool(&self) -> bool {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_newparam_common.bool`.
            pub fn set_bool(&mut self, value: bool) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_newparam_common.bool2`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.fx_newparam_common.bool2`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn bool2(&self) -> String {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_newparam_common.bool2`.
            pub fn set_bool2(&mut self, value: String) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_newparam_common.bool3`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.fx_newparam_common.bool3`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn bool3(&self) -> String {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_newparam_common.bool3`.
            pub fn set_bool3(&mut self, value: String) {
                /* complete generated data model */
                self.property_3 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_newparam_common.bool4`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.fx_newparam_common.bool4`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn bool4(&self) -> String {
                /* complete generated data model */
                self.property_4.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_newparam_common.bool4`.
            pub fn set_bool4(&mut self, value: String) {
                /* complete generated data model */
                self.property_4 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_newparam_common.enum`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.fx_newparam_common.enum`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn enum_(&self) -> String {
                /* complete generated data model */
                self.property_5.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_newparam_common.enum`.
            pub fn set_enum_(&mut self, value: String) {
                /* complete generated data model */
                self.property_5 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_newparam_common.float`.
            ///
            /// C# signature: `System.Double LibreMetaverse.ImportExport.Collada14.fx_newparam_common.float`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float(&self) -> f64 {
                /* complete generated data model */
                self.property_6.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_newparam_common.float`.
            pub fn set_float(&mut self, value: f64) {
                /* complete generated data model */
                self.property_6 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_newparam_common.float1x1`.
            ///
            /// C# signature: `System.Double LibreMetaverse.ImportExport.Collada14.fx_newparam_common.float1x1`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float1x1(&self) -> f64 {
                /* complete generated data model */
                self.property_7.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_newparam_common.float1x1`.
            pub fn set_float1x1(&mut self, value: f64) {
                /* complete generated data model */
                self.property_7 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_newparam_common.float1x2`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.fx_newparam_common.float1x2`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float1x2(&self) -> String {
                /* complete generated data model */
                self.property_8.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_newparam_common.float1x2`.
            pub fn set_float1x2(&mut self, value: String) {
                /* complete generated data model */
                self.property_8 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_newparam_common.float1x3`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.fx_newparam_common.float1x3`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float1x3(&self) -> String {
                /* complete generated data model */
                self.property_9.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_newparam_common.float1x3`.
            pub fn set_float1x3(&mut self, value: String) {
                /* complete generated data model */
                self.property_9 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_newparam_common.float1x4`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.fx_newparam_common.float1x4`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float1x4(&self) -> String {
                /* complete generated data model */
                self.property_10.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_newparam_common.float1x4`.
            pub fn set_float1x4(&mut self, value: String) {
                /* complete generated data model */
                self.property_10 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_newparam_common.float2`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.fx_newparam_common.float2`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float2(&self) -> String {
                /* complete generated data model */
                self.property_11.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_newparam_common.float2`.
            pub fn set_float2(&mut self, value: String) {
                /* complete generated data model */
                self.property_11 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_newparam_common.float2x1`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.fx_newparam_common.float2x1`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float2x1(&self) -> String {
                /* complete generated data model */
                self.property_12.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_newparam_common.float2x1`.
            pub fn set_float2x1(&mut self, value: String) {
                /* complete generated data model */
                self.property_12 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_newparam_common.float2x2`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.fx_newparam_common.float2x2`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float2x2(&self) -> String {
                /* complete generated data model */
                self.property_13.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_newparam_common.float2x2`.
            pub fn set_float2x2(&mut self, value: String) {
                /* complete generated data model */
                self.property_13 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_newparam_common.float2x3`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.fx_newparam_common.float2x3`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float2x3(&self) -> String {
                /* complete generated data model */
                self.property_14.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_newparam_common.float2x3`.
            pub fn set_float2x3(&mut self, value: String) {
                /* complete generated data model */
                self.property_14 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_newparam_common.float2x4`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.fx_newparam_common.float2x4`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float2x4(&self) -> String {
                /* complete generated data model */
                self.property_15.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_newparam_common.float2x4`.
            pub fn set_float2x4(&mut self, value: String) {
                /* complete generated data model */
                self.property_15 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_newparam_common.float3`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.fx_newparam_common.float3`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float3(&self) -> String {
                /* complete generated data model */
                self.property_16.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_newparam_common.float3`.
            pub fn set_float3(&mut self, value: String) {
                /* complete generated data model */
                self.property_16 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_newparam_common.float3x1`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.fx_newparam_common.float3x1`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float3x1(&self) -> String {
                /* complete generated data model */
                self.property_17.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_newparam_common.float3x1`.
            pub fn set_float3x1(&mut self, value: String) {
                /* complete generated data model */
                self.property_17 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_newparam_common.float3x2`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.fx_newparam_common.float3x2`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float3x2(&self) -> String {
                /* complete generated data model */
                self.property_18.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_newparam_common.float3x2`.
            pub fn set_float3x2(&mut self, value: String) {
                /* complete generated data model */
                self.property_18 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_newparam_common.float3x3`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.fx_newparam_common.float3x3`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float3x3(&self) -> String {
                /* complete generated data model */
                self.property_19.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_newparam_common.float3x3`.
            pub fn set_float3x3(&mut self, value: String) {
                /* complete generated data model */
                self.property_19 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_newparam_common.float3x4`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.fx_newparam_common.float3x4`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float3x4(&self) -> String {
                /* complete generated data model */
                self.property_20.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_newparam_common.float3x4`.
            pub fn set_float3x4(&mut self, value: String) {
                /* complete generated data model */
                self.property_20 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_newparam_common.float4`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.fx_newparam_common.float4`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float4(&self) -> String {
                /* complete generated data model */
                self.property_21.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_newparam_common.float4`.
            pub fn set_float4(&mut self, value: String) {
                /* complete generated data model */
                self.property_21 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_newparam_common.float4x1`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.fx_newparam_common.float4x1`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float4x1(&self) -> String {
                /* complete generated data model */
                self.property_22.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_newparam_common.float4x1`.
            pub fn set_float4x1(&mut self, value: String) {
                /* complete generated data model */
                self.property_22 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_newparam_common.float4x2`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.fx_newparam_common.float4x2`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float4x2(&self) -> String {
                /* complete generated data model */
                self.property_23.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_newparam_common.float4x2`.
            pub fn set_float4x2(&mut self, value: String) {
                /* complete generated data model */
                self.property_23 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_newparam_common.float4x3`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.fx_newparam_common.float4x3`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float4x3(&self) -> String {
                /* complete generated data model */
                self.property_24.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_newparam_common.float4x3`.
            pub fn set_float4x3(&mut self, value: String) {
                /* complete generated data model */
                self.property_24 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_newparam_common.float4x4`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.fx_newparam_common.float4x4`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float4x4(&self) -> String {
                /* complete generated data model */
                self.property_25.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_newparam_common.float4x4`.
            pub fn set_float4x4(&mut self, value: String) {
                /* complete generated data model */
                self.property_25 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_newparam_common.int`.
            ///
            /// C# signature: `System.Int64 LibreMetaverse.ImportExport.Collada14.fx_newparam_common.int`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn int(&self) -> i64 {
                /* complete generated data model */
                self.property_26.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_newparam_common.int`.
            pub fn set_int(&mut self, value: i64) {
                /* complete generated data model */
                self.property_26 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_newparam_common.int2`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.fx_newparam_common.int2`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn int2(&self) -> String {
                /* complete generated data model */
                self.property_27.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_newparam_common.int2`.
            pub fn set_int2(&mut self, value: String) {
                /* complete generated data model */
                self.property_27 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_newparam_common.int3`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.fx_newparam_common.int3`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn int3(&self) -> String {
                /* complete generated data model */
                self.property_28.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_newparam_common.int3`.
            pub fn set_int3(&mut self, value: String) {
                /* complete generated data model */
                self.property_28 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_newparam_common.int4`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.fx_newparam_common.int4`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn int4(&self) -> String {
                /* complete generated data model */
                self.property_29.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_newparam_common.int4`.
            pub fn set_int4(&mut self, value: String) {
                /* complete generated data model */
                self.property_29 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_newparam_common.modifier`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_modifier_enum_common LibreMetaverse.ImportExport.Collada14.fx_newparam_common.modifier`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn modifier(
                &self,
            ) -> libremetaverse::import_export::collada14::Fx_Modifier_Enum_Common {
                /* complete generated data model */
                self.property_30.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_newparam_common.modifier`.
            pub fn set_modifier(
                &mut self,
                value: libremetaverse::import_export::collada14::Fx_Modifier_Enum_Common,
            ) {
                /* complete generated data model */
                self.property_30 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_newparam_common.modifierSpecified`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.ImportExport.Collada14.fx_newparam_common.modifierSpecified`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn modifier_specified(&self) -> bool {
                /* complete generated data model */
                self.property_31.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_newparam_common.modifierSpecified`.
            pub fn set_modifier_specified(&mut self, value: bool) {
                /* complete generated data model */
                self.property_31 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_newparam_common.sampler1D`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_sampler1D_common LibreMetaverse.ImportExport.Collada14.fx_newparam_common.sampler1D`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn sampler1_d(
                &self,
            ) -> libremetaverse::import_export::collada14::Fx_Sampler1D_Common {
                /* complete generated data model */
                self.property_32.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_newparam_common.sampler1D`.
            pub fn set_sampler1_d(
                &mut self,
                value: libremetaverse::import_export::collada14::Fx_Sampler1D_Common,
            ) {
                /* complete generated data model */
                self.property_32 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_newparam_common.sampler2D`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_sampler2D_common LibreMetaverse.ImportExport.Collada14.fx_newparam_common.sampler2D`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn sampler2_d(
                &self,
            ) -> libremetaverse::import_export::collada14::Fx_Sampler2D_Common {
                /* complete generated data model */
                self.property_33.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_newparam_common.sampler2D`.
            pub fn set_sampler2_d(
                &mut self,
                value: libremetaverse::import_export::collada14::Fx_Sampler2D_Common,
            ) {
                /* complete generated data model */
                self.property_33 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_newparam_common.sampler3D`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_sampler3D_common LibreMetaverse.ImportExport.Collada14.fx_newparam_common.sampler3D`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn sampler3_d(
                &self,
            ) -> libremetaverse::import_export::collada14::Fx_Sampler3D_Common {
                /* complete generated data model */
                self.property_34.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_newparam_common.sampler3D`.
            pub fn set_sampler3_d(
                &mut self,
                value: libremetaverse::import_export::collada14::Fx_Sampler3D_Common,
            ) {
                /* complete generated data model */
                self.property_34 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_newparam_common.samplerCUBE`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_samplerCUBE_common LibreMetaverse.ImportExport.Collada14.fx_newparam_common.samplerCUBE`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn sampler_cube(
                &self,
            ) -> libremetaverse::import_export::collada14::Fx_SamplerCUBE_Common {
                /* complete generated data model */
                self.property_35.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_newparam_common.samplerCUBE`.
            pub fn set_sampler_cube(
                &mut self,
                value: libremetaverse::import_export::collada14::Fx_SamplerCUBE_Common,
            ) {
                /* complete generated data model */
                self.property_35 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_newparam_common.samplerDEPTH`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_samplerDEPTH_common LibreMetaverse.ImportExport.Collada14.fx_newparam_common.samplerDEPTH`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn sampler_depth(
                &self,
            ) -> libremetaverse::import_export::collada14::Fx_SamplerDEPTH_Common {
                /* complete generated data model */
                self.property_36.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_newparam_common.samplerDEPTH`.
            pub fn set_sampler_depth(
                &mut self,
                value: libremetaverse::import_export::collada14::Fx_SamplerDEPTH_Common,
            ) {
                /* complete generated data model */
                self.property_36 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_newparam_common.samplerRECT`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_samplerRECT_common LibreMetaverse.ImportExport.Collada14.fx_newparam_common.samplerRECT`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn sampler_rect(
                &self,
            ) -> libremetaverse::import_export::collada14::Fx_SamplerRECT_Common {
                /* complete generated data model */
                self.property_37.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_newparam_common.samplerRECT`.
            pub fn set_sampler_rect(
                &mut self,
                value: libremetaverse::import_export::collada14::Fx_SamplerRECT_Common,
            ) {
                /* complete generated data model */
                self.property_37 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_newparam_common.semantic`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.fx_newparam_common.semantic`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn semantic(&self) -> String {
                /* complete generated data model */
                self.property_38.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_newparam_common.semantic`.
            pub fn set_semantic(&mut self, value: String) {
                /* complete generated data model */
                self.property_38 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_newparam_common.sid`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.fx_newparam_common.sid`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn sid(&self) -> String {
                /* complete generated data model */
                self.property_39.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_newparam_common.sid`.
            pub fn set_sid(&mut self, value: String) {
                /* complete generated data model */
                self.property_39 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_newparam_common.surface`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_surface_common LibreMetaverse.ImportExport.Collada14.fx_newparam_common.surface`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn surface(&self) -> libremetaverse::import_export::collada14::Fx_Surface_Common {
                /* complete generated data model */
                self.property_40.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_newparam_common.surface`.
            pub fn set_surface(
                &mut self,
                value: libremetaverse::import_export::collada14::Fx_Surface_Common,
            ) {
                /* complete generated data model */
                self.property_40 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.fx_opaque_enum`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.fx_opaque_enum` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone, Copy, Debug, Default, Eq, Hash, PartialEq)]
        #[repr(i32)]
        pub enum Fx_Opaque_Enum {
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.fx_opaque_enum.A_ONE`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_opaque_enum LibreMetaverse.ImportExport.Collada14.fx_opaque_enum.A_ONE`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            #[default]
            A_ONE = 0,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.fx_opaque_enum.RGB_ZERO`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_opaque_enum LibreMetaverse.ImportExport.Collada14.fx_opaque_enum.RGB_ZERO`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            RGB_ZERO = 1,
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.fx_sampler1D_common`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.fx_sampler1D_common` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Fx_Sampler1D_Common {
            property_0: String,
            property_1: Vec<libremetaverse::import_export::collada14::Extra>,
            property_2: libremetaverse::import_export::collada14::Fx_Sampler_Filter_Common,
            property_3: libremetaverse::import_export::collada14::Fx_Sampler_Filter_Common,
            property_4: libremetaverse::import_export::collada14::Fx_Sampler_Filter_Common,
            property_5: f32,
            property_6: u8,
            property_7: String,
            property_8: libremetaverse::import_export::collada14::Fx_Sampler_Wrap_Common,
        }
        impl Default for Fx_Sampler1D_Common {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2:
                        libremetaverse::import_export::collada14::Fx_Sampler_Filter_Common::NONE,
                    property_3:
                        libremetaverse::import_export::collada14::Fx_Sampler_Filter_Common::NONE,
                    property_4:
                        libremetaverse::import_export::collada14::Fx_Sampler_Filter_Common::NONE,
                    property_5: 0.0,
                    property_6: 0,
                    property_7: Default::default(),
                    property_8:
                        libremetaverse::import_export::collada14::Fx_Sampler_Wrap_Common::WRAP,
                }
            }
        }
        impl Fx_Sampler1D_Common {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.fx_sampler1D_common.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_sampler1D_common()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_sampler1D_common.border_color`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.fx_sampler1D_common.border_color`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn border_color(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_sampler1D_common.border_color`.
            pub fn set_border_color(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_sampler1D_common.extra`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.extra[] LibreMetaverse.ImportExport.Collada14.fx_sampler1D_common.extra`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn extra(&self) -> Vec<libremetaverse::import_export::collada14::Extra> {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_sampler1D_common.extra`.
            pub fn set_extra(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Extra>,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_sampler1D_common.magfilter`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_sampler_filter_common LibreMetaverse.ImportExport.Collada14.fx_sampler1D_common.magfilter`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn magfilter(
                &self,
            ) -> libremetaverse::import_export::collada14::Fx_Sampler_Filter_Common {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_sampler1D_common.magfilter`.
            pub fn set_magfilter(
                &mut self,
                value: libremetaverse::import_export::collada14::Fx_Sampler_Filter_Common,
            ) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_sampler1D_common.minfilter`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_sampler_filter_common LibreMetaverse.ImportExport.Collada14.fx_sampler1D_common.minfilter`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn minfilter(
                &self,
            ) -> libremetaverse::import_export::collada14::Fx_Sampler_Filter_Common {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_sampler1D_common.minfilter`.
            pub fn set_minfilter(
                &mut self,
                value: libremetaverse::import_export::collada14::Fx_Sampler_Filter_Common,
            ) {
                /* complete generated data model */
                self.property_3 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_sampler1D_common.mipfilter`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_sampler_filter_common LibreMetaverse.ImportExport.Collada14.fx_sampler1D_common.mipfilter`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn mipfilter(
                &self,
            ) -> libremetaverse::import_export::collada14::Fx_Sampler_Filter_Common {
                /* complete generated data model */
                self.property_4.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_sampler1D_common.mipfilter`.
            pub fn set_mipfilter(
                &mut self,
                value: libremetaverse::import_export::collada14::Fx_Sampler_Filter_Common,
            ) {
                /* complete generated data model */
                self.property_4 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_sampler1D_common.mipmap_bias`.
            ///
            /// C# signature: `System.Single LibreMetaverse.ImportExport.Collada14.fx_sampler1D_common.mipmap_bias`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn mipmap_bias(&self) -> f32 {
                /* complete generated data model */
                self.property_5.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_sampler1D_common.mipmap_bias`.
            pub fn set_mipmap_bias(&mut self, value: f32) {
                /* complete generated data model */
                self.property_5 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_sampler1D_common.mipmap_maxlevel`.
            ///
            /// C# signature: `System.Byte LibreMetaverse.ImportExport.Collada14.fx_sampler1D_common.mipmap_maxlevel`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn mipmap_maxlevel(&self) -> u8 {
                /* complete generated data model */
                self.property_6.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_sampler1D_common.mipmap_maxlevel`.
            pub fn set_mipmap_maxlevel(&mut self, value: u8) {
                /* complete generated data model */
                self.property_6 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_sampler1D_common.source`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.fx_sampler1D_common.source`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn source(&self) -> String {
                /* complete generated data model */
                self.property_7.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_sampler1D_common.source`.
            pub fn set_source(&mut self, value: String) {
                /* complete generated data model */
                self.property_7 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_sampler1D_common.wrap_s`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_sampler_wrap_common LibreMetaverse.ImportExport.Collada14.fx_sampler1D_common.wrap_s`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn wrap_s(
                &self,
            ) -> libremetaverse::import_export::collada14::Fx_Sampler_Wrap_Common {
                /* complete generated data model */
                self.property_8.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_sampler1D_common.wrap_s`.
            pub fn set_wrap_s(
                &mut self,
                value: libremetaverse::import_export::collada14::Fx_Sampler_Wrap_Common,
            ) {
                /* complete generated data model */
                self.property_8 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.fx_sampler2D_common`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.fx_sampler2D_common` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Fx_Sampler2D_Common {
            property_0: String,
            property_1: Vec<libremetaverse::import_export::collada14::Extra>,
            property_2: libremetaverse::import_export::collada14::Fx_Sampler_Filter_Common,
            property_3: libremetaverse::import_export::collada14::Fx_Sampler_Filter_Common,
            property_4: libremetaverse::import_export::collada14::Fx_Sampler_Filter_Common,
            property_5: f32,
            property_6: u8,
            property_7: String,
            property_8: libremetaverse::import_export::collada14::Fx_Sampler_Wrap_Common,
            property_9: libremetaverse::import_export::collada14::Fx_Sampler_Wrap_Common,
        }
        impl Default for Fx_Sampler2D_Common {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2:
                        libremetaverse::import_export::collada14::Fx_Sampler_Filter_Common::NONE,
                    property_3:
                        libremetaverse::import_export::collada14::Fx_Sampler_Filter_Common::NONE,
                    property_4:
                        libremetaverse::import_export::collada14::Fx_Sampler_Filter_Common::NONE,
                    property_5: 0.0,
                    property_6: 255,
                    property_7: Default::default(),
                    property_8:
                        libremetaverse::import_export::collada14::Fx_Sampler_Wrap_Common::WRAP,
                    property_9:
                        libremetaverse::import_export::collada14::Fx_Sampler_Wrap_Common::WRAP,
                }
            }
        }
        impl Fx_Sampler2D_Common {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.fx_sampler2D_common.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_sampler2D_common()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_sampler2D_common.border_color`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.fx_sampler2D_common.border_color`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn border_color(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_sampler2D_common.border_color`.
            pub fn set_border_color(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_sampler2D_common.extra`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.extra[] LibreMetaverse.ImportExport.Collada14.fx_sampler2D_common.extra`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn extra(&self) -> Vec<libremetaverse::import_export::collada14::Extra> {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_sampler2D_common.extra`.
            pub fn set_extra(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Extra>,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_sampler2D_common.magfilter`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_sampler_filter_common LibreMetaverse.ImportExport.Collada14.fx_sampler2D_common.magfilter`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn magfilter(
                &self,
            ) -> libremetaverse::import_export::collada14::Fx_Sampler_Filter_Common {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_sampler2D_common.magfilter`.
            pub fn set_magfilter(
                &mut self,
                value: libremetaverse::import_export::collada14::Fx_Sampler_Filter_Common,
            ) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_sampler2D_common.minfilter`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_sampler_filter_common LibreMetaverse.ImportExport.Collada14.fx_sampler2D_common.minfilter`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn minfilter(
                &self,
            ) -> libremetaverse::import_export::collada14::Fx_Sampler_Filter_Common {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_sampler2D_common.minfilter`.
            pub fn set_minfilter(
                &mut self,
                value: libremetaverse::import_export::collada14::Fx_Sampler_Filter_Common,
            ) {
                /* complete generated data model */
                self.property_3 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_sampler2D_common.mipfilter`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_sampler_filter_common LibreMetaverse.ImportExport.Collada14.fx_sampler2D_common.mipfilter`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn mipfilter(
                &self,
            ) -> libremetaverse::import_export::collada14::Fx_Sampler_Filter_Common {
                /* complete generated data model */
                self.property_4.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_sampler2D_common.mipfilter`.
            pub fn set_mipfilter(
                &mut self,
                value: libremetaverse::import_export::collada14::Fx_Sampler_Filter_Common,
            ) {
                /* complete generated data model */
                self.property_4 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_sampler2D_common.mipmap_bias`.
            ///
            /// C# signature: `System.Single LibreMetaverse.ImportExport.Collada14.fx_sampler2D_common.mipmap_bias`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn mipmap_bias(&self) -> f32 {
                /* complete generated data model */
                self.property_5.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_sampler2D_common.mipmap_bias`.
            pub fn set_mipmap_bias(&mut self, value: f32) {
                /* complete generated data model */
                self.property_5 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_sampler2D_common.mipmap_maxlevel`.
            ///
            /// C# signature: `System.Byte LibreMetaverse.ImportExport.Collada14.fx_sampler2D_common.mipmap_maxlevel`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn mipmap_maxlevel(&self) -> u8 {
                /* complete generated data model */
                self.property_6.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_sampler2D_common.mipmap_maxlevel`.
            pub fn set_mipmap_maxlevel(&mut self, value: u8) {
                /* complete generated data model */
                self.property_6 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_sampler2D_common.source`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.fx_sampler2D_common.source`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn source(&self) -> String {
                /* complete generated data model */
                self.property_7.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_sampler2D_common.source`.
            pub fn set_source(&mut self, value: String) {
                /* complete generated data model */
                self.property_7 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_sampler2D_common.wrap_s`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_sampler_wrap_common LibreMetaverse.ImportExport.Collada14.fx_sampler2D_common.wrap_s`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn wrap_s(
                &self,
            ) -> libremetaverse::import_export::collada14::Fx_Sampler_Wrap_Common {
                /* complete generated data model */
                self.property_8.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_sampler2D_common.wrap_s`.
            pub fn set_wrap_s(
                &mut self,
                value: libremetaverse::import_export::collada14::Fx_Sampler_Wrap_Common,
            ) {
                /* complete generated data model */
                self.property_8 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_sampler2D_common.wrap_t`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_sampler_wrap_common LibreMetaverse.ImportExport.Collada14.fx_sampler2D_common.wrap_t`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn wrap_t(
                &self,
            ) -> libremetaverse::import_export::collada14::Fx_Sampler_Wrap_Common {
                /* complete generated data model */
                self.property_9.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_sampler2D_common.wrap_t`.
            pub fn set_wrap_t(
                &mut self,
                value: libremetaverse::import_export::collada14::Fx_Sampler_Wrap_Common,
            ) {
                /* complete generated data model */
                self.property_9 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.fx_sampler3D_common`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.fx_sampler3D_common` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Fx_Sampler3D_Common {
            property_0: String,
            property_1: Vec<libremetaverse::import_export::collada14::Extra>,
            property_2: libremetaverse::import_export::collada14::Fx_Sampler_Filter_Common,
            property_3: libremetaverse::import_export::collada14::Fx_Sampler_Filter_Common,
            property_4: libremetaverse::import_export::collada14::Fx_Sampler_Filter_Common,
            property_5: f32,
            property_6: u8,
            property_7: String,
            property_8: libremetaverse::import_export::collada14::Fx_Sampler_Wrap_Common,
            property_9: libremetaverse::import_export::collada14::Fx_Sampler_Wrap_Common,
            property_10: libremetaverse::import_export::collada14::Fx_Sampler_Wrap_Common,
        }
        impl Default for Fx_Sampler3D_Common {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2:
                        libremetaverse::import_export::collada14::Fx_Sampler_Filter_Common::NONE,
                    property_3:
                        libremetaverse::import_export::collada14::Fx_Sampler_Filter_Common::NONE,
                    property_4:
                        libremetaverse::import_export::collada14::Fx_Sampler_Filter_Common::NONE,
                    property_5: 0.0,
                    property_6: 255,
                    property_7: Default::default(),
                    property_8:
                        libremetaverse::import_export::collada14::Fx_Sampler_Wrap_Common::WRAP,
                    property_9:
                        libremetaverse::import_export::collada14::Fx_Sampler_Wrap_Common::WRAP,
                    property_10:
                        libremetaverse::import_export::collada14::Fx_Sampler_Wrap_Common::WRAP,
                }
            }
        }
        impl Fx_Sampler3D_Common {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.fx_sampler3D_common.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_sampler3D_common()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_sampler3D_common.border_color`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.fx_sampler3D_common.border_color`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn border_color(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_sampler3D_common.border_color`.
            pub fn set_border_color(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_sampler3D_common.extra`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.extra[] LibreMetaverse.ImportExport.Collada14.fx_sampler3D_common.extra`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn extra(&self) -> Vec<libremetaverse::import_export::collada14::Extra> {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_sampler3D_common.extra`.
            pub fn set_extra(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Extra>,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_sampler3D_common.magfilter`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_sampler_filter_common LibreMetaverse.ImportExport.Collada14.fx_sampler3D_common.magfilter`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn magfilter(
                &self,
            ) -> libremetaverse::import_export::collada14::Fx_Sampler_Filter_Common {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_sampler3D_common.magfilter`.
            pub fn set_magfilter(
                &mut self,
                value: libremetaverse::import_export::collada14::Fx_Sampler_Filter_Common,
            ) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_sampler3D_common.minfilter`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_sampler_filter_common LibreMetaverse.ImportExport.Collada14.fx_sampler3D_common.minfilter`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn minfilter(
                &self,
            ) -> libremetaverse::import_export::collada14::Fx_Sampler_Filter_Common {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_sampler3D_common.minfilter`.
            pub fn set_minfilter(
                &mut self,
                value: libremetaverse::import_export::collada14::Fx_Sampler_Filter_Common,
            ) {
                /* complete generated data model */
                self.property_3 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_sampler3D_common.mipfilter`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_sampler_filter_common LibreMetaverse.ImportExport.Collada14.fx_sampler3D_common.mipfilter`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn mipfilter(
                &self,
            ) -> libremetaverse::import_export::collada14::Fx_Sampler_Filter_Common {
                /* complete generated data model */
                self.property_4.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_sampler3D_common.mipfilter`.
            pub fn set_mipfilter(
                &mut self,
                value: libremetaverse::import_export::collada14::Fx_Sampler_Filter_Common,
            ) {
                /* complete generated data model */
                self.property_4 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_sampler3D_common.mipmap_bias`.
            ///
            /// C# signature: `System.Single LibreMetaverse.ImportExport.Collada14.fx_sampler3D_common.mipmap_bias`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn mipmap_bias(&self) -> f32 {
                /* complete generated data model */
                self.property_5.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_sampler3D_common.mipmap_bias`.
            pub fn set_mipmap_bias(&mut self, value: f32) {
                /* complete generated data model */
                self.property_5 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_sampler3D_common.mipmap_maxlevel`.
            ///
            /// C# signature: `System.Byte LibreMetaverse.ImportExport.Collada14.fx_sampler3D_common.mipmap_maxlevel`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn mipmap_maxlevel(&self) -> u8 {
                /* complete generated data model */
                self.property_6.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_sampler3D_common.mipmap_maxlevel`.
            pub fn set_mipmap_maxlevel(&mut self, value: u8) {
                /* complete generated data model */
                self.property_6 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_sampler3D_common.source`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.fx_sampler3D_common.source`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn source(&self) -> String {
                /* complete generated data model */
                self.property_7.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_sampler3D_common.source`.
            pub fn set_source(&mut self, value: String) {
                /* complete generated data model */
                self.property_7 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_sampler3D_common.wrap_p`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_sampler_wrap_common LibreMetaverse.ImportExport.Collada14.fx_sampler3D_common.wrap_p`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn wrap_p(
                &self,
            ) -> libremetaverse::import_export::collada14::Fx_Sampler_Wrap_Common {
                /* complete generated data model */
                self.property_8.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_sampler3D_common.wrap_p`.
            pub fn set_wrap_p(
                &mut self,
                value: libremetaverse::import_export::collada14::Fx_Sampler_Wrap_Common,
            ) {
                /* complete generated data model */
                self.property_8 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_sampler3D_common.wrap_s`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_sampler_wrap_common LibreMetaverse.ImportExport.Collada14.fx_sampler3D_common.wrap_s`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn wrap_s(
                &self,
            ) -> libremetaverse::import_export::collada14::Fx_Sampler_Wrap_Common {
                /* complete generated data model */
                self.property_9.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_sampler3D_common.wrap_s`.
            pub fn set_wrap_s(
                &mut self,
                value: libremetaverse::import_export::collada14::Fx_Sampler_Wrap_Common,
            ) {
                /* complete generated data model */
                self.property_9 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_sampler3D_common.wrap_t`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_sampler_wrap_common LibreMetaverse.ImportExport.Collada14.fx_sampler3D_common.wrap_t`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn wrap_t(
                &self,
            ) -> libremetaverse::import_export::collada14::Fx_Sampler_Wrap_Common {
                /* complete generated data model */
                self.property_10.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_sampler3D_common.wrap_t`.
            pub fn set_wrap_t(
                &mut self,
                value: libremetaverse::import_export::collada14::Fx_Sampler_Wrap_Common,
            ) {
                /* complete generated data model */
                self.property_10 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.fx_samplerCUBE_common`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.fx_samplerCUBE_common` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Fx_SamplerCUBE_Common {
            property_0: String,
            property_1: Vec<libremetaverse::import_export::collada14::Extra>,
            property_2: libremetaverse::import_export::collada14::Fx_Sampler_Filter_Common,
            property_3: libremetaverse::import_export::collada14::Fx_Sampler_Filter_Common,
            property_4: libremetaverse::import_export::collada14::Fx_Sampler_Filter_Common,
            property_5: f32,
            property_6: u8,
            property_7: String,
            property_8: libremetaverse::import_export::collada14::Fx_Sampler_Wrap_Common,
            property_9: libremetaverse::import_export::collada14::Fx_Sampler_Wrap_Common,
            property_10: libremetaverse::import_export::collada14::Fx_Sampler_Wrap_Common,
        }
        impl Default for Fx_SamplerCUBE_Common {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2:
                        libremetaverse::import_export::collada14::Fx_Sampler_Filter_Common::NONE,
                    property_3:
                        libremetaverse::import_export::collada14::Fx_Sampler_Filter_Common::NONE,
                    property_4:
                        libremetaverse::import_export::collada14::Fx_Sampler_Filter_Common::NONE,
                    property_5: 0.0,
                    property_6: 255,
                    property_7: Default::default(),
                    property_8:
                        libremetaverse::import_export::collada14::Fx_Sampler_Wrap_Common::WRAP,
                    property_9:
                        libremetaverse::import_export::collada14::Fx_Sampler_Wrap_Common::WRAP,
                    property_10:
                        libremetaverse::import_export::collada14::Fx_Sampler_Wrap_Common::WRAP,
                }
            }
        }
        impl Fx_SamplerCUBE_Common {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.fx_samplerCUBE_common.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_samplerCUBE_common()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_samplerCUBE_common.border_color`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.fx_samplerCUBE_common.border_color`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn border_color(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_samplerCUBE_common.border_color`.
            pub fn set_border_color(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_samplerCUBE_common.extra`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.extra[] LibreMetaverse.ImportExport.Collada14.fx_samplerCUBE_common.extra`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn extra(&self) -> Vec<libremetaverse::import_export::collada14::Extra> {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_samplerCUBE_common.extra`.
            pub fn set_extra(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Extra>,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_samplerCUBE_common.magfilter`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_sampler_filter_common LibreMetaverse.ImportExport.Collada14.fx_samplerCUBE_common.magfilter`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn magfilter(
                &self,
            ) -> libremetaverse::import_export::collada14::Fx_Sampler_Filter_Common {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_samplerCUBE_common.magfilter`.
            pub fn set_magfilter(
                &mut self,
                value: libremetaverse::import_export::collada14::Fx_Sampler_Filter_Common,
            ) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_samplerCUBE_common.minfilter`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_sampler_filter_common LibreMetaverse.ImportExport.Collada14.fx_samplerCUBE_common.minfilter`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn minfilter(
                &self,
            ) -> libremetaverse::import_export::collada14::Fx_Sampler_Filter_Common {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_samplerCUBE_common.minfilter`.
            pub fn set_minfilter(
                &mut self,
                value: libremetaverse::import_export::collada14::Fx_Sampler_Filter_Common,
            ) {
                /* complete generated data model */
                self.property_3 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_samplerCUBE_common.mipfilter`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_sampler_filter_common LibreMetaverse.ImportExport.Collada14.fx_samplerCUBE_common.mipfilter`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn mipfilter(
                &self,
            ) -> libremetaverse::import_export::collada14::Fx_Sampler_Filter_Common {
                /* complete generated data model */
                self.property_4.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_samplerCUBE_common.mipfilter`.
            pub fn set_mipfilter(
                &mut self,
                value: libremetaverse::import_export::collada14::Fx_Sampler_Filter_Common,
            ) {
                /* complete generated data model */
                self.property_4 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_samplerCUBE_common.mipmap_bias`.
            ///
            /// C# signature: `System.Single LibreMetaverse.ImportExport.Collada14.fx_samplerCUBE_common.mipmap_bias`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn mipmap_bias(&self) -> f32 {
                /* complete generated data model */
                self.property_5.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_samplerCUBE_common.mipmap_bias`.
            pub fn set_mipmap_bias(&mut self, value: f32) {
                /* complete generated data model */
                self.property_5 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_samplerCUBE_common.mipmap_maxlevel`.
            ///
            /// C# signature: `System.Byte LibreMetaverse.ImportExport.Collada14.fx_samplerCUBE_common.mipmap_maxlevel`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn mipmap_maxlevel(&self) -> u8 {
                /* complete generated data model */
                self.property_6.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_samplerCUBE_common.mipmap_maxlevel`.
            pub fn set_mipmap_maxlevel(&mut self, value: u8) {
                /* complete generated data model */
                self.property_6 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_samplerCUBE_common.source`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.fx_samplerCUBE_common.source`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn source(&self) -> String {
                /* complete generated data model */
                self.property_7.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_samplerCUBE_common.source`.
            pub fn set_source(&mut self, value: String) {
                /* complete generated data model */
                self.property_7 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_samplerCUBE_common.wrap_p`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_sampler_wrap_common LibreMetaverse.ImportExport.Collada14.fx_samplerCUBE_common.wrap_p`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn wrap_p(
                &self,
            ) -> libremetaverse::import_export::collada14::Fx_Sampler_Wrap_Common {
                /* complete generated data model */
                self.property_8.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_samplerCUBE_common.wrap_p`.
            pub fn set_wrap_p(
                &mut self,
                value: libremetaverse::import_export::collada14::Fx_Sampler_Wrap_Common,
            ) {
                /* complete generated data model */
                self.property_8 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_samplerCUBE_common.wrap_s`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_sampler_wrap_common LibreMetaverse.ImportExport.Collada14.fx_samplerCUBE_common.wrap_s`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn wrap_s(
                &self,
            ) -> libremetaverse::import_export::collada14::Fx_Sampler_Wrap_Common {
                /* complete generated data model */
                self.property_9.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_samplerCUBE_common.wrap_s`.
            pub fn set_wrap_s(
                &mut self,
                value: libremetaverse::import_export::collada14::Fx_Sampler_Wrap_Common,
            ) {
                /* complete generated data model */
                self.property_9 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_samplerCUBE_common.wrap_t`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_sampler_wrap_common LibreMetaverse.ImportExport.Collada14.fx_samplerCUBE_common.wrap_t`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn wrap_t(
                &self,
            ) -> libremetaverse::import_export::collada14::Fx_Sampler_Wrap_Common {
                /* complete generated data model */
                self.property_10.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_samplerCUBE_common.wrap_t`.
            pub fn set_wrap_t(
                &mut self,
                value: libremetaverse::import_export::collada14::Fx_Sampler_Wrap_Common,
            ) {
                /* complete generated data model */
                self.property_10 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.fx_samplerDEPTH_common`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.fx_samplerDEPTH_common` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Fx_SamplerDEPTH_Common {
            property_0: Vec<libremetaverse::import_export::collada14::Extra>,
            property_1: libremetaverse::import_export::collada14::Fx_Sampler_Filter_Common,
            property_2: libremetaverse::import_export::collada14::Fx_Sampler_Filter_Common,
            property_3: String,
            property_4: libremetaverse::import_export::collada14::Fx_Sampler_Wrap_Common,
            property_5: libremetaverse::import_export::collada14::Fx_Sampler_Wrap_Common,
        }
        impl Default for Fx_SamplerDEPTH_Common {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1:
                        libremetaverse::import_export::collada14::Fx_Sampler_Filter_Common::NONE,
                    property_2:
                        libremetaverse::import_export::collada14::Fx_Sampler_Filter_Common::NONE,
                    property_3: Default::default(),
                    property_4:
                        libremetaverse::import_export::collada14::Fx_Sampler_Wrap_Common::WRAP,
                    property_5:
                        libremetaverse::import_export::collada14::Fx_Sampler_Wrap_Common::WRAP,
                }
            }
        }
        impl Fx_SamplerDEPTH_Common {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.fx_samplerDEPTH_common.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_samplerDEPTH_common()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_samplerDEPTH_common.extra`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.extra[] LibreMetaverse.ImportExport.Collada14.fx_samplerDEPTH_common.extra`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn extra(&self) -> Vec<libremetaverse::import_export::collada14::Extra> {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_samplerDEPTH_common.extra`.
            pub fn set_extra(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Extra>,
            ) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_samplerDEPTH_common.magfilter`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_sampler_filter_common LibreMetaverse.ImportExport.Collada14.fx_samplerDEPTH_common.magfilter`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn magfilter(
                &self,
            ) -> libremetaverse::import_export::collada14::Fx_Sampler_Filter_Common {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_samplerDEPTH_common.magfilter`.
            pub fn set_magfilter(
                &mut self,
                value: libremetaverse::import_export::collada14::Fx_Sampler_Filter_Common,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_samplerDEPTH_common.minfilter`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_sampler_filter_common LibreMetaverse.ImportExport.Collada14.fx_samplerDEPTH_common.minfilter`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn minfilter(
                &self,
            ) -> libremetaverse::import_export::collada14::Fx_Sampler_Filter_Common {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_samplerDEPTH_common.minfilter`.
            pub fn set_minfilter(
                &mut self,
                value: libremetaverse::import_export::collada14::Fx_Sampler_Filter_Common,
            ) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_samplerDEPTH_common.source`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.fx_samplerDEPTH_common.source`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn source(&self) -> String {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_samplerDEPTH_common.source`.
            pub fn set_source(&mut self, value: String) {
                /* complete generated data model */
                self.property_3 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_samplerDEPTH_common.wrap_s`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_sampler_wrap_common LibreMetaverse.ImportExport.Collada14.fx_samplerDEPTH_common.wrap_s`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn wrap_s(
                &self,
            ) -> libremetaverse::import_export::collada14::Fx_Sampler_Wrap_Common {
                /* complete generated data model */
                self.property_4.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_samplerDEPTH_common.wrap_s`.
            pub fn set_wrap_s(
                &mut self,
                value: libremetaverse::import_export::collada14::Fx_Sampler_Wrap_Common,
            ) {
                /* complete generated data model */
                self.property_4 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_samplerDEPTH_common.wrap_t`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_sampler_wrap_common LibreMetaverse.ImportExport.Collada14.fx_samplerDEPTH_common.wrap_t`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn wrap_t(
                &self,
            ) -> libremetaverse::import_export::collada14::Fx_Sampler_Wrap_Common {
                /* complete generated data model */
                self.property_5.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_samplerDEPTH_common.wrap_t`.
            pub fn set_wrap_t(
                &mut self,
                value: libremetaverse::import_export::collada14::Fx_Sampler_Wrap_Common,
            ) {
                /* complete generated data model */
                self.property_5 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.fx_samplerRECT_common`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.fx_samplerRECT_common` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Fx_SamplerRECT_Common {
            property_0: String,
            property_1: Vec<libremetaverse::import_export::collada14::Extra>,
            property_2: libremetaverse::import_export::collada14::Fx_Sampler_Filter_Common,
            property_3: libremetaverse::import_export::collada14::Fx_Sampler_Filter_Common,
            property_4: libremetaverse::import_export::collada14::Fx_Sampler_Filter_Common,
            property_5: f32,
            property_6: u8,
            property_7: String,
            property_8: libremetaverse::import_export::collada14::Fx_Sampler_Wrap_Common,
            property_9: libremetaverse::import_export::collada14::Fx_Sampler_Wrap_Common,
        }
        impl Default for Fx_SamplerRECT_Common {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2:
                        libremetaverse::import_export::collada14::Fx_Sampler_Filter_Common::NONE,
                    property_3:
                        libremetaverse::import_export::collada14::Fx_Sampler_Filter_Common::NONE,
                    property_4:
                        libremetaverse::import_export::collada14::Fx_Sampler_Filter_Common::NONE,
                    property_5: 0.0,
                    property_6: 255,
                    property_7: Default::default(),
                    property_8:
                        libremetaverse::import_export::collada14::Fx_Sampler_Wrap_Common::WRAP,
                    property_9:
                        libremetaverse::import_export::collada14::Fx_Sampler_Wrap_Common::WRAP,
                }
            }
        }
        impl Fx_SamplerRECT_Common {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.fx_samplerRECT_common.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_samplerRECT_common()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_samplerRECT_common.border_color`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.fx_samplerRECT_common.border_color`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn border_color(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_samplerRECT_common.border_color`.
            pub fn set_border_color(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_samplerRECT_common.extra`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.extra[] LibreMetaverse.ImportExport.Collada14.fx_samplerRECT_common.extra`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn extra(&self) -> Vec<libremetaverse::import_export::collada14::Extra> {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_samplerRECT_common.extra`.
            pub fn set_extra(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Extra>,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_samplerRECT_common.magfilter`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_sampler_filter_common LibreMetaverse.ImportExport.Collada14.fx_samplerRECT_common.magfilter`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn magfilter(
                &self,
            ) -> libremetaverse::import_export::collada14::Fx_Sampler_Filter_Common {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_samplerRECT_common.magfilter`.
            pub fn set_magfilter(
                &mut self,
                value: libremetaverse::import_export::collada14::Fx_Sampler_Filter_Common,
            ) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_samplerRECT_common.minfilter`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_sampler_filter_common LibreMetaverse.ImportExport.Collada14.fx_samplerRECT_common.minfilter`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn minfilter(
                &self,
            ) -> libremetaverse::import_export::collada14::Fx_Sampler_Filter_Common {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_samplerRECT_common.minfilter`.
            pub fn set_minfilter(
                &mut self,
                value: libremetaverse::import_export::collada14::Fx_Sampler_Filter_Common,
            ) {
                /* complete generated data model */
                self.property_3 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_samplerRECT_common.mipfilter`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_sampler_filter_common LibreMetaverse.ImportExport.Collada14.fx_samplerRECT_common.mipfilter`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn mipfilter(
                &self,
            ) -> libremetaverse::import_export::collada14::Fx_Sampler_Filter_Common {
                /* complete generated data model */
                self.property_4.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_samplerRECT_common.mipfilter`.
            pub fn set_mipfilter(
                &mut self,
                value: libremetaverse::import_export::collada14::Fx_Sampler_Filter_Common,
            ) {
                /* complete generated data model */
                self.property_4 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_samplerRECT_common.mipmap_bias`.
            ///
            /// C# signature: `System.Single LibreMetaverse.ImportExport.Collada14.fx_samplerRECT_common.mipmap_bias`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn mipmap_bias(&self) -> f32 {
                /* complete generated data model */
                self.property_5.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_samplerRECT_common.mipmap_bias`.
            pub fn set_mipmap_bias(&mut self, value: f32) {
                /* complete generated data model */
                self.property_5 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_samplerRECT_common.mipmap_maxlevel`.
            ///
            /// C# signature: `System.Byte LibreMetaverse.ImportExport.Collada14.fx_samplerRECT_common.mipmap_maxlevel`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn mipmap_maxlevel(&self) -> u8 {
                /* complete generated data model */
                self.property_6.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_samplerRECT_common.mipmap_maxlevel`.
            pub fn set_mipmap_maxlevel(&mut self, value: u8) {
                /* complete generated data model */
                self.property_6 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_samplerRECT_common.source`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.fx_samplerRECT_common.source`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn source(&self) -> String {
                /* complete generated data model */
                self.property_7.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_samplerRECT_common.source`.
            pub fn set_source(&mut self, value: String) {
                /* complete generated data model */
                self.property_7 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_samplerRECT_common.wrap_s`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_sampler_wrap_common LibreMetaverse.ImportExport.Collada14.fx_samplerRECT_common.wrap_s`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn wrap_s(
                &self,
            ) -> libremetaverse::import_export::collada14::Fx_Sampler_Wrap_Common {
                /* complete generated data model */
                self.property_8.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_samplerRECT_common.wrap_s`.
            pub fn set_wrap_s(
                &mut self,
                value: libremetaverse::import_export::collada14::Fx_Sampler_Wrap_Common,
            ) {
                /* complete generated data model */
                self.property_8 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_samplerRECT_common.wrap_t`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_sampler_wrap_common LibreMetaverse.ImportExport.Collada14.fx_samplerRECT_common.wrap_t`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn wrap_t(
                &self,
            ) -> libremetaverse::import_export::collada14::Fx_Sampler_Wrap_Common {
                /* complete generated data model */
                self.property_9.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_samplerRECT_common.wrap_t`.
            pub fn set_wrap_t(
                &mut self,
                value: libremetaverse::import_export::collada14::Fx_Sampler_Wrap_Common,
            ) {
                /* complete generated data model */
                self.property_9 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.fx_sampler_filter_common`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.fx_sampler_filter_common` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone, Copy, Debug, Default, Eq, Hash, PartialEq)]
        #[repr(i32)]
        pub enum Fx_Sampler_Filter_Common {
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.fx_sampler_filter_common.LINEAR`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_sampler_filter_common LibreMetaverse.ImportExport.Collada14.fx_sampler_filter_common.LINEAR`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            #[default]
            LINEAR = 2,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.fx_sampler_filter_common.LINEAR_MIPMAP_LINEAR`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_sampler_filter_common LibreMetaverse.ImportExport.Collada14.fx_sampler_filter_common.LINEAR_MIPMAP_LINEAR`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            LINEAR_MIPMAP_LINEAR = 6,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.fx_sampler_filter_common.LINEAR_MIPMAP_NEAREST`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_sampler_filter_common LibreMetaverse.ImportExport.Collada14.fx_sampler_filter_common.LINEAR_MIPMAP_NEAREST`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            LINEAR_MIPMAP_NEAREST = 4,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.fx_sampler_filter_common.NEAREST`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_sampler_filter_common LibreMetaverse.ImportExport.Collada14.fx_sampler_filter_common.NEAREST`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            NEAREST = 1,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.fx_sampler_filter_common.NEAREST_MIPMAP_LINEAR`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_sampler_filter_common LibreMetaverse.ImportExport.Collada14.fx_sampler_filter_common.NEAREST_MIPMAP_LINEAR`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            NEAREST_MIPMAP_LINEAR = 5,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.fx_sampler_filter_common.NEAREST_MIPMAP_NEAREST`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_sampler_filter_common LibreMetaverse.ImportExport.Collada14.fx_sampler_filter_common.NEAREST_MIPMAP_NEAREST`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            NEAREST_MIPMAP_NEAREST = 3,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.fx_sampler_filter_common.NONE`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_sampler_filter_common LibreMetaverse.ImportExport.Collada14.fx_sampler_filter_common.NONE`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            NONE = 0,
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.fx_sampler_wrap_common`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.fx_sampler_wrap_common` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone, Copy, Debug, Default, Eq, Hash, PartialEq)]
        #[repr(i32)]
        pub enum Fx_Sampler_Wrap_Common {
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.fx_sampler_wrap_common.BORDER`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_sampler_wrap_common LibreMetaverse.ImportExport.Collada14.fx_sampler_wrap_common.BORDER`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            #[default]
            BORDER = 4,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.fx_sampler_wrap_common.CLAMP`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_sampler_wrap_common LibreMetaverse.ImportExport.Collada14.fx_sampler_wrap_common.CLAMP`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            CLAMP = 3,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.fx_sampler_wrap_common.MIRROR`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_sampler_wrap_common LibreMetaverse.ImportExport.Collada14.fx_sampler_wrap_common.MIRROR`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            MIRROR = 2,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.fx_sampler_wrap_common.NONE`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_sampler_wrap_common LibreMetaverse.ImportExport.Collada14.fx_sampler_wrap_common.NONE`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            NONE = 0,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.fx_sampler_wrap_common.WRAP`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_sampler_wrap_common LibreMetaverse.ImportExport.Collada14.fx_sampler_wrap_common.WRAP`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            WRAP = 1,
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.fx_stenciltarget_common`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.fx_stenciltarget_common` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Fx_Stenciltarget_Common {
            property_0: String,
            property_1: libremetaverse::import_export::collada14::Fx_Surface_Face_Enum,
            property_2: String,
            property_3: String,
            property_4: String,
        }
        impl Default for Fx_Stenciltarget_Common {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1:
                        libremetaverse::import_export::collada14::Fx_Surface_Face_Enum::POSITIVE_X,
                    property_2: "0".to_owned(),
                    property_3: "0".to_owned(),
                    property_4: "0".to_owned(),
                }
            }
        }
        impl Fx_Stenciltarget_Common {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.fx_stenciltarget_common.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_stenciltarget_common()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_stenciltarget_common.Value`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.fx_stenciltarget_common.Value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_stenciltarget_common.Value`.
            pub fn set_value(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_stenciltarget_common.face`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_surface_face_enum LibreMetaverse.ImportExport.Collada14.fx_stenciltarget_common.face`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn face(&self) -> libremetaverse::import_export::collada14::Fx_Surface_Face_Enum {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_stenciltarget_common.face`.
            pub fn set_face(
                &mut self,
                value: libremetaverse::import_export::collada14::Fx_Surface_Face_Enum,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_stenciltarget_common.index`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.fx_stenciltarget_common.index`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn index(&self) -> String {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_stenciltarget_common.index`.
            pub fn set_index(&mut self, value: String) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_stenciltarget_common.mip`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.fx_stenciltarget_common.mip`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn mip(&self) -> String {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_stenciltarget_common.mip`.
            pub fn set_mip(&mut self, value: String) {
                /* complete generated data model */
                self.property_3 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_stenciltarget_common.slice`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.fx_stenciltarget_common.slice`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn slice(&self) -> String {
                /* complete generated data model */
                self.property_4.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_stenciltarget_common.slice`.
            pub fn set_slice(&mut self, value: String) {
                /* complete generated data model */
                self.property_4 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.fx_surface_common`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.fx_surface_common` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Fx_Surface_Common {
            property_0: libremetaverse_types::compat::Object,
            property_1: Vec<libremetaverse::import_export::collada14::Extra>,
            property_2: String,
            property_3: libremetaverse::import_export::collada14::Fx_Surface_Format_Hint_Common,
            property_4: libremetaverse_types::compat::Object,
            property_5: libremetaverse_types::compat::Object,
            property_6: libremetaverse::import_export::collada14::Fx_Surface_Init_Cube_Common,
            property_7: Vec<libremetaverse::import_export::collada14::Fx_Surface_Init_From_Common>,
            property_8: libremetaverse::import_export::collada14::Fx_Surface_Init_Planar_Common,
            property_9: libremetaverse::import_export::collada14::Fx_Surface_Init_Volume_Common,
            property_10: u32,
            property_11: bool,
            property_12: bool,
            property_13: libremetaverse::import_export::collada14::Fx_Surface_Type_Enum,
        }
        impl Default for Fx_Surface_Common {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                    property_4: Default::default(),
                    property_5: Default::default(),
                    property_6: Default::default(),
                    property_7: Default::default(),
                    property_8: Default::default(),
                    property_9: Default::default(),
                    property_10: 0,
                    property_11: Default::default(),
                    property_12: Default::default(),
                    property_13: Default::default(),
                }
            }
        }
        impl Fx_Surface_Common {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.fx_surface_common.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_surface_common()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_surface_common.Item`.
            ///
            /// C# signature: `System.Object LibreMetaverse.ImportExport.Collada14.fx_surface_common.Item`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn item(&self) -> libremetaverse_types::compat::Object {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_surface_common.Item`.
            pub fn set_item(&mut self, value: libremetaverse_types::compat::Object) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_surface_common.extra`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.extra[] LibreMetaverse.ImportExport.Collada14.fx_surface_common.extra`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn extra(&self) -> Vec<libremetaverse::import_export::collada14::Extra> {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_surface_common.extra`.
            pub fn set_extra(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Extra>,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_surface_common.format`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.fx_surface_common.format`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn format(&self) -> String {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_surface_common.format`.
            pub fn set_format(&mut self, value: String) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_surface_common.format_hint`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_surface_format_hint_common LibreMetaverse.ImportExport.Collada14.fx_surface_common.format_hint`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn format_hint(
                &self,
            ) -> libremetaverse::import_export::collada14::Fx_Surface_Format_Hint_Common
            {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_surface_common.format_hint`.
            pub fn set_format_hint(
                &mut self,
                value: libremetaverse::import_export::collada14::Fx_Surface_Format_Hint_Common,
            ) {
                /* complete generated data model */
                self.property_3 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_surface_common.init_as_null`.
            ///
            /// C# signature: `System.Object LibreMetaverse.ImportExport.Collada14.fx_surface_common.init_as_null`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn init_as_null(&self) -> libremetaverse_types::compat::Object {
                /* complete generated data model */
                self.property_4.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_surface_common.init_as_null`.
            pub fn set_init_as_null(&mut self, value: libremetaverse_types::compat::Object) {
                /* complete generated data model */
                self.property_4 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_surface_common.init_as_target`.
            ///
            /// C# signature: `System.Object LibreMetaverse.ImportExport.Collada14.fx_surface_common.init_as_target`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn init_as_target(&self) -> libremetaverse_types::compat::Object {
                /* complete generated data model */
                self.property_5.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_surface_common.init_as_target`.
            pub fn set_init_as_target(&mut self, value: libremetaverse_types::compat::Object) {
                /* complete generated data model */
                self.property_5 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_surface_common.init_cube`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_surface_init_cube_common LibreMetaverse.ImportExport.Collada14.fx_surface_common.init_cube`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn init_cube(
                &self,
            ) -> libremetaverse::import_export::collada14::Fx_Surface_Init_Cube_Common {
                /* complete generated data model */
                self.property_6.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_surface_common.init_cube`.
            pub fn set_init_cube(
                &mut self,
                value: libremetaverse::import_export::collada14::Fx_Surface_Init_Cube_Common,
            ) {
                /* complete generated data model */
                self.property_6 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_surface_common.init_from`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_surface_init_from_common[] LibreMetaverse.ImportExport.Collada14.fx_surface_common.init_from`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn init_from(
                &self,
            ) -> Vec<libremetaverse::import_export::collada14::Fx_Surface_Init_From_Common>
            {
                /* complete generated data model */
                self.property_7.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_surface_common.init_from`.
            pub fn set_init_from(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Fx_Surface_Init_From_Common>,
            ) {
                /* complete generated data model */
                self.property_7 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_surface_common.init_planar`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_surface_init_planar_common LibreMetaverse.ImportExport.Collada14.fx_surface_common.init_planar`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn init_planar(
                &self,
            ) -> libremetaverse::import_export::collada14::Fx_Surface_Init_Planar_Common
            {
                /* complete generated data model */
                self.property_8.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_surface_common.init_planar`.
            pub fn set_init_planar(
                &mut self,
                value: libremetaverse::import_export::collada14::Fx_Surface_Init_Planar_Common,
            ) {
                /* complete generated data model */
                self.property_8 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_surface_common.init_volume`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_surface_init_volume_common LibreMetaverse.ImportExport.Collada14.fx_surface_common.init_volume`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn init_volume(
                &self,
            ) -> libremetaverse::import_export::collada14::Fx_Surface_Init_Volume_Common
            {
                /* complete generated data model */
                self.property_9.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_surface_common.init_volume`.
            pub fn set_init_volume(
                &mut self,
                value: libremetaverse::import_export::collada14::Fx_Surface_Init_Volume_Common,
            ) {
                /* complete generated data model */
                self.property_9 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_surface_common.mip_levels`.
            ///
            /// C# signature: `System.UInt32 LibreMetaverse.ImportExport.Collada14.fx_surface_common.mip_levels`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn mip_levels(&self) -> u32 {
                /* complete generated data model */
                self.property_10.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_surface_common.mip_levels`.
            pub fn set_mip_levels(&mut self, value: u32) {
                /* complete generated data model */
                self.property_10 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_surface_common.mipmap_generate`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.ImportExport.Collada14.fx_surface_common.mipmap_generate`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn mipmap_generate(&self) -> bool {
                /* complete generated data model */
                self.property_11.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_surface_common.mipmap_generate`.
            pub fn set_mipmap_generate(&mut self, value: bool) {
                /* complete generated data model */
                self.property_11 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_surface_common.mipmap_generateSpecified`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.ImportExport.Collada14.fx_surface_common.mipmap_generateSpecified`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn mipmap_generate_specified(&self) -> bool {
                /* complete generated data model */
                self.property_12.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_surface_common.mipmap_generateSpecified`.
            pub fn set_mipmap_generate_specified(&mut self, value: bool) {
                /* complete generated data model */
                self.property_12 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_surface_common.type`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_surface_type_enum LibreMetaverse.ImportExport.Collada14.fx_surface_common.type`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn type_(&self) -> libremetaverse::import_export::collada14::Fx_Surface_Type_Enum {
                /* complete generated data model */
                self.property_13.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_surface_common.type`.
            pub fn set_type_(
                &mut self,
                value: libremetaverse::import_export::collada14::Fx_Surface_Type_Enum,
            ) {
                /* complete generated data model */
                self.property_13 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.fx_surface_face_enum`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.fx_surface_face_enum` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone, Copy, Debug, Default, Eq, Hash, PartialEq)]
        #[repr(i32)]
        pub enum Fx_Surface_Face_Enum {
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.fx_surface_face_enum.NEGATIVE_X`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_surface_face_enum LibreMetaverse.ImportExport.Collada14.fx_surface_face_enum.NEGATIVE_X`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            #[default]
            NEGATIVE_X = 1,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.fx_surface_face_enum.NEGATIVE_Y`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_surface_face_enum LibreMetaverse.ImportExport.Collada14.fx_surface_face_enum.NEGATIVE_Y`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            NEGATIVE_Y = 3,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.fx_surface_face_enum.NEGATIVE_Z`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_surface_face_enum LibreMetaverse.ImportExport.Collada14.fx_surface_face_enum.NEGATIVE_Z`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            NEGATIVE_Z = 5,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.fx_surface_face_enum.POSITIVE_X`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_surface_face_enum LibreMetaverse.ImportExport.Collada14.fx_surface_face_enum.POSITIVE_X`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            POSITIVE_X = 0,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.fx_surface_face_enum.POSITIVE_Y`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_surface_face_enum LibreMetaverse.ImportExport.Collada14.fx_surface_face_enum.POSITIVE_Y`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            POSITIVE_Y = 2,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.fx_surface_face_enum.POSITIVE_Z`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_surface_face_enum LibreMetaverse.ImportExport.Collada14.fx_surface_face_enum.POSITIVE_Z`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            POSITIVE_Z = 4,
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.fx_surface_format_hint_channels_enum`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.fx_surface_format_hint_channels_enum` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone, Copy, Debug, Default, Eq, Hash, PartialEq)]
        #[repr(i32)]
        pub enum Fx_Surface_Format_Hint_Channels_Enum {
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.fx_surface_format_hint_channels_enum.D`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_surface_format_hint_channels_enum LibreMetaverse.ImportExport.Collada14.fx_surface_format_hint_channels_enum.D`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            #[default]
            D = 4,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.fx_surface_format_hint_channels_enum.L`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_surface_format_hint_channels_enum LibreMetaverse.ImportExport.Collada14.fx_surface_format_hint_channels_enum.L`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            L = 2,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.fx_surface_format_hint_channels_enum.LA`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_surface_format_hint_channels_enum LibreMetaverse.ImportExport.Collada14.fx_surface_format_hint_channels_enum.LA`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            LA = 3,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.fx_surface_format_hint_channels_enum.RGB`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_surface_format_hint_channels_enum LibreMetaverse.ImportExport.Collada14.fx_surface_format_hint_channels_enum.RGB`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            RGB = 0,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.fx_surface_format_hint_channels_enum.RGBA`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_surface_format_hint_channels_enum LibreMetaverse.ImportExport.Collada14.fx_surface_format_hint_channels_enum.RGBA`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            RGBA = 1,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.fx_surface_format_hint_channels_enum.XYZ`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_surface_format_hint_channels_enum LibreMetaverse.ImportExport.Collada14.fx_surface_format_hint_channels_enum.XYZ`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            XYZ = 5,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.fx_surface_format_hint_channels_enum.XYZW`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_surface_format_hint_channels_enum LibreMetaverse.ImportExport.Collada14.fx_surface_format_hint_channels_enum.XYZW`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            XYZW = 6,
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.fx_surface_format_hint_common`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.fx_surface_format_hint_common` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Fx_Surface_Format_Hint_Common {
            property_0:
                libremetaverse::import_export::collada14::Fx_Surface_Format_Hint_Channels_Enum,
            property_1: Vec<libremetaverse::import_export::collada14::Extra>,
            property_2:
                Vec<libremetaverse::import_export::collada14::Fx_Surface_Format_Hint_Option_Enum>,
            property_3:
                libremetaverse::import_export::collada14::Fx_Surface_Format_Hint_Precision_Enum,
            property_4: bool,
            property_5: libremetaverse::import_export::collada14::Fx_Surface_Format_Hint_Range_Enum,
        }
        impl Default for Fx_Surface_Format_Hint_Common {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                    property_4: Default::default(),
                    property_5: Default::default(),
                }
            }
        }
        impl Fx_Surface_Format_Hint_Common {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.fx_surface_format_hint_common.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_surface_format_hint_common()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_surface_format_hint_common.channels`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_surface_format_hint_channels_enum LibreMetaverse.ImportExport.Collada14.fx_surface_format_hint_common.channels`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn channels(
                &self,
            ) -> libremetaverse::import_export::collada14::Fx_Surface_Format_Hint_Channels_Enum
            {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_surface_format_hint_common.channels`.
            pub fn set_channels(
                &mut self,
                value: libremetaverse::import_export::collada14::Fx_Surface_Format_Hint_Channels_Enum,
            ) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_surface_format_hint_common.extra`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.extra[] LibreMetaverse.ImportExport.Collada14.fx_surface_format_hint_common.extra`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn extra(&self) -> Vec<libremetaverse::import_export::collada14::Extra> {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_surface_format_hint_common.extra`.
            pub fn set_extra(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Extra>,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_surface_format_hint_common.option`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_surface_format_hint_option_enum[] LibreMetaverse.ImportExport.Collada14.fx_surface_format_hint_common.option`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn option(
                &self,
            ) -> Vec<libremetaverse::import_export::collada14::Fx_Surface_Format_Hint_Option_Enum>
            {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_surface_format_hint_common.option`.
            pub fn set_option(
                &mut self,
                value: Vec<
                    libremetaverse::import_export::collada14::Fx_Surface_Format_Hint_Option_Enum,
                >,
            ) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_surface_format_hint_common.precision`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_surface_format_hint_precision_enum LibreMetaverse.ImportExport.Collada14.fx_surface_format_hint_common.precision`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn precision(
                &self,
            ) -> libremetaverse::import_export::collada14::Fx_Surface_Format_Hint_Precision_Enum
            {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_surface_format_hint_common.precision`.
            pub fn set_precision(
                &mut self,
                value: libremetaverse::import_export::collada14::Fx_Surface_Format_Hint_Precision_Enum,
            ) {
                /* complete generated data model */
                self.property_3 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_surface_format_hint_common.precisionSpecified`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.ImportExport.Collada14.fx_surface_format_hint_common.precisionSpecified`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn precision_specified(&self) -> bool {
                /* complete generated data model */
                self.property_4.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_surface_format_hint_common.precisionSpecified`.
            pub fn set_precision_specified(&mut self, value: bool) {
                /* complete generated data model */
                self.property_4 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_surface_format_hint_common.range`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_surface_format_hint_range_enum LibreMetaverse.ImportExport.Collada14.fx_surface_format_hint_common.range`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn range(
                &self,
            ) -> libremetaverse::import_export::collada14::Fx_Surface_Format_Hint_Range_Enum
            {
                /* complete generated data model */
                self.property_5.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_surface_format_hint_common.range`.
            pub fn set_range(
                &mut self,
                value: libremetaverse::import_export::collada14::Fx_Surface_Format_Hint_Range_Enum,
            ) {
                /* complete generated data model */
                self.property_5 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.fx_surface_format_hint_option_enum`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.fx_surface_format_hint_option_enum` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone, Copy, Debug, Default, Eq, Hash, PartialEq)]
        #[repr(i32)]
        pub enum Fx_Surface_Format_Hint_Option_Enum {
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.fx_surface_format_hint_option_enum.COMPRESSABLE`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_surface_format_hint_option_enum LibreMetaverse.ImportExport.Collada14.fx_surface_format_hint_option_enum.COMPRESSABLE`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            #[default]
            COMPRESSABLE = 3,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.fx_surface_format_hint_option_enum.NORMALIZED3`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_surface_format_hint_option_enum LibreMetaverse.ImportExport.Collada14.fx_surface_format_hint_option_enum.NORMALIZED3`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            NORMALIZED3 = 1,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.fx_surface_format_hint_option_enum.NORMALIZED4`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_surface_format_hint_option_enum LibreMetaverse.ImportExport.Collada14.fx_surface_format_hint_option_enum.NORMALIZED4`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            NORMALIZED4 = 2,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.fx_surface_format_hint_option_enum.SRGB_GAMMA`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_surface_format_hint_option_enum LibreMetaverse.ImportExport.Collada14.fx_surface_format_hint_option_enum.SRGB_GAMMA`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            SRGB_GAMMA = 0,
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.fx_surface_format_hint_precision_enum`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.fx_surface_format_hint_precision_enum` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone, Copy, Debug, Default, Eq, Hash, PartialEq)]
        #[repr(i32)]
        pub enum Fx_Surface_Format_Hint_Precision_Enum {
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.fx_surface_format_hint_precision_enum.HIGH`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_surface_format_hint_precision_enum LibreMetaverse.ImportExport.Collada14.fx_surface_format_hint_precision_enum.HIGH`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            #[default]
            HIGH = 2,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.fx_surface_format_hint_precision_enum.LOW`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_surface_format_hint_precision_enum LibreMetaverse.ImportExport.Collada14.fx_surface_format_hint_precision_enum.LOW`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            LOW = 0,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.fx_surface_format_hint_precision_enum.MID`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_surface_format_hint_precision_enum LibreMetaverse.ImportExport.Collada14.fx_surface_format_hint_precision_enum.MID`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            MID = 1,
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.fx_surface_format_hint_range_enum`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.fx_surface_format_hint_range_enum` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone, Copy, Debug, Default, Eq, Hash, PartialEq)]
        #[repr(i32)]
        pub enum Fx_Surface_Format_Hint_Range_Enum {
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.fx_surface_format_hint_range_enum.FLOAT`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_surface_format_hint_range_enum LibreMetaverse.ImportExport.Collada14.fx_surface_format_hint_range_enum.FLOAT`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            #[default]
            FLOAT = 4,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.fx_surface_format_hint_range_enum.SINT`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_surface_format_hint_range_enum LibreMetaverse.ImportExport.Collada14.fx_surface_format_hint_range_enum.SINT`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            SINT = 2,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.fx_surface_format_hint_range_enum.SNORM`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_surface_format_hint_range_enum LibreMetaverse.ImportExport.Collada14.fx_surface_format_hint_range_enum.SNORM`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            SNORM = 0,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.fx_surface_format_hint_range_enum.UINT`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_surface_format_hint_range_enum LibreMetaverse.ImportExport.Collada14.fx_surface_format_hint_range_enum.UINT`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            UINT = 3,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.fx_surface_format_hint_range_enum.UNORM`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_surface_format_hint_range_enum LibreMetaverse.ImportExport.Collada14.fx_surface_format_hint_range_enum.UNORM`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            UNORM = 1,
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.fx_surface_init_cube_common`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.fx_surface_init_cube_common` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Fx_Surface_Init_Cube_Common {
            property_0: Vec<libremetaverse_types::compat::Object>,
        }
        impl Default for Fx_Surface_Init_Cube_Common {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                }
            }
        }
        impl Fx_Surface_Init_Cube_Common {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.fx_surface_init_cube_common.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_surface_init_cube_common()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_surface_init_cube_common.Items`.
            ///
            /// C# signature: `System.Object[] LibreMetaverse.ImportExport.Collada14.fx_surface_init_cube_common.Items`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn items(&self) -> Vec<libremetaverse_types::compat::Object> {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_surface_init_cube_common.Items`.
            pub fn set_items(&mut self, value: Vec<libremetaverse_types::compat::Object>) {
                /* complete generated data model */
                self.property_0 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.fx_surface_init_cube_commonAll`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.fx_surface_init_cube_commonAll` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Fx_Surface_Init_Cube_CommonAll {
            property_0: String,
        }
        impl Default for Fx_Surface_Init_Cube_CommonAll {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                }
            }
        }
        impl Fx_Surface_Init_Cube_CommonAll {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.fx_surface_init_cube_commonAll.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_surface_init_cube_commonAll()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_surface_init_cube_commonAll.ref`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.fx_surface_init_cube_commonAll.ref`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn ref_(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_surface_init_cube_commonAll.ref`.
            pub fn set_ref_(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.fx_surface_init_cube_commonFace`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.fx_surface_init_cube_commonFace` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Fx_Surface_Init_Cube_CommonFace {
            property_0: String,
        }
        impl Default for Fx_Surface_Init_Cube_CommonFace {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                }
            }
        }
        impl Fx_Surface_Init_Cube_CommonFace {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.fx_surface_init_cube_commonFace.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_surface_init_cube_commonFace()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_surface_init_cube_commonFace.ref`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.fx_surface_init_cube_commonFace.ref`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn ref_(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_surface_init_cube_commonFace.ref`.
            pub fn set_ref_(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.fx_surface_init_cube_commonPrimary`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.fx_surface_init_cube_commonPrimary` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Fx_Surface_Init_Cube_CommonPrimary {
            property_0: Vec<libremetaverse::import_export::collada14::Fx_Surface_Face_Enum>,
            property_1: String,
        }
        impl Default for Fx_Surface_Init_Cube_CommonPrimary {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                }
            }
        }
        impl Fx_Surface_Init_Cube_CommonPrimary {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.fx_surface_init_cube_commonPrimary.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_surface_init_cube_commonPrimary()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_surface_init_cube_commonPrimary.order`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_surface_face_enum[] LibreMetaverse.ImportExport.Collada14.fx_surface_init_cube_commonPrimary.order`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn order(
                &self,
            ) -> Vec<libremetaverse::import_export::collada14::Fx_Surface_Face_Enum> {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_surface_init_cube_commonPrimary.order`.
            pub fn set_order(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Fx_Surface_Face_Enum>,
            ) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_surface_init_cube_commonPrimary.ref`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.fx_surface_init_cube_commonPrimary.ref`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn ref_(&self) -> String {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_surface_init_cube_commonPrimary.ref`.
            pub fn set_ref_(&mut self, value: String) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.fx_surface_init_from_common`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.fx_surface_init_from_common` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Fx_Surface_Init_From_Common {
            property_0: String,
            property_1: libremetaverse::import_export::collada14::Fx_Surface_Face_Enum,
            property_2: u32,
            property_3: u32,
        }
        impl Default for Fx_Surface_Init_From_Common {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1:
                        libremetaverse::import_export::collada14::Fx_Surface_Face_Enum::POSITIVE_X,
                    property_2: 0,
                    property_3: 0,
                }
            }
        }
        impl Fx_Surface_Init_From_Common {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.fx_surface_init_from_common.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_surface_init_from_common()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_surface_init_from_common.Value`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.fx_surface_init_from_common.Value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_surface_init_from_common.Value`.
            pub fn set_value(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_surface_init_from_common.face`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_surface_face_enum LibreMetaverse.ImportExport.Collada14.fx_surface_init_from_common.face`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn face(&self) -> libremetaverse::import_export::collada14::Fx_Surface_Face_Enum {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_surface_init_from_common.face`.
            pub fn set_face(
                &mut self,
                value: libremetaverse::import_export::collada14::Fx_Surface_Face_Enum,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_surface_init_from_common.mip`.
            ///
            /// C# signature: `System.UInt32 LibreMetaverse.ImportExport.Collada14.fx_surface_init_from_common.mip`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn mip(&self) -> u32 {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_surface_init_from_common.mip`.
            pub fn set_mip(&mut self, value: u32) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_surface_init_from_common.slice`.
            ///
            /// C# signature: `System.UInt32 LibreMetaverse.ImportExport.Collada14.fx_surface_init_from_common.slice`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn slice(&self) -> u32 {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_surface_init_from_common.slice`.
            pub fn set_slice(&mut self, value: u32) {
                /* complete generated data model */
                self.property_3 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.fx_surface_init_planar_common`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.fx_surface_init_planar_common` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Fx_Surface_Init_Planar_Common {
            property_0: libremetaverse::import_export::collada14::Fx_Surface_Init_Planar_CommonAll,
        }
        impl Default for Fx_Surface_Init_Planar_Common {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                }
            }
        }
        impl Fx_Surface_Init_Planar_Common {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.fx_surface_init_planar_common.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_surface_init_planar_common()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_surface_init_planar_common.Item`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_surface_init_planar_commonAll LibreMetaverse.ImportExport.Collada14.fx_surface_init_planar_common.Item`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn item(
                &self,
            ) -> libremetaverse::import_export::collada14::Fx_Surface_Init_Planar_CommonAll
            {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_surface_init_planar_common.Item`.
            pub fn set_item(
                &mut self,
                value: libremetaverse::import_export::collada14::Fx_Surface_Init_Planar_CommonAll,
            ) {
                /* complete generated data model */
                self.property_0 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.fx_surface_init_planar_commonAll`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.fx_surface_init_planar_commonAll` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Fx_Surface_Init_Planar_CommonAll {
            property_0: String,
        }
        impl Default for Fx_Surface_Init_Planar_CommonAll {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                }
            }
        }
        impl Fx_Surface_Init_Planar_CommonAll {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.fx_surface_init_planar_commonAll.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_surface_init_planar_commonAll()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_surface_init_planar_commonAll.ref`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.fx_surface_init_planar_commonAll.ref`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn ref_(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_surface_init_planar_commonAll.ref`.
            pub fn set_ref_(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.fx_surface_init_volume_common`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.fx_surface_init_volume_common` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Fx_Surface_Init_Volume_Common {
            property_0: libremetaverse_types::compat::Object,
        }
        impl Default for Fx_Surface_Init_Volume_Common {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                }
            }
        }
        impl Fx_Surface_Init_Volume_Common {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.fx_surface_init_volume_common.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_surface_init_volume_common()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_surface_init_volume_common.Item`.
            ///
            /// C# signature: `System.Object LibreMetaverse.ImportExport.Collada14.fx_surface_init_volume_common.Item`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn item(&self) -> libremetaverse_types::compat::Object {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_surface_init_volume_common.Item`.
            pub fn set_item(&mut self, value: libremetaverse_types::compat::Object) {
                /* complete generated data model */
                self.property_0 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.fx_surface_init_volume_commonAll`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.fx_surface_init_volume_commonAll` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Fx_Surface_Init_Volume_CommonAll {
            property_0: String,
        }
        impl Default for Fx_Surface_Init_Volume_CommonAll {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                }
            }
        }
        impl Fx_Surface_Init_Volume_CommonAll {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.fx_surface_init_volume_commonAll.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_surface_init_volume_commonAll()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_surface_init_volume_commonAll.ref`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.fx_surface_init_volume_commonAll.ref`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn ref_(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_surface_init_volume_commonAll.ref`.
            pub fn set_ref_(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.fx_surface_init_volume_commonPrimary`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.fx_surface_init_volume_commonPrimary` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Fx_Surface_Init_Volume_CommonPrimary {
            property_0: String,
        }
        impl Default for Fx_Surface_Init_Volume_CommonPrimary {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                }
            }
        }
        impl Fx_Surface_Init_Volume_CommonPrimary {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.fx_surface_init_volume_commonPrimary.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_surface_init_volume_commonPrimary()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_surface_init_volume_commonPrimary.ref`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.fx_surface_init_volume_commonPrimary.ref`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn ref_(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.fx_surface_init_volume_commonPrimary.ref`.
            pub fn set_ref_(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.fx_surface_type_enum`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.fx_surface_type_enum` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone, Copy, Debug, Default, Eq, Hash, PartialEq)]
        #[repr(i32)]
        pub enum Fx_Surface_Type_Enum {
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.fx_surface_type_enum.CUBE`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_surface_type_enum LibreMetaverse.ImportExport.Collada14.fx_surface_type_enum.CUBE`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            #[default]
            CUBE = 5,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.fx_surface_type_enum.DEPTH`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_surface_type_enum LibreMetaverse.ImportExport.Collada14.fx_surface_type_enum.DEPTH`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            DEPTH = 6,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.fx_surface_type_enum.Item1D`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_surface_type_enum LibreMetaverse.ImportExport.Collada14.fx_surface_type_enum.Item1D`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Item1D = 1,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.fx_surface_type_enum.Item2D`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_surface_type_enum LibreMetaverse.ImportExport.Collada14.fx_surface_type_enum.Item2D`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Item2D = 2,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.fx_surface_type_enum.Item3D`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_surface_type_enum LibreMetaverse.ImportExport.Collada14.fx_surface_type_enum.Item3D`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Item3D = 3,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.fx_surface_type_enum.RECT`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_surface_type_enum LibreMetaverse.ImportExport.Collada14.fx_surface_type_enum.RECT`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            RECT = 4,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.fx_surface_type_enum.UNTYPED`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_surface_type_enum LibreMetaverse.ImportExport.Collada14.fx_surface_type_enum.UNTYPED`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            UNTYPED = 0,
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.geometry`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.geometry` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Geometry {
            property_0: libremetaverse_types::compat::Object,
            property_1: libremetaverse::import_export::collada14::Asset,
            property_2: Vec<libremetaverse::import_export::collada14::Extra>,
            property_3: String,
            property_4: String,
        }
        impl Default for Geometry {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                    property_4: Default::default(),
                }
            }
        }
        impl Geometry {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.geometry.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.geometry()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.geometry.Item`.
            ///
            /// C# signature: `System.Object LibreMetaverse.ImportExport.Collada14.geometry.Item`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn item(&self) -> libremetaverse_types::compat::Object {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.geometry.Item`.
            pub fn set_item(&mut self, value: libremetaverse_types::compat::Object) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.geometry.asset`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.asset LibreMetaverse.ImportExport.Collada14.geometry.asset`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn asset(&self) -> libremetaverse::import_export::collada14::Asset {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.geometry.asset`.
            pub fn set_asset(&mut self, value: libremetaverse::import_export::collada14::Asset) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.geometry.extra`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.extra[] LibreMetaverse.ImportExport.Collada14.geometry.extra`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn extra(&self) -> Vec<libremetaverse::import_export::collada14::Extra> {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.geometry.extra`.
            pub fn set_extra(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Extra>,
            ) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.geometry.id`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.geometry.id`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn id(&self) -> String {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.geometry.id`.
            pub fn set_id(&mut self, value: String) {
                /* complete generated data model */
                self.property_3 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.geometry.name`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.geometry.name`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn name(&self) -> String {
                /* complete generated data model */
                self.property_4.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.geometry.name`.
            pub fn set_name(&mut self, value: String) {
                /* complete generated data model */
                self.property_4 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.gl_blend_equation_type`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.gl_blend_equation_type` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone, Copy, Debug, Default, Eq, Hash, PartialEq)]
        #[repr(i32)]
        pub enum Gl_Blend_Equation_Type {
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gl_blend_equation_type.FUNC_ADD`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_blend_equation_type LibreMetaverse.ImportExport.Collada14.gl_blend_equation_type.FUNC_ADD`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            #[default]
            FUNC_ADD = 0,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gl_blend_equation_type.FUNC_REVERSE_SUBTRACT`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_blend_equation_type LibreMetaverse.ImportExport.Collada14.gl_blend_equation_type.FUNC_REVERSE_SUBTRACT`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            FUNC_REVERSE_SUBTRACT = 2,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gl_blend_equation_type.FUNC_SUBTRACT`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_blend_equation_type LibreMetaverse.ImportExport.Collada14.gl_blend_equation_type.FUNC_SUBTRACT`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            FUNC_SUBTRACT = 1,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gl_blend_equation_type.MAX`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_blend_equation_type LibreMetaverse.ImportExport.Collada14.gl_blend_equation_type.MAX`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            MAX = 4,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gl_blend_equation_type.MIN`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_blend_equation_type LibreMetaverse.ImportExport.Collada14.gl_blend_equation_type.MIN`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            MIN = 3,
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.gl_blend_type`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.gl_blend_type` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone, Copy, Debug, Default, Eq, Hash, PartialEq)]
        #[repr(i32)]
        pub enum Gl_Blend_Type {
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gl_blend_type.CONSTANT_ALPHA`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_blend_type LibreMetaverse.ImportExport.Collada14.gl_blend_type.CONSTANT_ALPHA`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            #[default]
            CONSTANT_ALPHA = 12,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gl_blend_type.CONSTANT_COLOR`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_blend_type LibreMetaverse.ImportExport.Collada14.gl_blend_type.CONSTANT_COLOR`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            CONSTANT_COLOR = 10,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gl_blend_type.DEST_COLOR`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_blend_type LibreMetaverse.ImportExport.Collada14.gl_blend_type.DEST_COLOR`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            DEST_COLOR = 4,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gl_blend_type.DST_ALPHA`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_blend_type LibreMetaverse.ImportExport.Collada14.gl_blend_type.DST_ALPHA`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            DST_ALPHA = 8,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gl_blend_type.ONE`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_blend_type LibreMetaverse.ImportExport.Collada14.gl_blend_type.ONE`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            ONE = 1,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gl_blend_type.ONE_MINUS_CONSTANT_ALPHA`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_blend_type LibreMetaverse.ImportExport.Collada14.gl_blend_type.ONE_MINUS_CONSTANT_ALPHA`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            ONE_MINUS_CONSTANT_ALPHA = 13,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gl_blend_type.ONE_MINUS_CONSTANT_COLOR`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_blend_type LibreMetaverse.ImportExport.Collada14.gl_blend_type.ONE_MINUS_CONSTANT_COLOR`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            ONE_MINUS_CONSTANT_COLOR = 11,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gl_blend_type.ONE_MINUS_DEST_COLOR`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_blend_type LibreMetaverse.ImportExport.Collada14.gl_blend_type.ONE_MINUS_DEST_COLOR`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            ONE_MINUS_DEST_COLOR = 5,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gl_blend_type.ONE_MINUS_DST_ALPHA`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_blend_type LibreMetaverse.ImportExport.Collada14.gl_blend_type.ONE_MINUS_DST_ALPHA`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            ONE_MINUS_DST_ALPHA = 9,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gl_blend_type.ONE_MINUS_SRC_ALPHA`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_blend_type LibreMetaverse.ImportExport.Collada14.gl_blend_type.ONE_MINUS_SRC_ALPHA`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            ONE_MINUS_SRC_ALPHA = 7,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gl_blend_type.ONE_MINUS_SRC_COLOR`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_blend_type LibreMetaverse.ImportExport.Collada14.gl_blend_type.ONE_MINUS_SRC_COLOR`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            ONE_MINUS_SRC_COLOR = 3,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gl_blend_type.SRC_ALPHA`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_blend_type LibreMetaverse.ImportExport.Collada14.gl_blend_type.SRC_ALPHA`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            SRC_ALPHA = 6,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gl_blend_type.SRC_ALPHA_SATURATE`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_blend_type LibreMetaverse.ImportExport.Collada14.gl_blend_type.SRC_ALPHA_SATURATE`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            SRC_ALPHA_SATURATE = 14,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gl_blend_type.SRC_COLOR`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_blend_type LibreMetaverse.ImportExport.Collada14.gl_blend_type.SRC_COLOR`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            SRC_COLOR = 2,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gl_blend_type.ZERO`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_blend_type LibreMetaverse.ImportExport.Collada14.gl_blend_type.ZERO`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            ZERO = 0,
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.gl_face_type`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.gl_face_type` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone, Copy, Debug, Default, Eq, Hash, PartialEq)]
        #[repr(i32)]
        pub enum Gl_Face_Type {
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gl_face_type.BACK`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_face_type LibreMetaverse.ImportExport.Collada14.gl_face_type.BACK`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            #[default]
            BACK = 1,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gl_face_type.FRONT`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_face_type LibreMetaverse.ImportExport.Collada14.gl_face_type.FRONT`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            FRONT = 0,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gl_face_type.FRONT_AND_BACK`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_face_type LibreMetaverse.ImportExport.Collada14.gl_face_type.FRONT_AND_BACK`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            FRONT_AND_BACK = 2,
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.gl_fog_coord_src_type`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.gl_fog_coord_src_type` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone, Copy, Debug, Default, Eq, Hash, PartialEq)]
        #[repr(i32)]
        pub enum Gl_Fog_Coord_Src_Type {
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gl_fog_coord_src_type.FOG_COORDINATE`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_fog_coord_src_type LibreMetaverse.ImportExport.Collada14.gl_fog_coord_src_type.FOG_COORDINATE`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            #[default]
            FOG_COORDINATE = 0,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gl_fog_coord_src_type.FRAGMENT_DEPTH`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_fog_coord_src_type LibreMetaverse.ImportExport.Collada14.gl_fog_coord_src_type.FRAGMENT_DEPTH`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            FRAGMENT_DEPTH = 1,
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.gl_fog_type`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.gl_fog_type` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone, Copy, Debug, Default, Eq, Hash, PartialEq)]
        #[repr(i32)]
        pub enum Gl_Fog_Type {
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gl_fog_type.EXP`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_fog_type LibreMetaverse.ImportExport.Collada14.gl_fog_type.EXP`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            #[default]
            EXP = 1,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gl_fog_type.EXP2`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_fog_type LibreMetaverse.ImportExport.Collada14.gl_fog_type.EXP2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            EXP2 = 2,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gl_fog_type.LINEAR`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_fog_type LibreMetaverse.ImportExport.Collada14.gl_fog_type.LINEAR`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            LINEAR = 0,
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.gl_front_face_type`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.gl_front_face_type` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone, Copy, Debug, Default, Eq, Hash, PartialEq)]
        #[repr(i32)]
        pub enum Gl_Front_Face_Type {
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gl_front_face_type.CCW`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_front_face_type LibreMetaverse.ImportExport.Collada14.gl_front_face_type.CCW`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            #[default]
            CCW = 1,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gl_front_face_type.CW`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_front_face_type LibreMetaverse.ImportExport.Collada14.gl_front_face_type.CW`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            CW = 0,
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.gl_func_type`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.gl_func_type` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone, Copy, Debug, Default, Eq, Hash, PartialEq)]
        #[repr(i32)]
        pub enum Gl_Func_Type {
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gl_func_type.ALWAYS`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_func_type LibreMetaverse.ImportExport.Collada14.gl_func_type.ALWAYS`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            #[default]
            ALWAYS = 7,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gl_func_type.EQUAL`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_func_type LibreMetaverse.ImportExport.Collada14.gl_func_type.EQUAL`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            EQUAL = 3,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gl_func_type.GEQUAL`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_func_type LibreMetaverse.ImportExport.Collada14.gl_func_type.GEQUAL`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            GEQUAL = 6,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gl_func_type.GREATER`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_func_type LibreMetaverse.ImportExport.Collada14.gl_func_type.GREATER`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            GREATER = 4,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gl_func_type.LEQUAL`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_func_type LibreMetaverse.ImportExport.Collada14.gl_func_type.LEQUAL`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            LEQUAL = 2,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gl_func_type.LESS`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_func_type LibreMetaverse.ImportExport.Collada14.gl_func_type.LESS`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            LESS = 1,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gl_func_type.NEVER`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_func_type LibreMetaverse.ImportExport.Collada14.gl_func_type.NEVER`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            NEVER = 0,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gl_func_type.NOTEQUAL`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_func_type LibreMetaverse.ImportExport.Collada14.gl_func_type.NOTEQUAL`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            NOTEQUAL = 5,
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.gl_light_model_color_control_type`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.gl_light_model_color_control_type` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone, Copy, Debug, Default, Eq, Hash, PartialEq)]
        #[repr(i32)]
        pub enum Gl_Light_Model_Color_Control_Type {
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gl_light_model_color_control_type.SEPARATE_SPECULAR_COLOR`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_light_model_color_control_type LibreMetaverse.ImportExport.Collada14.gl_light_model_color_control_type.SEPARATE_SPECULAR_COLOR`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            #[default]
            SEPARATE_SPECULAR_COLOR = 1,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gl_light_model_color_control_type.SINGLE_COLOR`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_light_model_color_control_type LibreMetaverse.ImportExport.Collada14.gl_light_model_color_control_type.SINGLE_COLOR`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            SINGLE_COLOR = 0,
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.gl_logic_op_type`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.gl_logic_op_type` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone, Copy, Debug, Default, Eq, Hash, PartialEq)]
        #[repr(i32)]
        pub enum Gl_Logic_Op_Type {
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gl_logic_op_type.AND`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_logic_op_type LibreMetaverse.ImportExport.Collada14.gl_logic_op_type.AND`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            #[default]
            AND = 1,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gl_logic_op_type.AND_INVERTED`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_logic_op_type LibreMetaverse.ImportExport.Collada14.gl_logic_op_type.AND_INVERTED`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            AND_INVERTED = 4,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gl_logic_op_type.AND_REVERSE`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_logic_op_type LibreMetaverse.ImportExport.Collada14.gl_logic_op_type.AND_REVERSE`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            AND_REVERSE = 2,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gl_logic_op_type.CLEAR`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_logic_op_type LibreMetaverse.ImportExport.Collada14.gl_logic_op_type.CLEAR`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            CLEAR = 0,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gl_logic_op_type.COPY`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_logic_op_type LibreMetaverse.ImportExport.Collada14.gl_logic_op_type.COPY`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            COPY = 3,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gl_logic_op_type.COPY_INVERTED`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_logic_op_type LibreMetaverse.ImportExport.Collada14.gl_logic_op_type.COPY_INVERTED`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            COPY_INVERTED = 12,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gl_logic_op_type.EQUIV`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_logic_op_type LibreMetaverse.ImportExport.Collada14.gl_logic_op_type.EQUIV`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            EQUIV = 9,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gl_logic_op_type.INVERT`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_logic_op_type LibreMetaverse.ImportExport.Collada14.gl_logic_op_type.INVERT`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            INVERT = 10,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gl_logic_op_type.NAND`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_logic_op_type LibreMetaverse.ImportExport.Collada14.gl_logic_op_type.NAND`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            NAND = 13,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gl_logic_op_type.NOOP`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_logic_op_type LibreMetaverse.ImportExport.Collada14.gl_logic_op_type.NOOP`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            NOOP = 5,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gl_logic_op_type.NOR`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_logic_op_type LibreMetaverse.ImportExport.Collada14.gl_logic_op_type.NOR`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            NOR = 8,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gl_logic_op_type.OR`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_logic_op_type LibreMetaverse.ImportExport.Collada14.gl_logic_op_type.OR`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            OR = 7,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gl_logic_op_type.OR_REVERSE`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_logic_op_type LibreMetaverse.ImportExport.Collada14.gl_logic_op_type.OR_REVERSE`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            OR_REVERSE = 11,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gl_logic_op_type.SET`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_logic_op_type LibreMetaverse.ImportExport.Collada14.gl_logic_op_type.SET`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            SET = 14,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gl_logic_op_type.XOR`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_logic_op_type LibreMetaverse.ImportExport.Collada14.gl_logic_op_type.XOR`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            XOR = 6,
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.gl_material_type`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.gl_material_type` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone, Copy, Debug, Default, Eq, Hash, PartialEq)]
        #[repr(i32)]
        pub enum Gl_Material_Type {
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gl_material_type.AMBIENT`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_material_type LibreMetaverse.ImportExport.Collada14.gl_material_type.AMBIENT`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            #[default]
            AMBIENT = 1,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gl_material_type.AMBIENT_AND_DIFFUSE`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_material_type LibreMetaverse.ImportExport.Collada14.gl_material_type.AMBIENT_AND_DIFFUSE`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            AMBIENT_AND_DIFFUSE = 4,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gl_material_type.DIFFUSE`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_material_type LibreMetaverse.ImportExport.Collada14.gl_material_type.DIFFUSE`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            DIFFUSE = 2,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gl_material_type.EMISSION`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_material_type LibreMetaverse.ImportExport.Collada14.gl_material_type.EMISSION`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            EMISSION = 0,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gl_material_type.SPECULAR`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_material_type LibreMetaverse.ImportExport.Collada14.gl_material_type.SPECULAR`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            SPECULAR = 3,
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.gl_polygon_mode_type`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.gl_polygon_mode_type` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone, Copy, Debug, Default, Eq, Hash, PartialEq)]
        #[repr(i32)]
        pub enum Gl_Polygon_Mode_Type {
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gl_polygon_mode_type.FILL`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_polygon_mode_type LibreMetaverse.ImportExport.Collada14.gl_polygon_mode_type.FILL`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            #[default]
            FILL = 2,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gl_polygon_mode_type.LINE`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_polygon_mode_type LibreMetaverse.ImportExport.Collada14.gl_polygon_mode_type.LINE`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            LINE = 1,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gl_polygon_mode_type.POINT`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_polygon_mode_type LibreMetaverse.ImportExport.Collada14.gl_polygon_mode_type.POINT`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            POINT = 0,
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.gl_sampler1D`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.gl_sampler1D` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Gl_Sampler1D {}
        impl Default for Gl_Sampler1D {
            fn default() -> Self {
                /* complete generated data model */
                Self {}
            }
        }
        impl Gl_Sampler1D {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.gl_sampler1D.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_sampler1D()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.gl_sampler2D`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.gl_sampler2D` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Gl_Sampler2D {}
        impl Default for Gl_Sampler2D {
            fn default() -> Self {
                /* complete generated data model */
                Self {}
            }
        }
        impl Gl_Sampler2D {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.gl_sampler2D.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_sampler2D()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.gl_sampler3D`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.gl_sampler3D` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Gl_Sampler3D {}
        impl Default for Gl_Sampler3D {
            fn default() -> Self {
                /* complete generated data model */
                Self {}
            }
        }
        impl Gl_Sampler3D {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.gl_sampler3D.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_sampler3D()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.gl_samplerCUBE`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.gl_samplerCUBE` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Gl_SamplerCUBE {}
        impl Default for Gl_SamplerCUBE {
            fn default() -> Self {
                /* complete generated data model */
                Self {}
            }
        }
        impl Gl_SamplerCUBE {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.gl_samplerCUBE.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_samplerCUBE()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.gl_samplerDEPTH`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.gl_samplerDEPTH` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Gl_SamplerDEPTH {}
        impl Default for Gl_SamplerDEPTH {
            fn default() -> Self {
                /* complete generated data model */
                Self {}
            }
        }
        impl Gl_SamplerDEPTH {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.gl_samplerDEPTH.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_samplerDEPTH()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.gl_samplerRECT`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.gl_samplerRECT` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Gl_SamplerRECT {}
        impl Default for Gl_SamplerRECT {
            fn default() -> Self {
                /* complete generated data model */
                Self {}
            }
        }
        impl Gl_SamplerRECT {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.gl_samplerRECT.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_samplerRECT()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.gl_shade_model_type`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.gl_shade_model_type` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone, Copy, Debug, Default, Eq, Hash, PartialEq)]
        #[repr(i32)]
        pub enum Gl_Shade_Model_Type {
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gl_shade_model_type.FLAT`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_shade_model_type LibreMetaverse.ImportExport.Collada14.gl_shade_model_type.FLAT`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            #[default]
            FLAT = 0,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gl_shade_model_type.SMOOTH`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_shade_model_type LibreMetaverse.ImportExport.Collada14.gl_shade_model_type.SMOOTH`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            SMOOTH = 1,
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.gl_stencil_op_type`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.gl_stencil_op_type` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone, Copy, Debug, Default, Eq, Hash, PartialEq)]
        #[repr(i32)]
        pub enum Gl_Stencil_Op_Type {
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gl_stencil_op_type.DECR`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_stencil_op_type LibreMetaverse.ImportExport.Collada14.gl_stencil_op_type.DECR`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            #[default]
            DECR = 4,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gl_stencil_op_type.DECR_WRAP`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_stencil_op_type LibreMetaverse.ImportExport.Collada14.gl_stencil_op_type.DECR_WRAP`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            DECR_WRAP = 7,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gl_stencil_op_type.INCR`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_stencil_op_type LibreMetaverse.ImportExport.Collada14.gl_stencil_op_type.INCR`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            INCR = 3,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gl_stencil_op_type.INCR_WRAP`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_stencil_op_type LibreMetaverse.ImportExport.Collada14.gl_stencil_op_type.INCR_WRAP`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            INCR_WRAP = 6,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gl_stencil_op_type.INVERT`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_stencil_op_type LibreMetaverse.ImportExport.Collada14.gl_stencil_op_type.INVERT`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            INVERT = 5,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gl_stencil_op_type.KEEP`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_stencil_op_type LibreMetaverse.ImportExport.Collada14.gl_stencil_op_type.KEEP`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            KEEP = 0,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gl_stencil_op_type.REPLACE`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_stencil_op_type LibreMetaverse.ImportExport.Collada14.gl_stencil_op_type.REPLACE`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            REPLACE = 2,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gl_stencil_op_type.ZERO`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_stencil_op_type LibreMetaverse.ImportExport.Collada14.gl_stencil_op_type.ZERO`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            ZERO = 1,
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.gles_newparam`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.gles_newparam` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Gles_Newparam {
            property_0: Vec<libremetaverse::import_export::collada14::Fx_Annotate_Common>,
            property_1: bool,
            property_2: String,
            property_3: String,
            property_4: String,
            property_5: String,
            property_6: f64,
            property_7: f64,
            property_8: String,
            property_9: String,
            property_10: String,
            property_11: String,
            property_12: String,
            property_13: String,
            property_14: String,
            property_15: String,
            property_16: String,
            property_17: String,
            property_18: String,
            property_19: String,
            property_20: String,
            property_21: String,
            property_22: String,
            property_23: String,
            property_24: String,
            property_25: String,
            property_26: i64,
            property_27: String,
            property_28: String,
            property_29: String,
            property_30: libremetaverse::import_export::collada14::Fx_Modifier_Enum_Common,
            property_31: bool,
            property_32: libremetaverse::import_export::collada14::Gles_Sampler_State,
            property_33: String,
            property_34: String,
            property_35: libremetaverse::import_export::collada14::Fx_Surface_Common,
            property_36: libremetaverse::import_export::collada14::Gles_Texture_Pipeline,
            property_37: libremetaverse::import_export::collada14::Gles_Texture_Unit,
        }
        impl Default for Gles_Newparam {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                    property_4: Default::default(),
                    property_5: Default::default(),
                    property_6: Default::default(),
                    property_7: Default::default(),
                    property_8: Default::default(),
                    property_9: Default::default(),
                    property_10: Default::default(),
                    property_11: Default::default(),
                    property_12: Default::default(),
                    property_13: Default::default(),
                    property_14: Default::default(),
                    property_15: Default::default(),
                    property_16: Default::default(),
                    property_17: Default::default(),
                    property_18: Default::default(),
                    property_19: Default::default(),
                    property_20: Default::default(),
                    property_21: Default::default(),
                    property_22: Default::default(),
                    property_23: Default::default(),
                    property_24: Default::default(),
                    property_25: Default::default(),
                    property_26: Default::default(),
                    property_27: Default::default(),
                    property_28: Default::default(),
                    property_29: Default::default(),
                    property_30: Default::default(),
                    property_31: Default::default(),
                    property_32: Default::default(),
                    property_33: Default::default(),
                    property_34: Default::default(),
                    property_35: Default::default(),
                    property_36: Default::default(),
                    property_37: Default::default(),
                }
            }
        }
        impl Gles_Newparam {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.gles_newparam.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gles_newparam()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_newparam.annotate`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_annotate_common[] LibreMetaverse.ImportExport.Collada14.gles_newparam.annotate`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn annotate(
                &self,
            ) -> Vec<libremetaverse::import_export::collada14::Fx_Annotate_Common> {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_newparam.annotate`.
            pub fn set_annotate(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Fx_Annotate_Common>,
            ) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_newparam.bool`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.ImportExport.Collada14.gles_newparam.bool`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn bool(&self) -> bool {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_newparam.bool`.
            pub fn set_bool(&mut self, value: bool) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_newparam.bool2`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.gles_newparam.bool2`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn bool2(&self) -> String {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_newparam.bool2`.
            pub fn set_bool2(&mut self, value: String) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_newparam.bool3`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.gles_newparam.bool3`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn bool3(&self) -> String {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_newparam.bool3`.
            pub fn set_bool3(&mut self, value: String) {
                /* complete generated data model */
                self.property_3 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_newparam.bool4`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.gles_newparam.bool4`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn bool4(&self) -> String {
                /* complete generated data model */
                self.property_4.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_newparam.bool4`.
            pub fn set_bool4(&mut self, value: String) {
                /* complete generated data model */
                self.property_4 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_newparam.enum`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.gles_newparam.enum`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn enum_(&self) -> String {
                /* complete generated data model */
                self.property_5.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_newparam.enum`.
            pub fn set_enum_(&mut self, value: String) {
                /* complete generated data model */
                self.property_5 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_newparam.float`.
            ///
            /// C# signature: `System.Double LibreMetaverse.ImportExport.Collada14.gles_newparam.float`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float(&self) -> f64 {
                /* complete generated data model */
                self.property_6.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_newparam.float`.
            pub fn set_float(&mut self, value: f64) {
                /* complete generated data model */
                self.property_6 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_newparam.float1x1`.
            ///
            /// C# signature: `System.Double LibreMetaverse.ImportExport.Collada14.gles_newparam.float1x1`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float1x1(&self) -> f64 {
                /* complete generated data model */
                self.property_7.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_newparam.float1x1`.
            pub fn set_float1x1(&mut self, value: f64) {
                /* complete generated data model */
                self.property_7 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_newparam.float1x2`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.gles_newparam.float1x2`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float1x2(&self) -> String {
                /* complete generated data model */
                self.property_8.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_newparam.float1x2`.
            pub fn set_float1x2(&mut self, value: String) {
                /* complete generated data model */
                self.property_8 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_newparam.float1x3`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.gles_newparam.float1x3`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float1x3(&self) -> String {
                /* complete generated data model */
                self.property_9.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_newparam.float1x3`.
            pub fn set_float1x3(&mut self, value: String) {
                /* complete generated data model */
                self.property_9 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_newparam.float1x4`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.gles_newparam.float1x4`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float1x4(&self) -> String {
                /* complete generated data model */
                self.property_10.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_newparam.float1x4`.
            pub fn set_float1x4(&mut self, value: String) {
                /* complete generated data model */
                self.property_10 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_newparam.float2`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.gles_newparam.float2`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float2(&self) -> String {
                /* complete generated data model */
                self.property_11.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_newparam.float2`.
            pub fn set_float2(&mut self, value: String) {
                /* complete generated data model */
                self.property_11 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_newparam.float2x1`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.gles_newparam.float2x1`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float2x1(&self) -> String {
                /* complete generated data model */
                self.property_12.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_newparam.float2x1`.
            pub fn set_float2x1(&mut self, value: String) {
                /* complete generated data model */
                self.property_12 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_newparam.float2x2`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.gles_newparam.float2x2`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float2x2(&self) -> String {
                /* complete generated data model */
                self.property_13.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_newparam.float2x2`.
            pub fn set_float2x2(&mut self, value: String) {
                /* complete generated data model */
                self.property_13 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_newparam.float2x3`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.gles_newparam.float2x3`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float2x3(&self) -> String {
                /* complete generated data model */
                self.property_14.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_newparam.float2x3`.
            pub fn set_float2x3(&mut self, value: String) {
                /* complete generated data model */
                self.property_14 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_newparam.float2x4`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.gles_newparam.float2x4`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float2x4(&self) -> String {
                /* complete generated data model */
                self.property_15.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_newparam.float2x4`.
            pub fn set_float2x4(&mut self, value: String) {
                /* complete generated data model */
                self.property_15 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_newparam.float3`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.gles_newparam.float3`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float3(&self) -> String {
                /* complete generated data model */
                self.property_16.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_newparam.float3`.
            pub fn set_float3(&mut self, value: String) {
                /* complete generated data model */
                self.property_16 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_newparam.float3x1`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.gles_newparam.float3x1`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float3x1(&self) -> String {
                /* complete generated data model */
                self.property_17.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_newparam.float3x1`.
            pub fn set_float3x1(&mut self, value: String) {
                /* complete generated data model */
                self.property_17 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_newparam.float3x2`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.gles_newparam.float3x2`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float3x2(&self) -> String {
                /* complete generated data model */
                self.property_18.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_newparam.float3x2`.
            pub fn set_float3x2(&mut self, value: String) {
                /* complete generated data model */
                self.property_18 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_newparam.float3x3`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.gles_newparam.float3x3`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float3x3(&self) -> String {
                /* complete generated data model */
                self.property_19.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_newparam.float3x3`.
            pub fn set_float3x3(&mut self, value: String) {
                /* complete generated data model */
                self.property_19 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_newparam.float3x4`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.gles_newparam.float3x4`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float3x4(&self) -> String {
                /* complete generated data model */
                self.property_20.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_newparam.float3x4`.
            pub fn set_float3x4(&mut self, value: String) {
                /* complete generated data model */
                self.property_20 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_newparam.float4`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.gles_newparam.float4`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float4(&self) -> String {
                /* complete generated data model */
                self.property_21.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_newparam.float4`.
            pub fn set_float4(&mut self, value: String) {
                /* complete generated data model */
                self.property_21 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_newparam.float4x1`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.gles_newparam.float4x1`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float4x1(&self) -> String {
                /* complete generated data model */
                self.property_22.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_newparam.float4x1`.
            pub fn set_float4x1(&mut self, value: String) {
                /* complete generated data model */
                self.property_22 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_newparam.float4x2`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.gles_newparam.float4x2`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float4x2(&self) -> String {
                /* complete generated data model */
                self.property_23.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_newparam.float4x2`.
            pub fn set_float4x2(&mut self, value: String) {
                /* complete generated data model */
                self.property_23 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_newparam.float4x3`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.gles_newparam.float4x3`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float4x3(&self) -> String {
                /* complete generated data model */
                self.property_24.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_newparam.float4x3`.
            pub fn set_float4x3(&mut self, value: String) {
                /* complete generated data model */
                self.property_24 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_newparam.float4x4`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.gles_newparam.float4x4`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float4x4(&self) -> String {
                /* complete generated data model */
                self.property_25.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_newparam.float4x4`.
            pub fn set_float4x4(&mut self, value: String) {
                /* complete generated data model */
                self.property_25 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_newparam.int`.
            ///
            /// C# signature: `System.Int64 LibreMetaverse.ImportExport.Collada14.gles_newparam.int`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn int(&self) -> i64 {
                /* complete generated data model */
                self.property_26.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_newparam.int`.
            pub fn set_int(&mut self, value: i64) {
                /* complete generated data model */
                self.property_26 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_newparam.int2`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.gles_newparam.int2`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn int2(&self) -> String {
                /* complete generated data model */
                self.property_27.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_newparam.int2`.
            pub fn set_int2(&mut self, value: String) {
                /* complete generated data model */
                self.property_27 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_newparam.int3`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.gles_newparam.int3`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn int3(&self) -> String {
                /* complete generated data model */
                self.property_28.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_newparam.int3`.
            pub fn set_int3(&mut self, value: String) {
                /* complete generated data model */
                self.property_28 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_newparam.int4`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.gles_newparam.int4`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn int4(&self) -> String {
                /* complete generated data model */
                self.property_29.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_newparam.int4`.
            pub fn set_int4(&mut self, value: String) {
                /* complete generated data model */
                self.property_29 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_newparam.modifier`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_modifier_enum_common LibreMetaverse.ImportExport.Collada14.gles_newparam.modifier`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn modifier(
                &self,
            ) -> libremetaverse::import_export::collada14::Fx_Modifier_Enum_Common {
                /* complete generated data model */
                self.property_30.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_newparam.modifier`.
            pub fn set_modifier(
                &mut self,
                value: libremetaverse::import_export::collada14::Fx_Modifier_Enum_Common,
            ) {
                /* complete generated data model */
                self.property_30 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_newparam.modifierSpecified`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.ImportExport.Collada14.gles_newparam.modifierSpecified`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn modifier_specified(&self) -> bool {
                /* complete generated data model */
                self.property_31.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_newparam.modifierSpecified`.
            pub fn set_modifier_specified(&mut self, value: bool) {
                /* complete generated data model */
                self.property_31 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_newparam.sampler_state`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gles_sampler_state LibreMetaverse.ImportExport.Collada14.gles_newparam.sampler_state`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn sampler_state(
                &self,
            ) -> libremetaverse::import_export::collada14::Gles_Sampler_State {
                /* complete generated data model */
                self.property_32.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_newparam.sampler_state`.
            pub fn set_sampler_state(
                &mut self,
                value: libremetaverse::import_export::collada14::Gles_Sampler_State,
            ) {
                /* complete generated data model */
                self.property_32 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_newparam.semantic`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.gles_newparam.semantic`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn semantic(&self) -> String {
                /* complete generated data model */
                self.property_33.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_newparam.semantic`.
            pub fn set_semantic(&mut self, value: String) {
                /* complete generated data model */
                self.property_33 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_newparam.sid`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.gles_newparam.sid`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn sid(&self) -> String {
                /* complete generated data model */
                self.property_34.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_newparam.sid`.
            pub fn set_sid(&mut self, value: String) {
                /* complete generated data model */
                self.property_34 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_newparam.surface`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_surface_common LibreMetaverse.ImportExport.Collada14.gles_newparam.surface`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn surface(&self) -> libremetaverse::import_export::collada14::Fx_Surface_Common {
                /* complete generated data model */
                self.property_35.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_newparam.surface`.
            pub fn set_surface(
                &mut self,
                value: libremetaverse::import_export::collada14::Fx_Surface_Common,
            ) {
                /* complete generated data model */
                self.property_35 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_newparam.texture_pipeline`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gles_texture_pipeline LibreMetaverse.ImportExport.Collada14.gles_newparam.texture_pipeline`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn texture_pipeline(
                &self,
            ) -> libremetaverse::import_export::collada14::Gles_Texture_Pipeline {
                /* complete generated data model */
                self.property_36.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_newparam.texture_pipeline`.
            pub fn set_texture_pipeline(
                &mut self,
                value: libremetaverse::import_export::collada14::Gles_Texture_Pipeline,
            ) {
                /* complete generated data model */
                self.property_36 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_newparam.texture_unit`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gles_texture_unit LibreMetaverse.ImportExport.Collada14.gles_newparam.texture_unit`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn texture_unit(
                &self,
            ) -> libremetaverse::import_export::collada14::Gles_Texture_Unit {
                /* complete generated data model */
                self.property_37.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_newparam.texture_unit`.
            pub fn set_texture_unit(
                &mut self,
                value: libremetaverse::import_export::collada14::Gles_Texture_Unit,
            ) {
                /* complete generated data model */
                self.property_37 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.gles_sampler_state`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.gles_sampler_state` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Gles_Sampler_State {
            property_0: Vec<libremetaverse::import_export::collada14::Extra>,
            property_1: libremetaverse::import_export::collada14::Fx_Sampler_Filter_Common,
            property_2: libremetaverse::import_export::collada14::Fx_Sampler_Filter_Common,
            property_3: libremetaverse::import_export::collada14::Fx_Sampler_Filter_Common,
            property_4: f32,
            property_5: u8,
            property_6: String,
            property_7: libremetaverse::import_export::collada14::Gles_Sampler_Wrap,
            property_8: libremetaverse::import_export::collada14::Gles_Sampler_Wrap,
        }
        impl Default for Gles_Sampler_State {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1:
                        libremetaverse::import_export::collada14::Fx_Sampler_Filter_Common::NONE,
                    property_2:
                        libremetaverse::import_export::collada14::Fx_Sampler_Filter_Common::NONE,
                    property_3:
                        libremetaverse::import_export::collada14::Fx_Sampler_Filter_Common::NONE,
                    property_4: 0.0,
                    property_5: 255,
                    property_6: Default::default(),
                    property_7: libremetaverse::import_export::collada14::Gles_Sampler_Wrap::REPEAT,
                    property_8: libremetaverse::import_export::collada14::Gles_Sampler_Wrap::REPEAT,
                }
            }
        }
        impl Gles_Sampler_State {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.gles_sampler_state.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gles_sampler_state()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_sampler_state.extra`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.extra[] LibreMetaverse.ImportExport.Collada14.gles_sampler_state.extra`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn extra(&self) -> Vec<libremetaverse::import_export::collada14::Extra> {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_sampler_state.extra`.
            pub fn set_extra(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Extra>,
            ) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_sampler_state.magfilter`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_sampler_filter_common LibreMetaverse.ImportExport.Collada14.gles_sampler_state.magfilter`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn magfilter(
                &self,
            ) -> libremetaverse::import_export::collada14::Fx_Sampler_Filter_Common {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_sampler_state.magfilter`.
            pub fn set_magfilter(
                &mut self,
                value: libremetaverse::import_export::collada14::Fx_Sampler_Filter_Common,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_sampler_state.minfilter`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_sampler_filter_common LibreMetaverse.ImportExport.Collada14.gles_sampler_state.minfilter`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn minfilter(
                &self,
            ) -> libremetaverse::import_export::collada14::Fx_Sampler_Filter_Common {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_sampler_state.minfilter`.
            pub fn set_minfilter(
                &mut self,
                value: libremetaverse::import_export::collada14::Fx_Sampler_Filter_Common,
            ) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_sampler_state.mipfilter`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_sampler_filter_common LibreMetaverse.ImportExport.Collada14.gles_sampler_state.mipfilter`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn mipfilter(
                &self,
            ) -> libremetaverse::import_export::collada14::Fx_Sampler_Filter_Common {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_sampler_state.mipfilter`.
            pub fn set_mipfilter(
                &mut self,
                value: libremetaverse::import_export::collada14::Fx_Sampler_Filter_Common,
            ) {
                /* complete generated data model */
                self.property_3 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_sampler_state.mipmap_bias`.
            ///
            /// C# signature: `System.Single LibreMetaverse.ImportExport.Collada14.gles_sampler_state.mipmap_bias`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn mipmap_bias(&self) -> f32 {
                /* complete generated data model */
                self.property_4.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_sampler_state.mipmap_bias`.
            pub fn set_mipmap_bias(&mut self, value: f32) {
                /* complete generated data model */
                self.property_4 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_sampler_state.mipmap_maxlevel`.
            ///
            /// C# signature: `System.Byte LibreMetaverse.ImportExport.Collada14.gles_sampler_state.mipmap_maxlevel`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn mipmap_maxlevel(&self) -> u8 {
                /* complete generated data model */
                self.property_5.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_sampler_state.mipmap_maxlevel`.
            pub fn set_mipmap_maxlevel(&mut self, value: u8) {
                /* complete generated data model */
                self.property_5 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_sampler_state.sid`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.gles_sampler_state.sid`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn sid(&self) -> String {
                /* complete generated data model */
                self.property_6.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_sampler_state.sid`.
            pub fn set_sid(&mut self, value: String) {
                /* complete generated data model */
                self.property_6 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_sampler_state.wrap_s`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gles_sampler_wrap LibreMetaverse.ImportExport.Collada14.gles_sampler_state.wrap_s`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn wrap_s(&self) -> libremetaverse::import_export::collada14::Gles_Sampler_Wrap {
                /* complete generated data model */
                self.property_7.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_sampler_state.wrap_s`.
            pub fn set_wrap_s(
                &mut self,
                value: libremetaverse::import_export::collada14::Gles_Sampler_Wrap,
            ) {
                /* complete generated data model */
                self.property_7 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_sampler_state.wrap_t`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gles_sampler_wrap LibreMetaverse.ImportExport.Collada14.gles_sampler_state.wrap_t`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn wrap_t(&self) -> libremetaverse::import_export::collada14::Gles_Sampler_Wrap {
                /* complete generated data model */
                self.property_8.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_sampler_state.wrap_t`.
            pub fn set_wrap_t(
                &mut self,
                value: libremetaverse::import_export::collada14::Gles_Sampler_Wrap,
            ) {
                /* complete generated data model */
                self.property_8 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.gles_sampler_wrap`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.gles_sampler_wrap` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone, Copy, Debug, Default, Eq, Hash, PartialEq)]
        #[repr(i32)]
        pub enum Gles_Sampler_Wrap {
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gles_sampler_wrap.CLAMP`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gles_sampler_wrap LibreMetaverse.ImportExport.Collada14.gles_sampler_wrap.CLAMP`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            #[default]
            CLAMP = 1,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gles_sampler_wrap.CLAMP_TO_EDGE`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gles_sampler_wrap LibreMetaverse.ImportExport.Collada14.gles_sampler_wrap.CLAMP_TO_EDGE`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            CLAMP_TO_EDGE = 2,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gles_sampler_wrap.MIRRORED_REPEAT`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gles_sampler_wrap LibreMetaverse.ImportExport.Collada14.gles_sampler_wrap.MIRRORED_REPEAT`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            MIRRORED_REPEAT = 3,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gles_sampler_wrap.REPEAT`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gles_sampler_wrap LibreMetaverse.ImportExport.Collada14.gles_sampler_wrap.REPEAT`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            REPEAT = 0,
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.gles_stencil_op_type`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.gles_stencil_op_type` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone, Copy, Debug, Default, Eq, Hash, PartialEq)]
        #[repr(i32)]
        pub enum Gles_Stencil_Op_Type {
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gles_stencil_op_type.DECR`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gles_stencil_op_type LibreMetaverse.ImportExport.Collada14.gles_stencil_op_type.DECR`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            #[default]
            DECR = 4,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gles_stencil_op_type.INCR`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gles_stencil_op_type LibreMetaverse.ImportExport.Collada14.gles_stencil_op_type.INCR`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            INCR = 3,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gles_stencil_op_type.INVERT`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gles_stencil_op_type LibreMetaverse.ImportExport.Collada14.gles_stencil_op_type.INVERT`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            INVERT = 5,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gles_stencil_op_type.KEEP`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gles_stencil_op_type LibreMetaverse.ImportExport.Collada14.gles_stencil_op_type.KEEP`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            KEEP = 0,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gles_stencil_op_type.REPLACE`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gles_stencil_op_type LibreMetaverse.ImportExport.Collada14.gles_stencil_op_type.REPLACE`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            REPLACE = 2,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gles_stencil_op_type.ZERO`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gles_stencil_op_type LibreMetaverse.ImportExport.Collada14.gles_stencil_op_type.ZERO`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            ZERO = 1,
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.gles_texcombiner_argumentAlpha_type`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.gles_texcombiner_argumentAlpha_type` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Gles_Texcombiner_ArgumentAlpha_Type {
            property_0:
                libremetaverse::import_export::collada14::Gles_Texcombiner_OperandAlpha_Enums,
            property_1: libremetaverse::import_export::collada14::Gles_Texcombiner_Source_Enums,
            property_2: bool,
            property_3: String,
        }
        impl Default for Gles_Texcombiner_ArgumentAlpha_Type {
            fn default() -> Self {
                /* complete generated data model */
                Self {
            property_0: libremetaverse::import_export::collada14::Gles_Texcombiner_OperandAlpha_Enums::SRC_ALPHA,
            property_1: Default::default(),
            property_2: Default::default(),
            property_3: Default::default(),
        }
            }
        }
        impl Gles_Texcombiner_ArgumentAlpha_Type {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.gles_texcombiner_argumentAlpha_type.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gles_texcombiner_argumentAlpha_type()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_texcombiner_argumentAlpha_type.operand`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gles_texcombiner_operandAlpha_enums LibreMetaverse.ImportExport.Collada14.gles_texcombiner_argumentAlpha_type.operand`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn operand(
                &self,
            ) -> libremetaverse::import_export::collada14::Gles_Texcombiner_OperandAlpha_Enums
            {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_texcombiner_argumentAlpha_type.operand`.
            pub fn set_operand(
                &mut self,
                value: libremetaverse::import_export::collada14::Gles_Texcombiner_OperandAlpha_Enums,
            ) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_texcombiner_argumentAlpha_type.source`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gles_texcombiner_source_enums LibreMetaverse.ImportExport.Collada14.gles_texcombiner_argumentAlpha_type.source`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn source(
                &self,
            ) -> libremetaverse::import_export::collada14::Gles_Texcombiner_Source_Enums
            {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_texcombiner_argumentAlpha_type.source`.
            pub fn set_source(
                &mut self,
                value: libremetaverse::import_export::collada14::Gles_Texcombiner_Source_Enums,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_texcombiner_argumentAlpha_type.sourceSpecified`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.ImportExport.Collada14.gles_texcombiner_argumentAlpha_type.sourceSpecified`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn source_specified(&self) -> bool {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_texcombiner_argumentAlpha_type.sourceSpecified`.
            pub fn set_source_specified(&mut self, value: bool) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_texcombiner_argumentAlpha_type.unit`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.gles_texcombiner_argumentAlpha_type.unit`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn unit(&self) -> String {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_texcombiner_argumentAlpha_type.unit`.
            pub fn set_unit(&mut self, value: String) {
                /* complete generated data model */
                self.property_3 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.gles_texcombiner_argumentRGB_type`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.gles_texcombiner_argumentRGB_type` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Gles_Texcombiner_ArgumentRGB_Type {
            property_0: libremetaverse::import_export::collada14::Gles_Texcombiner_OperandRGB_Enums,
            property_1: libremetaverse::import_export::collada14::Gles_Texcombiner_Source_Enums,
            property_2: bool,
            property_3: String,
        }
        impl Default for Gles_Texcombiner_ArgumentRGB_Type {
            fn default() -> Self {
                /* complete generated data model */
                Self {
            property_0: libremetaverse::import_export::collada14::Gles_Texcombiner_OperandRGB_Enums::SRC_COLOR,
            property_1: Default::default(),
            property_2: Default::default(),
            property_3: Default::default(),
        }
            }
        }
        impl Gles_Texcombiner_ArgumentRGB_Type {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.gles_texcombiner_argumentRGB_type.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gles_texcombiner_argumentRGB_type()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_texcombiner_argumentRGB_type.operand`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gles_texcombiner_operandRGB_enums LibreMetaverse.ImportExport.Collada14.gles_texcombiner_argumentRGB_type.operand`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn operand(
                &self,
            ) -> libremetaverse::import_export::collada14::Gles_Texcombiner_OperandRGB_Enums
            {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_texcombiner_argumentRGB_type.operand`.
            pub fn set_operand(
                &mut self,
                value: libremetaverse::import_export::collada14::Gles_Texcombiner_OperandRGB_Enums,
            ) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_texcombiner_argumentRGB_type.source`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gles_texcombiner_source_enums LibreMetaverse.ImportExport.Collada14.gles_texcombiner_argumentRGB_type.source`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn source(
                &self,
            ) -> libremetaverse::import_export::collada14::Gles_Texcombiner_Source_Enums
            {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_texcombiner_argumentRGB_type.source`.
            pub fn set_source(
                &mut self,
                value: libremetaverse::import_export::collada14::Gles_Texcombiner_Source_Enums,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_texcombiner_argumentRGB_type.sourceSpecified`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.ImportExport.Collada14.gles_texcombiner_argumentRGB_type.sourceSpecified`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn source_specified(&self) -> bool {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_texcombiner_argumentRGB_type.sourceSpecified`.
            pub fn set_source_specified(&mut self, value: bool) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_texcombiner_argumentRGB_type.unit`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.gles_texcombiner_argumentRGB_type.unit`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn unit(&self) -> String {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_texcombiner_argumentRGB_type.unit`.
            pub fn set_unit(&mut self, value: String) {
                /* complete generated data model */
                self.property_3 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.gles_texcombiner_commandAlpha_type`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.gles_texcombiner_commandAlpha_type` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Gles_Texcombiner_CommandAlpha_Type {
            property_0:
                Vec<libremetaverse::import_export::collada14::Gles_Texcombiner_ArgumentAlpha_Type>,
            property_1:
                libremetaverse::import_export::collada14::Gles_Texcombiner_OperatorAlpha_Enums,
            property_2: bool,
            property_3: f32,
            property_4: bool,
        }
        impl Default for Gles_Texcombiner_CommandAlpha_Type {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                    property_4: Default::default(),
                }
            }
        }
        impl Gles_Texcombiner_CommandAlpha_Type {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.gles_texcombiner_commandAlpha_type.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gles_texcombiner_commandAlpha_type()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_texcombiner_commandAlpha_type.argument`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gles_texcombiner_argumentAlpha_type[] LibreMetaverse.ImportExport.Collada14.gles_texcombiner_commandAlpha_type.argument`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn argument(
                &self,
            ) -> Vec<libremetaverse::import_export::collada14::Gles_Texcombiner_ArgumentAlpha_Type>
            {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_texcombiner_commandAlpha_type.argument`.
            pub fn set_argument(
                &mut self,
                value: Vec<
                    libremetaverse::import_export::collada14::Gles_Texcombiner_ArgumentAlpha_Type,
                >,
            ) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_texcombiner_commandAlpha_type.operator`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gles_texcombiner_operatorAlpha_enums LibreMetaverse.ImportExport.Collada14.gles_texcombiner_commandAlpha_type.operator`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn operator(
                &self,
            ) -> libremetaverse::import_export::collada14::Gles_Texcombiner_OperatorAlpha_Enums
            {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_texcombiner_commandAlpha_type.operator`.
            pub fn set_operator(
                &mut self,
                value: libremetaverse::import_export::collada14::Gles_Texcombiner_OperatorAlpha_Enums,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_texcombiner_commandAlpha_type.operatorSpecified`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.ImportExport.Collada14.gles_texcombiner_commandAlpha_type.operatorSpecified`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn operator_specified(&self) -> bool {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_texcombiner_commandAlpha_type.operatorSpecified`.
            pub fn set_operator_specified(&mut self, value: bool) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_texcombiner_commandAlpha_type.scale`.
            ///
            /// C# signature: `System.Single LibreMetaverse.ImportExport.Collada14.gles_texcombiner_commandAlpha_type.scale`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn scale(&self) -> f32 {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_texcombiner_commandAlpha_type.scale`.
            pub fn set_scale(&mut self, value: f32) {
                /* complete generated data model */
                self.property_3 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_texcombiner_commandAlpha_type.scaleSpecified`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.ImportExport.Collada14.gles_texcombiner_commandAlpha_type.scaleSpecified`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn scale_specified(&self) -> bool {
                /* complete generated data model */
                self.property_4.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_texcombiner_commandAlpha_type.scaleSpecified`.
            pub fn set_scale_specified(&mut self, value: bool) {
                /* complete generated data model */
                self.property_4 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.gles_texcombiner_commandRGB_type`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.gles_texcombiner_commandRGB_type` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Gles_Texcombiner_CommandRGB_Type {
            property_0:
                Vec<libremetaverse::import_export::collada14::Gles_Texcombiner_ArgumentRGB_Type>,
            property_1:
                libremetaverse::import_export::collada14::Gles_Texcombiner_OperatorRGB_Enums,
            property_2: bool,
            property_3: f32,
            property_4: bool,
        }
        impl Default for Gles_Texcombiner_CommandRGB_Type {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                    property_4: Default::default(),
                }
            }
        }
        impl Gles_Texcombiner_CommandRGB_Type {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.gles_texcombiner_commandRGB_type.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gles_texcombiner_commandRGB_type()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_texcombiner_commandRGB_type.argument`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gles_texcombiner_argumentRGB_type[] LibreMetaverse.ImportExport.Collada14.gles_texcombiner_commandRGB_type.argument`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn argument(
                &self,
            ) -> Vec<libremetaverse::import_export::collada14::Gles_Texcombiner_ArgumentRGB_Type>
            {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_texcombiner_commandRGB_type.argument`.
            pub fn set_argument(
                &mut self,
                value: Vec<
                    libremetaverse::import_export::collada14::Gles_Texcombiner_ArgumentRGB_Type,
                >,
            ) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_texcombiner_commandRGB_type.operator`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gles_texcombiner_operatorRGB_enums LibreMetaverse.ImportExport.Collada14.gles_texcombiner_commandRGB_type.operator`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn operator(
                &self,
            ) -> libremetaverse::import_export::collada14::Gles_Texcombiner_OperatorRGB_Enums
            {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_texcombiner_commandRGB_type.operator`.
            pub fn set_operator(
                &mut self,
                value: libremetaverse::import_export::collada14::Gles_Texcombiner_OperatorRGB_Enums,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_texcombiner_commandRGB_type.operatorSpecified`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.ImportExport.Collada14.gles_texcombiner_commandRGB_type.operatorSpecified`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn operator_specified(&self) -> bool {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_texcombiner_commandRGB_type.operatorSpecified`.
            pub fn set_operator_specified(&mut self, value: bool) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_texcombiner_commandRGB_type.scale`.
            ///
            /// C# signature: `System.Single LibreMetaverse.ImportExport.Collada14.gles_texcombiner_commandRGB_type.scale`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn scale(&self) -> f32 {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_texcombiner_commandRGB_type.scale`.
            pub fn set_scale(&mut self, value: f32) {
                /* complete generated data model */
                self.property_3 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_texcombiner_commandRGB_type.scaleSpecified`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.ImportExport.Collada14.gles_texcombiner_commandRGB_type.scaleSpecified`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn scale_specified(&self) -> bool {
                /* complete generated data model */
                self.property_4.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_texcombiner_commandRGB_type.scaleSpecified`.
            pub fn set_scale_specified(&mut self, value: bool) {
                /* complete generated data model */
                self.property_4 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.gles_texcombiner_command_type`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.gles_texcombiner_command_type` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Gles_Texcombiner_Command_Type {
            property_0: libremetaverse::import_export::collada14::Gles_Texcombiner_CommandRGB_Type,
            property_1:
                libremetaverse::import_export::collada14::Gles_Texcombiner_CommandAlpha_Type,
            property_2: libremetaverse::import_export::collada14::Gles_Texture_Constant_Type,
        }
        impl Default for Gles_Texcombiner_Command_Type {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                }
            }
        }
        impl Gles_Texcombiner_Command_Type {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.gles_texcombiner_command_type.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gles_texcombiner_command_type()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_texcombiner_command_type.RGB`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gles_texcombiner_commandRGB_type LibreMetaverse.ImportExport.Collada14.gles_texcombiner_command_type.RGB`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn rgb(
                &self,
            ) -> libremetaverse::import_export::collada14::Gles_Texcombiner_CommandRGB_Type
            {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_texcombiner_command_type.RGB`.
            pub fn set_rgb(
                &mut self,
                value: libremetaverse::import_export::collada14::Gles_Texcombiner_CommandRGB_Type,
            ) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_texcombiner_command_type.alpha`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gles_texcombiner_commandAlpha_type LibreMetaverse.ImportExport.Collada14.gles_texcombiner_command_type.alpha`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn alpha(
                &self,
            ) -> libremetaverse::import_export::collada14::Gles_Texcombiner_CommandAlpha_Type
            {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_texcombiner_command_type.alpha`.
            pub fn set_alpha(
                &mut self,
                value: libremetaverse::import_export::collada14::Gles_Texcombiner_CommandAlpha_Type,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_texcombiner_command_type.constant`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gles_texture_constant_type LibreMetaverse.ImportExport.Collada14.gles_texcombiner_command_type.constant`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn constant(
                &self,
            ) -> libremetaverse::import_export::collada14::Gles_Texture_Constant_Type {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_texcombiner_command_type.constant`.
            pub fn set_constant(
                &mut self,
                value: libremetaverse::import_export::collada14::Gles_Texture_Constant_Type,
            ) {
                /* complete generated data model */
                self.property_2 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.gles_texcombiner_operandAlpha_enums`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.gles_texcombiner_operandAlpha_enums` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone, Copy, Debug, Default, Eq, Hash, PartialEq)]
        #[repr(i32)]
        pub enum Gles_Texcombiner_OperandAlpha_Enums {
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gles_texcombiner_operandAlpha_enums.ONE_MINUS_SRC_ALPHA`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gles_texcombiner_operandAlpha_enums LibreMetaverse.ImportExport.Collada14.gles_texcombiner_operandAlpha_enums.ONE_MINUS_SRC_ALPHA`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            #[default]
            ONE_MINUS_SRC_ALPHA = 1,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gles_texcombiner_operandAlpha_enums.SRC_ALPHA`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gles_texcombiner_operandAlpha_enums LibreMetaverse.ImportExport.Collada14.gles_texcombiner_operandAlpha_enums.SRC_ALPHA`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            SRC_ALPHA = 0,
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.gles_texcombiner_operandRGB_enums`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.gles_texcombiner_operandRGB_enums` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone, Copy, Debug, Default, Eq, Hash, PartialEq)]
        #[repr(i32)]
        pub enum Gles_Texcombiner_OperandRGB_Enums {
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gles_texcombiner_operandRGB_enums.ONE_MINUS_SRC_ALPHA`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gles_texcombiner_operandRGB_enums LibreMetaverse.ImportExport.Collada14.gles_texcombiner_operandRGB_enums.ONE_MINUS_SRC_ALPHA`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            #[default]
            ONE_MINUS_SRC_ALPHA = 3,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gles_texcombiner_operandRGB_enums.ONE_MINUS_SRC_COLOR`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gles_texcombiner_operandRGB_enums LibreMetaverse.ImportExport.Collada14.gles_texcombiner_operandRGB_enums.ONE_MINUS_SRC_COLOR`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            ONE_MINUS_SRC_COLOR = 1,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gles_texcombiner_operandRGB_enums.SRC_ALPHA`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gles_texcombiner_operandRGB_enums LibreMetaverse.ImportExport.Collada14.gles_texcombiner_operandRGB_enums.SRC_ALPHA`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            SRC_ALPHA = 2,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gles_texcombiner_operandRGB_enums.SRC_COLOR`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gles_texcombiner_operandRGB_enums LibreMetaverse.ImportExport.Collada14.gles_texcombiner_operandRGB_enums.SRC_COLOR`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            SRC_COLOR = 0,
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.gles_texcombiner_operatorAlpha_enums`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.gles_texcombiner_operatorAlpha_enums` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone, Copy, Debug, Default, Eq, Hash, PartialEq)]
        #[repr(i32)]
        pub enum Gles_Texcombiner_OperatorAlpha_Enums {
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gles_texcombiner_operatorAlpha_enums.ADD`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gles_texcombiner_operatorAlpha_enums LibreMetaverse.ImportExport.Collada14.gles_texcombiner_operatorAlpha_enums.ADD`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            #[default]
            ADD = 2,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gles_texcombiner_operatorAlpha_enums.ADD_SIGNED`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gles_texcombiner_operatorAlpha_enums LibreMetaverse.ImportExport.Collada14.gles_texcombiner_operatorAlpha_enums.ADD_SIGNED`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            ADD_SIGNED = 3,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gles_texcombiner_operatorAlpha_enums.INTERPOLATE`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gles_texcombiner_operatorAlpha_enums LibreMetaverse.ImportExport.Collada14.gles_texcombiner_operatorAlpha_enums.INTERPOLATE`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            INTERPOLATE = 4,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gles_texcombiner_operatorAlpha_enums.MODULATE`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gles_texcombiner_operatorAlpha_enums LibreMetaverse.ImportExport.Collada14.gles_texcombiner_operatorAlpha_enums.MODULATE`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            MODULATE = 1,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gles_texcombiner_operatorAlpha_enums.REPLACE`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gles_texcombiner_operatorAlpha_enums LibreMetaverse.ImportExport.Collada14.gles_texcombiner_operatorAlpha_enums.REPLACE`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            REPLACE = 0,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gles_texcombiner_operatorAlpha_enums.SUBTRACT`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gles_texcombiner_operatorAlpha_enums LibreMetaverse.ImportExport.Collada14.gles_texcombiner_operatorAlpha_enums.SUBTRACT`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            SUBTRACT = 5,
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.gles_texcombiner_operatorRGB_enums`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.gles_texcombiner_operatorRGB_enums` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone, Copy, Debug, Default, Eq, Hash, PartialEq)]
        #[repr(i32)]
        pub enum Gles_Texcombiner_OperatorRGB_Enums {
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gles_texcombiner_operatorRGB_enums.ADD`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gles_texcombiner_operatorRGB_enums LibreMetaverse.ImportExport.Collada14.gles_texcombiner_operatorRGB_enums.ADD`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            #[default]
            ADD = 2,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gles_texcombiner_operatorRGB_enums.ADD_SIGNED`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gles_texcombiner_operatorRGB_enums LibreMetaverse.ImportExport.Collada14.gles_texcombiner_operatorRGB_enums.ADD_SIGNED`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            ADD_SIGNED = 3,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gles_texcombiner_operatorRGB_enums.DOT3_RGB`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gles_texcombiner_operatorRGB_enums LibreMetaverse.ImportExport.Collada14.gles_texcombiner_operatorRGB_enums.DOT3_RGB`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            DOT3_RGB = 6,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gles_texcombiner_operatorRGB_enums.DOT3_RGBA`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gles_texcombiner_operatorRGB_enums LibreMetaverse.ImportExport.Collada14.gles_texcombiner_operatorRGB_enums.DOT3_RGBA`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            DOT3_RGBA = 7,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gles_texcombiner_operatorRGB_enums.INTERPOLATE`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gles_texcombiner_operatorRGB_enums LibreMetaverse.ImportExport.Collada14.gles_texcombiner_operatorRGB_enums.INTERPOLATE`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            INTERPOLATE = 4,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gles_texcombiner_operatorRGB_enums.MODULATE`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gles_texcombiner_operatorRGB_enums LibreMetaverse.ImportExport.Collada14.gles_texcombiner_operatorRGB_enums.MODULATE`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            MODULATE = 1,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gles_texcombiner_operatorRGB_enums.REPLACE`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gles_texcombiner_operatorRGB_enums LibreMetaverse.ImportExport.Collada14.gles_texcombiner_operatorRGB_enums.REPLACE`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            REPLACE = 0,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gles_texcombiner_operatorRGB_enums.SUBTRACT`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gles_texcombiner_operatorRGB_enums LibreMetaverse.ImportExport.Collada14.gles_texcombiner_operatorRGB_enums.SUBTRACT`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            SUBTRACT = 5,
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.gles_texcombiner_source_enums`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.gles_texcombiner_source_enums` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone, Copy, Debug, Default, Eq, Hash, PartialEq)]
        #[repr(i32)]
        pub enum Gles_Texcombiner_Source_Enums {
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gles_texcombiner_source_enums.CONSTANT`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gles_texcombiner_source_enums LibreMetaverse.ImportExport.Collada14.gles_texcombiner_source_enums.CONSTANT`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            #[default]
            CONSTANT = 1,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gles_texcombiner_source_enums.PREVIOUS`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gles_texcombiner_source_enums LibreMetaverse.ImportExport.Collada14.gles_texcombiner_source_enums.PREVIOUS`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            PREVIOUS = 3,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gles_texcombiner_source_enums.PRIMARY`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gles_texcombiner_source_enums LibreMetaverse.ImportExport.Collada14.gles_texcombiner_source_enums.PRIMARY`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            PRIMARY = 2,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gles_texcombiner_source_enums.TEXTURE`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gles_texcombiner_source_enums LibreMetaverse.ImportExport.Collada14.gles_texcombiner_source_enums.TEXTURE`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            TEXTURE = 0,
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.gles_texenv_command_type`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.gles_texenv_command_type` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Gles_Texenv_Command_Type {
            property_0: libremetaverse::import_export::collada14::Gles_Texture_Constant_Type,
            property_1: libremetaverse::import_export::collada14::Gles_Texenv_Mode_Enums,
            property_2: bool,
            property_3: String,
        }
        impl Default for Gles_Texenv_Command_Type {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                }
            }
        }
        impl Gles_Texenv_Command_Type {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.gles_texenv_command_type.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gles_texenv_command_type()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_texenv_command_type.constant`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gles_texture_constant_type LibreMetaverse.ImportExport.Collada14.gles_texenv_command_type.constant`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn constant(
                &self,
            ) -> libremetaverse::import_export::collada14::Gles_Texture_Constant_Type {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_texenv_command_type.constant`.
            pub fn set_constant(
                &mut self,
                value: libremetaverse::import_export::collada14::Gles_Texture_Constant_Type,
            ) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_texenv_command_type.operator`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gles_texenv_mode_enums LibreMetaverse.ImportExport.Collada14.gles_texenv_command_type.operator`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn operator(
                &self,
            ) -> libremetaverse::import_export::collada14::Gles_Texenv_Mode_Enums {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_texenv_command_type.operator`.
            pub fn set_operator(
                &mut self,
                value: libremetaverse::import_export::collada14::Gles_Texenv_Mode_Enums,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_texenv_command_type.operatorSpecified`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.ImportExport.Collada14.gles_texenv_command_type.operatorSpecified`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn operator_specified(&self) -> bool {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_texenv_command_type.operatorSpecified`.
            pub fn set_operator_specified(&mut self, value: bool) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_texenv_command_type.unit`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.gles_texenv_command_type.unit`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn unit(&self) -> String {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_texenv_command_type.unit`.
            pub fn set_unit(&mut self, value: String) {
                /* complete generated data model */
                self.property_3 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.gles_texenv_mode_enums`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.gles_texenv_mode_enums` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone, Copy, Debug, Default, Eq, Hash, PartialEq)]
        #[repr(i32)]
        pub enum Gles_Texenv_Mode_Enums {
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gles_texenv_mode_enums.ADD`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gles_texenv_mode_enums LibreMetaverse.ImportExport.Collada14.gles_texenv_mode_enums.ADD`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            #[default]
            ADD = 4,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gles_texenv_mode_enums.BLEND`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gles_texenv_mode_enums LibreMetaverse.ImportExport.Collada14.gles_texenv_mode_enums.BLEND`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            BLEND = 3,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gles_texenv_mode_enums.DECAL`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gles_texenv_mode_enums LibreMetaverse.ImportExport.Collada14.gles_texenv_mode_enums.DECAL`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            DECAL = 2,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gles_texenv_mode_enums.MODULATE`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gles_texenv_mode_enums LibreMetaverse.ImportExport.Collada14.gles_texenv_mode_enums.MODULATE`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            MODULATE = 1,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.gles_texenv_mode_enums.REPLACE`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gles_texenv_mode_enums LibreMetaverse.ImportExport.Collada14.gles_texenv_mode_enums.REPLACE`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            REPLACE = 0,
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.gles_texture_constant_type`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.gles_texture_constant_type` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Gles_Texture_Constant_Type {
            property_0: String,
            property_1: Vec<f64>,
        }
        impl Default for Gles_Texture_Constant_Type {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                }
            }
        }
        impl Gles_Texture_Constant_Type {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.gles_texture_constant_type.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gles_texture_constant_type()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_texture_constant_type.param`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.gles_texture_constant_type.param`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn param(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_texture_constant_type.param`.
            pub fn set_param(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_texture_constant_type.value`.
            ///
            /// C# signature: `System.Double[] LibreMetaverse.ImportExport.Collada14.gles_texture_constant_type.value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> Vec<f64> {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_texture_constant_type.value`.
            pub fn set_value(&mut self, value: Vec<f64>) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.gles_texture_pipeline`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.gles_texture_pipeline` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Gles_Texture_Pipeline {
            property_0: Vec<libremetaverse_types::compat::Object>,
            property_1: String,
        }
        impl Default for Gles_Texture_Pipeline {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                }
            }
        }
        impl Gles_Texture_Pipeline {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.gles_texture_pipeline.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gles_texture_pipeline()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_texture_pipeline.Items`.
            ///
            /// C# signature: `System.Object[] LibreMetaverse.ImportExport.Collada14.gles_texture_pipeline.Items`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn items(&self) -> Vec<libremetaverse_types::compat::Object> {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_texture_pipeline.Items`.
            pub fn set_items(&mut self, value: Vec<libremetaverse_types::compat::Object>) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_texture_pipeline.sid`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.gles_texture_pipeline.sid`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn sid(&self) -> String {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_texture_pipeline.sid`.
            pub fn set_sid(&mut self, value: String) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.gles_texture_unit`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.gles_texture_unit` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Gles_Texture_Unit {
            property_0: Vec<libremetaverse::import_export::collada14::Extra>,
            property_1: String,
            property_2: String,
            property_3: String,
            property_4: libremetaverse::import_export::collada14::Gles_Texture_UnitTexcoord,
        }
        impl Default for Gles_Texture_Unit {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                    property_4: Default::default(),
                }
            }
        }
        impl Gles_Texture_Unit {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.gles_texture_unit.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gles_texture_unit()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_texture_unit.extra`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.extra[] LibreMetaverse.ImportExport.Collada14.gles_texture_unit.extra`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn extra(&self) -> Vec<libremetaverse::import_export::collada14::Extra> {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_texture_unit.extra`.
            pub fn set_extra(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Extra>,
            ) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_texture_unit.sampler_state`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.gles_texture_unit.sampler_state`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn sampler_state(&self) -> String {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_texture_unit.sampler_state`.
            pub fn set_sampler_state(&mut self, value: String) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_texture_unit.sid`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.gles_texture_unit.sid`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn sid(&self) -> String {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_texture_unit.sid`.
            pub fn set_sid(&mut self, value: String) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_texture_unit.surface`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.gles_texture_unit.surface`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn surface(&self) -> String {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_texture_unit.surface`.
            pub fn set_surface(&mut self, value: String) {
                /* complete generated data model */
                self.property_3 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_texture_unit.texcoord`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gles_texture_unitTexcoord LibreMetaverse.ImportExport.Collada14.gles_texture_unit.texcoord`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn texcoord(
                &self,
            ) -> libremetaverse::import_export::collada14::Gles_Texture_UnitTexcoord {
                /* complete generated data model */
                self.property_4.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_texture_unit.texcoord`.
            pub fn set_texcoord(
                &mut self,
                value: libremetaverse::import_export::collada14::Gles_Texture_UnitTexcoord,
            ) {
                /* complete generated data model */
                self.property_4 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.gles_texture_unitTexcoord`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.gles_texture_unitTexcoord` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Gles_Texture_UnitTexcoord {
            property_0: String,
        }
        impl Default for Gles_Texture_UnitTexcoord {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                }
            }
        }
        impl Gles_Texture_UnitTexcoord {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.gles_texture_unitTexcoord.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gles_texture_unitTexcoord()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_texture_unitTexcoord.semantic`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.gles_texture_unitTexcoord.semantic`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn semantic(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.gles_texture_unitTexcoord.semantic`.
            pub fn set_semantic(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.glsl_newarray_type`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.glsl_newarray_type` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Glsl_Newarray_Type {
            property_0: Vec<libremetaverse_types::compat::Object>,
            property_1: Vec<libremetaverse::import_export::collada14::ItemsChoiceType2>,
            property_2: String,
        }
        impl Default for Glsl_Newarray_Type {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                }
            }
        }
        impl Glsl_Newarray_Type {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.glsl_newarray_type.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.glsl_newarray_type()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.glsl_newarray_type.Items`.
            ///
            /// C# signature: `System.Object[] LibreMetaverse.ImportExport.Collada14.glsl_newarray_type.Items`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn items(&self) -> Vec<libremetaverse_types::compat::Object> {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.glsl_newarray_type.Items`.
            pub fn set_items(&mut self, value: Vec<libremetaverse_types::compat::Object>) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.glsl_newarray_type.ItemsElementName`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType2[] LibreMetaverse.ImportExport.Collada14.glsl_newarray_type.ItemsElementName`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn items_element_name(
                &self,
            ) -> Vec<libremetaverse::import_export::collada14::ItemsChoiceType2> {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.glsl_newarray_type.ItemsElementName`.
            pub fn set_items_element_name(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::ItemsChoiceType2>,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.glsl_newarray_type.length`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.glsl_newarray_type.length`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn length(&self) -> String {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.glsl_newarray_type.length`.
            pub fn set_length(&mut self, value: String) {
                /* complete generated data model */
                self.property_2 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.glsl_newparam`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.glsl_newparam` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Glsl_Newparam {
            property_0: libremetaverse_types::compat::Object,
            property_1: libremetaverse::import_export::collada14::ItemChoiceType,
            property_2: Vec<libremetaverse::import_export::collada14::Fx_Annotate_Common>,
            property_3: libremetaverse::import_export::collada14::Fx_Modifier_Enum_Common,
            property_4: bool,
            property_5: String,
            property_6: String,
        }
        impl Default for Glsl_Newparam {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                    property_4: Default::default(),
                    property_5: Default::default(),
                    property_6: Default::default(),
                }
            }
        }
        impl Glsl_Newparam {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.glsl_newparam.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.glsl_newparam()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.glsl_newparam.Item`.
            ///
            /// C# signature: `System.Object LibreMetaverse.ImportExport.Collada14.glsl_newparam.Item`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn item(&self) -> libremetaverse_types::compat::Object {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.glsl_newparam.Item`.
            pub fn set_item(&mut self, value: libremetaverse_types::compat::Object) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.glsl_newparam.ItemElementName`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType LibreMetaverse.ImportExport.Collada14.glsl_newparam.ItemElementName`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn item_element_name(
                &self,
            ) -> libremetaverse::import_export::collada14::ItemChoiceType {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.glsl_newparam.ItemElementName`.
            pub fn set_item_element_name(
                &mut self,
                value: libremetaverse::import_export::collada14::ItemChoiceType,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.glsl_newparam.annotate`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_annotate_common[] LibreMetaverse.ImportExport.Collada14.glsl_newparam.annotate`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn annotate(
                &self,
            ) -> Vec<libremetaverse::import_export::collada14::Fx_Annotate_Common> {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.glsl_newparam.annotate`.
            pub fn set_annotate(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Fx_Annotate_Common>,
            ) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.glsl_newparam.modifier`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_modifier_enum_common LibreMetaverse.ImportExport.Collada14.glsl_newparam.modifier`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn modifier(
                &self,
            ) -> libremetaverse::import_export::collada14::Fx_Modifier_Enum_Common {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.glsl_newparam.modifier`.
            pub fn set_modifier(
                &mut self,
                value: libremetaverse::import_export::collada14::Fx_Modifier_Enum_Common,
            ) {
                /* complete generated data model */
                self.property_3 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.glsl_newparam.modifierSpecified`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.ImportExport.Collada14.glsl_newparam.modifierSpecified`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn modifier_specified(&self) -> bool {
                /* complete generated data model */
                self.property_4.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.glsl_newparam.modifierSpecified`.
            pub fn set_modifier_specified(&mut self, value: bool) {
                /* complete generated data model */
                self.property_4 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.glsl_newparam.semantic`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.glsl_newparam.semantic`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn semantic(&self) -> String {
                /* complete generated data model */
                self.property_5.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.glsl_newparam.semantic`.
            pub fn set_semantic(&mut self, value: String) {
                /* complete generated data model */
                self.property_5 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.glsl_newparam.sid`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.glsl_newparam.sid`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn sid(&self) -> String {
                /* complete generated data model */
                self.property_6.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.glsl_newparam.sid`.
            pub fn set_sid(&mut self, value: String) {
                /* complete generated data model */
                self.property_6 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.glsl_pipeline_stage`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.glsl_pipeline_stage` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone, Copy, Debug, Default, Eq, Hash, PartialEq)]
        #[repr(i32)]
        pub enum Glsl_Pipeline_Stage {
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.glsl_pipeline_stage.FRAGMENTPROGRAM`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.glsl_pipeline_stage LibreMetaverse.ImportExport.Collada14.glsl_pipeline_stage.FRAGMENTPROGRAM`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            #[default]
            FRAGMENTPROGRAM = 1,
            /// C# member: `F:LibreMetaverse.ImportExport.Collada14.glsl_pipeline_stage.VERTEXPROGRAM`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.glsl_pipeline_stage LibreMetaverse.ImportExport.Collada14.glsl_pipeline_stage.VERTEXPROGRAM`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            VERTEXPROGRAM = 0,
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.glsl_setarray_type`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.glsl_setarray_type` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Glsl_Setarray_Type {
            property_0: Vec<libremetaverse_types::compat::Object>,
            property_1: Vec<libremetaverse::import_export::collada14::ItemsChoiceType3>,
            property_2: String,
        }
        impl Default for Glsl_Setarray_Type {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                }
            }
        }
        impl Glsl_Setarray_Type {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.glsl_setarray_type.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.glsl_setarray_type()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.glsl_setarray_type.Items`.
            ///
            /// C# signature: `System.Object[] LibreMetaverse.ImportExport.Collada14.glsl_setarray_type.Items`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn items(&self) -> Vec<libremetaverse_types::compat::Object> {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.glsl_setarray_type.Items`.
            pub fn set_items(&mut self, value: Vec<libremetaverse_types::compat::Object>) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.glsl_setarray_type.ItemsElementName`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType3[] LibreMetaverse.ImportExport.Collada14.glsl_setarray_type.ItemsElementName`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn items_element_name(
                &self,
            ) -> Vec<libremetaverse::import_export::collada14::ItemsChoiceType3> {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.glsl_setarray_type.ItemsElementName`.
            pub fn set_items_element_name(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::ItemsChoiceType3>,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.glsl_setarray_type.length`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.glsl_setarray_type.length`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn length(&self) -> String {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.glsl_setarray_type.length`.
            pub fn set_length(&mut self, value: String) {
                /* complete generated data model */
                self.property_2 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.glsl_setparam`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.glsl_setparam` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Glsl_Setparam {
            property_0: libremetaverse_types::compat::Object,
            property_1: libremetaverse::import_export::collada14::ItemChoiceType1,
            property_2: Vec<libremetaverse::import_export::collada14::Fx_Annotate_Common>,
            property_3: String,
            property_4: String,
        }
        impl Default for Glsl_Setparam {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                    property_4: Default::default(),
                }
            }
        }
        impl Glsl_Setparam {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.glsl_setparam.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.glsl_setparam()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.glsl_setparam.Item`.
            ///
            /// C# signature: `System.Object LibreMetaverse.ImportExport.Collada14.glsl_setparam.Item`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn item(&self) -> libremetaverse_types::compat::Object {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.glsl_setparam.Item`.
            pub fn set_item(&mut self, value: libremetaverse_types::compat::Object) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.glsl_setparam.ItemElementName`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemChoiceType1 LibreMetaverse.ImportExport.Collada14.glsl_setparam.ItemElementName`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn item_element_name(
                &self,
            ) -> libremetaverse::import_export::collada14::ItemChoiceType1 {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.glsl_setparam.ItemElementName`.
            pub fn set_item_element_name(
                &mut self,
                value: libremetaverse::import_export::collada14::ItemChoiceType1,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.glsl_setparam.annotate`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_annotate_common[] LibreMetaverse.ImportExport.Collada14.glsl_setparam.annotate`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn annotate(
                &self,
            ) -> Vec<libremetaverse::import_export::collada14::Fx_Annotate_Common> {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.glsl_setparam.annotate`.
            pub fn set_annotate(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Fx_Annotate_Common>,
            ) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.glsl_setparam.program`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.glsl_setparam.program`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn program(&self) -> String {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.glsl_setparam.program`.
            pub fn set_program(&mut self, value: String) {
                /* complete generated data model */
                self.property_3 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.glsl_setparam.ref`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.glsl_setparam.ref`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn ref_(&self) -> String {
                /* complete generated data model */
                self.property_4.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.glsl_setparam.ref`.
            pub fn set_ref_(&mut self, value: String) {
                /* complete generated data model */
                self.property_4 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.glsl_setparam_simple`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.glsl_setparam_simple` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Glsl_Setparam_Simple {
            property_0: Vec<libremetaverse::import_export::collada14::Fx_Annotate_Common>,
            property_1: bool,
            property_2: String,
            property_3: String,
            property_4: String,
            property_5: String,
            property_6: f32,
            property_7: String,
            property_8: String,
            property_9: String,
            property_10: String,
            property_11: String,
            property_12: String,
            property_13: i32,
            property_14: String,
            property_15: String,
            property_16: String,
            property_17: String,
            property_18: libremetaverse::import_export::collada14::Gl_Sampler1D,
            property_19: libremetaverse::import_export::collada14::Gl_Sampler2D,
            property_20: libremetaverse::import_export::collada14::Gl_Sampler3D,
            property_21: libremetaverse::import_export::collada14::Gl_SamplerCUBE,
            property_22: libremetaverse::import_export::collada14::Gl_SamplerDEPTH,
            property_23: libremetaverse::import_export::collada14::Gl_SamplerRECT,
            property_24: libremetaverse::import_export::collada14::Glsl_Surface_Type,
        }
        impl Default for Glsl_Setparam_Simple {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                    property_4: Default::default(),
                    property_5: Default::default(),
                    property_6: Default::default(),
                    property_7: Default::default(),
                    property_8: Default::default(),
                    property_9: Default::default(),
                    property_10: Default::default(),
                    property_11: Default::default(),
                    property_12: Default::default(),
                    property_13: Default::default(),
                    property_14: Default::default(),
                    property_15: Default::default(),
                    property_16: Default::default(),
                    property_17: Default::default(),
                    property_18: Default::default(),
                    property_19: Default::default(),
                    property_20: Default::default(),
                    property_21: Default::default(),
                    property_22: Default::default(),
                    property_23: Default::default(),
                    property_24: Default::default(),
                }
            }
        }
        impl Glsl_Setparam_Simple {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.glsl_setparam_simple.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.glsl_setparam_simple()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.glsl_setparam_simple.annotate`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_annotate_common[] LibreMetaverse.ImportExport.Collada14.glsl_setparam_simple.annotate`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn annotate(
                &self,
            ) -> Vec<libremetaverse::import_export::collada14::Fx_Annotate_Common> {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.glsl_setparam_simple.annotate`.
            pub fn set_annotate(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Fx_Annotate_Common>,
            ) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.glsl_setparam_simple.bool`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.ImportExport.Collada14.glsl_setparam_simple.bool`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn bool(&self) -> bool {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.glsl_setparam_simple.bool`.
            pub fn set_bool(&mut self, value: bool) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.glsl_setparam_simple.bool2`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.glsl_setparam_simple.bool2`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn bool2(&self) -> String {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.glsl_setparam_simple.bool2`.
            pub fn set_bool2(&mut self, value: String) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.glsl_setparam_simple.bool3`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.glsl_setparam_simple.bool3`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn bool3(&self) -> String {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.glsl_setparam_simple.bool3`.
            pub fn set_bool3(&mut self, value: String) {
                /* complete generated data model */
                self.property_3 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.glsl_setparam_simple.bool4`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.glsl_setparam_simple.bool4`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn bool4(&self) -> String {
                /* complete generated data model */
                self.property_4.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.glsl_setparam_simple.bool4`.
            pub fn set_bool4(&mut self, value: String) {
                /* complete generated data model */
                self.property_4 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.glsl_setparam_simple.enum`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.glsl_setparam_simple.enum`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn enum_(&self) -> String {
                /* complete generated data model */
                self.property_5.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.glsl_setparam_simple.enum`.
            pub fn set_enum_(&mut self, value: String) {
                /* complete generated data model */
                self.property_5 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.glsl_setparam_simple.float`.
            ///
            /// C# signature: `System.Single LibreMetaverse.ImportExport.Collada14.glsl_setparam_simple.float`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float(&self) -> f32 {
                /* complete generated data model */
                self.property_6.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.glsl_setparam_simple.float`.
            pub fn set_float(&mut self, value: f32) {
                /* complete generated data model */
                self.property_6 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.glsl_setparam_simple.float2`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.glsl_setparam_simple.float2`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float2(&self) -> String {
                /* complete generated data model */
                self.property_7.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.glsl_setparam_simple.float2`.
            pub fn set_float2(&mut self, value: String) {
                /* complete generated data model */
                self.property_7 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.glsl_setparam_simple.float2x2`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.glsl_setparam_simple.float2x2`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float2x2(&self) -> String {
                /* complete generated data model */
                self.property_8.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.glsl_setparam_simple.float2x2`.
            pub fn set_float2x2(&mut self, value: String) {
                /* complete generated data model */
                self.property_8 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.glsl_setparam_simple.float3`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.glsl_setparam_simple.float3`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float3(&self) -> String {
                /* complete generated data model */
                self.property_9.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.glsl_setparam_simple.float3`.
            pub fn set_float3(&mut self, value: String) {
                /* complete generated data model */
                self.property_9 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.glsl_setparam_simple.float3x3`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.glsl_setparam_simple.float3x3`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float3x3(&self) -> String {
                /* complete generated data model */
                self.property_10.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.glsl_setparam_simple.float3x3`.
            pub fn set_float3x3(&mut self, value: String) {
                /* complete generated data model */
                self.property_10 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.glsl_setparam_simple.float4`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.glsl_setparam_simple.float4`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float4(&self) -> String {
                /* complete generated data model */
                self.property_11.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.glsl_setparam_simple.float4`.
            pub fn set_float4(&mut self, value: String) {
                /* complete generated data model */
                self.property_11 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.glsl_setparam_simple.float4x4`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.glsl_setparam_simple.float4x4`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float4x4(&self) -> String {
                /* complete generated data model */
                self.property_12.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.glsl_setparam_simple.float4x4`.
            pub fn set_float4x4(&mut self, value: String) {
                /* complete generated data model */
                self.property_12 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.glsl_setparam_simple.int`.
            ///
            /// C# signature: `System.Int32 LibreMetaverse.ImportExport.Collada14.glsl_setparam_simple.int`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn int(&self) -> i32 {
                /* complete generated data model */
                self.property_13.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.glsl_setparam_simple.int`.
            pub fn set_int(&mut self, value: i32) {
                /* complete generated data model */
                self.property_13 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.glsl_setparam_simple.int2`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.glsl_setparam_simple.int2`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn int2(&self) -> String {
                /* complete generated data model */
                self.property_14.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.glsl_setparam_simple.int2`.
            pub fn set_int2(&mut self, value: String) {
                /* complete generated data model */
                self.property_14 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.glsl_setparam_simple.int3`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.glsl_setparam_simple.int3`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn int3(&self) -> String {
                /* complete generated data model */
                self.property_15.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.glsl_setparam_simple.int3`.
            pub fn set_int3(&mut self, value: String) {
                /* complete generated data model */
                self.property_15 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.glsl_setparam_simple.int4`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.glsl_setparam_simple.int4`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn int4(&self) -> String {
                /* complete generated data model */
                self.property_16.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.glsl_setparam_simple.int4`.
            pub fn set_int4(&mut self, value: String) {
                /* complete generated data model */
                self.property_16 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.glsl_setparam_simple.ref`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.glsl_setparam_simple.ref`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn ref_(&self) -> String {
                /* complete generated data model */
                self.property_17.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.glsl_setparam_simple.ref`.
            pub fn set_ref_(&mut self, value: String) {
                /* complete generated data model */
                self.property_17 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.glsl_setparam_simple.sampler1D`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_sampler1D LibreMetaverse.ImportExport.Collada14.glsl_setparam_simple.sampler1D`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn sampler1_d(&self) -> libremetaverse::import_export::collada14::Gl_Sampler1D {
                /* complete generated data model */
                self.property_18.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.glsl_setparam_simple.sampler1D`.
            pub fn set_sampler1_d(
                &mut self,
                value: libremetaverse::import_export::collada14::Gl_Sampler1D,
            ) {
                /* complete generated data model */
                self.property_18 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.glsl_setparam_simple.sampler2D`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_sampler2D LibreMetaverse.ImportExport.Collada14.glsl_setparam_simple.sampler2D`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn sampler2_d(&self) -> libremetaverse::import_export::collada14::Gl_Sampler2D {
                /* complete generated data model */
                self.property_19.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.glsl_setparam_simple.sampler2D`.
            pub fn set_sampler2_d(
                &mut self,
                value: libremetaverse::import_export::collada14::Gl_Sampler2D,
            ) {
                /* complete generated data model */
                self.property_19 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.glsl_setparam_simple.sampler3D`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_sampler3D LibreMetaverse.ImportExport.Collada14.glsl_setparam_simple.sampler3D`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn sampler3_d(&self) -> libremetaverse::import_export::collada14::Gl_Sampler3D {
                /* complete generated data model */
                self.property_20.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.glsl_setparam_simple.sampler3D`.
            pub fn set_sampler3_d(
                &mut self,
                value: libremetaverse::import_export::collada14::Gl_Sampler3D,
            ) {
                /* complete generated data model */
                self.property_20 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.glsl_setparam_simple.samplerCUBE`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_samplerCUBE LibreMetaverse.ImportExport.Collada14.glsl_setparam_simple.samplerCUBE`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn sampler_cube(&self) -> libremetaverse::import_export::collada14::Gl_SamplerCUBE {
                /* complete generated data model */
                self.property_21.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.glsl_setparam_simple.samplerCUBE`.
            pub fn set_sampler_cube(
                &mut self,
                value: libremetaverse::import_export::collada14::Gl_SamplerCUBE,
            ) {
                /* complete generated data model */
                self.property_21 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.glsl_setparam_simple.samplerDEPTH`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_samplerDEPTH LibreMetaverse.ImportExport.Collada14.glsl_setparam_simple.samplerDEPTH`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn sampler_depth(
                &self,
            ) -> libremetaverse::import_export::collada14::Gl_SamplerDEPTH {
                /* complete generated data model */
                self.property_22.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.glsl_setparam_simple.samplerDEPTH`.
            pub fn set_sampler_depth(
                &mut self,
                value: libremetaverse::import_export::collada14::Gl_SamplerDEPTH,
            ) {
                /* complete generated data model */
                self.property_22 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.glsl_setparam_simple.samplerRECT`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.gl_samplerRECT LibreMetaverse.ImportExport.Collada14.glsl_setparam_simple.samplerRECT`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn sampler_rect(&self) -> libremetaverse::import_export::collada14::Gl_SamplerRECT {
                /* complete generated data model */
                self.property_23.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.glsl_setparam_simple.samplerRECT`.
            pub fn set_sampler_rect(
                &mut self,
                value: libremetaverse::import_export::collada14::Gl_SamplerRECT,
            ) {
                /* complete generated data model */
                self.property_23 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.glsl_setparam_simple.surface`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.glsl_surface_type LibreMetaverse.ImportExport.Collada14.glsl_setparam_simple.surface`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn surface(&self) -> libremetaverse::import_export::collada14::Glsl_Surface_Type {
                /* complete generated data model */
                self.property_24.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.glsl_setparam_simple.surface`.
            pub fn set_surface(
                &mut self,
                value: libremetaverse::import_export::collada14::Glsl_Surface_Type,
            ) {
                /* complete generated data model */
                self.property_24 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.glsl_surface_type`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.glsl_surface_type` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Glsl_Surface_Type {
            property_0: libremetaverse::import_export::collada14::Glsl_Surface_TypeGenerator,
        }
        impl Default for Glsl_Surface_Type {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                }
            }
        }
        impl Glsl_Surface_Type {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.glsl_surface_type.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.glsl_surface_type()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.glsl_surface_type.generator`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.glsl_surface_typeGenerator LibreMetaverse.ImportExport.Collada14.glsl_surface_type.generator`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn generator(
                &self,
            ) -> libremetaverse::import_export::collada14::Glsl_Surface_TypeGenerator {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.glsl_surface_type.generator`.
            pub fn set_generator(
                &mut self,
                value: libremetaverse::import_export::collada14::Glsl_Surface_TypeGenerator,
            ) {
                /* complete generated data model */
                self.property_0 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.glsl_surface_typeGenerator`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.glsl_surface_typeGenerator` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Glsl_Surface_TypeGenerator {
            property_0: Vec<libremetaverse_types::compat::Object>,
            property_1: Vec<libremetaverse::import_export::collada14::Fx_Annotate_Common>,
            property_2: libremetaverse::import_export::collada14::Glsl_Surface_TypeGeneratorName,
            property_3: Vec<libremetaverse::import_export::collada14::Glsl_Setparam_Simple>,
        }
        impl Default for Glsl_Surface_TypeGenerator {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                }
            }
        }
        impl Glsl_Surface_TypeGenerator {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.glsl_surface_typeGenerator.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.glsl_surface_typeGenerator()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.glsl_surface_typeGenerator.Items`.
            ///
            /// C# signature: `System.Object[] LibreMetaverse.ImportExport.Collada14.glsl_surface_typeGenerator.Items`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn items(&self) -> Vec<libremetaverse_types::compat::Object> {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.glsl_surface_typeGenerator.Items`.
            pub fn set_items(&mut self, value: Vec<libremetaverse_types::compat::Object>) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.glsl_surface_typeGenerator.annotate`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_annotate_common[] LibreMetaverse.ImportExport.Collada14.glsl_surface_typeGenerator.annotate`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn annotate(
                &self,
            ) -> Vec<libremetaverse::import_export::collada14::Fx_Annotate_Common> {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.glsl_surface_typeGenerator.annotate`.
            pub fn set_annotate(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Fx_Annotate_Common>,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.glsl_surface_typeGenerator.name`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.glsl_surface_typeGeneratorName LibreMetaverse.ImportExport.Collada14.glsl_surface_typeGenerator.name`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn name(
                &self,
            ) -> libremetaverse::import_export::collada14::Glsl_Surface_TypeGeneratorName
            {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.glsl_surface_typeGenerator.name`.
            pub fn set_name(
                &mut self,
                value: libremetaverse::import_export::collada14::Glsl_Surface_TypeGeneratorName,
            ) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.glsl_surface_typeGenerator.setparam`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.glsl_setparam_simple[] LibreMetaverse.ImportExport.Collada14.glsl_surface_typeGenerator.setparam`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn setparam(
                &self,
            ) -> Vec<libremetaverse::import_export::collada14::Glsl_Setparam_Simple> {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.glsl_surface_typeGenerator.setparam`.
            pub fn set_setparam(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Glsl_Setparam_Simple>,
            ) {
                /* complete generated data model */
                self.property_3 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.glsl_surface_typeGeneratorName`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.glsl_surface_typeGeneratorName` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Glsl_Surface_TypeGeneratorName {
            property_0: String,
            property_1: String,
        }
        impl Default for Glsl_Surface_TypeGeneratorName {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                }
            }
        }
        impl Glsl_Surface_TypeGeneratorName {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.glsl_surface_typeGeneratorName.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.glsl_surface_typeGeneratorName()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.glsl_surface_typeGeneratorName.Value`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.glsl_surface_typeGeneratorName.Value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.glsl_surface_typeGeneratorName.Value`.
            pub fn set_value(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.glsl_surface_typeGeneratorName.source`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.glsl_surface_typeGeneratorName.source`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn source(&self) -> String {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.glsl_surface_typeGeneratorName.source`.
            pub fn set_source(&mut self, value: String) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.image`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.image` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Image {
            property_0: libremetaverse_types::compat::Object,
            property_1: libremetaverse::import_export::collada14::Asset,
            property_2: u64,
            property_3: Vec<libremetaverse::import_export::collada14::Extra>,
            property_4: String,
            property_5: u64,
            property_6: bool,
            property_7: String,
            property_8: String,
            property_9: u64,
            property_10: bool,
        }
        impl Default for Image {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: 1,
                    property_3: Default::default(),
                    property_4: Default::default(),
                    property_5: Default::default(),
                    property_6: Default::default(),
                    property_7: Default::default(),
                    property_8: Default::default(),
                    property_9: Default::default(),
                    property_10: Default::default(),
                }
            }
        }
        impl Image {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.image.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.image()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.image.Item`.
            ///
            /// C# signature: `System.Object LibreMetaverse.ImportExport.Collada14.image.Item`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn item(&self) -> libremetaverse_types::compat::Object {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.image.Item`.
            pub fn set_item(&mut self, value: libremetaverse_types::compat::Object) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.image.asset`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.asset LibreMetaverse.ImportExport.Collada14.image.asset`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn asset(&self) -> libremetaverse::import_export::collada14::Asset {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.image.asset`.
            pub fn set_asset(&mut self, value: libremetaverse::import_export::collada14::Asset) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.image.depth`.
            ///
            /// C# signature: `System.UInt64 LibreMetaverse.ImportExport.Collada14.image.depth`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn depth(&self) -> u64 {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.image.depth`.
            pub fn set_depth(&mut self, value: u64) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.image.extra`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.extra[] LibreMetaverse.ImportExport.Collada14.image.extra`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn extra(&self) -> Vec<libremetaverse::import_export::collada14::Extra> {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.image.extra`.
            pub fn set_extra(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Extra>,
            ) {
                /* complete generated data model */
                self.property_3 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.image.format`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.image.format`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn format(&self) -> String {
                /* complete generated data model */
                self.property_4.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.image.format`.
            pub fn set_format(&mut self, value: String) {
                /* complete generated data model */
                self.property_4 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.image.height`.
            ///
            /// C# signature: `System.UInt64 LibreMetaverse.ImportExport.Collada14.image.height`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn height(&self) -> u64 {
                /* complete generated data model */
                self.property_5.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.image.height`.
            pub fn set_height(&mut self, value: u64) {
                /* complete generated data model */
                self.property_5 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.image.heightSpecified`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.ImportExport.Collada14.image.heightSpecified`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn height_specified(&self) -> bool {
                /* complete generated data model */
                self.property_6.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.image.heightSpecified`.
            pub fn set_height_specified(&mut self, value: bool) {
                /* complete generated data model */
                self.property_6 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.image.id`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.image.id`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn id(&self) -> String {
                /* complete generated data model */
                self.property_7.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.image.id`.
            pub fn set_id(&mut self, value: String) {
                /* complete generated data model */
                self.property_7 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.image.name`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.image.name`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn name(&self) -> String {
                /* complete generated data model */
                self.property_8.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.image.name`.
            pub fn set_name(&mut self, value: String) {
                /* complete generated data model */
                self.property_8 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.image.width`.
            ///
            /// C# signature: `System.UInt64 LibreMetaverse.ImportExport.Collada14.image.width`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn width(&self) -> u64 {
                /* complete generated data model */
                self.property_9.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.image.width`.
            pub fn set_width(&mut self, value: u64) {
                /* complete generated data model */
                self.property_9 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.image.widthSpecified`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.ImportExport.Collada14.image.widthSpecified`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn width_specified(&self) -> bool {
                /* complete generated data model */
                self.property_10.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.image.widthSpecified`.
            pub fn set_width_specified(&mut self, value: bool) {
                /* complete generated data model */
                self.property_10 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.instance_controller`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.instance_controller` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Instance_Controller {
            property_0: libremetaverse::import_export::collada14::Bind_Material,
            property_1: Vec<libremetaverse::import_export::collada14::Extra>,
            property_2: String,
            property_3: String,
            property_4: Vec<String>,
            property_5: String,
        }
        impl Default for Instance_Controller {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                    property_4: Default::default(),
                    property_5: Default::default(),
                }
            }
        }
        impl Instance_Controller {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.instance_controller.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.instance_controller()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_controller.bind_material`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.bind_material LibreMetaverse.ImportExport.Collada14.instance_controller.bind_material`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn bind_material(&self) -> libremetaverse::import_export::collada14::Bind_Material {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_controller.bind_material`.
            pub fn set_bind_material(
                &mut self,
                value: libremetaverse::import_export::collada14::Bind_Material,
            ) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_controller.extra`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.extra[] LibreMetaverse.ImportExport.Collada14.instance_controller.extra`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn extra(&self) -> Vec<libremetaverse::import_export::collada14::Extra> {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_controller.extra`.
            pub fn set_extra(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Extra>,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_controller.name`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.instance_controller.name`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn name(&self) -> String {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_controller.name`.
            pub fn set_name(&mut self, value: String) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_controller.sid`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.instance_controller.sid`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn sid(&self) -> String {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_controller.sid`.
            pub fn set_sid(&mut self, value: String) {
                /* complete generated data model */
                self.property_3 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_controller.skeleton`.
            ///
            /// C# signature: `System.String[] LibreMetaverse.ImportExport.Collada14.instance_controller.skeleton`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn skeleton(&self) -> Vec<String> {
                /* complete generated data model */
                self.property_4.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_controller.skeleton`.
            pub fn set_skeleton(&mut self, value: Vec<String>) {
                /* complete generated data model */
                self.property_4 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_controller.url`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.instance_controller.url`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn url(&self) -> String {
                /* complete generated data model */
                self.property_5.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_controller.url`.
            pub fn set_url(&mut self, value: String) {
                /* complete generated data model */
                self.property_5 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.instance_effect`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.instance_effect` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Instance_Effect {
            property_0: Vec<libremetaverse::import_export::collada14::Extra>,
            property_1: String,
            property_2: Vec<libremetaverse::import_export::collada14::Instance_EffectSetparam>,
            property_3: String,
            property_4:
                Vec<libremetaverse::import_export::collada14::Instance_EffectTechnique_Hint>,
            property_5: String,
        }
        impl Default for Instance_Effect {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                    property_4: Default::default(),
                    property_5: Default::default(),
                }
            }
        }
        impl Instance_Effect {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.instance_effect.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.instance_effect()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_effect.extra`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.extra[] LibreMetaverse.ImportExport.Collada14.instance_effect.extra`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn extra(&self) -> Vec<libremetaverse::import_export::collada14::Extra> {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_effect.extra`.
            pub fn set_extra(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Extra>,
            ) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_effect.name`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.instance_effect.name`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn name(&self) -> String {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_effect.name`.
            pub fn set_name(&mut self, value: String) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_effect.setparam`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.instance_effectSetparam[] LibreMetaverse.ImportExport.Collada14.instance_effect.setparam`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn setparam(
                &self,
            ) -> Vec<libremetaverse::import_export::collada14::Instance_EffectSetparam>
            {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_effect.setparam`.
            pub fn set_setparam(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Instance_EffectSetparam>,
            ) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_effect.sid`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.instance_effect.sid`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn sid(&self) -> String {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_effect.sid`.
            pub fn set_sid(&mut self, value: String) {
                /* complete generated data model */
                self.property_3 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_effect.technique_hint`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.instance_effectTechnique_hint[] LibreMetaverse.ImportExport.Collada14.instance_effect.technique_hint`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn technique_hint(
                &self,
            ) -> Vec<libremetaverse::import_export::collada14::Instance_EffectTechnique_Hint>
            {
                /* complete generated data model */
                self.property_4.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_effect.technique_hint`.
            pub fn set_technique_hint(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Instance_EffectTechnique_Hint>,
            ) {
                /* complete generated data model */
                self.property_4 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_effect.url`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.instance_effect.url`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn url(&self) -> String {
                /* complete generated data model */
                self.property_5.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_effect.url`.
            pub fn set_url(&mut self, value: String) {
                /* complete generated data model */
                self.property_5 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.instance_effectSetparam`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.instance_effectSetparam` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Instance_EffectSetparam {
            property_0: bool,
            property_1: String,
            property_2: String,
            property_3: String,
            property_4: String,
            property_5: f64,
            property_6: f64,
            property_7: String,
            property_8: String,
            property_9: String,
            property_10: String,
            property_11: String,
            property_12: String,
            property_13: String,
            property_14: String,
            property_15: String,
            property_16: String,
            property_17: String,
            property_18: String,
            property_19: String,
            property_20: String,
            property_21: String,
            property_22: String,
            property_23: String,
            property_24: String,
            property_25: i64,
            property_26: String,
            property_27: String,
            property_28: String,
            property_29: String,
            property_30: libremetaverse::import_export::collada14::Fx_Sampler1D_Common,
            property_31: libremetaverse::import_export::collada14::Fx_Sampler2D_Common,
            property_32: libremetaverse::import_export::collada14::Fx_Sampler3D_Common,
            property_33: libremetaverse::import_export::collada14::Fx_SamplerCUBE_Common,
            property_34: libremetaverse::import_export::collada14::Fx_SamplerDEPTH_Common,
            property_35: libremetaverse::import_export::collada14::Fx_SamplerRECT_Common,
            property_36: libremetaverse::import_export::collada14::Fx_Surface_Common,
        }
        impl Default for Instance_EffectSetparam {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                    property_4: Default::default(),
                    property_5: Default::default(),
                    property_6: Default::default(),
                    property_7: Default::default(),
                    property_8: Default::default(),
                    property_9: Default::default(),
                    property_10: Default::default(),
                    property_11: Default::default(),
                    property_12: Default::default(),
                    property_13: Default::default(),
                    property_14: Default::default(),
                    property_15: Default::default(),
                    property_16: Default::default(),
                    property_17: Default::default(),
                    property_18: Default::default(),
                    property_19: Default::default(),
                    property_20: Default::default(),
                    property_21: Default::default(),
                    property_22: Default::default(),
                    property_23: Default::default(),
                    property_24: Default::default(),
                    property_25: Default::default(),
                    property_26: Default::default(),
                    property_27: Default::default(),
                    property_28: Default::default(),
                    property_29: Default::default(),
                    property_30: Default::default(),
                    property_31: Default::default(),
                    property_32: Default::default(),
                    property_33: Default::default(),
                    property_34: Default::default(),
                    property_35: Default::default(),
                    property_36: Default::default(),
                }
            }
        }
        impl Instance_EffectSetparam {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.instance_effectSetparam()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.bool`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.bool`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn bool(&self) -> bool {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.bool`.
            pub fn set_bool(&mut self, value: bool) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.bool2`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.bool2`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn bool2(&self) -> String {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.bool2`.
            pub fn set_bool2(&mut self, value: String) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.bool3`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.bool3`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn bool3(&self) -> String {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.bool3`.
            pub fn set_bool3(&mut self, value: String) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.bool4`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.bool4`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn bool4(&self) -> String {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.bool4`.
            pub fn set_bool4(&mut self, value: String) {
                /* complete generated data model */
                self.property_3 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.enum`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.enum`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn enum_(&self) -> String {
                /* complete generated data model */
                self.property_4.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.enum`.
            pub fn set_enum_(&mut self, value: String) {
                /* complete generated data model */
                self.property_4 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.float`.
            ///
            /// C# signature: `System.Double LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.float`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float(&self) -> f64 {
                /* complete generated data model */
                self.property_5.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.float`.
            pub fn set_float(&mut self, value: f64) {
                /* complete generated data model */
                self.property_5 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.float1x1`.
            ///
            /// C# signature: `System.Double LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.float1x1`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float1x1(&self) -> f64 {
                /* complete generated data model */
                self.property_6.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.float1x1`.
            pub fn set_float1x1(&mut self, value: f64) {
                /* complete generated data model */
                self.property_6 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.float1x2`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.float1x2`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float1x2(&self) -> String {
                /* complete generated data model */
                self.property_7.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.float1x2`.
            pub fn set_float1x2(&mut self, value: String) {
                /* complete generated data model */
                self.property_7 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.float1x3`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.float1x3`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float1x3(&self) -> String {
                /* complete generated data model */
                self.property_8.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.float1x3`.
            pub fn set_float1x3(&mut self, value: String) {
                /* complete generated data model */
                self.property_8 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.float1x4`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.float1x4`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float1x4(&self) -> String {
                /* complete generated data model */
                self.property_9.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.float1x4`.
            pub fn set_float1x4(&mut self, value: String) {
                /* complete generated data model */
                self.property_9 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.float2`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.float2`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float2(&self) -> String {
                /* complete generated data model */
                self.property_10.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.float2`.
            pub fn set_float2(&mut self, value: String) {
                /* complete generated data model */
                self.property_10 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.float2x1`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.float2x1`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float2x1(&self) -> String {
                /* complete generated data model */
                self.property_11.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.float2x1`.
            pub fn set_float2x1(&mut self, value: String) {
                /* complete generated data model */
                self.property_11 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.float2x2`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.float2x2`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float2x2(&self) -> String {
                /* complete generated data model */
                self.property_12.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.float2x2`.
            pub fn set_float2x2(&mut self, value: String) {
                /* complete generated data model */
                self.property_12 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.float2x3`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.float2x3`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float2x3(&self) -> String {
                /* complete generated data model */
                self.property_13.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.float2x3`.
            pub fn set_float2x3(&mut self, value: String) {
                /* complete generated data model */
                self.property_13 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.float2x4`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.float2x4`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float2x4(&self) -> String {
                /* complete generated data model */
                self.property_14.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.float2x4`.
            pub fn set_float2x4(&mut self, value: String) {
                /* complete generated data model */
                self.property_14 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.float3`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.float3`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float3(&self) -> String {
                /* complete generated data model */
                self.property_15.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.float3`.
            pub fn set_float3(&mut self, value: String) {
                /* complete generated data model */
                self.property_15 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.float3x1`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.float3x1`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float3x1(&self) -> String {
                /* complete generated data model */
                self.property_16.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.float3x1`.
            pub fn set_float3x1(&mut self, value: String) {
                /* complete generated data model */
                self.property_16 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.float3x2`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.float3x2`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float3x2(&self) -> String {
                /* complete generated data model */
                self.property_17.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.float3x2`.
            pub fn set_float3x2(&mut self, value: String) {
                /* complete generated data model */
                self.property_17 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.float3x3`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.float3x3`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float3x3(&self) -> String {
                /* complete generated data model */
                self.property_18.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.float3x3`.
            pub fn set_float3x3(&mut self, value: String) {
                /* complete generated data model */
                self.property_18 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.float3x4`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.float3x4`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float3x4(&self) -> String {
                /* complete generated data model */
                self.property_19.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.float3x4`.
            pub fn set_float3x4(&mut self, value: String) {
                /* complete generated data model */
                self.property_19 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.float4`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.float4`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float4(&self) -> String {
                /* complete generated data model */
                self.property_20.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.float4`.
            pub fn set_float4(&mut self, value: String) {
                /* complete generated data model */
                self.property_20 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.float4x1`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.float4x1`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float4x1(&self) -> String {
                /* complete generated data model */
                self.property_21.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.float4x1`.
            pub fn set_float4x1(&mut self, value: String) {
                /* complete generated data model */
                self.property_21 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.float4x2`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.float4x2`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float4x2(&self) -> String {
                /* complete generated data model */
                self.property_22.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.float4x2`.
            pub fn set_float4x2(&mut self, value: String) {
                /* complete generated data model */
                self.property_22 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.float4x3`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.float4x3`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float4x3(&self) -> String {
                /* complete generated data model */
                self.property_23.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.float4x3`.
            pub fn set_float4x3(&mut self, value: String) {
                /* complete generated data model */
                self.property_23 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.float4x4`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.float4x4`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn float4x4(&self) -> String {
                /* complete generated data model */
                self.property_24.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.float4x4`.
            pub fn set_float4x4(&mut self, value: String) {
                /* complete generated data model */
                self.property_24 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.int`.
            ///
            /// C# signature: `System.Int64 LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.int`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn int(&self) -> i64 {
                /* complete generated data model */
                self.property_25.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.int`.
            pub fn set_int(&mut self, value: i64) {
                /* complete generated data model */
                self.property_25 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.int2`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.int2`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn int2(&self) -> String {
                /* complete generated data model */
                self.property_26.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.int2`.
            pub fn set_int2(&mut self, value: String) {
                /* complete generated data model */
                self.property_26 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.int3`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.int3`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn int3(&self) -> String {
                /* complete generated data model */
                self.property_27.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.int3`.
            pub fn set_int3(&mut self, value: String) {
                /* complete generated data model */
                self.property_27 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.int4`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.int4`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn int4(&self) -> String {
                /* complete generated data model */
                self.property_28.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.int4`.
            pub fn set_int4(&mut self, value: String) {
                /* complete generated data model */
                self.property_28 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.ref`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.ref`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn ref_(&self) -> String {
                /* complete generated data model */
                self.property_29.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.ref`.
            pub fn set_ref_(&mut self, value: String) {
                /* complete generated data model */
                self.property_29 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.sampler1D`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_sampler1D_common LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.sampler1D`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn sampler1_d(
                &self,
            ) -> libremetaverse::import_export::collada14::Fx_Sampler1D_Common {
                /* complete generated data model */
                self.property_30.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.sampler1D`.
            pub fn set_sampler1_d(
                &mut self,
                value: libremetaverse::import_export::collada14::Fx_Sampler1D_Common,
            ) {
                /* complete generated data model */
                self.property_30 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.sampler2D`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_sampler2D_common LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.sampler2D`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn sampler2_d(
                &self,
            ) -> libremetaverse::import_export::collada14::Fx_Sampler2D_Common {
                /* complete generated data model */
                self.property_31.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.sampler2D`.
            pub fn set_sampler2_d(
                &mut self,
                value: libremetaverse::import_export::collada14::Fx_Sampler2D_Common,
            ) {
                /* complete generated data model */
                self.property_31 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.sampler3D`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_sampler3D_common LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.sampler3D`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn sampler3_d(
                &self,
            ) -> libremetaverse::import_export::collada14::Fx_Sampler3D_Common {
                /* complete generated data model */
                self.property_32.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.sampler3D`.
            pub fn set_sampler3_d(
                &mut self,
                value: libremetaverse::import_export::collada14::Fx_Sampler3D_Common,
            ) {
                /* complete generated data model */
                self.property_32 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.samplerCUBE`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_samplerCUBE_common LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.samplerCUBE`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn sampler_cube(
                &self,
            ) -> libremetaverse::import_export::collada14::Fx_SamplerCUBE_Common {
                /* complete generated data model */
                self.property_33.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.samplerCUBE`.
            pub fn set_sampler_cube(
                &mut self,
                value: libremetaverse::import_export::collada14::Fx_SamplerCUBE_Common,
            ) {
                /* complete generated data model */
                self.property_33 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.samplerDEPTH`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_samplerDEPTH_common LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.samplerDEPTH`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn sampler_depth(
                &self,
            ) -> libremetaverse::import_export::collada14::Fx_SamplerDEPTH_Common {
                /* complete generated data model */
                self.property_34.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.samplerDEPTH`.
            pub fn set_sampler_depth(
                &mut self,
                value: libremetaverse::import_export::collada14::Fx_SamplerDEPTH_Common,
            ) {
                /* complete generated data model */
                self.property_34 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.samplerRECT`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_samplerRECT_common LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.samplerRECT`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn sampler_rect(
                &self,
            ) -> libremetaverse::import_export::collada14::Fx_SamplerRECT_Common {
                /* complete generated data model */
                self.property_35.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.samplerRECT`.
            pub fn set_sampler_rect(
                &mut self,
                value: libremetaverse::import_export::collada14::Fx_SamplerRECT_Common,
            ) {
                /* complete generated data model */
                self.property_35 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.surface`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.fx_surface_common LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.surface`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn surface(&self) -> libremetaverse::import_export::collada14::Fx_Surface_Common {
                /* complete generated data model */
                self.property_36.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_effectSetparam.surface`.
            pub fn set_surface(
                &mut self,
                value: libremetaverse::import_export::collada14::Fx_Surface_Common,
            ) {
                /* complete generated data model */
                self.property_36 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.instance_effectTechnique_hint`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.instance_effectTechnique_hint` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Instance_EffectTechnique_Hint {
            property_0: String,
            property_1: String,
            property_2: String,
        }
        impl Default for Instance_EffectTechnique_Hint {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                }
            }
        }
        impl Instance_EffectTechnique_Hint {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.instance_effectTechnique_hint.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.instance_effectTechnique_hint()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_effectTechnique_hint.platform`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.instance_effectTechnique_hint.platform`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn platform(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_effectTechnique_hint.platform`.
            pub fn set_platform(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_effectTechnique_hint.profile`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.instance_effectTechnique_hint.profile`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn profile(&self) -> String {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_effectTechnique_hint.profile`.
            pub fn set_profile(&mut self, value: String) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_effectTechnique_hint.ref`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.instance_effectTechnique_hint.ref`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn ref_(&self) -> String {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_effectTechnique_hint.ref`.
            pub fn set_ref_(&mut self, value: String) {
                /* complete generated data model */
                self.property_2 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.instance_geometry`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.instance_geometry` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Instance_Geometry {
            property_0: libremetaverse::import_export::collada14::Bind_Material,
            property_1: Vec<libremetaverse::import_export::collada14::Extra>,
            property_2: String,
            property_3: String,
            property_4: String,
        }
        impl Default for Instance_Geometry {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                    property_4: Default::default(),
                }
            }
        }
        impl Instance_Geometry {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.instance_geometry.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.instance_geometry()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_geometry.bind_material`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.bind_material LibreMetaverse.ImportExport.Collada14.instance_geometry.bind_material`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn bind_material(&self) -> libremetaverse::import_export::collada14::Bind_Material {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_geometry.bind_material`.
            pub fn set_bind_material(
                &mut self,
                value: libremetaverse::import_export::collada14::Bind_Material,
            ) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_geometry.extra`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.extra[] LibreMetaverse.ImportExport.Collada14.instance_geometry.extra`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn extra(&self) -> Vec<libremetaverse::import_export::collada14::Extra> {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_geometry.extra`.
            pub fn set_extra(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Extra>,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_geometry.name`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.instance_geometry.name`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn name(&self) -> String {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_geometry.name`.
            pub fn set_name(&mut self, value: String) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_geometry.sid`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.instance_geometry.sid`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn sid(&self) -> String {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_geometry.sid`.
            pub fn set_sid(&mut self, value: String) {
                /* complete generated data model */
                self.property_3 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_geometry.url`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.instance_geometry.url`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn url(&self) -> String {
                /* complete generated data model */
                self.property_4.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_geometry.url`.
            pub fn set_url(&mut self, value: String) {
                /* complete generated data model */
                self.property_4 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.instance_material`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.instance_material` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Instance_Material {
            property_0: Vec<libremetaverse::import_export::collada14::Instance_MaterialBind>,
            property_1:
                Vec<libremetaverse::import_export::collada14::Instance_MaterialBind_Vertex_Input>,
            property_2: Vec<libremetaverse::import_export::collada14::Extra>,
            property_3: String,
            property_4: String,
            property_5: String,
            property_6: String,
        }
        impl Default for Instance_Material {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                    property_4: Default::default(),
                    property_5: Default::default(),
                    property_6: Default::default(),
                }
            }
        }
        impl Instance_Material {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.instance_material.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.instance_material()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_material.bind`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.instance_materialBind[] LibreMetaverse.ImportExport.Collada14.instance_material.bind`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn bind(
                &self,
            ) -> Vec<libremetaverse::import_export::collada14::Instance_MaterialBind> {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_material.bind`.
            pub fn set_bind(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Instance_MaterialBind>,
            ) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_material.bind_vertex_input`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.instance_materialBind_vertex_input[] LibreMetaverse.ImportExport.Collada14.instance_material.bind_vertex_input`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn bind_vertex_input(
                &self,
            ) -> Vec<libremetaverse::import_export::collada14::Instance_MaterialBind_Vertex_Input>
            {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_material.bind_vertex_input`.
            pub fn set_bind_vertex_input(
                &mut self,
                value: Vec<
                    libremetaverse::import_export::collada14::Instance_MaterialBind_Vertex_Input,
                >,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_material.extra`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.extra[] LibreMetaverse.ImportExport.Collada14.instance_material.extra`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn extra(&self) -> Vec<libremetaverse::import_export::collada14::Extra> {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_material.extra`.
            pub fn set_extra(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Extra>,
            ) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_material.name`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.instance_material.name`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn name(&self) -> String {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_material.name`.
            pub fn set_name(&mut self, value: String) {
                /* complete generated data model */
                self.property_3 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_material.sid`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.instance_material.sid`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn sid(&self) -> String {
                /* complete generated data model */
                self.property_4.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_material.sid`.
            pub fn set_sid(&mut self, value: String) {
                /* complete generated data model */
                self.property_4 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_material.symbol`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.instance_material.symbol`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn symbol(&self) -> String {
                /* complete generated data model */
                self.property_5.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_material.symbol`.
            pub fn set_symbol(&mut self, value: String) {
                /* complete generated data model */
                self.property_5 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_material.target`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.instance_material.target`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn target(&self) -> String {
                /* complete generated data model */
                self.property_6.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_material.target`.
            pub fn set_target(&mut self, value: String) {
                /* complete generated data model */
                self.property_6 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.instance_materialBind`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.instance_materialBind` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Instance_MaterialBind {
            property_0: String,
            property_1: String,
        }
        impl Default for Instance_MaterialBind {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                }
            }
        }
        impl Instance_MaterialBind {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.instance_materialBind.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.instance_materialBind()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_materialBind.semantic`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.instance_materialBind.semantic`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn semantic(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_materialBind.semantic`.
            pub fn set_semantic(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_materialBind.target`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.instance_materialBind.target`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn target(&self) -> String {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_materialBind.target`.
            pub fn set_target(&mut self, value: String) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.instance_materialBind_vertex_input`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.instance_materialBind_vertex_input` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Instance_MaterialBind_Vertex_Input {
            property_0: String,
            property_1: u64,
            property_2: bool,
            property_3: String,
        }
        impl Default for Instance_MaterialBind_Vertex_Input {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                }
            }
        }
        impl Instance_MaterialBind_Vertex_Input {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.instance_materialBind_vertex_input.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.instance_materialBind_vertex_input()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_materialBind_vertex_input.input_semantic`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.instance_materialBind_vertex_input.input_semantic`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn input_semantic(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_materialBind_vertex_input.input_semantic`.
            pub fn set_input_semantic(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_materialBind_vertex_input.input_set`.
            ///
            /// C# signature: `System.UInt64 LibreMetaverse.ImportExport.Collada14.instance_materialBind_vertex_input.input_set`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn input_set(&self) -> u64 {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_materialBind_vertex_input.input_set`.
            pub fn set_input_set(&mut self, value: u64) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_materialBind_vertex_input.input_setSpecified`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.ImportExport.Collada14.instance_materialBind_vertex_input.input_setSpecified`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn input_set_specified(&self) -> bool {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_materialBind_vertex_input.input_setSpecified`.
            pub fn set_input_set_specified(&mut self, value: bool) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_materialBind_vertex_input.semantic`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.instance_materialBind_vertex_input.semantic`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn semantic(&self) -> String {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_materialBind_vertex_input.semantic`.
            pub fn set_semantic(&mut self, value: String) {
                /* complete generated data model */
                self.property_3 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.instance_physics_model`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.instance_physics_model` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Instance_Physics_Model {
            property_0: Vec<libremetaverse::import_export::collada14::Extra>,
            property_1: Vec<libremetaverse::import_export::collada14::InstanceWithExtra>,
            property_2: Vec<libremetaverse::import_export::collada14::Instance_Rigid_Body>,
            property_3: Vec<libremetaverse::import_export::collada14::Instance_Rigid_Constraint>,
            property_4: String,
            property_5: String,
            property_6: String,
            property_7: String,
        }
        impl Default for Instance_Physics_Model {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                    property_4: Default::default(),
                    property_5: Default::default(),
                    property_6: Default::default(),
                    property_7: Default::default(),
                }
            }
        }
        impl Instance_Physics_Model {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.instance_physics_model.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.instance_physics_model()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_physics_model.extra`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.extra[] LibreMetaverse.ImportExport.Collada14.instance_physics_model.extra`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn extra(&self) -> Vec<libremetaverse::import_export::collada14::Extra> {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_physics_model.extra`.
            pub fn set_extra(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Extra>,
            ) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_physics_model.instance_force_field`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.InstanceWithExtra[] LibreMetaverse.ImportExport.Collada14.instance_physics_model.instance_force_field`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn instance_force_field(
                &self,
            ) -> Vec<libremetaverse::import_export::collada14::InstanceWithExtra> {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_physics_model.instance_force_field`.
            pub fn set_instance_force_field(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::InstanceWithExtra>,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_physics_model.instance_rigid_body`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.instance_rigid_body[] LibreMetaverse.ImportExport.Collada14.instance_physics_model.instance_rigid_body`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn instance_rigid_body(
                &self,
            ) -> Vec<libremetaverse::import_export::collada14::Instance_Rigid_Body> {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_physics_model.instance_rigid_body`.
            pub fn set_instance_rigid_body(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Instance_Rigid_Body>,
            ) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_physics_model.instance_rigid_constraint`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.instance_rigid_constraint[] LibreMetaverse.ImportExport.Collada14.instance_physics_model.instance_rigid_constraint`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn instance_rigid_constraint(
                &self,
            ) -> Vec<libremetaverse::import_export::collada14::Instance_Rigid_Constraint>
            {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_physics_model.instance_rigid_constraint`.
            pub fn set_instance_rigid_constraint(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Instance_Rigid_Constraint>,
            ) {
                /* complete generated data model */
                self.property_3 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_physics_model.name`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.instance_physics_model.name`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn name(&self) -> String {
                /* complete generated data model */
                self.property_4.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_physics_model.name`.
            pub fn set_name(&mut self, value: String) {
                /* complete generated data model */
                self.property_4 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_physics_model.parent`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.instance_physics_model.parent`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn parent(&self) -> String {
                /* complete generated data model */
                self.property_5.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_physics_model.parent`.
            pub fn set_parent(&mut self, value: String) {
                /* complete generated data model */
                self.property_5 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_physics_model.sid`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.instance_physics_model.sid`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn sid(&self) -> String {
                /* complete generated data model */
                self.property_6.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_physics_model.sid`.
            pub fn set_sid(&mut self, value: String) {
                /* complete generated data model */
                self.property_6 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_physics_model.url`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.instance_physics_model.url`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn url(&self) -> String {
                /* complete generated data model */
                self.property_7.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_physics_model.url`.
            pub fn set_url(&mut self, value: String) {
                /* complete generated data model */
                self.property_7 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.instance_rigid_body`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.instance_rigid_body` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Instance_Rigid_Body {
            property_0: String,
            property_1: Vec<libremetaverse::import_export::collada14::Extra>,
            property_2: String,
            property_3: String,
            property_4: String,
            property_5: Vec<libremetaverse::import_export::collada14::Technique>,
            property_6:
                libremetaverse::import_export::collada14::Instance_Rigid_BodyTechnique_Common,
        }
        impl Default for Instance_Rigid_Body {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                    property_4: Default::default(),
                    property_5: Default::default(),
                    property_6: Default::default(),
                }
            }
        }
        impl Instance_Rigid_Body {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.instance_rigid_body.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.instance_rigid_body()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_rigid_body.body`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.instance_rigid_body.body`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn body(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_rigid_body.body`.
            pub fn set_body(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_rigid_body.extra`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.extra[] LibreMetaverse.ImportExport.Collada14.instance_rigid_body.extra`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn extra(&self) -> Vec<libremetaverse::import_export::collada14::Extra> {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_rigid_body.extra`.
            pub fn set_extra(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Extra>,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_rigid_body.name`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.instance_rigid_body.name`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn name(&self) -> String {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_rigid_body.name`.
            pub fn set_name(&mut self, value: String) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_rigid_body.sid`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.instance_rigid_body.sid`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn sid(&self) -> String {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_rigid_body.sid`.
            pub fn set_sid(&mut self, value: String) {
                /* complete generated data model */
                self.property_3 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_rigid_body.target`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.instance_rigid_body.target`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn target(&self) -> String {
                /* complete generated data model */
                self.property_4.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_rigid_body.target`.
            pub fn set_target(&mut self, value: String) {
                /* complete generated data model */
                self.property_4 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_rigid_body.technique`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.technique[] LibreMetaverse.ImportExport.Collada14.instance_rigid_body.technique`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn technique(&self) -> Vec<libremetaverse::import_export::collada14::Technique> {
                /* complete generated data model */
                self.property_5.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_rigid_body.technique`.
            pub fn set_technique(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Technique>,
            ) {
                /* complete generated data model */
                self.property_5 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_rigid_body.technique_common`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.instance_rigid_bodyTechnique_common LibreMetaverse.ImportExport.Collada14.instance_rigid_body.technique_common`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn technique_common(
                &self,
            ) -> libremetaverse::import_export::collada14::Instance_Rigid_BodyTechnique_Common
            {
                /* complete generated data model */
                self.property_6.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_rigid_body.technique_common`.
            pub fn set_technique_common(
                &mut self,
                value: libremetaverse::import_export::collada14::Instance_Rigid_BodyTechnique_Common,
            ) {
                /* complete generated data model */
                self.property_6 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.instance_rigid_bodyTechnique_common`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.instance_rigid_bodyTechnique_common` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Instance_Rigid_BodyTechnique_Common {
    property_0: libremetaverse_types::compat::Object,
    property_1: String,
    property_2: libremetaverse::import_export::collada14::Instance_Rigid_BodyTechnique_CommonDynamic,
    property_3: libremetaverse::import_export::collada14::TargetableFloat3,
    property_4: libremetaverse::import_export::collada14::TargetableFloat,
    property_5: Vec<libremetaverse_types::compat::Object>,
    property_6: Vec<libremetaverse::import_export::collada14::Instance_Rigid_BodyTechnique_CommonShape>,
    property_7: String,
}
        impl Default for Instance_Rigid_BodyTechnique_Common {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: "0.0 0.0 0.0".to_owned(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                    property_4: Default::default(),
                    property_5: Default::default(),
                    property_6: Default::default(),
                    property_7: "0.0 0.0 0.0".to_owned(),
                }
            }
        }
        impl Instance_Rigid_BodyTechnique_Common {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.instance_rigid_bodyTechnique_common.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.instance_rigid_bodyTechnique_common()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_rigid_bodyTechnique_common.Item`.
            ///
            /// C# signature: `System.Object LibreMetaverse.ImportExport.Collada14.instance_rigid_bodyTechnique_common.Item`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn item(&self) -> libremetaverse_types::compat::Object {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_rigid_bodyTechnique_common.Item`.
            pub fn set_item(&mut self, value: libremetaverse_types::compat::Object) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_rigid_bodyTechnique_common.angular_velocity`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.instance_rigid_bodyTechnique_common.angular_velocity`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn angular_velocity(&self) -> String {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_rigid_bodyTechnique_common.angular_velocity`.
            pub fn set_angular_velocity(&mut self, value: String) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_rigid_bodyTechnique_common.dynamic`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.instance_rigid_bodyTechnique_commonDynamic LibreMetaverse.ImportExport.Collada14.instance_rigid_bodyTechnique_common.dynamic`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn dynamic(
                &self,
            ) -> libremetaverse::import_export::collada14::Instance_Rigid_BodyTechnique_CommonDynamic
            {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_rigid_bodyTechnique_common.dynamic`.
            pub fn set_dynamic(
                &mut self,
                value: libremetaverse::import_export::collada14::Instance_Rigid_BodyTechnique_CommonDynamic,
            ) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_rigid_bodyTechnique_common.inertia`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.TargetableFloat3 LibreMetaverse.ImportExport.Collada14.instance_rigid_bodyTechnique_common.inertia`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn inertia(&self) -> libremetaverse::import_export::collada14::TargetableFloat3 {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_rigid_bodyTechnique_common.inertia`.
            pub fn set_inertia(
                &mut self,
                value: libremetaverse::import_export::collada14::TargetableFloat3,
            ) {
                /* complete generated data model */
                self.property_3 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_rigid_bodyTechnique_common.mass`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.TargetableFloat LibreMetaverse.ImportExport.Collada14.instance_rigid_bodyTechnique_common.mass`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn mass(&self) -> libremetaverse::import_export::collada14::TargetableFloat {
                /* complete generated data model */
                self.property_4.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_rigid_bodyTechnique_common.mass`.
            pub fn set_mass(
                &mut self,
                value: libremetaverse::import_export::collada14::TargetableFloat,
            ) {
                /* complete generated data model */
                self.property_4 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_rigid_bodyTechnique_common.mass_frame`.
            ///
            /// C# signature: `System.Object[] LibreMetaverse.ImportExport.Collada14.instance_rigid_bodyTechnique_common.mass_frame`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn mass_frame(&self) -> Vec<libremetaverse_types::compat::Object> {
                /* complete generated data model */
                self.property_5.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_rigid_bodyTechnique_common.mass_frame`.
            pub fn set_mass_frame(&mut self, value: Vec<libremetaverse_types::compat::Object>) {
                /* complete generated data model */
                self.property_5 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_rigid_bodyTechnique_common.shape`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.instance_rigid_bodyTechnique_commonShape[] LibreMetaverse.ImportExport.Collada14.instance_rigid_bodyTechnique_common.shape`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn shape(
                &self,
            ) -> Vec<
                libremetaverse::import_export::collada14::Instance_Rigid_BodyTechnique_CommonShape,
            > {
                /* complete generated data model */
                self.property_6.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_rigid_bodyTechnique_common.shape`.
            pub fn set_shape(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Instance_Rigid_BodyTechnique_CommonShape>,
            ) {
                /* complete generated data model */
                self.property_6 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_rigid_bodyTechnique_common.velocity`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.instance_rigid_bodyTechnique_common.velocity`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn velocity(&self) -> String {
                /* complete generated data model */
                self.property_7.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_rigid_bodyTechnique_common.velocity`.
            pub fn set_velocity(&mut self, value: String) {
                /* complete generated data model */
                self.property_7 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.instance_rigid_bodyTechnique_commonDynamic`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.instance_rigid_bodyTechnique_commonDynamic` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Instance_Rigid_BodyTechnique_CommonDynamic {
            property_0: bool,
            property_1: String,
        }
        impl Default for Instance_Rigid_BodyTechnique_CommonDynamic {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                }
            }
        }
        impl Instance_Rigid_BodyTechnique_CommonDynamic {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.instance_rigid_bodyTechnique_commonDynamic.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.instance_rigid_bodyTechnique_commonDynamic()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_rigid_bodyTechnique_commonDynamic.Value`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.ImportExport.Collada14.instance_rigid_bodyTechnique_commonDynamic.Value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> bool {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_rigid_bodyTechnique_commonDynamic.Value`.
            pub fn set_value(&mut self, value: bool) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_rigid_bodyTechnique_commonDynamic.sid`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.instance_rigid_bodyTechnique_commonDynamic.sid`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn sid(&self) -> String {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_rigid_bodyTechnique_commonDynamic.sid`.
            pub fn set_sid(&mut self, value: String) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.instance_rigid_bodyTechnique_commonShape`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.instance_rigid_bodyTechnique_commonShape` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Instance_Rigid_BodyTechnique_CommonShape {
    property_0: libremetaverse_types::compat::Object,
    property_1: libremetaverse_types::compat::Object,
    property_2: Vec<libremetaverse_types::compat::Object>,
    property_3: libremetaverse::import_export::collada14::TargetableFloat,
    property_4: Vec<libremetaverse::import_export::collada14::Extra>,
    property_5: libremetaverse::import_export::collada14::Instance_Rigid_BodyTechnique_CommonShapeHollow,
    property_6: libremetaverse::import_export::collada14::TargetableFloat,
}
        impl Default for Instance_Rigid_BodyTechnique_CommonShape {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                    property_4: Default::default(),
                    property_5: Default::default(),
                    property_6: Default::default(),
                }
            }
        }
        impl Instance_Rigid_BodyTechnique_CommonShape {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.instance_rigid_bodyTechnique_commonShape.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.instance_rigid_bodyTechnique_commonShape()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_rigid_bodyTechnique_commonShape.Item`.
            ///
            /// C# signature: `System.Object LibreMetaverse.ImportExport.Collada14.instance_rigid_bodyTechnique_commonShape.Item`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn item(&self) -> libremetaverse_types::compat::Object {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_rigid_bodyTechnique_commonShape.Item`.
            pub fn set_item(&mut self, value: libremetaverse_types::compat::Object) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_rigid_bodyTechnique_commonShape.Item1`.
            ///
            /// C# signature: `System.Object LibreMetaverse.ImportExport.Collada14.instance_rigid_bodyTechnique_commonShape.Item1`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn item1(&self) -> libremetaverse_types::compat::Object {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_rigid_bodyTechnique_commonShape.Item1`.
            pub fn set_item1(&mut self, value: libremetaverse_types::compat::Object) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_rigid_bodyTechnique_commonShape.Items`.
            ///
            /// C# signature: `System.Object[] LibreMetaverse.ImportExport.Collada14.instance_rigid_bodyTechnique_commonShape.Items`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn items(&self) -> Vec<libremetaverse_types::compat::Object> {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_rigid_bodyTechnique_commonShape.Items`.
            pub fn set_items(&mut self, value: Vec<libremetaverse_types::compat::Object>) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_rigid_bodyTechnique_commonShape.density`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.TargetableFloat LibreMetaverse.ImportExport.Collada14.instance_rigid_bodyTechnique_commonShape.density`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn density(&self) -> libremetaverse::import_export::collada14::TargetableFloat {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_rigid_bodyTechnique_commonShape.density`.
            pub fn set_density(
                &mut self,
                value: libremetaverse::import_export::collada14::TargetableFloat,
            ) {
                /* complete generated data model */
                self.property_3 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_rigid_bodyTechnique_commonShape.extra`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.extra[] LibreMetaverse.ImportExport.Collada14.instance_rigid_bodyTechnique_commonShape.extra`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn extra(&self) -> Vec<libremetaverse::import_export::collada14::Extra> {
                /* complete generated data model */
                self.property_4.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_rigid_bodyTechnique_commonShape.extra`.
            pub fn set_extra(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Extra>,
            ) {
                /* complete generated data model */
                self.property_4 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_rigid_bodyTechnique_commonShape.hollow`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.instance_rigid_bodyTechnique_commonShapeHollow LibreMetaverse.ImportExport.Collada14.instance_rigid_bodyTechnique_commonShape.hollow`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn hollow(&self) -> libremetaverse::import_export::collada14::Instance_Rigid_BodyTechnique_CommonShapeHollow{
                /* complete generated data model */
                self.property_5.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_rigid_bodyTechnique_commonShape.hollow`.
            pub fn set_hollow(
                &mut self,
                value: libremetaverse::import_export::collada14::Instance_Rigid_BodyTechnique_CommonShapeHollow,
            ) {
                /* complete generated data model */
                self.property_5 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_rigid_bodyTechnique_commonShape.mass`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.TargetableFloat LibreMetaverse.ImportExport.Collada14.instance_rigid_bodyTechnique_commonShape.mass`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn mass(&self) -> libremetaverse::import_export::collada14::TargetableFloat {
                /* complete generated data model */
                self.property_6.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_rigid_bodyTechnique_commonShape.mass`.
            pub fn set_mass(
                &mut self,
                value: libremetaverse::import_export::collada14::TargetableFloat,
            ) {
                /* complete generated data model */
                self.property_6 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.instance_rigid_bodyTechnique_commonShapeHollow`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.instance_rigid_bodyTechnique_commonShapeHollow` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Instance_Rigid_BodyTechnique_CommonShapeHollow {
            property_0: bool,
            property_1: String,
        }
        impl Default for Instance_Rigid_BodyTechnique_CommonShapeHollow {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                }
            }
        }
        impl Instance_Rigid_BodyTechnique_CommonShapeHollow {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.instance_rigid_bodyTechnique_commonShapeHollow.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.instance_rigid_bodyTechnique_commonShapeHollow()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_rigid_bodyTechnique_commonShapeHollow.Value`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.ImportExport.Collada14.instance_rigid_bodyTechnique_commonShapeHollow.Value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> bool {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_rigid_bodyTechnique_commonShapeHollow.Value`.
            pub fn set_value(&mut self, value: bool) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_rigid_bodyTechnique_commonShapeHollow.sid`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.instance_rigid_bodyTechnique_commonShapeHollow.sid`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn sid(&self) -> String {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_rigid_bodyTechnique_commonShapeHollow.sid`.
            pub fn set_sid(&mut self, value: String) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.instance_rigid_constraint`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.instance_rigid_constraint` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Instance_Rigid_Constraint {
            property_0: String,
            property_1: Vec<libremetaverse::import_export::collada14::Extra>,
            property_2: String,
            property_3: String,
        }
        impl Default for Instance_Rigid_Constraint {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                }
            }
        }
        impl Instance_Rigid_Constraint {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.instance_rigid_constraint.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.instance_rigid_constraint()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_rigid_constraint.constraint`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.instance_rigid_constraint.constraint`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn constraint(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_rigid_constraint.constraint`.
            pub fn set_constraint(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_rigid_constraint.extra`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.extra[] LibreMetaverse.ImportExport.Collada14.instance_rigid_constraint.extra`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn extra(&self) -> Vec<libremetaverse::import_export::collada14::Extra> {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_rigid_constraint.extra`.
            pub fn set_extra(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Extra>,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_rigid_constraint.name`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.instance_rigid_constraint.name`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn name(&self) -> String {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_rigid_constraint.name`.
            pub fn set_name(&mut self, value: String) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_rigid_constraint.sid`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.instance_rigid_constraint.sid`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn sid(&self) -> String {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.instance_rigid_constraint.sid`.
            pub fn set_sid(&mut self, value: String) {
                /* complete generated data model */
                self.property_3 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.int_array`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.int_array` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Int_Array {
            property_0: Vec<i64>,
            property_1: String,
            property_2: u64,
            property_3: String,
            property_4: String,
            property_5: String,
            property_6: String,
        }
        impl Default for Int_Array {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                    property_4: "2147483647".to_owned(),
                    property_5: "-2147483648".to_owned(),
                    property_6: Default::default(),
                }
            }
        }
        impl Int_Array {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.int_array.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.int_array()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.int_array.Values`.
            ///
            /// C# signature: `System.Int64[] LibreMetaverse.ImportExport.Collada14.int_array.Values`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn values(&self) -> Vec<i64> {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.int_array.Values`.
            pub fn set_values(&mut self, value: Vec<i64>) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.int_array._Text_`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.int_array._Text_`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn text(&self) -> String {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.int_array._Text_`.
            pub fn set_text(&mut self, value: String) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.int_array.count`.
            ///
            /// C# signature: `System.UInt64 LibreMetaverse.ImportExport.Collada14.int_array.count`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn count(&self) -> u64 {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.int_array.count`.
            pub fn set_count(&mut self, value: u64) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.int_array.id`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.int_array.id`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn id(&self) -> String {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.int_array.id`.
            pub fn set_id(&mut self, value: String) {
                /* complete generated data model */
                self.property_3 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.int_array.maxInclusive`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.int_array.maxInclusive`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn max_inclusive(&self) -> String {
                /* complete generated data model */
                self.property_4.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.int_array.maxInclusive`.
            pub fn set_max_inclusive(&mut self, value: String) {
                /* complete generated data model */
                self.property_4 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.int_array.minInclusive`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.int_array.minInclusive`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn min_inclusive(&self) -> String {
                /* complete generated data model */
                self.property_5.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.int_array.minInclusive`.
            pub fn set_min_inclusive(&mut self, value: String) {
                /* complete generated data model */
                self.property_5 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.int_array.name`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.int_array.name`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn name(&self) -> String {
                /* complete generated data model */
                self.property_6.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.int_array.name`.
            pub fn set_name(&mut self, value: String) {
                /* complete generated data model */
                self.property_6 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.library_animation_clips`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.library_animation_clips` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Library_Animation_Clips {
            property_0: Vec<libremetaverse::import_export::collada14::Animation_Clip>,
            property_1: libremetaverse::import_export::collada14::Asset,
            property_2: Vec<libremetaverse::import_export::collada14::Extra>,
            property_3: String,
            property_4: String,
        }
        impl Default for Library_Animation_Clips {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                    property_4: Default::default(),
                }
            }
        }
        impl Library_Animation_Clips {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.library_animation_clips.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.library_animation_clips()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.library_animation_clips.animation_clip`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.animation_clip[] LibreMetaverse.ImportExport.Collada14.library_animation_clips.animation_clip`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn animation_clip(
                &self,
            ) -> Vec<libremetaverse::import_export::collada14::Animation_Clip> {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.library_animation_clips.animation_clip`.
            pub fn set_animation_clip(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Animation_Clip>,
            ) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.library_animation_clips.asset`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.asset LibreMetaverse.ImportExport.Collada14.library_animation_clips.asset`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn asset(&self) -> libremetaverse::import_export::collada14::Asset {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.library_animation_clips.asset`.
            pub fn set_asset(&mut self, value: libremetaverse::import_export::collada14::Asset) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.library_animation_clips.extra`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.extra[] LibreMetaverse.ImportExport.Collada14.library_animation_clips.extra`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn extra(&self) -> Vec<libremetaverse::import_export::collada14::Extra> {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.library_animation_clips.extra`.
            pub fn set_extra(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Extra>,
            ) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.library_animation_clips.id`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.library_animation_clips.id`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn id(&self) -> String {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.library_animation_clips.id`.
            pub fn set_id(&mut self, value: String) {
                /* complete generated data model */
                self.property_3 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.library_animation_clips.name`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.library_animation_clips.name`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn name(&self) -> String {
                /* complete generated data model */
                self.property_4.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.library_animation_clips.name`.
            pub fn set_name(&mut self, value: String) {
                /* complete generated data model */
                self.property_4 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.library_animations`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.library_animations` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Library_Animations {
            property_0: Vec<libremetaverse::import_export::collada14::Animation>,
            property_1: libremetaverse::import_export::collada14::Asset,
            property_2: Vec<libremetaverse::import_export::collada14::Extra>,
            property_3: String,
            property_4: String,
        }
        impl Default for Library_Animations {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                    property_4: Default::default(),
                }
            }
        }
        impl Library_Animations {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.library_animations.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.library_animations()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.library_animations.animation`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.animation[] LibreMetaverse.ImportExport.Collada14.library_animations.animation`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn animation(&self) -> Vec<libremetaverse::import_export::collada14::Animation> {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.library_animations.animation`.
            pub fn set_animation(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Animation>,
            ) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.library_animations.asset`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.asset LibreMetaverse.ImportExport.Collada14.library_animations.asset`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn asset(&self) -> libremetaverse::import_export::collada14::Asset {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.library_animations.asset`.
            pub fn set_asset(&mut self, value: libremetaverse::import_export::collada14::Asset) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.library_animations.extra`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.extra[] LibreMetaverse.ImportExport.Collada14.library_animations.extra`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn extra(&self) -> Vec<libremetaverse::import_export::collada14::Extra> {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.library_animations.extra`.
            pub fn set_extra(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Extra>,
            ) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.library_animations.id`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.library_animations.id`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn id(&self) -> String {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.library_animations.id`.
            pub fn set_id(&mut self, value: String) {
                /* complete generated data model */
                self.property_3 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.library_animations.name`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.library_animations.name`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn name(&self) -> String {
                /* complete generated data model */
                self.property_4.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.library_animations.name`.
            pub fn set_name(&mut self, value: String) {
                /* complete generated data model */
                self.property_4 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.library_cameras`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.library_cameras` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Library_Cameras {
            property_0: libremetaverse::import_export::collada14::Asset,
            property_1: Vec<libremetaverse::import_export::collada14::Camera>,
            property_2: Vec<libremetaverse::import_export::collada14::Extra>,
            property_3: String,
            property_4: String,
        }
        impl Default for Library_Cameras {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                    property_4: Default::default(),
                }
            }
        }
        impl Library_Cameras {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.library_cameras.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.library_cameras()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.library_cameras.asset`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.asset LibreMetaverse.ImportExport.Collada14.library_cameras.asset`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn asset(&self) -> libremetaverse::import_export::collada14::Asset {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.library_cameras.asset`.
            pub fn set_asset(&mut self, value: libremetaverse::import_export::collada14::Asset) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.library_cameras.camera`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.camera[] LibreMetaverse.ImportExport.Collada14.library_cameras.camera`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn camera(&self) -> Vec<libremetaverse::import_export::collada14::Camera> {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.library_cameras.camera`.
            pub fn set_camera(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Camera>,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.library_cameras.extra`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.extra[] LibreMetaverse.ImportExport.Collada14.library_cameras.extra`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn extra(&self) -> Vec<libremetaverse::import_export::collada14::Extra> {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.library_cameras.extra`.
            pub fn set_extra(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Extra>,
            ) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.library_cameras.id`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.library_cameras.id`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn id(&self) -> String {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.library_cameras.id`.
            pub fn set_id(&mut self, value: String) {
                /* complete generated data model */
                self.property_3 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.library_cameras.name`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.library_cameras.name`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn name(&self) -> String {
                /* complete generated data model */
                self.property_4.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.library_cameras.name`.
            pub fn set_name(&mut self, value: String) {
                /* complete generated data model */
                self.property_4 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.library_controllers`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.library_controllers` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Library_Controllers {
            property_0: libremetaverse::import_export::collada14::Asset,
            property_1: Vec<libremetaverse::import_export::collada14::Controller>,
            property_2: Vec<libremetaverse::import_export::collada14::Extra>,
            property_3: String,
            property_4: String,
        }
        impl Default for Library_Controllers {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                    property_4: Default::default(),
                }
            }
        }
        impl Library_Controllers {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.library_controllers.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.library_controllers()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.library_controllers.asset`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.asset LibreMetaverse.ImportExport.Collada14.library_controllers.asset`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn asset(&self) -> libremetaverse::import_export::collada14::Asset {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.library_controllers.asset`.
            pub fn set_asset(&mut self, value: libremetaverse::import_export::collada14::Asset) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.library_controllers.controller`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.controller[] LibreMetaverse.ImportExport.Collada14.library_controllers.controller`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn controller(&self) -> Vec<libremetaverse::import_export::collada14::Controller> {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.library_controllers.controller`.
            pub fn set_controller(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Controller>,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.library_controllers.extra`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.extra[] LibreMetaverse.ImportExport.Collada14.library_controllers.extra`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn extra(&self) -> Vec<libremetaverse::import_export::collada14::Extra> {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.library_controllers.extra`.
            pub fn set_extra(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Extra>,
            ) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.library_controllers.id`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.library_controllers.id`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn id(&self) -> String {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.library_controllers.id`.
            pub fn set_id(&mut self, value: String) {
                /* complete generated data model */
                self.property_3 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.library_controllers.name`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.library_controllers.name`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn name(&self) -> String {
                /* complete generated data model */
                self.property_4.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.library_controllers.name`.
            pub fn set_name(&mut self, value: String) {
                /* complete generated data model */
                self.property_4 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.library_effects`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.library_effects` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Library_Effects {
            property_0: libremetaverse::import_export::collada14::Asset,
            property_1: Vec<libremetaverse::import_export::collada14::Effect>,
            property_2: Vec<libremetaverse::import_export::collada14::Extra>,
            property_3: String,
            property_4: String,
        }
        impl Default for Library_Effects {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                    property_4: Default::default(),
                }
            }
        }
        impl Library_Effects {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.library_effects.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.library_effects()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.library_effects.asset`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.asset LibreMetaverse.ImportExport.Collada14.library_effects.asset`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn asset(&self) -> libremetaverse::import_export::collada14::Asset {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.library_effects.asset`.
            pub fn set_asset(&mut self, value: libremetaverse::import_export::collada14::Asset) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.library_effects.effect`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.effect[] LibreMetaverse.ImportExport.Collada14.library_effects.effect`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn effect(&self) -> Vec<libremetaverse::import_export::collada14::Effect> {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.library_effects.effect`.
            pub fn set_effect(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Effect>,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.library_effects.extra`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.extra[] LibreMetaverse.ImportExport.Collada14.library_effects.extra`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn extra(&self) -> Vec<libremetaverse::import_export::collada14::Extra> {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.library_effects.extra`.
            pub fn set_extra(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Extra>,
            ) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.library_effects.id`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.library_effects.id`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn id(&self) -> String {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.library_effects.id`.
            pub fn set_id(&mut self, value: String) {
                /* complete generated data model */
                self.property_3 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.library_effects.name`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.library_effects.name`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn name(&self) -> String {
                /* complete generated data model */
                self.property_4.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.library_effects.name`.
            pub fn set_name(&mut self, value: String) {
                /* complete generated data model */
                self.property_4 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.library_force_fields`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.library_force_fields` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Library_Force_Fields {
            property_0: libremetaverse::import_export::collada14::Asset,
            property_1: Vec<libremetaverse::import_export::collada14::Extra>,
            property_2: Vec<libremetaverse::import_export::collada14::Force_Field>,
            property_3: String,
            property_4: String,
        }
        impl Default for Library_Force_Fields {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                    property_4: Default::default(),
                }
            }
        }
        impl Library_Force_Fields {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.library_force_fields.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.library_force_fields()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.library_force_fields.asset`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.asset LibreMetaverse.ImportExport.Collada14.library_force_fields.asset`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn asset(&self) -> libremetaverse::import_export::collada14::Asset {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.library_force_fields.asset`.
            pub fn set_asset(&mut self, value: libremetaverse::import_export::collada14::Asset) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.library_force_fields.extra`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.extra[] LibreMetaverse.ImportExport.Collada14.library_force_fields.extra`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn extra(&self) -> Vec<libremetaverse::import_export::collada14::Extra> {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.library_force_fields.extra`.
            pub fn set_extra(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Extra>,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.library_force_fields.force_field`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.force_field[] LibreMetaverse.ImportExport.Collada14.library_force_fields.force_field`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn force_field(
                &self,
            ) -> Vec<libremetaverse::import_export::collada14::Force_Field> {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.library_force_fields.force_field`.
            pub fn set_force_field(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Force_Field>,
            ) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.library_force_fields.id`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.library_force_fields.id`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn id(&self) -> String {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.library_force_fields.id`.
            pub fn set_id(&mut self, value: String) {
                /* complete generated data model */
                self.property_3 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.library_force_fields.name`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.library_force_fields.name`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn name(&self) -> String {
                /* complete generated data model */
                self.property_4.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.library_force_fields.name`.
            pub fn set_name(&mut self, value: String) {
                /* complete generated data model */
                self.property_4 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.library_geometries`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.library_geometries` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Library_Geometries {
            property_0: libremetaverse::import_export::collada14::Asset,
            property_1: Vec<libremetaverse::import_export::collada14::Extra>,
            property_2: Vec<libremetaverse::import_export::collada14::Geometry>,
            property_3: String,
            property_4: String,
        }
        impl Default for Library_Geometries {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                    property_4: Default::default(),
                }
            }
        }
        impl Library_Geometries {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.library_geometries.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.library_geometries()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.library_geometries.asset`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.asset LibreMetaverse.ImportExport.Collada14.library_geometries.asset`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn asset(&self) -> libremetaverse::import_export::collada14::Asset {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.library_geometries.asset`.
            pub fn set_asset(&mut self, value: libremetaverse::import_export::collada14::Asset) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.library_geometries.extra`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.extra[] LibreMetaverse.ImportExport.Collada14.library_geometries.extra`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn extra(&self) -> Vec<libremetaverse::import_export::collada14::Extra> {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.library_geometries.extra`.
            pub fn set_extra(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Extra>,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.library_geometries.geometry`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.geometry[] LibreMetaverse.ImportExport.Collada14.library_geometries.geometry`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn geometry(&self) -> Vec<libremetaverse::import_export::collada14::Geometry> {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.library_geometries.geometry`.
            pub fn set_geometry(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Geometry>,
            ) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.library_geometries.id`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.library_geometries.id`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn id(&self) -> String {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.library_geometries.id`.
            pub fn set_id(&mut self, value: String) {
                /* complete generated data model */
                self.property_3 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.library_geometries.name`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.library_geometries.name`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn name(&self) -> String {
                /* complete generated data model */
                self.property_4.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.library_geometries.name`.
            pub fn set_name(&mut self, value: String) {
                /* complete generated data model */
                self.property_4 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.library_images`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.library_images` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Library_Images {
            property_0: libremetaverse::import_export::collada14::Asset,
            property_1: Vec<libremetaverse::import_export::collada14::Extra>,
            property_2: String,
            property_3: Vec<libremetaverse::import_export::collada14::Image>,
            property_4: String,
        }
        impl Default for Library_Images {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                    property_4: Default::default(),
                }
            }
        }
        impl Library_Images {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.library_images.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.library_images()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.library_images.asset`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.asset LibreMetaverse.ImportExport.Collada14.library_images.asset`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn asset(&self) -> libremetaverse::import_export::collada14::Asset {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.library_images.asset`.
            pub fn set_asset(&mut self, value: libremetaverse::import_export::collada14::Asset) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.library_images.extra`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.extra[] LibreMetaverse.ImportExport.Collada14.library_images.extra`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn extra(&self) -> Vec<libremetaverse::import_export::collada14::Extra> {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.library_images.extra`.
            pub fn set_extra(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Extra>,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.library_images.id`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.library_images.id`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn id(&self) -> String {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.library_images.id`.
            pub fn set_id(&mut self, value: String) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.library_images.image`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.image[] LibreMetaverse.ImportExport.Collada14.library_images.image`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn image(&self) -> Vec<libremetaverse::import_export::collada14::Image> {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.library_images.image`.
            pub fn set_image(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Image>,
            ) {
                /* complete generated data model */
                self.property_3 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.library_images.name`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.library_images.name`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn name(&self) -> String {
                /* complete generated data model */
                self.property_4.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.library_images.name`.
            pub fn set_name(&mut self, value: String) {
                /* complete generated data model */
                self.property_4 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.library_lights`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.library_lights` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Library_Lights {
            property_0: libremetaverse::import_export::collada14::Asset,
            property_1: Vec<libremetaverse::import_export::collada14::Extra>,
            property_2: String,
            property_3: Vec<libremetaverse::import_export::collada14::Light>,
            property_4: String,
        }
        impl Default for Library_Lights {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                    property_4: Default::default(),
                }
            }
        }
        impl Library_Lights {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.library_lights.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.library_lights()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.library_lights.asset`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.asset LibreMetaverse.ImportExport.Collada14.library_lights.asset`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn asset(&self) -> libremetaverse::import_export::collada14::Asset {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.library_lights.asset`.
            pub fn set_asset(&mut self, value: libremetaverse::import_export::collada14::Asset) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.library_lights.extra`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.extra[] LibreMetaverse.ImportExport.Collada14.library_lights.extra`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn extra(&self) -> Vec<libremetaverse::import_export::collada14::Extra> {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.library_lights.extra`.
            pub fn set_extra(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Extra>,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.library_lights.id`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.library_lights.id`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn id(&self) -> String {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.library_lights.id`.
            pub fn set_id(&mut self, value: String) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.library_lights.light`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.light[] LibreMetaverse.ImportExport.Collada14.library_lights.light`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn light(&self) -> Vec<libremetaverse::import_export::collada14::Light> {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.library_lights.light`.
            pub fn set_light(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Light>,
            ) {
                /* complete generated data model */
                self.property_3 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.library_lights.name`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.library_lights.name`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn name(&self) -> String {
                /* complete generated data model */
                self.property_4.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.library_lights.name`.
            pub fn set_name(&mut self, value: String) {
                /* complete generated data model */
                self.property_4 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.library_materials`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.library_materials` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Library_Materials {
            property_0: libremetaverse::import_export::collada14::Asset,
            property_1: Vec<libremetaverse::import_export::collada14::Extra>,
            property_2: String,
            property_3: Vec<libremetaverse::import_export::collada14::Material>,
            property_4: String,
        }
        impl Default for Library_Materials {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                    property_4: Default::default(),
                }
            }
        }
        impl Library_Materials {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.library_materials.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.library_materials()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.library_materials.asset`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.asset LibreMetaverse.ImportExport.Collada14.library_materials.asset`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn asset(&self) -> libremetaverse::import_export::collada14::Asset {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.library_materials.asset`.
            pub fn set_asset(&mut self, value: libremetaverse::import_export::collada14::Asset) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.library_materials.extra`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.extra[] LibreMetaverse.ImportExport.Collada14.library_materials.extra`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn extra(&self) -> Vec<libremetaverse::import_export::collada14::Extra> {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.library_materials.extra`.
            pub fn set_extra(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Extra>,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.library_materials.id`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.library_materials.id`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn id(&self) -> String {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.library_materials.id`.
            pub fn set_id(&mut self, value: String) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.library_materials.material`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.material[] LibreMetaverse.ImportExport.Collada14.library_materials.material`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn material(&self) -> Vec<libremetaverse::import_export::collada14::Material> {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.library_materials.material`.
            pub fn set_material(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Material>,
            ) {
                /* complete generated data model */
                self.property_3 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.library_materials.name`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.library_materials.name`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn name(&self) -> String {
                /* complete generated data model */
                self.property_4.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.library_materials.name`.
            pub fn set_name(&mut self, value: String) {
                /* complete generated data model */
                self.property_4 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.library_nodes`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.library_nodes` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Library_Nodes {
            property_0: libremetaverse::import_export::collada14::Asset,
            property_1: Vec<libremetaverse::import_export::collada14::Extra>,
            property_2: String,
            property_3: String,
            property_4: Vec<libremetaverse::import_export::collada14::Node>,
        }
        impl Default for Library_Nodes {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                    property_4: Default::default(),
                }
            }
        }
        impl Library_Nodes {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.library_nodes.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.library_nodes()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.library_nodes.asset`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.asset LibreMetaverse.ImportExport.Collada14.library_nodes.asset`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn asset(&self) -> libremetaverse::import_export::collada14::Asset {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.library_nodes.asset`.
            pub fn set_asset(&mut self, value: libremetaverse::import_export::collada14::Asset) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.library_nodes.extra`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.extra[] LibreMetaverse.ImportExport.Collada14.library_nodes.extra`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn extra(&self) -> Vec<libremetaverse::import_export::collada14::Extra> {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.library_nodes.extra`.
            pub fn set_extra(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Extra>,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.library_nodes.id`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.library_nodes.id`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn id(&self) -> String {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.library_nodes.id`.
            pub fn set_id(&mut self, value: String) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.library_nodes.name`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.library_nodes.name`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn name(&self) -> String {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.library_nodes.name`.
            pub fn set_name(&mut self, value: String) {
                /* complete generated data model */
                self.property_3 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.library_nodes.node`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.node[] LibreMetaverse.ImportExport.Collada14.library_nodes.node`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn node(&self) -> Vec<libremetaverse::import_export::collada14::Node> {
                /* complete generated data model */
                self.property_4.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.library_nodes.node`.
            pub fn set_node(&mut self, value: Vec<libremetaverse::import_export::collada14::Node>) {
                /* complete generated data model */
                self.property_4 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.library_physics_materials`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.library_physics_materials` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Library_Physics_Materials {
            property_0: libremetaverse::import_export::collada14::Asset,
            property_1: Vec<libremetaverse::import_export::collada14::Extra>,
            property_2: String,
            property_3: String,
            property_4: Vec<libremetaverse::import_export::collada14::Physics_Material>,
        }
        impl Default for Library_Physics_Materials {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                    property_4: Default::default(),
                }
            }
        }
        impl Library_Physics_Materials {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.library_physics_materials.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.library_physics_materials()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.library_physics_materials.asset`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.asset LibreMetaverse.ImportExport.Collada14.library_physics_materials.asset`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn asset(&self) -> libremetaverse::import_export::collada14::Asset {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.library_physics_materials.asset`.
            pub fn set_asset(&mut self, value: libremetaverse::import_export::collada14::Asset) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.library_physics_materials.extra`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.extra[] LibreMetaverse.ImportExport.Collada14.library_physics_materials.extra`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn extra(&self) -> Vec<libremetaverse::import_export::collada14::Extra> {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.library_physics_materials.extra`.
            pub fn set_extra(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Extra>,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.library_physics_materials.id`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.library_physics_materials.id`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn id(&self) -> String {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.library_physics_materials.id`.
            pub fn set_id(&mut self, value: String) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.library_physics_materials.name`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.library_physics_materials.name`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn name(&self) -> String {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.library_physics_materials.name`.
            pub fn set_name(&mut self, value: String) {
                /* complete generated data model */
                self.property_3 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.library_physics_materials.physics_material`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.physics_material[] LibreMetaverse.ImportExport.Collada14.library_physics_materials.physics_material`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn physics_material(
                &self,
            ) -> Vec<libremetaverse::import_export::collada14::Physics_Material> {
                /* complete generated data model */
                self.property_4.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.library_physics_materials.physics_material`.
            pub fn set_physics_material(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Physics_Material>,
            ) {
                /* complete generated data model */
                self.property_4 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.library_physics_models`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.library_physics_models` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Library_Physics_Models {
            property_0: libremetaverse::import_export::collada14::Asset,
            property_1: Vec<libremetaverse::import_export::collada14::Extra>,
            property_2: String,
            property_3: String,
            property_4: Vec<libremetaverse::import_export::collada14::Physics_Model>,
        }
        impl Default for Library_Physics_Models {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                    property_4: Default::default(),
                }
            }
        }
        impl Library_Physics_Models {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.library_physics_models.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.library_physics_models()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.library_physics_models.asset`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.asset LibreMetaverse.ImportExport.Collada14.library_physics_models.asset`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn asset(&self) -> libremetaverse::import_export::collada14::Asset {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.library_physics_models.asset`.
            pub fn set_asset(&mut self, value: libremetaverse::import_export::collada14::Asset) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.library_physics_models.extra`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.extra[] LibreMetaverse.ImportExport.Collada14.library_physics_models.extra`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn extra(&self) -> Vec<libremetaverse::import_export::collada14::Extra> {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.library_physics_models.extra`.
            pub fn set_extra(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Extra>,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.library_physics_models.id`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.library_physics_models.id`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn id(&self) -> String {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.library_physics_models.id`.
            pub fn set_id(&mut self, value: String) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.library_physics_models.name`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.library_physics_models.name`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn name(&self) -> String {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.library_physics_models.name`.
            pub fn set_name(&mut self, value: String) {
                /* complete generated data model */
                self.property_3 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.library_physics_models.physics_model`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.physics_model[] LibreMetaverse.ImportExport.Collada14.library_physics_models.physics_model`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn physics_model(
                &self,
            ) -> Vec<libremetaverse::import_export::collada14::Physics_Model> {
                /* complete generated data model */
                self.property_4.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.library_physics_models.physics_model`.
            pub fn set_physics_model(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Physics_Model>,
            ) {
                /* complete generated data model */
                self.property_4 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.library_physics_scenes`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.library_physics_scenes` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Library_Physics_Scenes {
            property_0: libremetaverse::import_export::collada14::Asset,
            property_1: Vec<libremetaverse::import_export::collada14::Extra>,
            property_2: String,
            property_3: String,
            property_4: Vec<libremetaverse::import_export::collada14::Physics_Scene>,
        }
        impl Default for Library_Physics_Scenes {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                    property_4: Default::default(),
                }
            }
        }
        impl Library_Physics_Scenes {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.library_physics_scenes.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.library_physics_scenes()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.library_physics_scenes.asset`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.asset LibreMetaverse.ImportExport.Collada14.library_physics_scenes.asset`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn asset(&self) -> libremetaverse::import_export::collada14::Asset {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.library_physics_scenes.asset`.
            pub fn set_asset(&mut self, value: libremetaverse::import_export::collada14::Asset) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.library_physics_scenes.extra`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.extra[] LibreMetaverse.ImportExport.Collada14.library_physics_scenes.extra`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn extra(&self) -> Vec<libremetaverse::import_export::collada14::Extra> {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.library_physics_scenes.extra`.
            pub fn set_extra(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Extra>,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.library_physics_scenes.id`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.library_physics_scenes.id`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn id(&self) -> String {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.library_physics_scenes.id`.
            pub fn set_id(&mut self, value: String) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.library_physics_scenes.name`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.library_physics_scenes.name`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn name(&self) -> String {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.library_physics_scenes.name`.
            pub fn set_name(&mut self, value: String) {
                /* complete generated data model */
                self.property_3 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.library_physics_scenes.physics_scene`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.physics_scene[] LibreMetaverse.ImportExport.Collada14.library_physics_scenes.physics_scene`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn physics_scene(
                &self,
            ) -> Vec<libremetaverse::import_export::collada14::Physics_Scene> {
                /* complete generated data model */
                self.property_4.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.library_physics_scenes.physics_scene`.
            pub fn set_physics_scene(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Physics_Scene>,
            ) {
                /* complete generated data model */
                self.property_4 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.library_visual_scenes`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.library_visual_scenes` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Library_Visual_Scenes {
            property_0: libremetaverse::import_export::collada14::Asset,
            property_1: Vec<libremetaverse::import_export::collada14::Extra>,
            property_2: String,
            property_3: String,
            property_4: Vec<libremetaverse::import_export::collada14::Visual_Scene>,
        }
        impl Default for Library_Visual_Scenes {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                    property_4: Default::default(),
                }
            }
        }
        impl Library_Visual_Scenes {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.library_visual_scenes.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.library_visual_scenes()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.library_visual_scenes.asset`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.asset LibreMetaverse.ImportExport.Collada14.library_visual_scenes.asset`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn asset(&self) -> libremetaverse::import_export::collada14::Asset {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.library_visual_scenes.asset`.
            pub fn set_asset(&mut self, value: libremetaverse::import_export::collada14::Asset) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.library_visual_scenes.extra`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.extra[] LibreMetaverse.ImportExport.Collada14.library_visual_scenes.extra`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn extra(&self) -> Vec<libremetaverse::import_export::collada14::Extra> {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.library_visual_scenes.extra`.
            pub fn set_extra(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Extra>,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.library_visual_scenes.id`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.library_visual_scenes.id`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn id(&self) -> String {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.library_visual_scenes.id`.
            pub fn set_id(&mut self, value: String) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.library_visual_scenes.name`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.library_visual_scenes.name`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn name(&self) -> String {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.library_visual_scenes.name`.
            pub fn set_name(&mut self, value: String) {
                /* complete generated data model */
                self.property_3 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.library_visual_scenes.visual_scene`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.visual_scene[] LibreMetaverse.ImportExport.Collada14.library_visual_scenes.visual_scene`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn visual_scene(
                &self,
            ) -> Vec<libremetaverse::import_export::collada14::Visual_Scene> {
                /* complete generated data model */
                self.property_4.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.library_visual_scenes.visual_scene`.
            pub fn set_visual_scene(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Visual_Scene>,
            ) {
                /* complete generated data model */
                self.property_4 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.light`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.light` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Light {
            property_0: libremetaverse::import_export::collada14::Asset,
            property_1: Vec<libremetaverse::import_export::collada14::Extra>,
            property_2: String,
            property_3: String,
            property_4: Vec<libremetaverse::import_export::collada14::Technique>,
            property_5: libremetaverse::import_export::collada14::LightTechnique_Common,
        }
        impl Default for Light {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                    property_4: Default::default(),
                    property_5: Default::default(),
                }
            }
        }
        impl Light {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.light.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.light()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.light.asset`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.asset LibreMetaverse.ImportExport.Collada14.light.asset`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn asset(&self) -> libremetaverse::import_export::collada14::Asset {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.light.asset`.
            pub fn set_asset(&mut self, value: libremetaverse::import_export::collada14::Asset) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.light.extra`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.extra[] LibreMetaverse.ImportExport.Collada14.light.extra`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn extra(&self) -> Vec<libremetaverse::import_export::collada14::Extra> {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.light.extra`.
            pub fn set_extra(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Extra>,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.light.id`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.light.id`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn id(&self) -> String {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.light.id`.
            pub fn set_id(&mut self, value: String) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.light.name`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.light.name`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn name(&self) -> String {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.light.name`.
            pub fn set_name(&mut self, value: String) {
                /* complete generated data model */
                self.property_3 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.light.technique`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.technique[] LibreMetaverse.ImportExport.Collada14.light.technique`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn technique(&self) -> Vec<libremetaverse::import_export::collada14::Technique> {
                /* complete generated data model */
                self.property_4.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.light.technique`.
            pub fn set_technique(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Technique>,
            ) {
                /* complete generated data model */
                self.property_4 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.light.technique_common`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.lightTechnique_common LibreMetaverse.ImportExport.Collada14.light.technique_common`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn technique_common(
                &self,
            ) -> libremetaverse::import_export::collada14::LightTechnique_Common {
                /* complete generated data model */
                self.property_5.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.light.technique_common`.
            pub fn set_technique_common(
                &mut self,
                value: libremetaverse::import_export::collada14::LightTechnique_Common,
            ) {
                /* complete generated data model */
                self.property_5 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.lightTechnique_common`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.lightTechnique_common` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct LightTechnique_Common {
            property_0: libremetaverse_types::compat::Object,
        }
        impl Default for LightTechnique_Common {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                }
            }
        }
        impl LightTechnique_Common {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.lightTechnique_common.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.lightTechnique_common()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.lightTechnique_common.Item`.
            ///
            /// C# signature: `System.Object LibreMetaverse.ImportExport.Collada14.lightTechnique_common.Item`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn item(&self) -> libremetaverse_types::compat::Object {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.lightTechnique_common.Item`.
            pub fn set_item(&mut self, value: libremetaverse_types::compat::Object) {
                /* complete generated data model */
                self.property_0 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.lightTechnique_commonAmbient`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.lightTechnique_commonAmbient` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct LightTechnique_CommonAmbient {
            property_0: libremetaverse::import_export::collada14::TargetableFloat3,
        }
        impl Default for LightTechnique_CommonAmbient {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                }
            }
        }
        impl LightTechnique_CommonAmbient {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.lightTechnique_commonAmbient.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.lightTechnique_commonAmbient()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.lightTechnique_commonAmbient.color`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.TargetableFloat3 LibreMetaverse.ImportExport.Collada14.lightTechnique_commonAmbient.color`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn color(&self) -> libremetaverse::import_export::collada14::TargetableFloat3 {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.lightTechnique_commonAmbient.color`.
            pub fn set_color(
                &mut self,
                value: libremetaverse::import_export::collada14::TargetableFloat3,
            ) {
                /* complete generated data model */
                self.property_0 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.lightTechnique_commonDirectional`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.lightTechnique_commonDirectional` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct LightTechnique_CommonDirectional {
            property_0: libremetaverse::import_export::collada14::TargetableFloat3,
        }
        impl Default for LightTechnique_CommonDirectional {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                }
            }
        }
        impl LightTechnique_CommonDirectional {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.lightTechnique_commonDirectional.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.lightTechnique_commonDirectional()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.lightTechnique_commonDirectional.color`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.TargetableFloat3 LibreMetaverse.ImportExport.Collada14.lightTechnique_commonDirectional.color`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn color(&self) -> libremetaverse::import_export::collada14::TargetableFloat3 {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.lightTechnique_commonDirectional.color`.
            pub fn set_color(
                &mut self,
                value: libremetaverse::import_export::collada14::TargetableFloat3,
            ) {
                /* complete generated data model */
                self.property_0 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.lightTechnique_commonPoint`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.lightTechnique_commonPoint` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct LightTechnique_CommonPoint {
            property_0: libremetaverse::import_export::collada14::TargetableFloat3,
            property_1: libremetaverse::import_export::collada14::TargetableFloat,
            property_2: libremetaverse::import_export::collada14::TargetableFloat,
            property_3: libremetaverse::import_export::collada14::TargetableFloat,
        }
        impl Default for LightTechnique_CommonPoint {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                }
            }
        }
        impl LightTechnique_CommonPoint {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.lightTechnique_commonPoint.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.lightTechnique_commonPoint()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.lightTechnique_commonPoint.color`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.TargetableFloat3 LibreMetaverse.ImportExport.Collada14.lightTechnique_commonPoint.color`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn color(&self) -> libremetaverse::import_export::collada14::TargetableFloat3 {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.lightTechnique_commonPoint.color`.
            pub fn set_color(
                &mut self,
                value: libremetaverse::import_export::collada14::TargetableFloat3,
            ) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.lightTechnique_commonPoint.constant_attenuation`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.TargetableFloat LibreMetaverse.ImportExport.Collada14.lightTechnique_commonPoint.constant_attenuation`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn constant_attenuation(
                &self,
            ) -> libremetaverse::import_export::collada14::TargetableFloat {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.lightTechnique_commonPoint.constant_attenuation`.
            pub fn set_constant_attenuation(
                &mut self,
                value: libremetaverse::import_export::collada14::TargetableFloat,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.lightTechnique_commonPoint.linear_attenuation`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.TargetableFloat LibreMetaverse.ImportExport.Collada14.lightTechnique_commonPoint.linear_attenuation`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn linear_attenuation(
                &self,
            ) -> libremetaverse::import_export::collada14::TargetableFloat {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.lightTechnique_commonPoint.linear_attenuation`.
            pub fn set_linear_attenuation(
                &mut self,
                value: libremetaverse::import_export::collada14::TargetableFloat,
            ) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.lightTechnique_commonPoint.quadratic_attenuation`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.TargetableFloat LibreMetaverse.ImportExport.Collada14.lightTechnique_commonPoint.quadratic_attenuation`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn quadratic_attenuation(
                &self,
            ) -> libremetaverse::import_export::collada14::TargetableFloat {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.lightTechnique_commonPoint.quadratic_attenuation`.
            pub fn set_quadratic_attenuation(
                &mut self,
                value: libremetaverse::import_export::collada14::TargetableFloat,
            ) {
                /* complete generated data model */
                self.property_3 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.lightTechnique_commonSpot`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.lightTechnique_commonSpot` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct LightTechnique_CommonSpot {
            property_0: libremetaverse::import_export::collada14::TargetableFloat3,
            property_1: libremetaverse::import_export::collada14::TargetableFloat,
            property_2: libremetaverse::import_export::collada14::TargetableFloat,
            property_3: libremetaverse::import_export::collada14::TargetableFloat,
            property_4: libremetaverse::import_export::collada14::TargetableFloat,
            property_5: libremetaverse::import_export::collada14::TargetableFloat,
        }
        impl Default for LightTechnique_CommonSpot {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                    property_4: Default::default(),
                    property_5: Default::default(),
                }
            }
        }
        impl LightTechnique_CommonSpot {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.lightTechnique_commonSpot.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.lightTechnique_commonSpot()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.lightTechnique_commonSpot.color`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.TargetableFloat3 LibreMetaverse.ImportExport.Collada14.lightTechnique_commonSpot.color`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn color(&self) -> libremetaverse::import_export::collada14::TargetableFloat3 {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.lightTechnique_commonSpot.color`.
            pub fn set_color(
                &mut self,
                value: libremetaverse::import_export::collada14::TargetableFloat3,
            ) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.lightTechnique_commonSpot.constant_attenuation`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.TargetableFloat LibreMetaverse.ImportExport.Collada14.lightTechnique_commonSpot.constant_attenuation`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn constant_attenuation(
                &self,
            ) -> libremetaverse::import_export::collada14::TargetableFloat {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.lightTechnique_commonSpot.constant_attenuation`.
            pub fn set_constant_attenuation(
                &mut self,
                value: libremetaverse::import_export::collada14::TargetableFloat,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.lightTechnique_commonSpot.falloff_angle`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.TargetableFloat LibreMetaverse.ImportExport.Collada14.lightTechnique_commonSpot.falloff_angle`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn falloff_angle(
                &self,
            ) -> libremetaverse::import_export::collada14::TargetableFloat {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.lightTechnique_commonSpot.falloff_angle`.
            pub fn set_falloff_angle(
                &mut self,
                value: libremetaverse::import_export::collada14::TargetableFloat,
            ) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.lightTechnique_commonSpot.falloff_exponent`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.TargetableFloat LibreMetaverse.ImportExport.Collada14.lightTechnique_commonSpot.falloff_exponent`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn falloff_exponent(
                &self,
            ) -> libremetaverse::import_export::collada14::TargetableFloat {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.lightTechnique_commonSpot.falloff_exponent`.
            pub fn set_falloff_exponent(
                &mut self,
                value: libremetaverse::import_export::collada14::TargetableFloat,
            ) {
                /* complete generated data model */
                self.property_3 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.lightTechnique_commonSpot.linear_attenuation`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.TargetableFloat LibreMetaverse.ImportExport.Collada14.lightTechnique_commonSpot.linear_attenuation`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn linear_attenuation(
                &self,
            ) -> libremetaverse::import_export::collada14::TargetableFloat {
                /* complete generated data model */
                self.property_4.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.lightTechnique_commonSpot.linear_attenuation`.
            pub fn set_linear_attenuation(
                &mut self,
                value: libremetaverse::import_export::collada14::TargetableFloat,
            ) {
                /* complete generated data model */
                self.property_4 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.lightTechnique_commonSpot.quadratic_attenuation`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.TargetableFloat LibreMetaverse.ImportExport.Collada14.lightTechnique_commonSpot.quadratic_attenuation`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn quadratic_attenuation(
                &self,
            ) -> libremetaverse::import_export::collada14::TargetableFloat {
                /* complete generated data model */
                self.property_5.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.lightTechnique_commonSpot.quadratic_attenuation`.
            pub fn set_quadratic_attenuation(
                &mut self,
                value: libremetaverse::import_export::collada14::TargetableFloat,
            ) {
                /* complete generated data model */
                self.property_5 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.lines`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.lines` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Lines {
            property_0: u64,
            property_1: Vec<libremetaverse::import_export::collada14::Extra>,
            property_2: Vec<libremetaverse::import_export::collada14::InputLocalOffset>,
            property_3: String,
            property_4: String,
            property_5: String,
        }
        impl Default for Lines {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                    property_4: Default::default(),
                    property_5: Default::default(),
                }
            }
        }
        impl Lines {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.lines.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.lines()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.lines.count`.
            ///
            /// C# signature: `System.UInt64 LibreMetaverse.ImportExport.Collada14.lines.count`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn count(&self) -> u64 {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.lines.count`.
            pub fn set_count(&mut self, value: u64) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.lines.extra`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.extra[] LibreMetaverse.ImportExport.Collada14.lines.extra`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn extra(&self) -> Vec<libremetaverse::import_export::collada14::Extra> {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.lines.extra`.
            pub fn set_extra(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Extra>,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.lines.input`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.InputLocalOffset[] LibreMetaverse.ImportExport.Collada14.lines.input`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn input(&self) -> Vec<libremetaverse::import_export::collada14::InputLocalOffset> {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.lines.input`.
            pub fn set_input(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::InputLocalOffset>,
            ) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.lines.material`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.lines.material`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn material(&self) -> String {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.lines.material`.
            pub fn set_material(&mut self, value: String) {
                /* complete generated data model */
                self.property_3 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.lines.name`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.lines.name`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn name(&self) -> String {
                /* complete generated data model */
                self.property_4.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.lines.name`.
            pub fn set_name(&mut self, value: String) {
                /* complete generated data model */
                self.property_4 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.lines.p`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.lines.p`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn p(&self) -> String {
                /* complete generated data model */
                self.property_5.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.lines.p`.
            pub fn set_p(&mut self, value: String) {
                /* complete generated data model */
                self.property_5 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.linestrips`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.linestrips` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Linestrips {
            property_0: u64,
            property_1: Vec<libremetaverse::import_export::collada14::Extra>,
            property_2: Vec<libremetaverse::import_export::collada14::InputLocalOffset>,
            property_3: String,
            property_4: String,
            property_5: Vec<String>,
        }
        impl Default for Linestrips {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                    property_4: Default::default(),
                    property_5: Default::default(),
                }
            }
        }
        impl Linestrips {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.linestrips.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.linestrips()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.linestrips.count`.
            ///
            /// C# signature: `System.UInt64 LibreMetaverse.ImportExport.Collada14.linestrips.count`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn count(&self) -> u64 {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.linestrips.count`.
            pub fn set_count(&mut self, value: u64) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.linestrips.extra`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.extra[] LibreMetaverse.ImportExport.Collada14.linestrips.extra`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn extra(&self) -> Vec<libremetaverse::import_export::collada14::Extra> {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.linestrips.extra`.
            pub fn set_extra(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Extra>,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.linestrips.input`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.InputLocalOffset[] LibreMetaverse.ImportExport.Collada14.linestrips.input`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn input(&self) -> Vec<libremetaverse::import_export::collada14::InputLocalOffset> {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.linestrips.input`.
            pub fn set_input(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::InputLocalOffset>,
            ) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.linestrips.material`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.linestrips.material`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn material(&self) -> String {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.linestrips.material`.
            pub fn set_material(&mut self, value: String) {
                /* complete generated data model */
                self.property_3 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.linestrips.name`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.linestrips.name`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn name(&self) -> String {
                /* complete generated data model */
                self.property_4.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.linestrips.name`.
            pub fn set_name(&mut self, value: String) {
                /* complete generated data model */
                self.property_4 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.linestrips.p`.
            ///
            /// C# signature: `System.String[] LibreMetaverse.ImportExport.Collada14.linestrips.p`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn p(&self) -> Vec<String> {
                /* complete generated data model */
                self.property_5.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.linestrips.p`.
            pub fn set_p(&mut self, value: Vec<String>) {
                /* complete generated data model */
                self.property_5 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.lookat`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.lookat` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Lookat {
            property_0: Vec<f64>,
            property_1: String,
            property_2: String,
        }
        impl Default for Lookat {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                }
            }
        }
        impl Lookat {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.lookat.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.lookat()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.lookat.Values`.
            ///
            /// C# signature: `System.Double[] LibreMetaverse.ImportExport.Collada14.lookat.Values`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn values(&self) -> Vec<f64> {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.lookat.Values`.
            pub fn set_values(&mut self, value: Vec<f64>) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.lookat._Text_`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.lookat._Text_`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn text(&self) -> String {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.lookat._Text_`.
            pub fn set_text(&mut self, value: String) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.lookat.sid`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.lookat.sid`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn sid(&self) -> String {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.lookat.sid`.
            pub fn set_sid(&mut self, value: String) {
                /* complete generated data model */
                self.property_2 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.material`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.material` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Material {
            property_0: libremetaverse::import_export::collada14::Asset,
            property_1: Vec<libremetaverse::import_export::collada14::Extra>,
            property_2: String,
            property_3: libremetaverse::import_export::collada14::Instance_Effect,
            property_4: String,
        }
        impl Default for Material {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                    property_4: Default::default(),
                }
            }
        }
        impl Material {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.material.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.material()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.material.asset`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.asset LibreMetaverse.ImportExport.Collada14.material.asset`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn asset(&self) -> libremetaverse::import_export::collada14::Asset {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.material.asset`.
            pub fn set_asset(&mut self, value: libremetaverse::import_export::collada14::Asset) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.material.extra`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.extra[] LibreMetaverse.ImportExport.Collada14.material.extra`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn extra(&self) -> Vec<libremetaverse::import_export::collada14::Extra> {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.material.extra`.
            pub fn set_extra(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Extra>,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.material.id`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.material.id`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn id(&self) -> String {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.material.id`.
            pub fn set_id(&mut self, value: String) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.material.instance_effect`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.instance_effect LibreMetaverse.ImportExport.Collada14.material.instance_effect`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn instance_effect(
                &self,
            ) -> libremetaverse::import_export::collada14::Instance_Effect {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.material.instance_effect`.
            pub fn set_instance_effect(
                &mut self,
                value: libremetaverse::import_export::collada14::Instance_Effect,
            ) {
                /* complete generated data model */
                self.property_3 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.material.name`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.material.name`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn name(&self) -> String {
                /* complete generated data model */
                self.property_4.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.material.name`.
            pub fn set_name(&mut self, value: String) {
                /* complete generated data model */
                self.property_4 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.matrix`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.matrix` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Matrix {
            property_0: Vec<f64>,
            property_1: String,
            property_2: String,
        }
        impl Default for Matrix {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                }
            }
        }
        impl Matrix {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.matrix.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.matrix()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.matrix.Values`.
            ///
            /// C# signature: `System.Double[] LibreMetaverse.ImportExport.Collada14.matrix.Values`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn values(&self) -> Vec<f64> {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.matrix.Values`.
            pub fn set_values(&mut self, value: Vec<f64>) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.matrix._Text_`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.matrix._Text_`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn text(&self) -> String {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.matrix._Text_`.
            pub fn set_text(&mut self, value: String) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.matrix.sid`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.matrix.sid`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn sid(&self) -> String {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.matrix.sid`.
            pub fn set_sid(&mut self, value: String) {
                /* complete generated data model */
                self.property_2 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.mesh`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.mesh` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Mesh {
            property_0: Vec<libremetaverse_types::compat::Object>,
            property_1: Vec<libremetaverse::import_export::collada14::Extra>,
            property_2: Vec<libremetaverse::import_export::collada14::Source>,
            property_3: libremetaverse::import_export::collada14::Vertices,
        }
        impl Default for Mesh {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                }
            }
        }
        impl Mesh {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.mesh.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.mesh()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.mesh.Items`.
            ///
            /// C# signature: `System.Object[] LibreMetaverse.ImportExport.Collada14.mesh.Items`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn items(&self) -> Vec<libremetaverse_types::compat::Object> {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.mesh.Items`.
            pub fn set_items(&mut self, value: Vec<libremetaverse_types::compat::Object>) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.mesh.extra`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.extra[] LibreMetaverse.ImportExport.Collada14.mesh.extra`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn extra(&self) -> Vec<libremetaverse::import_export::collada14::Extra> {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.mesh.extra`.
            pub fn set_extra(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Extra>,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.mesh.source`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.source[] LibreMetaverse.ImportExport.Collada14.mesh.source`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn source(&self) -> Vec<libremetaverse::import_export::collada14::Source> {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.mesh.source`.
            pub fn set_source(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Source>,
            ) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.mesh.vertices`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.vertices LibreMetaverse.ImportExport.Collada14.mesh.vertices`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn vertices(&self) -> libremetaverse::import_export::collada14::Vertices {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.mesh.vertices`.
            pub fn set_vertices(
                &mut self,
                value: libremetaverse::import_export::collada14::Vertices,
            ) {
                /* complete generated data model */
                self.property_3 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.morph`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.morph` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Morph {
            property_0: Vec<libremetaverse::import_export::collada14::Extra>,
            property_1: libremetaverse::import_export::collada14::MorphMethodType,
            property_2: Vec<libremetaverse::import_export::collada14::Source>,
            property_3: String,
            property_4: libremetaverse::import_export::collada14::MorphTargets,
        }
        impl Default for Morph {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1:
                        libremetaverse::import_export::collada14::MorphMethodType::NORMALIZED,
                    property_2: Default::default(),
                    property_3: Default::default(),
                    property_4: Default::default(),
                }
            }
        }
        impl Morph {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.morph.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.morph()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.morph.extra`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.extra[] LibreMetaverse.ImportExport.Collada14.morph.extra`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn extra(&self) -> Vec<libremetaverse::import_export::collada14::Extra> {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.morph.extra`.
            pub fn set_extra(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Extra>,
            ) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.morph.method`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.MorphMethodType LibreMetaverse.ImportExport.Collada14.morph.method`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn method(&self) -> libremetaverse::import_export::collada14::MorphMethodType {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.morph.method`.
            pub fn set_method(
                &mut self,
                value: libremetaverse::import_export::collada14::MorphMethodType,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.morph.source`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.source[] LibreMetaverse.ImportExport.Collada14.morph.source`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn source(&self) -> Vec<libremetaverse::import_export::collada14::Source> {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.morph.source`.
            pub fn set_source(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Source>,
            ) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.morph.source1`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.morph.source1`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn source1(&self) -> String {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.morph.source1`.
            pub fn set_source1(&mut self, value: String) {
                /* complete generated data model */
                self.property_3 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.morph.targets`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.morphTargets LibreMetaverse.ImportExport.Collada14.morph.targets`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn targets(&self) -> libremetaverse::import_export::collada14::MorphTargets {
                /* complete generated data model */
                self.property_4.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.morph.targets`.
            pub fn set_targets(
                &mut self,
                value: libremetaverse::import_export::collada14::MorphTargets,
            ) {
                /* complete generated data model */
                self.property_4 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.morphTargets`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.morphTargets` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct MorphTargets {
            property_0: Vec<libremetaverse::import_export::collada14::Extra>,
            property_1: Vec<libremetaverse::import_export::collada14::InputLocal>,
        }
        impl Default for MorphTargets {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                }
            }
        }
        impl MorphTargets {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.morphTargets.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.morphTargets()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.morphTargets.extra`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.extra[] LibreMetaverse.ImportExport.Collada14.morphTargets.extra`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn extra(&self) -> Vec<libremetaverse::import_export::collada14::Extra> {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.morphTargets.extra`.
            pub fn set_extra(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Extra>,
            ) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.morphTargets.input`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.InputLocal[] LibreMetaverse.ImportExport.Collada14.morphTargets.input`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn input(&self) -> Vec<libremetaverse::import_export::collada14::InputLocal> {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.morphTargets.input`.
            pub fn set_input(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::InputLocal>,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.node`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.node` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Node {
            property_0: Vec<libremetaverse_types::compat::Object>,
            property_1: Vec<libremetaverse::import_export::collada14::ItemsChoiceType7>,
            property_2: libremetaverse::import_export::collada14::Asset,
            property_3: Vec<libremetaverse::import_export::collada14::Extra>,
            property_4: String,
            property_5: Vec<libremetaverse::import_export::collada14::InstanceWithExtra>,
            property_6: Vec<libremetaverse::import_export::collada14::Instance_Controller>,
            property_7: Vec<libremetaverse::import_export::collada14::Instance_Geometry>,
            property_8: Vec<libremetaverse::import_export::collada14::InstanceWithExtra>,
            property_9: Vec<libremetaverse::import_export::collada14::InstanceWithExtra>,
            property_10: Vec<String>,
            property_11: String,
            property_12: Vec<libremetaverse::import_export::collada14::Node>,
            property_13: String,
            property_14: libremetaverse::import_export::collada14::NodeType,
        }
        impl Default for Node {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                    property_4: Default::default(),
                    property_5: Default::default(),
                    property_6: Default::default(),
                    property_7: Default::default(),
                    property_8: Default::default(),
                    property_9: Default::default(),
                    property_10: Default::default(),
                    property_11: Default::default(),
                    property_12: Default::default(),
                    property_13: Default::default(),
                    property_14: libremetaverse::import_export::collada14::NodeType::NODE,
                }
            }
        }
        impl Node {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.node.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.node()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.node.Items`.
            ///
            /// C# signature: `System.Object[] LibreMetaverse.ImportExport.Collada14.node.Items`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn items(&self) -> Vec<libremetaverse_types::compat::Object> {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.node.Items`.
            pub fn set_items(&mut self, value: Vec<libremetaverse_types::compat::Object>) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.node.ItemsElementName`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.ItemsChoiceType7[] LibreMetaverse.ImportExport.Collada14.node.ItemsElementName`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn items_element_name(
                &self,
            ) -> Vec<libremetaverse::import_export::collada14::ItemsChoiceType7> {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.node.ItemsElementName`.
            pub fn set_items_element_name(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::ItemsChoiceType7>,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.node.asset`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.asset LibreMetaverse.ImportExport.Collada14.node.asset`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn asset(&self) -> libremetaverse::import_export::collada14::Asset {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.node.asset`.
            pub fn set_asset(&mut self, value: libremetaverse::import_export::collada14::Asset) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.node.extra`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.extra[] LibreMetaverse.ImportExport.Collada14.node.extra`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn extra(&self) -> Vec<libremetaverse::import_export::collada14::Extra> {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.node.extra`.
            pub fn set_extra(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Extra>,
            ) {
                /* complete generated data model */
                self.property_3 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.node.id`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.node.id`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn id(&self) -> String {
                /* complete generated data model */
                self.property_4.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.node.id`.
            pub fn set_id(&mut self, value: String) {
                /* complete generated data model */
                self.property_4 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.node.instance_camera`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.InstanceWithExtra[] LibreMetaverse.ImportExport.Collada14.node.instance_camera`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn instance_camera(
                &self,
            ) -> Vec<libremetaverse::import_export::collada14::InstanceWithExtra> {
                /* complete generated data model */
                self.property_5.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.node.instance_camera`.
            pub fn set_instance_camera(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::InstanceWithExtra>,
            ) {
                /* complete generated data model */
                self.property_5 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.node.instance_controller`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.instance_controller[] LibreMetaverse.ImportExport.Collada14.node.instance_controller`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn instance_controller(
                &self,
            ) -> Vec<libremetaverse::import_export::collada14::Instance_Controller> {
                /* complete generated data model */
                self.property_6.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.node.instance_controller`.
            pub fn set_instance_controller(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Instance_Controller>,
            ) {
                /* complete generated data model */
                self.property_6 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.node.instance_geometry`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.instance_geometry[] LibreMetaverse.ImportExport.Collada14.node.instance_geometry`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn instance_geometry(
                &self,
            ) -> Vec<libremetaverse::import_export::collada14::Instance_Geometry> {
                /* complete generated data model */
                self.property_7.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.node.instance_geometry`.
            pub fn set_instance_geometry(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Instance_Geometry>,
            ) {
                /* complete generated data model */
                self.property_7 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.node.instance_light`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.InstanceWithExtra[] LibreMetaverse.ImportExport.Collada14.node.instance_light`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn instance_light(
                &self,
            ) -> Vec<libremetaverse::import_export::collada14::InstanceWithExtra> {
                /* complete generated data model */
                self.property_8.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.node.instance_light`.
            pub fn set_instance_light(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::InstanceWithExtra>,
            ) {
                /* complete generated data model */
                self.property_8 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.node.instance_node`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.InstanceWithExtra[] LibreMetaverse.ImportExport.Collada14.node.instance_node`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn instance_node(
                &self,
            ) -> Vec<libremetaverse::import_export::collada14::InstanceWithExtra> {
                /* complete generated data model */
                self.property_9.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.node.instance_node`.
            pub fn set_instance_node(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::InstanceWithExtra>,
            ) {
                /* complete generated data model */
                self.property_9 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.node.layer`.
            ///
            /// C# signature: `System.String[] LibreMetaverse.ImportExport.Collada14.node.layer`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn layer(&self) -> Vec<String> {
                /* complete generated data model */
                self.property_10.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.node.layer`.
            pub fn set_layer(&mut self, value: Vec<String>) {
                /* complete generated data model */
                self.property_10 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.node.name`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.node.name`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn name(&self) -> String {
                /* complete generated data model */
                self.property_11.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.node.name`.
            pub fn set_name(&mut self, value: String) {
                /* complete generated data model */
                self.property_11 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.node.node1`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.node[] LibreMetaverse.ImportExport.Collada14.node.node1`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn node1(&self) -> Vec<libremetaverse::import_export::collada14::Node> {
                /* complete generated data model */
                self.property_12.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.node.node1`.
            pub fn set_node1(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Node>,
            ) {
                /* complete generated data model */
                self.property_12 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.node.sid`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.node.sid`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn sid(&self) -> String {
                /* complete generated data model */
                self.property_13.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.node.sid`.
            pub fn set_sid(&mut self, value: String) {
                /* complete generated data model */
                self.property_13 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.node.type`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.NodeType LibreMetaverse.ImportExport.Collada14.node.type`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn type_(&self) -> libremetaverse::import_export::collada14::NodeType {
                /* complete generated data model */
                self.property_14.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.node.type`.
            pub fn set_type_(&mut self, value: libremetaverse::import_export::collada14::NodeType) {
                /* complete generated data model */
                self.property_14 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.param`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.param` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Param {
            property_0: String,
            property_1: String,
            property_2: String,
            property_3: String,
            property_4: String,
        }
        impl Default for Param {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                    property_4: Default::default(),
                }
            }
        }
        impl Param {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.param.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.param()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.param.Value`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.param.Value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.param.Value`.
            pub fn set_value(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.param.name`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.param.name`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn name(&self) -> String {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.param.name`.
            pub fn set_name(&mut self, value: String) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.param.semantic`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.param.semantic`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn semantic(&self) -> String {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.param.semantic`.
            pub fn set_semantic(&mut self, value: String) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.param.sid`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.param.sid`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn sid(&self) -> String {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.param.sid`.
            pub fn set_sid(&mut self, value: String) {
                /* complete generated data model */
                self.property_3 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.param.type`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.param.type`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn type_(&self) -> String {
                /* complete generated data model */
                self.property_4.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.param.type`.
            pub fn set_type_(&mut self, value: String) {
                /* complete generated data model */
                self.property_4 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.physics_material`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.physics_material` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Physics_Material {
            property_0: libremetaverse::import_export::collada14::Asset,
            property_1: Vec<libremetaverse::import_export::collada14::Extra>,
            property_2: String,
            property_3: String,
            property_4: Vec<libremetaverse::import_export::collada14::Technique>,
            property_5: libremetaverse::import_export::collada14::Physics_MaterialTechnique_Common,
        }
        impl Default for Physics_Material {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                    property_4: Default::default(),
                    property_5: Default::default(),
                }
            }
        }
        impl Physics_Material {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.physics_material.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.physics_material()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.physics_material.asset`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.asset LibreMetaverse.ImportExport.Collada14.physics_material.asset`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn asset(&self) -> libremetaverse::import_export::collada14::Asset {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.physics_material.asset`.
            pub fn set_asset(&mut self, value: libremetaverse::import_export::collada14::Asset) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.physics_material.extra`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.extra[] LibreMetaverse.ImportExport.Collada14.physics_material.extra`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn extra(&self) -> Vec<libremetaverse::import_export::collada14::Extra> {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.physics_material.extra`.
            pub fn set_extra(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Extra>,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.physics_material.id`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.physics_material.id`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn id(&self) -> String {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.physics_material.id`.
            pub fn set_id(&mut self, value: String) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.physics_material.name`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.physics_material.name`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn name(&self) -> String {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.physics_material.name`.
            pub fn set_name(&mut self, value: String) {
                /* complete generated data model */
                self.property_3 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.physics_material.technique`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.technique[] LibreMetaverse.ImportExport.Collada14.physics_material.technique`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn technique(&self) -> Vec<libremetaverse::import_export::collada14::Technique> {
                /* complete generated data model */
                self.property_4.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.physics_material.technique`.
            pub fn set_technique(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Technique>,
            ) {
                /* complete generated data model */
                self.property_4 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.physics_material.technique_common`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.physics_materialTechnique_common LibreMetaverse.ImportExport.Collada14.physics_material.technique_common`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn technique_common(
                &self,
            ) -> libremetaverse::import_export::collada14::Physics_MaterialTechnique_Common
            {
                /* complete generated data model */
                self.property_5.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.physics_material.technique_common`.
            pub fn set_technique_common(
                &mut self,
                value: libremetaverse::import_export::collada14::Physics_MaterialTechnique_Common,
            ) {
                /* complete generated data model */
                self.property_5 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.physics_materialTechnique_common`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.physics_materialTechnique_common` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Physics_MaterialTechnique_Common {
            property_0: libremetaverse::import_export::collada14::TargetableFloat,
            property_1: libremetaverse::import_export::collada14::TargetableFloat,
            property_2: libremetaverse::import_export::collada14::TargetableFloat,
        }
        impl Default for Physics_MaterialTechnique_Common {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                }
            }
        }
        impl Physics_MaterialTechnique_Common {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.physics_materialTechnique_common.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.physics_materialTechnique_common()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.physics_materialTechnique_common.dynamic_friction`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.TargetableFloat LibreMetaverse.ImportExport.Collada14.physics_materialTechnique_common.dynamic_friction`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn dynamic_friction(
                &self,
            ) -> libremetaverse::import_export::collada14::TargetableFloat {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.physics_materialTechnique_common.dynamic_friction`.
            pub fn set_dynamic_friction(
                &mut self,
                value: libremetaverse::import_export::collada14::TargetableFloat,
            ) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.physics_materialTechnique_common.restitution`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.TargetableFloat LibreMetaverse.ImportExport.Collada14.physics_materialTechnique_common.restitution`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn restitution(&self) -> libremetaverse::import_export::collada14::TargetableFloat {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.physics_materialTechnique_common.restitution`.
            pub fn set_restitution(
                &mut self,
                value: libremetaverse::import_export::collada14::TargetableFloat,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.physics_materialTechnique_common.static_friction`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.TargetableFloat LibreMetaverse.ImportExport.Collada14.physics_materialTechnique_common.static_friction`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn static_friction(
                &self,
            ) -> libremetaverse::import_export::collada14::TargetableFloat {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.physics_materialTechnique_common.static_friction`.
            pub fn set_static_friction(
                &mut self,
                value: libremetaverse::import_export::collada14::TargetableFloat,
            ) {
                /* complete generated data model */
                self.property_2 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.physics_model`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.physics_model` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Physics_Model {
            property_0: libremetaverse::import_export::collada14::Asset,
            property_1: Vec<libremetaverse::import_export::collada14::Extra>,
            property_2: String,
            property_3: Vec<libremetaverse::import_export::collada14::Instance_Physics_Model>,
            property_4: String,
            property_5: Vec<libremetaverse::import_export::collada14::Rigid_Body>,
            property_6: Vec<libremetaverse::import_export::collada14::Rigid_Constraint>,
        }
        impl Default for Physics_Model {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                    property_4: Default::default(),
                    property_5: Default::default(),
                    property_6: Default::default(),
                }
            }
        }
        impl Physics_Model {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.physics_model.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.physics_model()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.physics_model.asset`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.asset LibreMetaverse.ImportExport.Collada14.physics_model.asset`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn asset(&self) -> libremetaverse::import_export::collada14::Asset {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.physics_model.asset`.
            pub fn set_asset(&mut self, value: libremetaverse::import_export::collada14::Asset) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.physics_model.extra`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.extra[] LibreMetaverse.ImportExport.Collada14.physics_model.extra`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn extra(&self) -> Vec<libremetaverse::import_export::collada14::Extra> {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.physics_model.extra`.
            pub fn set_extra(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Extra>,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.physics_model.id`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.physics_model.id`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn id(&self) -> String {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.physics_model.id`.
            pub fn set_id(&mut self, value: String) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.physics_model.instance_physics_model`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.instance_physics_model[] LibreMetaverse.ImportExport.Collada14.physics_model.instance_physics_model`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn instance_physics_model(
                &self,
            ) -> Vec<libremetaverse::import_export::collada14::Instance_Physics_Model> {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.physics_model.instance_physics_model`.
            pub fn set_instance_physics_model(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Instance_Physics_Model>,
            ) {
                /* complete generated data model */
                self.property_3 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.physics_model.name`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.physics_model.name`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn name(&self) -> String {
                /* complete generated data model */
                self.property_4.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.physics_model.name`.
            pub fn set_name(&mut self, value: String) {
                /* complete generated data model */
                self.property_4 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.physics_model.rigid_body`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.rigid_body[] LibreMetaverse.ImportExport.Collada14.physics_model.rigid_body`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn rigid_body(&self) -> Vec<libremetaverse::import_export::collada14::Rigid_Body> {
                /* complete generated data model */
                self.property_5.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.physics_model.rigid_body`.
            pub fn set_rigid_body(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Rigid_Body>,
            ) {
                /* complete generated data model */
                self.property_5 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.physics_model.rigid_constraint`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.rigid_constraint[] LibreMetaverse.ImportExport.Collada14.physics_model.rigid_constraint`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn rigid_constraint(
                &self,
            ) -> Vec<libremetaverse::import_export::collada14::Rigid_Constraint> {
                /* complete generated data model */
                self.property_6.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.physics_model.rigid_constraint`.
            pub fn set_rigid_constraint(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Rigid_Constraint>,
            ) {
                /* complete generated data model */
                self.property_6 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.physics_scene`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.physics_scene` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Physics_Scene {
            property_0: libremetaverse::import_export::collada14::Asset,
            property_1: Vec<libremetaverse::import_export::collada14::Extra>,
            property_2: String,
            property_3: Vec<libremetaverse::import_export::collada14::InstanceWithExtra>,
            property_4: Vec<libremetaverse::import_export::collada14::Instance_Physics_Model>,
            property_5: String,
            property_6: Vec<libremetaverse::import_export::collada14::Technique>,
            property_7: libremetaverse::import_export::collada14::Physics_SceneTechnique_Common,
        }
        impl Default for Physics_Scene {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                    property_4: Default::default(),
                    property_5: Default::default(),
                    property_6: Default::default(),
                    property_7: Default::default(),
                }
            }
        }
        impl Physics_Scene {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.physics_scene.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.physics_scene()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.physics_scene.asset`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.asset LibreMetaverse.ImportExport.Collada14.physics_scene.asset`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn asset(&self) -> libremetaverse::import_export::collada14::Asset {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.physics_scene.asset`.
            pub fn set_asset(&mut self, value: libremetaverse::import_export::collada14::Asset) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.physics_scene.extra`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.extra[] LibreMetaverse.ImportExport.Collada14.physics_scene.extra`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn extra(&self) -> Vec<libremetaverse::import_export::collada14::Extra> {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.physics_scene.extra`.
            pub fn set_extra(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Extra>,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.physics_scene.id`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.physics_scene.id`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn id(&self) -> String {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.physics_scene.id`.
            pub fn set_id(&mut self, value: String) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.physics_scene.instance_force_field`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.InstanceWithExtra[] LibreMetaverse.ImportExport.Collada14.physics_scene.instance_force_field`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn instance_force_field(
                &self,
            ) -> Vec<libremetaverse::import_export::collada14::InstanceWithExtra> {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.physics_scene.instance_force_field`.
            pub fn set_instance_force_field(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::InstanceWithExtra>,
            ) {
                /* complete generated data model */
                self.property_3 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.physics_scene.instance_physics_model`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.instance_physics_model[] LibreMetaverse.ImportExport.Collada14.physics_scene.instance_physics_model`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn instance_physics_model(
                &self,
            ) -> Vec<libremetaverse::import_export::collada14::Instance_Physics_Model> {
                /* complete generated data model */
                self.property_4.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.physics_scene.instance_physics_model`.
            pub fn set_instance_physics_model(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Instance_Physics_Model>,
            ) {
                /* complete generated data model */
                self.property_4 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.physics_scene.name`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.physics_scene.name`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn name(&self) -> String {
                /* complete generated data model */
                self.property_5.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.physics_scene.name`.
            pub fn set_name(&mut self, value: String) {
                /* complete generated data model */
                self.property_5 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.physics_scene.technique`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.technique[] LibreMetaverse.ImportExport.Collada14.physics_scene.technique`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn technique(&self) -> Vec<libremetaverse::import_export::collada14::Technique> {
                /* complete generated data model */
                self.property_6.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.physics_scene.technique`.
            pub fn set_technique(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Technique>,
            ) {
                /* complete generated data model */
                self.property_6 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.physics_scene.technique_common`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.physics_sceneTechnique_common LibreMetaverse.ImportExport.Collada14.physics_scene.technique_common`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn technique_common(
                &self,
            ) -> libremetaverse::import_export::collada14::Physics_SceneTechnique_Common
            {
                /* complete generated data model */
                self.property_7.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.physics_scene.technique_common`.
            pub fn set_technique_common(
                &mut self,
                value: libremetaverse::import_export::collada14::Physics_SceneTechnique_Common,
            ) {
                /* complete generated data model */
                self.property_7 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.physics_sceneTechnique_common`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.physics_sceneTechnique_common` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Physics_SceneTechnique_Common {
            property_0: libremetaverse::import_export::collada14::TargetableFloat3,
            property_1: libremetaverse::import_export::collada14::TargetableFloat,
        }
        impl Default for Physics_SceneTechnique_Common {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                }
            }
        }
        impl Physics_SceneTechnique_Common {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.physics_sceneTechnique_common.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.physics_sceneTechnique_common()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.physics_sceneTechnique_common.gravity`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.TargetableFloat3 LibreMetaverse.ImportExport.Collada14.physics_sceneTechnique_common.gravity`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn gravity(&self) -> libremetaverse::import_export::collada14::TargetableFloat3 {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.physics_sceneTechnique_common.gravity`.
            pub fn set_gravity(
                &mut self,
                value: libremetaverse::import_export::collada14::TargetableFloat3,
            ) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.physics_sceneTechnique_common.time_step`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.TargetableFloat LibreMetaverse.ImportExport.Collada14.physics_sceneTechnique_common.time_step`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn time_step(&self) -> libremetaverse::import_export::collada14::TargetableFloat {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.physics_sceneTechnique_common.time_step`.
            pub fn set_time_step(
                &mut self,
                value: libremetaverse::import_export::collada14::TargetableFloat,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.plane`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.plane` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Plane {
            property_0: String,
            property_1: Vec<libremetaverse::import_export::collada14::Extra>,
        }
        impl Default for Plane {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                }
            }
        }
        impl Plane {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.plane.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.plane()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.plane.equation`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.plane.equation`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn equation(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.plane.equation`.
            pub fn set_equation(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.plane.extra`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.extra[] LibreMetaverse.ImportExport.Collada14.plane.extra`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn extra(&self) -> Vec<libremetaverse::import_export::collada14::Extra> {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.plane.extra`.
            pub fn set_extra(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Extra>,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.polygons`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.polygons` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Polygons {
            property_0: Vec<libremetaverse_types::compat::Object>,
            property_1: u64,
            property_2: Vec<libremetaverse::import_export::collada14::Extra>,
            property_3: Vec<libremetaverse::import_export::collada14::InputLocalOffset>,
            property_4: String,
            property_5: String,
        }
        impl Default for Polygons {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                    property_4: Default::default(),
                    property_5: Default::default(),
                }
            }
        }
        impl Polygons {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.polygons.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.polygons()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.polygons.Items`.
            ///
            /// C# signature: `System.Object[] LibreMetaverse.ImportExport.Collada14.polygons.Items`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn items(&self) -> Vec<libremetaverse_types::compat::Object> {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.polygons.Items`.
            pub fn set_items(&mut self, value: Vec<libremetaverse_types::compat::Object>) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.polygons.count`.
            ///
            /// C# signature: `System.UInt64 LibreMetaverse.ImportExport.Collada14.polygons.count`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn count(&self) -> u64 {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.polygons.count`.
            pub fn set_count(&mut self, value: u64) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.polygons.extra`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.extra[] LibreMetaverse.ImportExport.Collada14.polygons.extra`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn extra(&self) -> Vec<libremetaverse::import_export::collada14::Extra> {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.polygons.extra`.
            pub fn set_extra(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Extra>,
            ) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.polygons.input`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.InputLocalOffset[] LibreMetaverse.ImportExport.Collada14.polygons.input`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn input(&self) -> Vec<libremetaverse::import_export::collada14::InputLocalOffset> {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.polygons.input`.
            pub fn set_input(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::InputLocalOffset>,
            ) {
                /* complete generated data model */
                self.property_3 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.polygons.material`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.polygons.material`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn material(&self) -> String {
                /* complete generated data model */
                self.property_4.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.polygons.material`.
            pub fn set_material(&mut self, value: String) {
                /* complete generated data model */
                self.property_4 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.polygons.name`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.polygons.name`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn name(&self) -> String {
                /* complete generated data model */
                self.property_5.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.polygons.name`.
            pub fn set_name(&mut self, value: String) {
                /* complete generated data model */
                self.property_5 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.polygonsPH`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.polygonsPH` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct PolygonsPH {
            property_0: Vec<String>,
            property_1: String,
        }
        impl Default for PolygonsPH {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                }
            }
        }
        impl PolygonsPH {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.polygonsPH.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.polygonsPH()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.polygonsPH.h`.
            ///
            /// C# signature: `System.String[] LibreMetaverse.ImportExport.Collada14.polygonsPH.h`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn h(&self) -> Vec<String> {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.polygonsPH.h`.
            pub fn set_h(&mut self, value: Vec<String>) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.polygonsPH.p`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.polygonsPH.p`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn p(&self) -> String {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.polygonsPH.p`.
            pub fn set_p(&mut self, value: String) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.polylist`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.polylist` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Polylist {
            property_0: u64,
            property_1: Vec<libremetaverse::import_export::collada14::Extra>,
            property_2: Vec<libremetaverse::import_export::collada14::InputLocalOffset>,
            property_3: String,
            property_4: String,
            property_5: String,
            property_6: String,
        }
        impl Default for Polylist {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                    property_4: Default::default(),
                    property_5: Default::default(),
                    property_6: Default::default(),
                }
            }
        }
        impl Polylist {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.polylist.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.polylist()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.polylist.count`.
            ///
            /// C# signature: `System.UInt64 LibreMetaverse.ImportExport.Collada14.polylist.count`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn count(&self) -> u64 {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.polylist.count`.
            pub fn set_count(&mut self, value: u64) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.polylist.extra`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.extra[] LibreMetaverse.ImportExport.Collada14.polylist.extra`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn extra(&self) -> Vec<libremetaverse::import_export::collada14::Extra> {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.polylist.extra`.
            pub fn set_extra(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Extra>,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.polylist.input`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.InputLocalOffset[] LibreMetaverse.ImportExport.Collada14.polylist.input`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn input(&self) -> Vec<libremetaverse::import_export::collada14::InputLocalOffset> {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.polylist.input`.
            pub fn set_input(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::InputLocalOffset>,
            ) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.polylist.material`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.polylist.material`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn material(&self) -> String {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.polylist.material`.
            pub fn set_material(&mut self, value: String) {
                /* complete generated data model */
                self.property_3 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.polylist.name`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.polylist.name`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn name(&self) -> String {
                /* complete generated data model */
                self.property_4.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.polylist.name`.
            pub fn set_name(&mut self, value: String) {
                /* complete generated data model */
                self.property_4 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.polylist.p`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.polylist.p`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn p(&self) -> String {
                /* complete generated data model */
                self.property_5.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.polylist.p`.
            pub fn set_p(&mut self, value: String) {
                /* complete generated data model */
                self.property_5 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.polylist.vcount`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.polylist.vcount`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn vcount(&self) -> String {
                /* complete generated data model */
                self.property_6.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.polylist.vcount`.
            pub fn set_vcount(&mut self, value: String) {
                /* complete generated data model */
                self.property_6 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.rigid_body`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.rigid_body` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Rigid_Body {
            property_0: Vec<libremetaverse::import_export::collada14::Extra>,
            property_1: String,
            property_2: String,
            property_3: Vec<libremetaverse::import_export::collada14::Technique>,
            property_4: libremetaverse::import_export::collada14::Rigid_BodyTechnique_Common,
        }
        impl Default for Rigid_Body {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                    property_4: Default::default(),
                }
            }
        }
        impl Rigid_Body {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.rigid_body.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.rigid_body()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.rigid_body.extra`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.extra[] LibreMetaverse.ImportExport.Collada14.rigid_body.extra`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn extra(&self) -> Vec<libremetaverse::import_export::collada14::Extra> {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.rigid_body.extra`.
            pub fn set_extra(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Extra>,
            ) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.rigid_body.name`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.rigid_body.name`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn name(&self) -> String {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.rigid_body.name`.
            pub fn set_name(&mut self, value: String) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.rigid_body.sid`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.rigid_body.sid`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn sid(&self) -> String {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.rigid_body.sid`.
            pub fn set_sid(&mut self, value: String) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.rigid_body.technique`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.technique[] LibreMetaverse.ImportExport.Collada14.rigid_body.technique`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn technique(&self) -> Vec<libremetaverse::import_export::collada14::Technique> {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.rigid_body.technique`.
            pub fn set_technique(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Technique>,
            ) {
                /* complete generated data model */
                self.property_3 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.rigid_body.technique_common`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.rigid_bodyTechnique_common LibreMetaverse.ImportExport.Collada14.rigid_body.technique_common`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn technique_common(
                &self,
            ) -> libremetaverse::import_export::collada14::Rigid_BodyTechnique_Common {
                /* complete generated data model */
                self.property_4.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.rigid_body.technique_common`.
            pub fn set_technique_common(
                &mut self,
                value: libremetaverse::import_export::collada14::Rigid_BodyTechnique_Common,
            ) {
                /* complete generated data model */
                self.property_4 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.rigid_bodyTechnique_common`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.rigid_bodyTechnique_common` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Rigid_BodyTechnique_Common {
            property_0: libremetaverse_types::compat::Object,
            property_1: libremetaverse::import_export::collada14::Rigid_BodyTechnique_CommonDynamic,
            property_2: libremetaverse::import_export::collada14::TargetableFloat3,
            property_3: libremetaverse::import_export::collada14::TargetableFloat,
            property_4: Vec<libremetaverse_types::compat::Object>,
            property_5:
                Vec<libremetaverse::import_export::collada14::Rigid_BodyTechnique_CommonShape>,
        }
        impl Default for Rigid_BodyTechnique_Common {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                    property_4: Default::default(),
                    property_5: Default::default(),
                }
            }
        }
        impl Rigid_BodyTechnique_Common {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.rigid_bodyTechnique_common.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.rigid_bodyTechnique_common()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.rigid_bodyTechnique_common.Item`.
            ///
            /// C# signature: `System.Object LibreMetaverse.ImportExport.Collada14.rigid_bodyTechnique_common.Item`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn item(&self) -> libremetaverse_types::compat::Object {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.rigid_bodyTechnique_common.Item`.
            pub fn set_item(&mut self, value: libremetaverse_types::compat::Object) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.rigid_bodyTechnique_common.dynamic`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.rigid_bodyTechnique_commonDynamic LibreMetaverse.ImportExport.Collada14.rigid_bodyTechnique_common.dynamic`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn dynamic(
                &self,
            ) -> libremetaverse::import_export::collada14::Rigid_BodyTechnique_CommonDynamic
            {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.rigid_bodyTechnique_common.dynamic`.
            pub fn set_dynamic(
                &mut self,
                value: libremetaverse::import_export::collada14::Rigid_BodyTechnique_CommonDynamic,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.rigid_bodyTechnique_common.inertia`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.TargetableFloat3 LibreMetaverse.ImportExport.Collada14.rigid_bodyTechnique_common.inertia`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn inertia(&self) -> libremetaverse::import_export::collada14::TargetableFloat3 {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.rigid_bodyTechnique_common.inertia`.
            pub fn set_inertia(
                &mut self,
                value: libremetaverse::import_export::collada14::TargetableFloat3,
            ) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.rigid_bodyTechnique_common.mass`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.TargetableFloat LibreMetaverse.ImportExport.Collada14.rigid_bodyTechnique_common.mass`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn mass(&self) -> libremetaverse::import_export::collada14::TargetableFloat {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.rigid_bodyTechnique_common.mass`.
            pub fn set_mass(
                &mut self,
                value: libremetaverse::import_export::collada14::TargetableFloat,
            ) {
                /* complete generated data model */
                self.property_3 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.rigid_bodyTechnique_common.mass_frame`.
            ///
            /// C# signature: `System.Object[] LibreMetaverse.ImportExport.Collada14.rigid_bodyTechnique_common.mass_frame`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn mass_frame(&self) -> Vec<libremetaverse_types::compat::Object> {
                /* complete generated data model */
                self.property_4.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.rigid_bodyTechnique_common.mass_frame`.
            pub fn set_mass_frame(&mut self, value: Vec<libremetaverse_types::compat::Object>) {
                /* complete generated data model */
                self.property_4 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.rigid_bodyTechnique_common.shape`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.rigid_bodyTechnique_commonShape[] LibreMetaverse.ImportExport.Collada14.rigid_bodyTechnique_common.shape`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn shape(
                &self,
            ) -> Vec<libremetaverse::import_export::collada14::Rigid_BodyTechnique_CommonShape>
            {
                /* complete generated data model */
                self.property_5.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.rigid_bodyTechnique_common.shape`.
            pub fn set_shape(
                &mut self,
                value: Vec<
                    libremetaverse::import_export::collada14::Rigid_BodyTechnique_CommonShape,
                >,
            ) {
                /* complete generated data model */
                self.property_5 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.rigid_bodyTechnique_commonDynamic`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.rigid_bodyTechnique_commonDynamic` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Rigid_BodyTechnique_CommonDynamic {
            property_0: bool,
            property_1: String,
        }
        impl Default for Rigid_BodyTechnique_CommonDynamic {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                }
            }
        }
        impl Rigid_BodyTechnique_CommonDynamic {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.rigid_bodyTechnique_commonDynamic.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.rigid_bodyTechnique_commonDynamic()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.rigid_bodyTechnique_commonDynamic.Value`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.ImportExport.Collada14.rigid_bodyTechnique_commonDynamic.Value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> bool {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.rigid_bodyTechnique_commonDynamic.Value`.
            pub fn set_value(&mut self, value: bool) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.rigid_bodyTechnique_commonDynamic.sid`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.rigid_bodyTechnique_commonDynamic.sid`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn sid(&self) -> String {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.rigid_bodyTechnique_commonDynamic.sid`.
            pub fn set_sid(&mut self, value: String) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.rigid_bodyTechnique_commonShape`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.rigid_bodyTechnique_commonShape` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Rigid_BodyTechnique_CommonShape {
            property_0: libremetaverse_types::compat::Object,
            property_1: libremetaverse_types::compat::Object,
            property_2: Vec<libremetaverse_types::compat::Object>,
            property_3: libremetaverse::import_export::collada14::TargetableFloat,
            property_4: Vec<libremetaverse::import_export::collada14::Extra>,
            property_5:
                libremetaverse::import_export::collada14::Rigid_BodyTechnique_CommonShapeHollow,
            property_6: libremetaverse::import_export::collada14::TargetableFloat,
        }
        impl Default for Rigid_BodyTechnique_CommonShape {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                    property_4: Default::default(),
                    property_5: Default::default(),
                    property_6: Default::default(),
                }
            }
        }
        impl Rigid_BodyTechnique_CommonShape {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.rigid_bodyTechnique_commonShape.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.rigid_bodyTechnique_commonShape()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.rigid_bodyTechnique_commonShape.Item`.
            ///
            /// C# signature: `System.Object LibreMetaverse.ImportExport.Collada14.rigid_bodyTechnique_commonShape.Item`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn item(&self) -> libremetaverse_types::compat::Object {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.rigid_bodyTechnique_commonShape.Item`.
            pub fn set_item(&mut self, value: libremetaverse_types::compat::Object) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.rigid_bodyTechnique_commonShape.Item1`.
            ///
            /// C# signature: `System.Object LibreMetaverse.ImportExport.Collada14.rigid_bodyTechnique_commonShape.Item1`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn item1(&self) -> libremetaverse_types::compat::Object {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.rigid_bodyTechnique_commonShape.Item1`.
            pub fn set_item1(&mut self, value: libremetaverse_types::compat::Object) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.rigid_bodyTechnique_commonShape.Items`.
            ///
            /// C# signature: `System.Object[] LibreMetaverse.ImportExport.Collada14.rigid_bodyTechnique_commonShape.Items`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn items(&self) -> Vec<libremetaverse_types::compat::Object> {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.rigid_bodyTechnique_commonShape.Items`.
            pub fn set_items(&mut self, value: Vec<libremetaverse_types::compat::Object>) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.rigid_bodyTechnique_commonShape.density`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.TargetableFloat LibreMetaverse.ImportExport.Collada14.rigid_bodyTechnique_commonShape.density`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn density(&self) -> libremetaverse::import_export::collada14::TargetableFloat {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.rigid_bodyTechnique_commonShape.density`.
            pub fn set_density(
                &mut self,
                value: libremetaverse::import_export::collada14::TargetableFloat,
            ) {
                /* complete generated data model */
                self.property_3 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.rigid_bodyTechnique_commonShape.extra`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.extra[] LibreMetaverse.ImportExport.Collada14.rigid_bodyTechnique_commonShape.extra`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn extra(&self) -> Vec<libremetaverse::import_export::collada14::Extra> {
                /* complete generated data model */
                self.property_4.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.rigid_bodyTechnique_commonShape.extra`.
            pub fn set_extra(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Extra>,
            ) {
                /* complete generated data model */
                self.property_4 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.rigid_bodyTechnique_commonShape.hollow`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.rigid_bodyTechnique_commonShapeHollow LibreMetaverse.ImportExport.Collada14.rigid_bodyTechnique_commonShape.hollow`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn hollow(
                &self,
            ) -> libremetaverse::import_export::collada14::Rigid_BodyTechnique_CommonShapeHollow
            {
                /* complete generated data model */
                self.property_5.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.rigid_bodyTechnique_commonShape.hollow`.
            pub fn set_hollow(
                &mut self,
                value: libremetaverse::import_export::collada14::Rigid_BodyTechnique_CommonShapeHollow,
            ) {
                /* complete generated data model */
                self.property_5 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.rigid_bodyTechnique_commonShape.mass`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.TargetableFloat LibreMetaverse.ImportExport.Collada14.rigid_bodyTechnique_commonShape.mass`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn mass(&self) -> libremetaverse::import_export::collada14::TargetableFloat {
                /* complete generated data model */
                self.property_6.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.rigid_bodyTechnique_commonShape.mass`.
            pub fn set_mass(
                &mut self,
                value: libremetaverse::import_export::collada14::TargetableFloat,
            ) {
                /* complete generated data model */
                self.property_6 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.rigid_bodyTechnique_commonShapeHollow`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.rigid_bodyTechnique_commonShapeHollow` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Rigid_BodyTechnique_CommonShapeHollow {
            property_0: bool,
            property_1: String,
        }
        impl Default for Rigid_BodyTechnique_CommonShapeHollow {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                }
            }
        }
        impl Rigid_BodyTechnique_CommonShapeHollow {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.rigid_bodyTechnique_commonShapeHollow.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.rigid_bodyTechnique_commonShapeHollow()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.rigid_bodyTechnique_commonShapeHollow.Value`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.ImportExport.Collada14.rigid_bodyTechnique_commonShapeHollow.Value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> bool {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.rigid_bodyTechnique_commonShapeHollow.Value`.
            pub fn set_value(&mut self, value: bool) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.rigid_bodyTechnique_commonShapeHollow.sid`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.rigid_bodyTechnique_commonShapeHollow.sid`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn sid(&self) -> String {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.rigid_bodyTechnique_commonShapeHollow.sid`.
            pub fn set_sid(&mut self, value: String) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.rigid_constraint`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.rigid_constraint` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Rigid_Constraint {
            property_0: libremetaverse::import_export::collada14::Rigid_ConstraintAttachment,
            property_1: Vec<libremetaverse::import_export::collada14::Extra>,
            property_2: String,
            property_3: libremetaverse::import_export::collada14::Rigid_ConstraintRef_Attachment,
            property_4: String,
            property_5: Vec<libremetaverse::import_export::collada14::Technique>,
            property_6: libremetaverse::import_export::collada14::Rigid_ConstraintTechnique_Common,
        }
        impl Default for Rigid_Constraint {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                    property_4: Default::default(),
                    property_5: Default::default(),
                    property_6: Default::default(),
                }
            }
        }
        impl Rigid_Constraint {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.rigid_constraint.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.rigid_constraint()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.rigid_constraint.attachment`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.rigid_constraintAttachment LibreMetaverse.ImportExport.Collada14.rigid_constraint.attachment`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn attachment(
                &self,
            ) -> libremetaverse::import_export::collada14::Rigid_ConstraintAttachment {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.rigid_constraint.attachment`.
            pub fn set_attachment(
                &mut self,
                value: libremetaverse::import_export::collada14::Rigid_ConstraintAttachment,
            ) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.rigid_constraint.extra`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.extra[] LibreMetaverse.ImportExport.Collada14.rigid_constraint.extra`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn extra(&self) -> Vec<libremetaverse::import_export::collada14::Extra> {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.rigid_constraint.extra`.
            pub fn set_extra(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Extra>,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.rigid_constraint.name`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.rigid_constraint.name`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn name(&self) -> String {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.rigid_constraint.name`.
            pub fn set_name(&mut self, value: String) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.rigid_constraint.ref_attachment`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.rigid_constraintRef_attachment LibreMetaverse.ImportExport.Collada14.rigid_constraint.ref_attachment`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn ref_attachment(
                &self,
            ) -> libremetaverse::import_export::collada14::Rigid_ConstraintRef_Attachment
            {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.rigid_constraint.ref_attachment`.
            pub fn set_ref_attachment(
                &mut self,
                value: libremetaverse::import_export::collada14::Rigid_ConstraintRef_Attachment,
            ) {
                /* complete generated data model */
                self.property_3 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.rigid_constraint.sid`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.rigid_constraint.sid`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn sid(&self) -> String {
                /* complete generated data model */
                self.property_4.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.rigid_constraint.sid`.
            pub fn set_sid(&mut self, value: String) {
                /* complete generated data model */
                self.property_4 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.rigid_constraint.technique`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.technique[] LibreMetaverse.ImportExport.Collada14.rigid_constraint.technique`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn technique(&self) -> Vec<libremetaverse::import_export::collada14::Technique> {
                /* complete generated data model */
                self.property_5.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.rigid_constraint.technique`.
            pub fn set_technique(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Technique>,
            ) {
                /* complete generated data model */
                self.property_5 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.rigid_constraint.technique_common`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.rigid_constraintTechnique_common LibreMetaverse.ImportExport.Collada14.rigid_constraint.technique_common`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn technique_common(
                &self,
            ) -> libremetaverse::import_export::collada14::Rigid_ConstraintTechnique_Common
            {
                /* complete generated data model */
                self.property_6.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.rigid_constraint.technique_common`.
            pub fn set_technique_common(
                &mut self,
                value: libremetaverse::import_export::collada14::Rigid_ConstraintTechnique_Common,
            ) {
                /* complete generated data model */
                self.property_6 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.rigid_constraintAttachment`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.rigid_constraintAttachment` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Rigid_ConstraintAttachment {
            property_0: Vec<libremetaverse_types::compat::Object>,
            property_1: String,
        }
        impl Default for Rigid_ConstraintAttachment {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                }
            }
        }
        impl Rigid_ConstraintAttachment {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.rigid_constraintAttachment.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.rigid_constraintAttachment()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.rigid_constraintAttachment.Items`.
            ///
            /// C# signature: `System.Object[] LibreMetaverse.ImportExport.Collada14.rigid_constraintAttachment.Items`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn items(&self) -> Vec<libremetaverse_types::compat::Object> {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.rigid_constraintAttachment.Items`.
            pub fn set_items(&mut self, value: Vec<libremetaverse_types::compat::Object>) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.rigid_constraintAttachment.rigid_body`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.rigid_constraintAttachment.rigid_body`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn rigid_body(&self) -> String {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.rigid_constraintAttachment.rigid_body`.
            pub fn set_rigid_body(&mut self, value: String) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.rigid_constraintRef_attachment`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.rigid_constraintRef_attachment` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Rigid_ConstraintRef_Attachment {
            property_0: Vec<libremetaverse_types::compat::Object>,
            property_1: String,
        }
        impl Default for Rigid_ConstraintRef_Attachment {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                }
            }
        }
        impl Rigid_ConstraintRef_Attachment {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.rigid_constraintRef_attachment.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.rigid_constraintRef_attachment()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.rigid_constraintRef_attachment.Items`.
            ///
            /// C# signature: `System.Object[] LibreMetaverse.ImportExport.Collada14.rigid_constraintRef_attachment.Items`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn items(&self) -> Vec<libremetaverse_types::compat::Object> {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.rigid_constraintRef_attachment.Items`.
            pub fn set_items(&mut self, value: Vec<libremetaverse_types::compat::Object>) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.rigid_constraintRef_attachment.rigid_body`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.rigid_constraintRef_attachment.rigid_body`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn rigid_body(&self) -> String {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.rigid_constraintRef_attachment.rigid_body`.
            pub fn set_rigid_body(&mut self, value: String) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.rigid_constraintTechnique_common`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.rigid_constraintTechnique_common` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Rigid_ConstraintTechnique_Common {
    property_0: libremetaverse::import_export::collada14::Rigid_ConstraintTechnique_CommonEnabled,
    property_1: libremetaverse::import_export::collada14::Rigid_ConstraintTechnique_CommonInterpenetrate,
    property_2: libremetaverse::import_export::collada14::Rigid_ConstraintTechnique_CommonLimits,
    property_3: libremetaverse::import_export::collada14::Rigid_ConstraintTechnique_CommonSpring,
}
        impl Default for Rigid_ConstraintTechnique_Common {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                }
            }
        }
        impl Rigid_ConstraintTechnique_Common {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.rigid_constraintTechnique_common.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.rigid_constraintTechnique_common()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.rigid_constraintTechnique_common.enabled`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.rigid_constraintTechnique_commonEnabled LibreMetaverse.ImportExport.Collada14.rigid_constraintTechnique_common.enabled`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn enabled(
                &self,
            ) -> libremetaverse::import_export::collada14::Rigid_ConstraintTechnique_CommonEnabled
            {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.rigid_constraintTechnique_common.enabled`.
            pub fn set_enabled(
                &mut self,
                value: libremetaverse::import_export::collada14::Rigid_ConstraintTechnique_CommonEnabled,
            ) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.rigid_constraintTechnique_common.interpenetrate`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.rigid_constraintTechnique_commonInterpenetrate LibreMetaverse.ImportExport.Collada14.rigid_constraintTechnique_common.interpenetrate`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn interpenetrate(&self) -> libremetaverse::import_export::collada14::Rigid_ConstraintTechnique_CommonInterpenetrate{
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.rigid_constraintTechnique_common.interpenetrate`.
            pub fn set_interpenetrate(
                &mut self,
                value: libremetaverse::import_export::collada14::Rigid_ConstraintTechnique_CommonInterpenetrate,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.rigid_constraintTechnique_common.limits`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.rigid_constraintTechnique_commonLimits LibreMetaverse.ImportExport.Collada14.rigid_constraintTechnique_common.limits`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn limits(
                &self,
            ) -> libremetaverse::import_export::collada14::Rigid_ConstraintTechnique_CommonLimits
            {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.rigid_constraintTechnique_common.limits`.
            pub fn set_limits(
                &mut self,
                value: libremetaverse::import_export::collada14::Rigid_ConstraintTechnique_CommonLimits,
            ) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.rigid_constraintTechnique_common.spring`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.rigid_constraintTechnique_commonSpring LibreMetaverse.ImportExport.Collada14.rigid_constraintTechnique_common.spring`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn spring(
                &self,
            ) -> libremetaverse::import_export::collada14::Rigid_ConstraintTechnique_CommonSpring
            {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.rigid_constraintTechnique_common.spring`.
            pub fn set_spring(
                &mut self,
                value: libremetaverse::import_export::collada14::Rigid_ConstraintTechnique_CommonSpring,
            ) {
                /* complete generated data model */
                self.property_3 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.rigid_constraintTechnique_commonEnabled`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.rigid_constraintTechnique_commonEnabled` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Rigid_ConstraintTechnique_CommonEnabled {
            property_0: bool,
            property_1: String,
        }
        impl Default for Rigid_ConstraintTechnique_CommonEnabled {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                }
            }
        }
        impl Rigid_ConstraintTechnique_CommonEnabled {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.rigid_constraintTechnique_commonEnabled.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.rigid_constraintTechnique_commonEnabled()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.rigid_constraintTechnique_commonEnabled.Value`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.ImportExport.Collada14.rigid_constraintTechnique_commonEnabled.Value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> bool {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.rigid_constraintTechnique_commonEnabled.Value`.
            pub fn set_value(&mut self, value: bool) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.rigid_constraintTechnique_commonEnabled.sid`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.rigid_constraintTechnique_commonEnabled.sid`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn sid(&self) -> String {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.rigid_constraintTechnique_commonEnabled.sid`.
            pub fn set_sid(&mut self, value: String) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.rigid_constraintTechnique_commonInterpenetrate`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.rigid_constraintTechnique_commonInterpenetrate` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Rigid_ConstraintTechnique_CommonInterpenetrate {
            property_0: bool,
            property_1: String,
        }
        impl Default for Rigid_ConstraintTechnique_CommonInterpenetrate {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                }
            }
        }
        impl Rigid_ConstraintTechnique_CommonInterpenetrate {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.rigid_constraintTechnique_commonInterpenetrate.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.rigid_constraintTechnique_commonInterpenetrate()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.rigid_constraintTechnique_commonInterpenetrate.Value`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.ImportExport.Collada14.rigid_constraintTechnique_commonInterpenetrate.Value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn value(&self) -> bool {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.rigid_constraintTechnique_commonInterpenetrate.Value`.
            pub fn set_value(&mut self, value: bool) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.rigid_constraintTechnique_commonInterpenetrate.sid`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.rigid_constraintTechnique_commonInterpenetrate.sid`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn sid(&self) -> String {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.rigid_constraintTechnique_commonInterpenetrate.sid`.
            pub fn set_sid(&mut self, value: String) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.rigid_constraintTechnique_commonLimits`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.rigid_constraintTechnique_commonLimits` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Rigid_ConstraintTechnique_CommonLimits {
    property_0: libremetaverse::import_export::collada14::Rigid_ConstraintTechnique_CommonLimitsLinear,
    property_1: libremetaverse::import_export::collada14::Rigid_ConstraintTechnique_CommonLimitsSwing_Cone_And_Twist,
}
        impl Default for Rigid_ConstraintTechnique_CommonLimits {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                }
            }
        }
        impl Rigid_ConstraintTechnique_CommonLimits {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.rigid_constraintTechnique_commonLimits.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.rigid_constraintTechnique_commonLimits()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.rigid_constraintTechnique_commonLimits.linear`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.rigid_constraintTechnique_commonLimitsLinear LibreMetaverse.ImportExport.Collada14.rigid_constraintTechnique_commonLimits.linear`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn linear(&self) -> libremetaverse::import_export::collada14::Rigid_ConstraintTechnique_CommonLimitsLinear{
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.rigid_constraintTechnique_commonLimits.linear`.
            pub fn set_linear(
                &mut self,
                value: libremetaverse::import_export::collada14::Rigid_ConstraintTechnique_CommonLimitsLinear,
            ) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.rigid_constraintTechnique_commonLimits.swing_cone_and_twist`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.rigid_constraintTechnique_commonLimitsSwing_cone_and_twist LibreMetaverse.ImportExport.Collada14.rigid_constraintTechnique_commonLimits.swing_cone_and_twist`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn swing_cone_and_twist(&self) -> libremetaverse::import_export::collada14::Rigid_ConstraintTechnique_CommonLimitsSwing_Cone_And_Twist{
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.rigid_constraintTechnique_commonLimits.swing_cone_and_twist`.
            pub fn set_swing_cone_and_twist(
                &mut self,
                value: libremetaverse::import_export::collada14::Rigid_ConstraintTechnique_CommonLimitsSwing_Cone_And_Twist,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.rigid_constraintTechnique_commonLimitsLinear`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.rigid_constraintTechnique_commonLimitsLinear` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Rigid_ConstraintTechnique_CommonLimitsLinear {
            property_0: libremetaverse::import_export::collada14::TargetableFloat3,
            property_1: libremetaverse::import_export::collada14::TargetableFloat3,
        }
        impl Default for Rigid_ConstraintTechnique_CommonLimitsLinear {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                }
            }
        }
        impl Rigid_ConstraintTechnique_CommonLimitsLinear {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.rigid_constraintTechnique_commonLimitsLinear.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.rigid_constraintTechnique_commonLimitsLinear()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.rigid_constraintTechnique_commonLimitsLinear.max`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.TargetableFloat3 LibreMetaverse.ImportExport.Collada14.rigid_constraintTechnique_commonLimitsLinear.max`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn max(&self) -> libremetaverse::import_export::collada14::TargetableFloat3 {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.rigid_constraintTechnique_commonLimitsLinear.max`.
            pub fn set_max(
                &mut self,
                value: libremetaverse::import_export::collada14::TargetableFloat3,
            ) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.rigid_constraintTechnique_commonLimitsLinear.min`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.TargetableFloat3 LibreMetaverse.ImportExport.Collada14.rigid_constraintTechnique_commonLimitsLinear.min`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn min(&self) -> libremetaverse::import_export::collada14::TargetableFloat3 {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.rigid_constraintTechnique_commonLimitsLinear.min`.
            pub fn set_min(
                &mut self,
                value: libremetaverse::import_export::collada14::TargetableFloat3,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.rigid_constraintTechnique_commonLimitsSwing_cone_and_twist`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.rigid_constraintTechnique_commonLimitsSwing_cone_and_twist` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Rigid_ConstraintTechnique_CommonLimitsSwing_Cone_And_Twist {
            property_0: libremetaverse::import_export::collada14::TargetableFloat3,
            property_1: libremetaverse::import_export::collada14::TargetableFloat3,
        }
        impl Default for Rigid_ConstraintTechnique_CommonLimitsSwing_Cone_And_Twist {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                }
            }
        }
        impl Rigid_ConstraintTechnique_CommonLimitsSwing_Cone_And_Twist {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.rigid_constraintTechnique_commonLimitsSwing_cone_and_twist.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.rigid_constraintTechnique_commonLimitsSwing_cone_and_twist()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.rigid_constraintTechnique_commonLimitsSwing_cone_and_twist.max`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.TargetableFloat3 LibreMetaverse.ImportExport.Collada14.rigid_constraintTechnique_commonLimitsSwing_cone_and_twist.max`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn max(&self) -> libremetaverse::import_export::collada14::TargetableFloat3 {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.rigid_constraintTechnique_commonLimitsSwing_cone_and_twist.max`.
            pub fn set_max(
                &mut self,
                value: libremetaverse::import_export::collada14::TargetableFloat3,
            ) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.rigid_constraintTechnique_commonLimitsSwing_cone_and_twist.min`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.TargetableFloat3 LibreMetaverse.ImportExport.Collada14.rigid_constraintTechnique_commonLimitsSwing_cone_and_twist.min`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn min(&self) -> libremetaverse::import_export::collada14::TargetableFloat3 {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.rigid_constraintTechnique_commonLimitsSwing_cone_and_twist.min`.
            pub fn set_min(
                &mut self,
                value: libremetaverse::import_export::collada14::TargetableFloat3,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.rigid_constraintTechnique_commonSpring`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.rigid_constraintTechnique_commonSpring` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Rigid_ConstraintTechnique_CommonSpring {
    property_0: libremetaverse::import_export::collada14::Rigid_ConstraintTechnique_CommonSpringAngular,
    property_1: libremetaverse::import_export::collada14::Rigid_ConstraintTechnique_CommonSpringLinear,
}
        impl Default for Rigid_ConstraintTechnique_CommonSpring {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                }
            }
        }
        impl Rigid_ConstraintTechnique_CommonSpring {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.rigid_constraintTechnique_commonSpring.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.rigid_constraintTechnique_commonSpring()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.rigid_constraintTechnique_commonSpring.angular`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.rigid_constraintTechnique_commonSpringAngular LibreMetaverse.ImportExport.Collada14.rigid_constraintTechnique_commonSpring.angular`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn angular(&self) -> libremetaverse::import_export::collada14::Rigid_ConstraintTechnique_CommonSpringAngular{
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.rigid_constraintTechnique_commonSpring.angular`.
            pub fn set_angular(
                &mut self,
                value: libremetaverse::import_export::collada14::Rigid_ConstraintTechnique_CommonSpringAngular,
            ) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.rigid_constraintTechnique_commonSpring.linear`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.rigid_constraintTechnique_commonSpringLinear LibreMetaverse.ImportExport.Collada14.rigid_constraintTechnique_commonSpring.linear`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn linear(&self) -> libremetaverse::import_export::collada14::Rigid_ConstraintTechnique_CommonSpringLinear{
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.rigid_constraintTechnique_commonSpring.linear`.
            pub fn set_linear(
                &mut self,
                value: libremetaverse::import_export::collada14::Rigid_ConstraintTechnique_CommonSpringLinear,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.rigid_constraintTechnique_commonSpringAngular`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.rigid_constraintTechnique_commonSpringAngular` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Rigid_ConstraintTechnique_CommonSpringAngular {
            property_0: libremetaverse::import_export::collada14::TargetableFloat,
            property_1: libremetaverse::import_export::collada14::TargetableFloat,
            property_2: libremetaverse::import_export::collada14::TargetableFloat,
        }
        impl Default for Rigid_ConstraintTechnique_CommonSpringAngular {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                }
            }
        }
        impl Rigid_ConstraintTechnique_CommonSpringAngular {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.rigid_constraintTechnique_commonSpringAngular.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.rigid_constraintTechnique_commonSpringAngular()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.rigid_constraintTechnique_commonSpringAngular.damping`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.TargetableFloat LibreMetaverse.ImportExport.Collada14.rigid_constraintTechnique_commonSpringAngular.damping`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn damping(&self) -> libremetaverse::import_export::collada14::TargetableFloat {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.rigid_constraintTechnique_commonSpringAngular.damping`.
            pub fn set_damping(
                &mut self,
                value: libremetaverse::import_export::collada14::TargetableFloat,
            ) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.rigid_constraintTechnique_commonSpringAngular.stiffness`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.TargetableFloat LibreMetaverse.ImportExport.Collada14.rigid_constraintTechnique_commonSpringAngular.stiffness`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn stiffness(&self) -> libremetaverse::import_export::collada14::TargetableFloat {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.rigid_constraintTechnique_commonSpringAngular.stiffness`.
            pub fn set_stiffness(
                &mut self,
                value: libremetaverse::import_export::collada14::TargetableFloat,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.rigid_constraintTechnique_commonSpringAngular.target_value`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.TargetableFloat LibreMetaverse.ImportExport.Collada14.rigid_constraintTechnique_commonSpringAngular.target_value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn target_value(
                &self,
            ) -> libremetaverse::import_export::collada14::TargetableFloat {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.rigid_constraintTechnique_commonSpringAngular.target_value`.
            pub fn set_target_value(
                &mut self,
                value: libremetaverse::import_export::collada14::TargetableFloat,
            ) {
                /* complete generated data model */
                self.property_2 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.rigid_constraintTechnique_commonSpringLinear`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.rigid_constraintTechnique_commonSpringLinear` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Rigid_ConstraintTechnique_CommonSpringLinear {
            property_0: libremetaverse::import_export::collada14::TargetableFloat,
            property_1: libremetaverse::import_export::collada14::TargetableFloat,
            property_2: libremetaverse::import_export::collada14::TargetableFloat,
        }
        impl Default for Rigid_ConstraintTechnique_CommonSpringLinear {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                }
            }
        }
        impl Rigid_ConstraintTechnique_CommonSpringLinear {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.rigid_constraintTechnique_commonSpringLinear.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.rigid_constraintTechnique_commonSpringLinear()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.rigid_constraintTechnique_commonSpringLinear.damping`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.TargetableFloat LibreMetaverse.ImportExport.Collada14.rigid_constraintTechnique_commonSpringLinear.damping`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn damping(&self) -> libremetaverse::import_export::collada14::TargetableFloat {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.rigid_constraintTechnique_commonSpringLinear.damping`.
            pub fn set_damping(
                &mut self,
                value: libremetaverse::import_export::collada14::TargetableFloat,
            ) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.rigid_constraintTechnique_commonSpringLinear.stiffness`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.TargetableFloat LibreMetaverse.ImportExport.Collada14.rigid_constraintTechnique_commonSpringLinear.stiffness`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn stiffness(&self) -> libremetaverse::import_export::collada14::TargetableFloat {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.rigid_constraintTechnique_commonSpringLinear.stiffness`.
            pub fn set_stiffness(
                &mut self,
                value: libremetaverse::import_export::collada14::TargetableFloat,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.rigid_constraintTechnique_commonSpringLinear.target_value`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.TargetableFloat LibreMetaverse.ImportExport.Collada14.rigid_constraintTechnique_commonSpringLinear.target_value`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn target_value(
                &self,
            ) -> libremetaverse::import_export::collada14::TargetableFloat {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.rigid_constraintTechnique_commonSpringLinear.target_value`.
            pub fn set_target_value(
                &mut self,
                value: libremetaverse::import_export::collada14::TargetableFloat,
            ) {
                /* complete generated data model */
                self.property_2 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.rotate`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.rotate` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Rotate {
            property_0: Vec<f64>,
            property_1: String,
            property_2: String,
        }
        impl Default for Rotate {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                }
            }
        }
        impl Rotate {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.rotate.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.rotate()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.rotate.Values`.
            ///
            /// C# signature: `System.Double[] LibreMetaverse.ImportExport.Collada14.rotate.Values`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn values(&self) -> Vec<f64> {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.rotate.Values`.
            pub fn set_values(&mut self, value: Vec<f64>) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.rotate._Text_`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.rotate._Text_`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn text(&self) -> String {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.rotate._Text_`.
            pub fn set_text(&mut self, value: String) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.rotate.sid`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.rotate.sid`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn sid(&self) -> String {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.rotate.sid`.
            pub fn set_sid(&mut self, value: String) {
                /* complete generated data model */
                self.property_2 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.sampler`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.sampler` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Sampler {
            property_0: String,
            property_1: Vec<libremetaverse::import_export::collada14::InputLocal>,
        }
        impl Default for Sampler {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                }
            }
        }
        impl Sampler {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.sampler.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.sampler()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.sampler.id`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.sampler.id`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn id(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.sampler.id`.
            pub fn set_id(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.sampler.input`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.InputLocal[] LibreMetaverse.ImportExport.Collada14.sampler.input`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn input(&self) -> Vec<libremetaverse::import_export::collada14::InputLocal> {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.sampler.input`.
            pub fn set_input(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::InputLocal>,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.skew`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.skew` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Skew {
            property_0: Vec<f64>,
            property_1: String,
            property_2: String,
        }
        impl Default for Skew {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                }
            }
        }
        impl Skew {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.skew.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.skew()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.skew.Values`.
            ///
            /// C# signature: `System.Double[] LibreMetaverse.ImportExport.Collada14.skew.Values`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn values(&self) -> Vec<f64> {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.skew.Values`.
            pub fn set_values(&mut self, value: Vec<f64>) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.skew._Text_`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.skew._Text_`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn text(&self) -> String {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.skew._Text_`.
            pub fn set_text(&mut self, value: String) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.skew.sid`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.skew.sid`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn sid(&self) -> String {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.skew.sid`.
            pub fn set_sid(&mut self, value: String) {
                /* complete generated data model */
                self.property_2 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.skin`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.skin` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Skin {
            property_0: String,
            property_1: Vec<libremetaverse::import_export::collada14::Extra>,
            property_2: libremetaverse::import_export::collada14::SkinJoints,
            property_3: Vec<libremetaverse::import_export::collada14::Source>,
            property_4: String,
            property_5: libremetaverse::import_export::collada14::SkinVertex_Weights,
        }
        impl Default for Skin {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                    property_4: Default::default(),
                    property_5: Default::default(),
                }
            }
        }
        impl Skin {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.skin.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.skin()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.skin.bind_shape_matrix`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.skin.bind_shape_matrix`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn bind_shape_matrix(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.skin.bind_shape_matrix`.
            pub fn set_bind_shape_matrix(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.skin.extra`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.extra[] LibreMetaverse.ImportExport.Collada14.skin.extra`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn extra(&self) -> Vec<libremetaverse::import_export::collada14::Extra> {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.skin.extra`.
            pub fn set_extra(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Extra>,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.skin.joints`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.skinJoints LibreMetaverse.ImportExport.Collada14.skin.joints`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn joints(&self) -> libremetaverse::import_export::collada14::SkinJoints {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.skin.joints`.
            pub fn set_joints(
                &mut self,
                value: libremetaverse::import_export::collada14::SkinJoints,
            ) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.skin.source`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.source[] LibreMetaverse.ImportExport.Collada14.skin.source`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn source(&self) -> Vec<libremetaverse::import_export::collada14::Source> {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.skin.source`.
            pub fn set_source(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Source>,
            ) {
                /* complete generated data model */
                self.property_3 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.skin.source1`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.skin.source1`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn source1(&self) -> String {
                /* complete generated data model */
                self.property_4.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.skin.source1`.
            pub fn set_source1(&mut self, value: String) {
                /* complete generated data model */
                self.property_4 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.skin.vertex_weights`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.skinVertex_weights LibreMetaverse.ImportExport.Collada14.skin.vertex_weights`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn vertex_weights(
                &self,
            ) -> libremetaverse::import_export::collada14::SkinVertex_Weights {
                /* complete generated data model */
                self.property_5.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.skin.vertex_weights`.
            pub fn set_vertex_weights(
                &mut self,
                value: libremetaverse::import_export::collada14::SkinVertex_Weights,
            ) {
                /* complete generated data model */
                self.property_5 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.skinJoints`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.skinJoints` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct SkinJoints {
            property_0: Vec<libremetaverse::import_export::collada14::Extra>,
            property_1: Vec<libremetaverse::import_export::collada14::InputLocal>,
        }
        impl Default for SkinJoints {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                }
            }
        }
        impl SkinJoints {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.skinJoints.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.skinJoints()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.skinJoints.extra`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.extra[] LibreMetaverse.ImportExport.Collada14.skinJoints.extra`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn extra(&self) -> Vec<libremetaverse::import_export::collada14::Extra> {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.skinJoints.extra`.
            pub fn set_extra(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Extra>,
            ) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.skinJoints.input`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.InputLocal[] LibreMetaverse.ImportExport.Collada14.skinJoints.input`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn input(&self) -> Vec<libremetaverse::import_export::collada14::InputLocal> {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.skinJoints.input`.
            pub fn set_input(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::InputLocal>,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.skinVertex_weights`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.skinVertex_weights` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct SkinVertex_Weights {
            property_0: u64,
            property_1: Vec<libremetaverse::import_export::collada14::Extra>,
            property_2: Vec<libremetaverse::import_export::collada14::InputLocalOffset>,
            property_3: String,
            property_4: String,
        }
        impl Default for SkinVertex_Weights {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                    property_4: Default::default(),
                }
            }
        }
        impl SkinVertex_Weights {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.skinVertex_weights.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.skinVertex_weights()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.skinVertex_weights.count`.
            ///
            /// C# signature: `System.UInt64 LibreMetaverse.ImportExport.Collada14.skinVertex_weights.count`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn count(&self) -> u64 {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.skinVertex_weights.count`.
            pub fn set_count(&mut self, value: u64) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.skinVertex_weights.extra`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.extra[] LibreMetaverse.ImportExport.Collada14.skinVertex_weights.extra`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn extra(&self) -> Vec<libremetaverse::import_export::collada14::Extra> {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.skinVertex_weights.extra`.
            pub fn set_extra(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Extra>,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.skinVertex_weights.input`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.InputLocalOffset[] LibreMetaverse.ImportExport.Collada14.skinVertex_weights.input`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn input(&self) -> Vec<libremetaverse::import_export::collada14::InputLocalOffset> {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.skinVertex_weights.input`.
            pub fn set_input(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::InputLocalOffset>,
            ) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.skinVertex_weights.v`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.skinVertex_weights.v`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn v(&self) -> String {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.skinVertex_weights.v`.
            pub fn set_v(&mut self, value: String) {
                /* complete generated data model */
                self.property_3 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.skinVertex_weights.vcount`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.skinVertex_weights.vcount`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn vcount(&self) -> String {
                /* complete generated data model */
                self.property_4.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.skinVertex_weights.vcount`.
            pub fn set_vcount(&mut self, value: String) {
                /* complete generated data model */
                self.property_4 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.source`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.source` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Source {
            property_0: libremetaverse_types::compat::Object,
            property_1: libremetaverse::import_export::collada14::Asset,
            property_2: String,
            property_3: String,
            property_4: Vec<libremetaverse::import_export::collada14::Technique>,
            property_5: libremetaverse::import_export::collada14::SourceTechnique_Common,
        }
        impl Default for Source {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                    property_4: Default::default(),
                    property_5: Default::default(),
                }
            }
        }
        impl Source {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.source.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.source()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.source.Item`.
            ///
            /// C# signature: `System.Object LibreMetaverse.ImportExport.Collada14.source.Item`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn item(&self) -> libremetaverse_types::compat::Object {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.source.Item`.
            pub fn set_item(&mut self, value: libremetaverse_types::compat::Object) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.source.asset`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.asset LibreMetaverse.ImportExport.Collada14.source.asset`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn asset(&self) -> libremetaverse::import_export::collada14::Asset {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.source.asset`.
            pub fn set_asset(&mut self, value: libremetaverse::import_export::collada14::Asset) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.source.id`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.source.id`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn id(&self) -> String {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.source.id`.
            pub fn set_id(&mut self, value: String) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.source.name`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.source.name`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn name(&self) -> String {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.source.name`.
            pub fn set_name(&mut self, value: String) {
                /* complete generated data model */
                self.property_3 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.source.technique`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.technique[] LibreMetaverse.ImportExport.Collada14.source.technique`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn technique(&self) -> Vec<libremetaverse::import_export::collada14::Technique> {
                /* complete generated data model */
                self.property_4.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.source.technique`.
            pub fn set_technique(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Technique>,
            ) {
                /* complete generated data model */
                self.property_4 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.source.technique_common`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.sourceTechnique_common LibreMetaverse.ImportExport.Collada14.source.technique_common`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn technique_common(
                &self,
            ) -> libremetaverse::import_export::collada14::SourceTechnique_Common {
                /* complete generated data model */
                self.property_5.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.source.technique_common`.
            pub fn set_technique_common(
                &mut self,
                value: libremetaverse::import_export::collada14::SourceTechnique_Common,
            ) {
                /* complete generated data model */
                self.property_5 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.sourceTechnique_common`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.sourceTechnique_common` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct SourceTechnique_Common {
            property_0: libremetaverse::import_export::collada14::Accessor,
        }
        impl Default for SourceTechnique_Common {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                }
            }
        }
        impl SourceTechnique_Common {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.sourceTechnique_common.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.sourceTechnique_common()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.sourceTechnique_common.accessor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.accessor LibreMetaverse.ImportExport.Collada14.sourceTechnique_common.accessor`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn accessor(&self) -> libremetaverse::import_export::collada14::Accessor {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.sourceTechnique_common.accessor`.
            pub fn set_accessor(
                &mut self,
                value: libremetaverse::import_export::collada14::Accessor,
            ) {
                /* complete generated data model */
                self.property_0 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.sphere`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.sphere` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Sphere {
            property_0: Vec<libremetaverse::import_export::collada14::Extra>,
            property_1: f64,
        }
        impl Default for Sphere {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                }
            }
        }
        impl Sphere {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.sphere.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.sphere()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.sphere.extra`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.extra[] LibreMetaverse.ImportExport.Collada14.sphere.extra`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn extra(&self) -> Vec<libremetaverse::import_export::collada14::Extra> {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.sphere.extra`.
            pub fn set_extra(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Extra>,
            ) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.sphere.radius`.
            ///
            /// C# signature: `System.Double LibreMetaverse.ImportExport.Collada14.sphere.radius`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn radius(&self) -> f64 {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.sphere.radius`.
            pub fn set_radius(&mut self, value: f64) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.spline`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.spline` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Spline {
            property_0: bool,
            property_1: libremetaverse::import_export::collada14::SplineControl_Vertices,
            property_2: Vec<libremetaverse::import_export::collada14::Extra>,
            property_3: Vec<libremetaverse::import_export::collada14::Source>,
        }
        impl Default for Spline {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: false,
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                }
            }
        }
        impl Spline {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.spline.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.spline()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.spline.closed`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.ImportExport.Collada14.spline.closed`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn closed(&self) -> bool {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.spline.closed`.
            pub fn set_closed(&mut self, value: bool) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.spline.control_vertices`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.splineControl_vertices LibreMetaverse.ImportExport.Collada14.spline.control_vertices`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn control_vertices(
                &self,
            ) -> libremetaverse::import_export::collada14::SplineControl_Vertices {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.spline.control_vertices`.
            pub fn set_control_vertices(
                &mut self,
                value: libremetaverse::import_export::collada14::SplineControl_Vertices,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.spline.extra`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.extra[] LibreMetaverse.ImportExport.Collada14.spline.extra`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn extra(&self) -> Vec<libremetaverse::import_export::collada14::Extra> {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.spline.extra`.
            pub fn set_extra(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Extra>,
            ) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.spline.source`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.source[] LibreMetaverse.ImportExport.Collada14.spline.source`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn source(&self) -> Vec<libremetaverse::import_export::collada14::Source> {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.spline.source`.
            pub fn set_source(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Source>,
            ) {
                /* complete generated data model */
                self.property_3 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.splineControl_vertices`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.splineControl_vertices` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct SplineControl_Vertices {
            property_0: Vec<libremetaverse::import_export::collada14::Extra>,
            property_1: Vec<libremetaverse::import_export::collada14::InputLocal>,
        }
        impl Default for SplineControl_Vertices {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                }
            }
        }
        impl SplineControl_Vertices {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.splineControl_vertices.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.splineControl_vertices()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.splineControl_vertices.extra`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.extra[] LibreMetaverse.ImportExport.Collada14.splineControl_vertices.extra`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn extra(&self) -> Vec<libremetaverse::import_export::collada14::Extra> {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.splineControl_vertices.extra`.
            pub fn set_extra(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Extra>,
            ) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.splineControl_vertices.input`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.InputLocal[] LibreMetaverse.ImportExport.Collada14.splineControl_vertices.input`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn input(&self) -> Vec<libremetaverse::import_export::collada14::InputLocal> {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.splineControl_vertices.input`.
            pub fn set_input(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::InputLocal>,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.tapered_capsule`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.tapered_capsule` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Tapered_Capsule {
            property_0: Vec<libremetaverse::import_export::collada14::Extra>,
            property_1: f64,
            property_2: String,
            property_3: String,
        }
        impl Default for Tapered_Capsule {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                }
            }
        }
        impl Tapered_Capsule {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.tapered_capsule.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.tapered_capsule()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.tapered_capsule.extra`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.extra[] LibreMetaverse.ImportExport.Collada14.tapered_capsule.extra`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn extra(&self) -> Vec<libremetaverse::import_export::collada14::Extra> {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.tapered_capsule.extra`.
            pub fn set_extra(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Extra>,
            ) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.tapered_capsule.height`.
            ///
            /// C# signature: `System.Double LibreMetaverse.ImportExport.Collada14.tapered_capsule.height`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn height(&self) -> f64 {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.tapered_capsule.height`.
            pub fn set_height(&mut self, value: f64) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.tapered_capsule.radius1`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.tapered_capsule.radius1`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn radius1(&self) -> String {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.tapered_capsule.radius1`.
            pub fn set_radius1(&mut self, value: String) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.tapered_capsule.radius2`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.tapered_capsule.radius2`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn radius2(&self) -> String {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.tapered_capsule.radius2`.
            pub fn set_radius2(&mut self, value: String) {
                /* complete generated data model */
                self.property_3 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.tapered_cylinder`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.tapered_cylinder` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Tapered_Cylinder {
            property_0: Vec<libremetaverse::import_export::collada14::Extra>,
            property_1: f64,
            property_2: String,
            property_3: String,
        }
        impl Default for Tapered_Cylinder {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                }
            }
        }
        impl Tapered_Cylinder {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.tapered_cylinder.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.tapered_cylinder()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.tapered_cylinder.extra`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.extra[] LibreMetaverse.ImportExport.Collada14.tapered_cylinder.extra`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn extra(&self) -> Vec<libremetaverse::import_export::collada14::Extra> {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.tapered_cylinder.extra`.
            pub fn set_extra(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Extra>,
            ) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.tapered_cylinder.height`.
            ///
            /// C# signature: `System.Double LibreMetaverse.ImportExport.Collada14.tapered_cylinder.height`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn height(&self) -> f64 {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.tapered_cylinder.height`.
            pub fn set_height(&mut self, value: f64) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.tapered_cylinder.radius1`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.tapered_cylinder.radius1`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn radius1(&self) -> String {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.tapered_cylinder.radius1`.
            pub fn set_radius1(&mut self, value: String) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.tapered_cylinder.radius2`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.tapered_cylinder.radius2`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn radius2(&self) -> String {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.tapered_cylinder.radius2`.
            pub fn set_radius2(&mut self, value: String) {
                /* complete generated data model */
                self.property_3 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.technique`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.technique` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Technique {
            property_0: Vec<libremetaverse_structured_data::xml::Element>,
            property_1: String,
        }
        impl Default for Technique {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                }
            }
        }
        impl Technique {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.technique.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.technique()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.technique.Any`.
            ///
            /// C# signature: `System.Xml.XmlElement[] LibreMetaverse.ImportExport.Collada14.technique.Any`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn any(&self) -> Vec<libremetaverse_structured_data::xml::Element> {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.technique.Any`.
            pub fn set_any(&mut self, value: Vec<libremetaverse_structured_data::xml::Element>) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.technique.profile`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.technique.profile`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn profile(&self) -> String {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.technique.profile`.
            pub fn set_profile(&mut self, value: String) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.triangles`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.triangles` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Triangles {
            property_0: u64,
            property_1: Vec<libremetaverse::import_export::collada14::Extra>,
            property_2: Vec<libremetaverse::import_export::collada14::InputLocalOffset>,
            property_3: String,
            property_4: String,
            property_5: String,
        }
        impl Default for Triangles {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                    property_4: Default::default(),
                    property_5: Default::default(),
                }
            }
        }
        impl Triangles {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.triangles.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.triangles()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.triangles.count`.
            ///
            /// C# signature: `System.UInt64 LibreMetaverse.ImportExport.Collada14.triangles.count`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn count(&self) -> u64 {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.triangles.count`.
            pub fn set_count(&mut self, value: u64) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.triangles.extra`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.extra[] LibreMetaverse.ImportExport.Collada14.triangles.extra`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn extra(&self) -> Vec<libremetaverse::import_export::collada14::Extra> {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.triangles.extra`.
            pub fn set_extra(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Extra>,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.triangles.input`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.InputLocalOffset[] LibreMetaverse.ImportExport.Collada14.triangles.input`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn input(&self) -> Vec<libremetaverse::import_export::collada14::InputLocalOffset> {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.triangles.input`.
            pub fn set_input(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::InputLocalOffset>,
            ) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.triangles.material`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.triangles.material`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn material(&self) -> String {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.triangles.material`.
            pub fn set_material(&mut self, value: String) {
                /* complete generated data model */
                self.property_3 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.triangles.name`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.triangles.name`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn name(&self) -> String {
                /* complete generated data model */
                self.property_4.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.triangles.name`.
            pub fn set_name(&mut self, value: String) {
                /* complete generated data model */
                self.property_4 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.triangles.p`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.triangles.p`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn p(&self) -> String {
                /* complete generated data model */
                self.property_5.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.triangles.p`.
            pub fn set_p(&mut self, value: String) {
                /* complete generated data model */
                self.property_5 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.trifans`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.trifans` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Trifans {
            property_0: u64,
            property_1: Vec<libremetaverse::import_export::collada14::Extra>,
            property_2: Vec<libremetaverse::import_export::collada14::InputLocalOffset>,
            property_3: String,
            property_4: String,
            property_5: Vec<String>,
        }
        impl Default for Trifans {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                    property_4: Default::default(),
                    property_5: Default::default(),
                }
            }
        }
        impl Trifans {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.trifans.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.trifans()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.trifans.count`.
            ///
            /// C# signature: `System.UInt64 LibreMetaverse.ImportExport.Collada14.trifans.count`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn count(&self) -> u64 {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.trifans.count`.
            pub fn set_count(&mut self, value: u64) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.trifans.extra`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.extra[] LibreMetaverse.ImportExport.Collada14.trifans.extra`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn extra(&self) -> Vec<libremetaverse::import_export::collada14::Extra> {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.trifans.extra`.
            pub fn set_extra(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Extra>,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.trifans.input`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.InputLocalOffset[] LibreMetaverse.ImportExport.Collada14.trifans.input`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn input(&self) -> Vec<libremetaverse::import_export::collada14::InputLocalOffset> {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.trifans.input`.
            pub fn set_input(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::InputLocalOffset>,
            ) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.trifans.material`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.trifans.material`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn material(&self) -> String {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.trifans.material`.
            pub fn set_material(&mut self, value: String) {
                /* complete generated data model */
                self.property_3 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.trifans.name`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.trifans.name`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn name(&self) -> String {
                /* complete generated data model */
                self.property_4.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.trifans.name`.
            pub fn set_name(&mut self, value: String) {
                /* complete generated data model */
                self.property_4 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.trifans.p`.
            ///
            /// C# signature: `System.String[] LibreMetaverse.ImportExport.Collada14.trifans.p`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn p(&self) -> Vec<String> {
                /* complete generated data model */
                self.property_5.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.trifans.p`.
            pub fn set_p(&mut self, value: Vec<String>) {
                /* complete generated data model */
                self.property_5 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.tristrips`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.tristrips` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Tristrips {
            property_0: u64,
            property_1: Vec<libremetaverse::import_export::collada14::Extra>,
            property_2: Vec<libremetaverse::import_export::collada14::InputLocalOffset>,
            property_3: String,
            property_4: String,
            property_5: Vec<String>,
        }
        impl Default for Tristrips {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                    property_4: Default::default(),
                    property_5: Default::default(),
                }
            }
        }
        impl Tristrips {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.tristrips.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.tristrips()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.tristrips.count`.
            ///
            /// C# signature: `System.UInt64 LibreMetaverse.ImportExport.Collada14.tristrips.count`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn count(&self) -> u64 {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.tristrips.count`.
            pub fn set_count(&mut self, value: u64) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.tristrips.extra`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.extra[] LibreMetaverse.ImportExport.Collada14.tristrips.extra`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn extra(&self) -> Vec<libremetaverse::import_export::collada14::Extra> {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.tristrips.extra`.
            pub fn set_extra(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Extra>,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.tristrips.input`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.InputLocalOffset[] LibreMetaverse.ImportExport.Collada14.tristrips.input`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn input(&self) -> Vec<libremetaverse::import_export::collada14::InputLocalOffset> {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.tristrips.input`.
            pub fn set_input(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::InputLocalOffset>,
            ) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.tristrips.material`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.tristrips.material`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn material(&self) -> String {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.tristrips.material`.
            pub fn set_material(&mut self, value: String) {
                /* complete generated data model */
                self.property_3 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.tristrips.name`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.tristrips.name`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn name(&self) -> String {
                /* complete generated data model */
                self.property_4.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.tristrips.name`.
            pub fn set_name(&mut self, value: String) {
                /* complete generated data model */
                self.property_4 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.tristrips.p`.
            ///
            /// C# signature: `System.String[] LibreMetaverse.ImportExport.Collada14.tristrips.p`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn p(&self) -> Vec<String> {
                /* complete generated data model */
                self.property_5.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.tristrips.p`.
            pub fn set_p(&mut self, value: Vec<String>) {
                /* complete generated data model */
                self.property_5 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.vertices`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.vertices` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Vertices {
            property_0: Vec<libremetaverse::import_export::collada14::Extra>,
            property_1: String,
            property_2: Vec<libremetaverse::import_export::collada14::InputLocal>,
            property_3: String,
        }
        impl Default for Vertices {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                }
            }
        }
        impl Vertices {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.vertices.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.vertices()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.vertices.extra`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.extra[] LibreMetaverse.ImportExport.Collada14.vertices.extra`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn extra(&self) -> Vec<libremetaverse::import_export::collada14::Extra> {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.vertices.extra`.
            pub fn set_extra(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Extra>,
            ) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.vertices.id`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.vertices.id`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn id(&self) -> String {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.vertices.id`.
            pub fn set_id(&mut self, value: String) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.vertices.input`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.InputLocal[] LibreMetaverse.ImportExport.Collada14.vertices.input`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn input(&self) -> Vec<libremetaverse::import_export::collada14::InputLocal> {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.vertices.input`.
            pub fn set_input(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::InputLocal>,
            ) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.vertices.name`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.vertices.name`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn name(&self) -> String {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.vertices.name`.
            pub fn set_name(&mut self, value: String) {
                /* complete generated data model */
                self.property_3 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.visual_scene`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.visual_scene` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Visual_Scene {
            property_0: libremetaverse::import_export::collada14::Asset,
            property_1: Vec<libremetaverse::import_export::collada14::Visual_SceneEvaluate_Scene>,
            property_2: Vec<libremetaverse::import_export::collada14::Extra>,
            property_3: String,
            property_4: String,
            property_5: Vec<libremetaverse::import_export::collada14::Node>,
        }
        impl Default for Visual_Scene {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                    property_3: Default::default(),
                    property_4: Default::default(),
                    property_5: Default::default(),
                }
            }
        }
        impl Visual_Scene {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.visual_scene.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.visual_scene()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.visual_scene.asset`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.asset LibreMetaverse.ImportExport.Collada14.visual_scene.asset`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn asset(&self) -> libremetaverse::import_export::collada14::Asset {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.visual_scene.asset`.
            pub fn set_asset(&mut self, value: libremetaverse::import_export::collada14::Asset) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.visual_scene.evaluate_scene`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.visual_sceneEvaluate_scene[] LibreMetaverse.ImportExport.Collada14.visual_scene.evaluate_scene`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn evaluate_scene(
                &self,
            ) -> Vec<libremetaverse::import_export::collada14::Visual_SceneEvaluate_Scene>
            {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.visual_scene.evaluate_scene`.
            pub fn set_evaluate_scene(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Visual_SceneEvaluate_Scene>,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.visual_scene.extra`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.extra[] LibreMetaverse.ImportExport.Collada14.visual_scene.extra`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn extra(&self) -> Vec<libremetaverse::import_export::collada14::Extra> {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.visual_scene.extra`.
            pub fn set_extra(
                &mut self,
                value: Vec<libremetaverse::import_export::collada14::Extra>,
            ) {
                /* complete generated data model */
                self.property_2 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.visual_scene.id`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.visual_scene.id`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn id(&self) -> String {
                /* complete generated data model */
                self.property_3.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.visual_scene.id`.
            pub fn set_id(&mut self, value: String) {
                /* complete generated data model */
                self.property_3 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.visual_scene.name`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.visual_scene.name`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn name(&self) -> String {
                /* complete generated data model */
                self.property_4.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.visual_scene.name`.
            pub fn set_name(&mut self, value: String) {
                /* complete generated data model */
                self.property_4 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.visual_scene.node`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.node[] LibreMetaverse.ImportExport.Collada14.visual_scene.node`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn node(&self) -> Vec<libremetaverse::import_export::collada14::Node> {
                /* complete generated data model */
                self.property_5.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.visual_scene.node`.
            pub fn set_node(&mut self, value: Vec<libremetaverse::import_export::collada14::Node>) {
                /* complete generated data model */
                self.property_5 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.visual_sceneEvaluate_scene`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.visual_sceneEvaluate_scene` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Visual_SceneEvaluate_Scene {
            property_0: String,
            property_1:
                Vec<libremetaverse::import_export::collada14::Visual_SceneEvaluate_SceneRender>,
        }
        impl Default for Visual_SceneEvaluate_Scene {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                }
            }
        }
        impl Visual_SceneEvaluate_Scene {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.visual_sceneEvaluate_scene.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.visual_sceneEvaluate_scene()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.visual_sceneEvaluate_scene.name`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.visual_sceneEvaluate_scene.name`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn name(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.visual_sceneEvaluate_scene.name`.
            pub fn set_name(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.visual_sceneEvaluate_scene.render`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.visual_sceneEvaluate_sceneRender[] LibreMetaverse.ImportExport.Collada14.visual_sceneEvaluate_scene.render`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn render(
                &self,
            ) -> Vec<libremetaverse::import_export::collada14::Visual_SceneEvaluate_SceneRender>
            {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.visual_sceneEvaluate_scene.render`.
            pub fn set_render(
                &mut self,
                value: Vec<
                    libremetaverse::import_export::collada14::Visual_SceneEvaluate_SceneRender,
                >,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
        }

        /// C# type: `T:LibreMetaverse.ImportExport.Collada14.visual_sceneEvaluate_sceneRender`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.ImportExport.Collada14.visual_sceneEvaluate_sceneRender` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone)]
        pub struct Visual_SceneEvaluate_SceneRender {
            property_0: String,
            property_1: libremetaverse::import_export::collada14::Instance_Effect,
            property_2: Vec<String>,
        }
        impl Default for Visual_SceneEvaluate_SceneRender {
            fn default() -> Self {
                /* complete generated data model */
                Self {
                    property_0: Default::default(),
                    property_1: Default::default(),
                    property_2: Default::default(),
                }
            }
        }
        impl Visual_SceneEvaluate_SceneRender {
            /// C# member: `M:LibreMetaverse.ImportExport.Collada14.visual_sceneEvaluate_sceneRender.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.visual_sceneEvaluate_sceneRender()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                Ok(/* complete generated data model */ Self::default())
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.visual_sceneEvaluate_sceneRender.camera_node`.
            ///
            /// C# signature: `System.String LibreMetaverse.ImportExport.Collada14.visual_sceneEvaluate_sceneRender.camera_node`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn camera_node(&self) -> String {
                /* complete generated data model */
                self.property_0.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.visual_sceneEvaluate_sceneRender.camera_node`.
            pub fn set_camera_node(&mut self, value: String) {
                /* complete generated data model */
                self.property_0 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.visual_sceneEvaluate_sceneRender.instance_effect`.
            ///
            /// C# signature: `LibreMetaverse.ImportExport.Collada14.instance_effect LibreMetaverse.ImportExport.Collada14.visual_sceneEvaluate_sceneRender.instance_effect`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn instance_effect(
                &self,
            ) -> libremetaverse::import_export::collada14::Instance_Effect {
                /* complete generated data model */
                self.property_1.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.visual_sceneEvaluate_sceneRender.instance_effect`.
            pub fn set_instance_effect(
                &mut self,
                value: libremetaverse::import_export::collada14::Instance_Effect,
            ) {
                /* complete generated data model */
                self.property_1 = value
            }
            /// C# member: `P:LibreMetaverse.ImportExport.Collada14.visual_sceneEvaluate_sceneRender.layer`.
            ///
            /// C# signature: `System.String[] LibreMetaverse.ImportExport.Collada14.visual_sceneEvaluate_sceneRender.layer`.
            /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
            /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
            pub fn layer(&self) -> Vec<String> {
                /* complete generated data model */
                self.property_2.clone()
            }
            /// Setter for C# member: `P:LibreMetaverse.ImportExport.Collada14.visual_sceneEvaluate_sceneRender.layer`.
            pub fn set_layer(&mut self, value: Vec<String>) {
                /* complete generated data model */
                self.property_2 = value
            }
        }
    }
}

pub mod interfaces {
    /// C# type: `T:LibreMetaverse.Interfaces.IByteBufferPool`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Interfaces.IByteBufferPool` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub trait IByteBufferPool {
        /// C# member: `M:LibreMetaverse.Interfaces.IByteBufferPool.LeaseBytes(System.Int32)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Interfaces.IByteBufferPool.LeaseBytes(System.Int32 minSize)`.
        /// Mapping contract: ownership `shared_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        fn lease_bytes(&self, min_size: i32) -> Result<Vec<u8>, crate::Error>;
        /// C# member: `M:LibreMetaverse.Interfaces.IByteBufferPool.ReturnBytes(System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Interfaces.IByteBufferPool.ReturnBytes(System.Byte[] bytes)`.
        /// Mapping contract: ownership `shared_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        fn return_bytes(&self, bytes: Vec<u8>) -> Result<(), crate::Error>;
    }

    /// C# type: `T:LibreMetaverse.Interfaces.IMessage`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Interfaces.IMessage` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub trait IMessage: std::any::Any {
        /// C# member: `M:LibreMetaverse.Interfaces.IMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Interfaces.IMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        fn deserialize(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error>;
        /// C# member: `M:LibreMetaverse.Interfaces.IMessage.Serialize`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Interfaces.IMessage.Serialize()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        fn serialize(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error>;
    }
}

pub mod marketplace {
    /// C# type: `T:LibreMetaverse.Marketplace.MarketplaceErrorEventArgs`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Marketplace.MarketplaceErrorEventArgs` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    /// C# member: `M:LibreMetaverse.Marketplace.MarketplaceErrorEventArgs.#ctor(System.String,System.Exception)`.
    ///
    /// C# signature: `LibreMetaverse.Marketplace.MarketplaceErrorEventArgs(System.String message, System.Exception ex = default)`.
    /// Mapping contract: ownership `owned,optional_shared`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `P:LibreMetaverse.Marketplace.MarketplaceErrorEventArgs.Exception`.
    ///
    /// C# signature: `System.Exception LibreMetaverse.Marketplace.MarketplaceErrorEventArgs.Exception`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    /// C# member: `P:LibreMetaverse.Marketplace.MarketplaceErrorEventArgs.Message`.
    ///
    /// C# signature: `System.String LibreMetaverse.Marketplace.MarketplaceErrorEventArgs.Message`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub use crate::marketplace_runtime::MarketplaceErrorEventArgs;

    /// C# type: `T:LibreMetaverse.Marketplace.MarketplaceFolderClassifier`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Marketplace.MarketplaceFolderClassifier` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    /// C# member: `M:LibreMetaverse.Marketplace.MarketplaceFolderClassifier.GetAllListingFolderIds(LibreMetaverse.Inventory)`.
    ///
    /// C# signature: `System.Collections.Generic.IReadOnlyList<LibreMetaverse.UUID> LibreMetaverse.Marketplace.MarketplaceFolderClassifier.GetAllListingFolderIds(LibreMetaverse.Inventory inventory)`.
    /// Mapping contract: ownership `shared_borrow`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Marketplace.MarketplaceFolderClassifier.GetListingFolder(LibreMetaverse.UUID,LibreMetaverse.Inventory)`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Marketplace.MarketplaceFolderClassifier.GetListingFolder(LibreMetaverse.UUID folderId, LibreMetaverse.Inventory inventory)`.
    /// Mapping contract: ownership `owned,shared_borrow`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Marketplace.MarketplaceFolderClassifier.GetListingsRoot(LibreMetaverse.Inventory)`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Marketplace.MarketplaceFolderClassifier.GetListingsRoot(LibreMetaverse.Inventory inventory)`.
    /// Mapping contract: ownership `shared_borrow`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Marketplace.MarketplaceFolderClassifier.GetRole(LibreMetaverse.UUID,LibreMetaverse.Inventory)`.
    ///
    /// C# signature: `LibreMetaverse.Marketplace.MarketplaceFolderRole LibreMetaverse.Marketplace.MarketplaceFolderClassifier.GetRole(LibreMetaverse.UUID folderId, LibreMetaverse.Inventory inventory)`.
    /// Mapping contract: ownership `owned,shared_borrow`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Marketplace.MarketplaceFolderClassifier.GetStockCount(LibreMetaverse.UUID,LibreMetaverse.Inventory)`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.Marketplace.MarketplaceFolderClassifier.GetStockCount(LibreMetaverse.UUID versionFolderUUID, LibreMetaverse.Inventory inventory)`.
    /// Mapping contract: ownership `owned,shared_borrow`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Marketplace.MarketplaceFolderClassifier.GetVersionFolder(LibreMetaverse.UUID,LibreMetaverse.Inventory)`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Marketplace.MarketplaceFolderClassifier.GetVersionFolder(LibreMetaverse.UUID listingFolderUUID, LibreMetaverse.Inventory inventory)`.
    /// Mapping contract: ownership `owned,shared_borrow`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Marketplace.MarketplaceFolderClassifier.IsMarketplaceFolder(LibreMetaverse.UUID,LibreMetaverse.Inventory)`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.Marketplace.MarketplaceFolderClassifier.IsMarketplaceFolder(LibreMetaverse.UUID folderId, LibreMetaverse.Inventory inventory)`.
    /// Mapping contract: ownership `owned,shared_borrow`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Marketplace.MarketplaceFolderClassifier.ValidateListing(LibreMetaverse.UUID,LibreMetaverse.Inventory)`.
    ///
    /// C# signature: `LibreMetaverse.Marketplace.MarketplaceValidationFlags LibreMetaverse.Marketplace.MarketplaceFolderClassifier.ValidateListing(LibreMetaverse.UUID listingFolderUUID, LibreMetaverse.Inventory inventory)`.
    /// Mapping contract: ownership `owned,shared_borrow`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub use crate::marketplace_runtime::MarketplaceFolderClassifier;

    /// C# type: `T:LibreMetaverse.Marketplace.MarketplaceFolderRole`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Marketplace.MarketplaceFolderRole` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    #[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
    #[repr(i32)]
    pub enum MarketplaceFolderRole {
        /// C# member: `F:LibreMetaverse.Marketplace.MarketplaceFolderRole.Content`.
        ///
        /// C# signature: `LibreMetaverse.Marketplace.MarketplaceFolderRole LibreMetaverse.Marketplace.MarketplaceFolderRole.Content`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        Content = 5,
        /// C# member: `F:LibreMetaverse.Marketplace.MarketplaceFolderRole.Listing`.
        ///
        /// C# signature: `LibreMetaverse.Marketplace.MarketplaceFolderRole LibreMetaverse.Marketplace.MarketplaceFolderRole.Listing`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        Listing = 2,
        /// C# member: `F:LibreMetaverse.Marketplace.MarketplaceFolderRole.ListingsRoot`.
        ///
        /// C# signature: `LibreMetaverse.Marketplace.MarketplaceFolderRole LibreMetaverse.Marketplace.MarketplaceFolderRole.ListingsRoot`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        ListingsRoot = 1,
        /// C# member: `F:LibreMetaverse.Marketplace.MarketplaceFolderRole.None`.
        ///
        /// C# signature: `LibreMetaverse.Marketplace.MarketplaceFolderRole LibreMetaverse.Marketplace.MarketplaceFolderRole.None`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        None = 0,
        /// C# member: `F:LibreMetaverse.Marketplace.MarketplaceFolderRole.Stock`.
        ///
        /// C# signature: `LibreMetaverse.Marketplace.MarketplaceFolderRole LibreMetaverse.Marketplace.MarketplaceFolderRole.Stock`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        Stock = 4,
        /// C# member: `F:LibreMetaverse.Marketplace.MarketplaceFolderRole.Version`.
        ///
        /// C# signature: `LibreMetaverse.Marketplace.MarketplaceFolderRole LibreMetaverse.Marketplace.MarketplaceFolderRole.Version`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        Version = 3,
    }

    /// C# type: `T:LibreMetaverse.Marketplace.MarketplaceListing`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Marketplace.MarketplaceListing` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    /// C# member: `M:LibreMetaverse.Marketplace.MarketplaceListing.#ctor`.
    ///
    /// C# signature: `LibreMetaverse.Marketplace.MarketplaceListing()`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `P:LibreMetaverse.Marketplace.MarketplaceListing.EditUrl`.
    ///
    /// C# signature: `System.String LibreMetaverse.Marketplace.MarketplaceListing.EditUrl`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    /// C# member: `P:LibreMetaverse.Marketplace.MarketplaceListing.LastSyncUtc`.
    ///
    /// C# signature: `System.DateTime LibreMetaverse.Marketplace.MarketplaceListing.LastSyncUtc`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    /// C# member: `P:LibreMetaverse.Marketplace.MarketplaceListing.ListingFolderUUID`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Marketplace.MarketplaceListing.ListingFolderUUID`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    /// C# member: `P:LibreMetaverse.Marketplace.MarketplaceListing.ListingId`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.Marketplace.MarketplaceListing.ListingId`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    /// C# member: `P:LibreMetaverse.Marketplace.MarketplaceListing.Status`.
    ///
    /// C# signature: `LibreMetaverse.Marketplace.MarketplaceListingStatus LibreMetaverse.Marketplace.MarketplaceListing.Status`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    /// C# member: `P:LibreMetaverse.Marketplace.MarketplaceListing.StockCount`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.Marketplace.MarketplaceListing.StockCount`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    /// C# member: `P:LibreMetaverse.Marketplace.MarketplaceListing.VersionFolderUUID`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Marketplace.MarketplaceListing.VersionFolderUUID`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub use crate::marketplace_runtime::MarketplaceListing;

    /// C# type: `T:LibreMetaverse.Marketplace.MarketplaceListingChangedEventArgs`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Marketplace.MarketplaceListingChangedEventArgs` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    /// C# member: `M:LibreMetaverse.Marketplace.MarketplaceListingChangedEventArgs.#ctor(System.Int32,LibreMetaverse.Marketplace.MarketplaceListing)`.
    ///
    /// C# signature: `LibreMetaverse.Marketplace.MarketplaceListingChangedEventArgs(System.Int32 listingId, LibreMetaverse.Marketplace.MarketplaceListing listing = default)`.
    /// Mapping contract: ownership `owned,optional_shared`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `P:LibreMetaverse.Marketplace.MarketplaceListingChangedEventArgs.Listing`.
    ///
    /// C# signature: `LibreMetaverse.Marketplace.MarketplaceListing LibreMetaverse.Marketplace.MarketplaceListingChangedEventArgs.Listing`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    /// C# member: `P:LibreMetaverse.Marketplace.MarketplaceListingChangedEventArgs.ListingId`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.Marketplace.MarketplaceListingChangedEventArgs.ListingId`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub use crate::marketplace_runtime::MarketplaceListingChangedEventArgs;

    /// C# type: `T:LibreMetaverse.Marketplace.MarketplaceListingStatus`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Marketplace.MarketplaceListingStatus` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    #[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
    #[repr(i32)]
    pub enum MarketplaceListingStatus {
        /// C# member: `F:LibreMetaverse.Marketplace.MarketplaceListingStatus.Listed`.
        ///
        /// C# signature: `LibreMetaverse.Marketplace.MarketplaceListingStatus LibreMetaverse.Marketplace.MarketplaceListingStatus.Listed`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        Listed = 0,
        /// C# member: `F:LibreMetaverse.Marketplace.MarketplaceListingStatus.Unknown`.
        ///
        /// C# signature: `LibreMetaverse.Marketplace.MarketplaceListingStatus LibreMetaverse.Marketplace.MarketplaceListingStatus.Unknown`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        Unknown = 2,
        /// C# member: `F:LibreMetaverse.Marketplace.MarketplaceListingStatus.Unlisted`.
        ///
        /// C# signature: `LibreMetaverse.Marketplace.MarketplaceListingStatus LibreMetaverse.Marketplace.MarketplaceListingStatus.Unlisted`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        Unlisted = 1,
    }

    /// C# type: `T:LibreMetaverse.Marketplace.MarketplaceListingsSyncedEventArgs`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Marketplace.MarketplaceListingsSyncedEventArgs` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    /// C# member: `M:LibreMetaverse.Marketplace.MarketplaceListingsSyncedEventArgs.#ctor(System.Collections.Generic.IReadOnlyList{LibreMetaverse.Marketplace.MarketplaceListing})`.
    ///
    /// C# signature: `LibreMetaverse.Marketplace.MarketplaceListingsSyncedEventArgs(System.Collections.Generic.IReadOnlyList<LibreMetaverse.Marketplace.MarketplaceListing> listings)`.
    /// Mapping contract: ownership `owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `P:LibreMetaverse.Marketplace.MarketplaceListingsSyncedEventArgs.Listings`.
    ///
    /// C# signature: `System.Collections.Generic.IReadOnlyList<LibreMetaverse.Marketplace.MarketplaceListing> LibreMetaverse.Marketplace.MarketplaceListingsSyncedEventArgs.Listings`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub use crate::marketplace_runtime::MarketplaceListingsSyncedEventArgs;

    /// C# type: `T:LibreMetaverse.Marketplace.MarketplaceManager`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Marketplace.MarketplaceManager` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    /// C# member: `E:LibreMetaverse.Marketplace.MarketplaceManager.Error`.
    ///
    /// C# signature: `System.EventHandler<LibreMetaverse.Marketplace.MarketplaceErrorEventArgs> LibreMetaverse.Marketplace.MarketplaceManager.Error`.
    /// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
    /// C# member: `E:LibreMetaverse.Marketplace.MarketplaceManager.ListingChanged`.
    ///
    /// C# signature: `System.EventHandler<LibreMetaverse.Marketplace.MarketplaceListingChangedEventArgs> LibreMetaverse.Marketplace.MarketplaceManager.ListingChanged`.
    /// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
    /// C# member: `E:LibreMetaverse.Marketplace.MarketplaceManager.ListingsSynced`.
    ///
    /// C# signature: `System.EventHandler<LibreMetaverse.Marketplace.MarketplaceListingsSyncedEventArgs> LibreMetaverse.Marketplace.MarketplaceManager.ListingsSynced`.
    /// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
    /// C# member: `M:LibreMetaverse.Marketplace.MarketplaceManager.#ctor(LibreMetaverse.GridClient)`.
    ///
    /// C# signature: `LibreMetaverse.Marketplace.MarketplaceManager(LibreMetaverse.GridClient client)`.
    /// Mapping contract: ownership `owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Marketplace.MarketplaceManager.ActivateListingAsync(System.Int32,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<System.Boolean> LibreMetaverse.Marketplace.MarketplaceManager.ActivateListingAsync(System.Int32 listingId, System.Threading.CancellationToken ct = default)`.
    /// Mapping contract: ownership `shared_self,owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Marketplace.MarketplaceManager.CreateListingAsync(LibreMetaverse.UUID,LibreMetaverse.UUID,System.String,System.Int32,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<LibreMetaverse.Marketplace.MarketplaceListing> LibreMetaverse.Marketplace.MarketplaceManager.CreateListingAsync(LibreMetaverse.UUID listingFolderUUID, LibreMetaverse.UUID versionFolderUUID, System.String name, System.Int32 countOnHand = default, System.Threading.CancellationToken ct = default)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,optional_owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Marketplace.MarketplaceManager.DeactivateListingAsync(System.Int32,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<System.Boolean> LibreMetaverse.Marketplace.MarketplaceManager.DeactivateListingAsync(System.Int32 listingId, System.Threading.CancellationToken ct = default)`.
    /// Mapping contract: ownership `shared_self,owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Marketplace.MarketplaceManager.DeleteListingAsync(System.Int32,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<System.Boolean> LibreMetaverse.Marketplace.MarketplaceManager.DeleteListingAsync(System.Int32 listingId, System.Threading.CancellationToken ct = default)`.
    /// Mapping contract: ownership `shared_self,owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Marketplace.MarketplaceManager.FetchListingsAsync(System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task LibreMetaverse.Marketplace.MarketplaceManager.FetchListingsAsync(System.Threading.CancellationToken ct = default)`.
    /// Mapping contract: ownership `shared_self,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Marketplace.MarketplaceManager.TryGetByFolder(LibreMetaverse.UUID,LibreMetaverse.Marketplace.MarketplaceListing@)`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.Marketplace.MarketplaceManager.TryGetByFolder(LibreMetaverse.UUID folderUUID, out LibreMetaverse.Marketplace.MarketplaceListing& listing)`.
    /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Marketplace.MarketplaceManager.TryGetById(System.Int32,LibreMetaverse.Marketplace.MarketplaceListing@)`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.Marketplace.MarketplaceManager.TryGetById(System.Int32 listingId, out LibreMetaverse.Marketplace.MarketplaceListing& listing)`.
    /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
    /// C# member: `P:LibreMetaverse.Marketplace.MarketplaceManager.ListingsByFolder`.
    ///
    /// C# signature: `System.Collections.Generic.IReadOnlyDictionary<LibreMetaverse.UUID, LibreMetaverse.Marketplace.MarketplaceListing> LibreMetaverse.Marketplace.MarketplaceManager.ListingsByFolder`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    /// C# member: `P:LibreMetaverse.Marketplace.MarketplaceManager.ListingsById`.
    ///
    /// C# signature: `System.Collections.Generic.IReadOnlyDictionary<System.Int32, LibreMetaverse.Marketplace.MarketplaceListing> LibreMetaverse.Marketplace.MarketplaceManager.ListingsById`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub use crate::marketplace_runtime::MarketplaceManager;

    /// C# type: `T:LibreMetaverse.Marketplace.MarketplaceValidationFlags`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Marketplace.MarketplaceValidationFlags` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    #[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
    #[repr(transparent)]
    pub struct MarketplaceValidationFlags(pub i32);
    impl MarketplaceValidationFlags {
        /// C# member: `F:LibreMetaverse.Marketplace.MarketplaceValidationFlags.EmptyListing`.
        ///
        /// C# signature: `LibreMetaverse.Marketplace.MarketplaceValidationFlags LibreMetaverse.Marketplace.MarketplaceValidationFlags.EmptyListing`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub const EMPTY_LISTING: Self = Self(4);
        /// C# member: `F:LibreMetaverse.Marketplace.MarketplaceValidationFlags.InvalidStructure`.
        ///
        /// C# signature: `LibreMetaverse.Marketplace.MarketplaceValidationFlags LibreMetaverse.Marketplace.MarketplaceValidationFlags.InvalidStructure`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub const INVALID_STRUCTURE: Self = Self(32);
        /// C# member: `F:LibreMetaverse.Marketplace.MarketplaceValidationFlags.MissingVersionFolder`.
        ///
        /// C# signature: `LibreMetaverse.Marketplace.MarketplaceValidationFlags LibreMetaverse.Marketplace.MarketplaceValidationFlags.MissingVersionFolder`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub const MISSING_VERSION_FOLDER: Self = Self(1);
        /// C# member: `F:LibreMetaverse.Marketplace.MarketplaceValidationFlags.MultipleVersionFolders`.
        ///
        /// C# signature: `LibreMetaverse.Marketplace.MarketplaceValidationFlags LibreMetaverse.Marketplace.MarketplaceValidationFlags.MultipleVersionFolders`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub const MULTIPLE_VERSION_FOLDERS: Self = Self(2);
        /// C# member: `F:LibreMetaverse.Marketplace.MarketplaceValidationFlags.NotRegisteredWithServer`.
        ///
        /// C# signature: `LibreMetaverse.Marketplace.MarketplaceValidationFlags LibreMetaverse.Marketplace.MarketplaceValidationFlags.NotRegisteredWithServer`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub const NOT_REGISTERED_WITH_SERVER: Self = Self(8);
        /// C# member: `F:LibreMetaverse.Marketplace.MarketplaceValidationFlags.ServerMetadataMismatch`.
        ///
        /// C# signature: `LibreMetaverse.Marketplace.MarketplaceValidationFlags LibreMetaverse.Marketplace.MarketplaceValidationFlags.ServerMetadataMismatch`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub const SERVER_METADATA_MISMATCH: Self = Self(16);
        /// C# member: `F:LibreMetaverse.Marketplace.MarketplaceValidationFlags.Valid`.
        ///
        /// C# signature: `LibreMetaverse.Marketplace.MarketplaceValidationFlags LibreMetaverse.Marketplace.MarketplaceValidationFlags.Valid`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub const VALID: Self = Self(0);
    }
}

pub mod materials {
    /// C# type: `T:LibreMetaverse.Materials.LegacyMaterial`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Materials.LegacyMaterial` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    /// C# member: `M:LibreMetaverse.Materials.LegacyMaterial.#ctor`.
    ///
    /// C# signature: `LibreMetaverse.Materials.LegacyMaterial()`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    /// C# member: `M:LibreMetaverse.Materials.LegacyMaterial.#ctor(LibreMetaverse.StructuredData.OSDMap)`.
    ///
    /// C# signature: `LibreMetaverse.Materials.LegacyMaterial(LibreMetaverse.StructuredData.OSDMap mapOrig)`.
    /// Mapping contract: ownership `owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    /// C# member: `P:LibreMetaverse.Materials.LegacyMaterial.AlphaMaskCutoff`.
    ///
    /// C# signature: `System.Byte LibreMetaverse.Materials.LegacyMaterial.AlphaMaskCutoff`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    /// C# member: `P:LibreMetaverse.Materials.LegacyMaterial.DiffuseAlphaMode`.
    ///
    /// C# signature: `LibreMetaverse.Materials.LegacyMaterialAlphaMode LibreMetaverse.Materials.LegacyMaterial.DiffuseAlphaMode`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    /// C# member: `P:LibreMetaverse.Materials.LegacyMaterial.EnvironmentIntensity`.
    ///
    /// C# signature: `System.Byte LibreMetaverse.Materials.LegacyMaterial.EnvironmentIntensity`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    /// C# member: `P:LibreMetaverse.Materials.LegacyMaterial.ID`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Materials.LegacyMaterial.ID`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    /// C# member: `P:LibreMetaverse.Materials.LegacyMaterial.NormalMap`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Materials.LegacyMaterial.NormalMap`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    /// C# member: `P:LibreMetaverse.Materials.LegacyMaterial.NormalMapOffsetX`.
    ///
    /// C# signature: `System.Double LibreMetaverse.Materials.LegacyMaterial.NormalMapOffsetX`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    /// C# member: `P:LibreMetaverse.Materials.LegacyMaterial.NormalMapOffsetY`.
    ///
    /// C# signature: `System.Double LibreMetaverse.Materials.LegacyMaterial.NormalMapOffsetY`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    /// C# member: `P:LibreMetaverse.Materials.LegacyMaterial.NormalMapRepeatX`.
    ///
    /// C# signature: `System.Double LibreMetaverse.Materials.LegacyMaterial.NormalMapRepeatX`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    /// C# member: `P:LibreMetaverse.Materials.LegacyMaterial.NormalMapRepeatY`.
    ///
    /// C# signature: `System.Double LibreMetaverse.Materials.LegacyMaterial.NormalMapRepeatY`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    /// C# member: `P:LibreMetaverse.Materials.LegacyMaterial.NormalMapRotation`.
    ///
    /// C# signature: `System.Double LibreMetaverse.Materials.LegacyMaterial.NormalMapRotation`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    /// C# member: `P:LibreMetaverse.Materials.LegacyMaterial.SpecularColor`.
    ///
    /// C# signature: `LibreMetaverse.Color4 LibreMetaverse.Materials.LegacyMaterial.SpecularColor`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    /// C# member: `P:LibreMetaverse.Materials.LegacyMaterial.SpecularExponent`.
    ///
    /// C# signature: `System.Byte LibreMetaverse.Materials.LegacyMaterial.SpecularExponent`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    /// C# member: `P:LibreMetaverse.Materials.LegacyMaterial.SpecularMap`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Materials.LegacyMaterial.SpecularMap`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    /// C# member: `P:LibreMetaverse.Materials.LegacyMaterial.SpecularMapOffsetX`.
    ///
    /// C# signature: `System.Double LibreMetaverse.Materials.LegacyMaterial.SpecularMapOffsetX`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    /// C# member: `P:LibreMetaverse.Materials.LegacyMaterial.SpecularMapOffsetY`.
    ///
    /// C# signature: `System.Double LibreMetaverse.Materials.LegacyMaterial.SpecularMapOffsetY`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    /// C# member: `P:LibreMetaverse.Materials.LegacyMaterial.SpecularMapRepeatX`.
    ///
    /// C# signature: `System.Double LibreMetaverse.Materials.LegacyMaterial.SpecularMapRepeatX`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    /// C# member: `P:LibreMetaverse.Materials.LegacyMaterial.SpecularMapRepeatY`.
    ///
    /// C# signature: `System.Double LibreMetaverse.Materials.LegacyMaterial.SpecularMapRepeatY`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    /// C# member: `P:LibreMetaverse.Materials.LegacyMaterial.SpecularMapRotation`.
    ///
    /// C# signature: `System.Double LibreMetaverse.Materials.LegacyMaterial.SpecularMapRotation`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub use crate::object_model::LegacyMaterial;

    /// C# type: `T:LibreMetaverse.Materials.LegacyMaterialAlphaMode`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Materials.LegacyMaterialAlphaMode` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    #[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
    #[repr(u8)]
    pub enum LegacyMaterialAlphaMode {
        /// C# member: `F:LibreMetaverse.Materials.LegacyMaterialAlphaMode.Blend`.
        ///
        /// C# signature: `LibreMetaverse.Materials.LegacyMaterialAlphaMode LibreMetaverse.Materials.LegacyMaterialAlphaMode.Blend`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        Blend = 1,
        /// C# member: `F:LibreMetaverse.Materials.LegacyMaterialAlphaMode.Default`.
        ///
        /// C# signature: `LibreMetaverse.Materials.LegacyMaterialAlphaMode LibreMetaverse.Materials.LegacyMaterialAlphaMode.Default`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        Default = 4,
        /// C# member: `F:LibreMetaverse.Materials.LegacyMaterialAlphaMode.Emissive`.
        ///
        /// C# signature: `LibreMetaverse.Materials.LegacyMaterialAlphaMode LibreMetaverse.Materials.LegacyMaterialAlphaMode.Emissive`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        Emissive = 3,
        /// C# member: `F:LibreMetaverse.Materials.LegacyMaterialAlphaMode.Mask`.
        ///
        /// C# signature: `LibreMetaverse.Materials.LegacyMaterialAlphaMode LibreMetaverse.Materials.LegacyMaterialAlphaMode.Mask`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        Mask = 2,
        /// C# member: `F:LibreMetaverse.Materials.LegacyMaterialAlphaMode.None`.
        ///
        /// C# signature: `LibreMetaverse.Materials.LegacyMaterialAlphaMode LibreMetaverse.Materials.LegacyMaterialAlphaMode.None`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        None = 0,
    }
}

pub mod messages {
    /// C# type: `T:LibreMetaverse.Messages.MessageUtils`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Messages.MessageUtils` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct MessageUtils;
    impl MessageUtils {
        /// C# member: `M:LibreMetaverse.Messages.MessageUtils.DecodeEvent(System.String,LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `LibreMetaverse.Interfaces.IMessage LibreMetaverse.Messages.MessageUtils.DecodeEvent(System.String eventName, LibreMetaverse.StructuredData.OSDMap map)`.
        /// Mapping contract: ownership `owned,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn decode_event(
            event_name: String,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<Option<Box<dyn libremetaverse::interfaces::IMessage>>, crate::Error> {
            /* reviewed native compatibility body */
            crate::message_decoder::decode_event(&event_name, &map)
        }
        /// C# member: `M:LibreMetaverse.Messages.MessageUtils.FromDictionaryString(System.Collections.Generic.Dictionary{System.String,System.String})`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.MessageUtils.FromDictionaryString(System.Collections.Generic.Dictionary<System.String, System.String> dict)`.
        /// Mapping contract: ownership `owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_dictionary_string(
            dict: std::collections::HashMap<String, String>,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            crate::message_decoder::from_dictionary_string(dict)
        }
        /// C# member: `M:LibreMetaverse.Messages.MessageUtils.FromDictionaryUri(System.Collections.Generic.Dictionary{System.Uri,System.Uri})`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.MessageUtils.FromDictionaryUri(System.Collections.Generic.Dictionary<System.Uri, System.Uri> dict)`.
        /// Mapping contract: ownership `owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_dictionary_uri(
            dict: std::collections::HashMap<
                libremetaverse_types::compat::Uri,
                libremetaverse_types::compat::Uri,
            >,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            crate::message_decoder::from_dictionary_uri(dict)
        }
        /// C# member: `M:LibreMetaverse.Messages.MessageUtils.FromIP(System.Net.IPAddress)`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSD LibreMetaverse.Messages.MessageUtils.FromIP(System.Net.IPAddress address)`.
        /// Mapping contract: ownership `owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_ip(
            address: std::net::IpAddr,
        ) -> Result<libremetaverse_structured_data::OSD, crate::Error> {
            /* reviewed native compatibility body */
            crate::message_decoder::from_ip(address)
        }
        /// C# member: `M:LibreMetaverse.Messages.MessageUtils.ToDictionaryString(LibreMetaverse.StructuredData.OSD)`.
        ///
        /// C# signature: `System.Collections.Generic.Dictionary<System.String, System.String> LibreMetaverse.Messages.MessageUtils.ToDictionaryString(LibreMetaverse.StructuredData.OSD osd)`.
        /// Mapping contract: ownership `owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_dictionary_string(
            osd: libremetaverse_structured_data::OSD,
        ) -> Result<std::collections::HashMap<String, String>, crate::Error> {
            /* reviewed native compatibility body */
            crate::message_decoder::to_dictionary_string(osd)
        }
        /// C# member: `M:LibreMetaverse.Messages.MessageUtils.ToDictionaryUri(LibreMetaverse.StructuredData.OSD)`.
        ///
        /// C# signature: `System.Collections.Generic.Dictionary<System.Uri, System.Uri> LibreMetaverse.Messages.MessageUtils.ToDictionaryUri(LibreMetaverse.StructuredData.OSD osd)`.
        /// Mapping contract: ownership `owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_dictionary_uri(
            osd: libremetaverse_structured_data::OSD,
        ) -> Result<
            std::collections::HashMap<
                libremetaverse_types::compat::Uri,
                libremetaverse_types::compat::Uri,
            >,
            crate::Error,
        > {
            /* reviewed native compatibility body */
            crate::message_decoder::to_dictionary_uri(osd)
        }
        /// C# member: `M:LibreMetaverse.Messages.MessageUtils.ToIP(LibreMetaverse.StructuredData.OSD)`.
        ///
        /// C# signature: `System.Net.IPAddress LibreMetaverse.Messages.MessageUtils.ToIP(LibreMetaverse.StructuredData.OSD osd)`.
        /// Mapping contract: ownership `owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_ip(
            osd: libremetaverse_structured_data::OSD,
        ) -> Result<std::net::IpAddr, crate::Error> {
            /* reviewed native compatibility body */
            crate::message_decoder::to_ip(osd)
        }
    }

    pub mod linden {
        /// C# type: `T:LibreMetaverse.Messages.Linden.AgentDropGroupMessage`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.AgentDropGroupMessage` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        pub struct AgentDropGroupMessage {
            /// C# member: `F:LibreMetaverse.Messages.Linden.AgentDropGroupMessage.AgentDataBlock`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.AgentDropGroupMessage.AgentData[] LibreMetaverse.Messages.Linden.AgentDropGroupMessage.AgentDataBlock`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub agent_data_block:
                Vec<libremetaverse::messages::linden::AgentDropGroupMessageAgentData>,
        }
        impl AgentDropGroupMessage {
            /// C# member: `M:LibreMetaverse.Messages.Linden.AgentDropGroupMessage.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.AgentDropGroupMessage()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                /* reviewed native compatibility body */
                Ok(<Self as crate::message_codec::GeneratedMessage>::new_generated())
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.AgentDropGroupMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
            ///
            /// C# signature: `System.Void LibreMetaverse.Messages.Linden.AgentDropGroupMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
            /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.AgentDropGroupMessage.Serialize`.
            ///
            /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.Linden.AgentDropGroupMessage.Serialize()`.
            /// Mapping contract: ownership `shared_self`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn serialize(
                &self,
            ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }
        impl libremetaverse::interfaces::IMessage for AgentDropGroupMessage {
            fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            fn serialize(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }

        /// C# type: `T:LibreMetaverse.Messages.Linden.AgentDropGroupMessage.AgentData`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.AgentDropGroupMessage.AgentData` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        pub struct AgentDropGroupMessageAgentData {
            /// C# member: `F:LibreMetaverse.Messages.Linden.AgentDropGroupMessage.AgentData.AgentID`.
            ///
            /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Messages.Linden.AgentDropGroupMessage.AgentData.AgentID`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub agent_id: libremetaverse_types::UUID,
            /// C# member: `F:LibreMetaverse.Messages.Linden.AgentDropGroupMessage.AgentData.GroupID`.
            ///
            /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Messages.Linden.AgentDropGroupMessage.AgentData.GroupID`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub group_id: libremetaverse_types::UUID,
        }
        impl AgentDropGroupMessageAgentData {
            /// C# member: `M:LibreMetaverse.Messages.Linden.AgentDropGroupMessage.AgentData.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.AgentDropGroupMessage.AgentData()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                /* reviewed native compatibility body */
                Ok(<Self as crate::message_codec::GeneratedMessage>::new_generated())
            }
        }

        /// C# type: `T:LibreMetaverse.Messages.Linden.AgentGroupDataUpdateMessage`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.AgentGroupDataUpdateMessage` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        pub struct AgentGroupDataUpdateMessage {
            /// C# member: `F:LibreMetaverse.Messages.Linden.AgentGroupDataUpdateMessage.AgentID`.
            ///
            /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Messages.Linden.AgentGroupDataUpdateMessage.AgentID`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub agent_id: libremetaverse_types::UUID,
            /// C# member: `F:LibreMetaverse.Messages.Linden.AgentGroupDataUpdateMessage.AvatarID`.
            ///
            /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Messages.Linden.AgentGroupDataUpdateMessage.AvatarID`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub avatar_id: libremetaverse_types::UUID,
            /// C# member: `F:LibreMetaverse.Messages.Linden.AgentGroupDataUpdateMessage.GroupDataBlock`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.AgentGroupDataUpdateMessage.GroupData[] LibreMetaverse.Messages.Linden.AgentGroupDataUpdateMessage.GroupDataBlock`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub group_data_block:
                Vec<libremetaverse::messages::linden::AgentGroupDataUpdateMessageGroupData>,
            /// C# member: `F:LibreMetaverse.Messages.Linden.AgentGroupDataUpdateMessage.NewGroupDataBlock`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.AgentGroupDataUpdateMessage.NewGroupData[] LibreMetaverse.Messages.Linden.AgentGroupDataUpdateMessage.NewGroupDataBlock`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub new_group_data_block:
                Vec<libremetaverse::messages::linden::AgentGroupDataUpdateMessageNewGroupData>,
        }
        impl AgentGroupDataUpdateMessage {
            /// C# member: `M:LibreMetaverse.Messages.Linden.AgentGroupDataUpdateMessage.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.AgentGroupDataUpdateMessage()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                /* reviewed native compatibility body */
                Ok(<Self as crate::message_codec::GeneratedMessage>::new_generated())
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.AgentGroupDataUpdateMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
            ///
            /// C# signature: `System.Void LibreMetaverse.Messages.Linden.AgentGroupDataUpdateMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
            /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.AgentGroupDataUpdateMessage.Serialize`.
            ///
            /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.Linden.AgentGroupDataUpdateMessage.Serialize()`.
            /// Mapping contract: ownership `shared_self`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn serialize(
                &self,
            ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }
        impl libremetaverse::interfaces::IMessage for AgentGroupDataUpdateMessage {
            fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            fn serialize(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }

        /// C# type: `T:LibreMetaverse.Messages.Linden.AgentGroupDataUpdateMessage.GroupData`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.AgentGroupDataUpdateMessage.GroupData` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        pub struct AgentGroupDataUpdateMessageGroupData {
            /// C# member: `F:LibreMetaverse.Messages.Linden.AgentGroupDataUpdateMessage.GroupData.AcceptNotices`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.Messages.Linden.AgentGroupDataUpdateMessage.GroupData.AcceptNotices`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub accept_notices: bool,
            /// C# member: `F:LibreMetaverse.Messages.Linden.AgentGroupDataUpdateMessage.GroupData.Contribution`.
            ///
            /// C# signature: `System.Int32 LibreMetaverse.Messages.Linden.AgentGroupDataUpdateMessage.GroupData.Contribution`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub contribution: i32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.AgentGroupDataUpdateMessage.GroupData.GroupID`.
            ///
            /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Messages.Linden.AgentGroupDataUpdateMessage.GroupData.GroupID`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub group_id: libremetaverse_types::UUID,
            /// C# member: `F:LibreMetaverse.Messages.Linden.AgentGroupDataUpdateMessage.GroupData.GroupInsigniaID`.
            ///
            /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Messages.Linden.AgentGroupDataUpdateMessage.GroupData.GroupInsigniaID`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub group_insignia_id: libremetaverse_types::UUID,
            /// C# member: `F:LibreMetaverse.Messages.Linden.AgentGroupDataUpdateMessage.GroupData.GroupName`.
            ///
            /// C# signature: `System.String LibreMetaverse.Messages.Linden.AgentGroupDataUpdateMessage.GroupData.GroupName`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub group_name: String,
            /// C# member: `F:LibreMetaverse.Messages.Linden.AgentGroupDataUpdateMessage.GroupData.GroupPowers`.
            ///
            /// C# signature: `LibreMetaverse.GroupPowers LibreMetaverse.Messages.Linden.AgentGroupDataUpdateMessage.GroupData.GroupPowers`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub group_powers: libremetaverse::GroupPowers,
            /// C# member: `F:LibreMetaverse.Messages.Linden.AgentGroupDataUpdateMessage.GroupData.GroupTitle`.
            ///
            /// C# signature: `System.String LibreMetaverse.Messages.Linden.AgentGroupDataUpdateMessage.GroupData.GroupTitle`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub group_title: String,
        }
        impl AgentGroupDataUpdateMessageGroupData {
            /// C# member: `M:LibreMetaverse.Messages.Linden.AgentGroupDataUpdateMessage.GroupData.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.AgentGroupDataUpdateMessage.GroupData()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                /* reviewed native compatibility body */
                Ok(<Self as crate::message_codec::GeneratedMessage>::new_generated())
            }
        }

        /// C# type: `T:LibreMetaverse.Messages.Linden.AgentGroupDataUpdateMessage.NewGroupData`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.AgentGroupDataUpdateMessage.NewGroupData` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        pub struct AgentGroupDataUpdateMessageNewGroupData {
            /// C# member: `F:LibreMetaverse.Messages.Linden.AgentGroupDataUpdateMessage.NewGroupData.ListInProfile`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.Messages.Linden.AgentGroupDataUpdateMessage.NewGroupData.ListInProfile`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub list_in_profile: bool,
        }
        impl AgentGroupDataUpdateMessageNewGroupData {
            /// C# member: `M:LibreMetaverse.Messages.Linden.AgentGroupDataUpdateMessage.NewGroupData.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.AgentGroupDataUpdateMessage.NewGroupData()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                /* reviewed native compatibility body */
                Ok(<Self as crate::message_codec::GeneratedMessage>::new_generated())
            }
        }

        /// C# type: `T:LibreMetaverse.Messages.Linden.AgentPreferencesMessage`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.AgentPreferencesMessage` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        /// C# member: `F:LibreMetaverse.Messages.Linden.AgentPreferencesMessage.HoverHeight`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Messages.Linden.AgentPreferencesMessage.HoverHeight`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        /// C# member: `F:LibreMetaverse.Messages.Linden.AgentPreferencesMessage.RawData`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.Linden.AgentPreferencesMessage.RawData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        /// C# member: `M:LibreMetaverse.Messages.Linden.AgentPreferencesMessage.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Messages.Linden.AgentPreferencesMessage()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        /// C# member: `M:LibreMetaverse.Messages.Linden.AgentPreferencesMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Messages.Linden.AgentPreferencesMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        /// C# member: `M:LibreMetaverse.Messages.Linden.AgentPreferencesMessage.Serialize`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.Linden.AgentPreferencesMessage.Serialize()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub use crate::agent_messages::AgentPreferencesMessage;

        /// C# type: `T:LibreMetaverse.Messages.Linden.AgentProfileMessage`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.AgentProfileMessage` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        pub struct AgentProfileMessage {
            /// C# member: `F:LibreMetaverse.Messages.Linden.AgentProfileMessage.AllowedMaturity`.
            ///
            /// C# signature: `LibreMetaverse.SimAccess LibreMetaverse.Messages.Linden.AgentProfileMessage.AllowedMaturity`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub allowed_maturity: libremetaverse::SimAccess,
            /// C# member: `F:LibreMetaverse.Messages.Linden.AgentProfileMessage.AvatarID`.
            ///
            /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Messages.Linden.AgentProfileMessage.AvatarID`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub avatar_id: libremetaverse_types::UUID,
            /// C# member: `F:LibreMetaverse.Messages.Linden.AgentProfileMessage.CaptionIndex`.
            ///
            /// C# signature: `System.Nullable<System.Int32> LibreMetaverse.Messages.Linden.AgentProfileMessage.CaptionIndex`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub caption_index: Option<Option<i32>>,
            /// C# member: `F:LibreMetaverse.Messages.Linden.AgentProfileMessage.CaptionText`.
            ///
            /// C# signature: `System.String LibreMetaverse.Messages.Linden.AgentProfileMessage.CaptionText`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub caption_text: Option<String>,
            /// C# member: `F:LibreMetaverse.Messages.Linden.AgentProfileMessage.CustomerType`.
            ///
            /// C# signature: `System.String LibreMetaverse.Messages.Linden.AgentProfileMessage.CustomerType`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub customer_type: String,
            /// C# member: `F:LibreMetaverse.Messages.Linden.AgentProfileMessage.DisplayName`.
            ///
            /// C# signature: `System.String LibreMetaverse.Messages.Linden.AgentProfileMessage.DisplayName`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub display_name: String,
            /// C# member: `F:LibreMetaverse.Messages.Linden.AgentProfileMessage.DisplayNameNextUpdate`.
            ///
            /// C# signature: `System.DateTime LibreMetaverse.Messages.Linden.AgentProfileMessage.DisplayNameNextUpdate`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub display_name_next_update: std::time::SystemTime,
            /// C# member: `F:LibreMetaverse.Messages.Linden.AgentProfileMessage.FirstLifeAboutText`.
            ///
            /// C# signature: `System.String LibreMetaverse.Messages.Linden.AgentProfileMessage.FirstLifeAboutText`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub first_life_about_text: String,
            /// C# member: `F:LibreMetaverse.Messages.Linden.AgentProfileMessage.FirstLifeImageID`.
            ///
            /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Messages.Linden.AgentProfileMessage.FirstLifeImageID`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub first_life_image_id: libremetaverse_types::UUID,
            /// C# member: `F:LibreMetaverse.Messages.Linden.AgentProfileMessage.Flags`.
            ///
            /// C# signature: `LibreMetaverse.ProfileFlags LibreMetaverse.Messages.Linden.AgentProfileMessage.Flags`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub flags: libremetaverse::ProfileFlags,
            /// C# member: `F:LibreMetaverse.Messages.Linden.AgentProfileMessage.Groups`.
            ///
            /// C# signature: `System.Collections.Generic.List<LibreMetaverse.Messages.Linden.AgentProfileMessage.GroupData> LibreMetaverse.Messages.Linden.AgentProfileMessage.Groups`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub groups: Vec<libremetaverse::messages::linden::AgentProfileMessageGroupData>,
            /// C# member: `F:LibreMetaverse.Messages.Linden.AgentProfileMessage.HideAge`.
            ///
            /// C# signature: `System.Nullable<System.Boolean> LibreMetaverse.Messages.Linden.AgentProfileMessage.HideAge`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub hide_age: Option<Option<bool>>,
            /// C# member: `F:LibreMetaverse.Messages.Linden.AgentProfileMessage.HomePage`.
            ///
            /// C# signature: `System.String LibreMetaverse.Messages.Linden.AgentProfileMessage.HomePage`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub home_page: String,
            /// C# member: `F:LibreMetaverse.Messages.Linden.AgentProfileMessage.IsDisplayNameDefault`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.Messages.Linden.AgentProfileMessage.IsDisplayNameDefault`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub is_display_name_default: bool,
            /// C# member: `F:LibreMetaverse.Messages.Linden.AgentProfileMessage.IsMatureProfile`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.Messages.Linden.AgentProfileMessage.IsMatureProfile`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub is_mature_profile: bool,
            /// C# member: `F:LibreMetaverse.Messages.Linden.AgentProfileMessage.LegacyFirstName`.
            ///
            /// C# signature: `System.String LibreMetaverse.Messages.Linden.AgentProfileMessage.LegacyFirstName`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub legacy_first_name: String,
            /// C# member: `F:LibreMetaverse.Messages.Linden.AgentProfileMessage.LegacyLastName`.
            ///
            /// C# signature: `System.String LibreMetaverse.Messages.Linden.AgentProfileMessage.LegacyLastName`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub legacy_last_name: String,
            /// C# member: `F:LibreMetaverse.Messages.Linden.AgentProfileMessage.MemberSince`.
            ///
            /// C# signature: `System.DateTime LibreMetaverse.Messages.Linden.AgentProfileMessage.MemberSince`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub member_since: std::time::SystemTime,
            /// C# member: `F:LibreMetaverse.Messages.Linden.AgentProfileMessage.Notes`.
            ///
            /// C# signature: `System.String LibreMetaverse.Messages.Linden.AgentProfileMessage.Notes`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub notes: String,
            /// C# member: `F:LibreMetaverse.Messages.Linden.AgentProfileMessage.PartnerID`.
            ///
            /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Messages.Linden.AgentProfileMessage.PartnerID`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub partner_id: libremetaverse_types::UUID,
            /// C# member: `F:LibreMetaverse.Messages.Linden.AgentProfileMessage.Picks`.
            ///
            /// C# signature: `System.Collections.Generic.List<LibreMetaverse.Messages.Linden.AgentProfileMessage.PickData> LibreMetaverse.Messages.Linden.AgentProfileMessage.Picks`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub picks: Vec<libremetaverse::messages::linden::AgentProfileMessagePickData>,
            /// C# member: `F:LibreMetaverse.Messages.Linden.AgentProfileMessage.PreferredMaturity`.
            ///
            /// C# signature: `LibreMetaverse.SimAccess LibreMetaverse.Messages.Linden.AgentProfileMessage.PreferredMaturity`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub preferred_maturity: libremetaverse::SimAccess,
            /// C# member: `F:LibreMetaverse.Messages.Linden.AgentProfileMessage.SecondLifeAboutText`.
            ///
            /// C# signature: `System.String LibreMetaverse.Messages.Linden.AgentProfileMessage.SecondLifeAboutText`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub second_life_about_text: String,
            /// C# member: `F:LibreMetaverse.Messages.Linden.AgentProfileMessage.SecondLifeImageID`.
            ///
            /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Messages.Linden.AgentProfileMessage.SecondLifeImageID`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub second_life_image_id: libremetaverse_types::UUID,
            /// C# member: `F:LibreMetaverse.Messages.Linden.AgentProfileMessage.Title`.
            ///
            /// C# signature: `System.String LibreMetaverse.Messages.Linden.AgentProfileMessage.Title`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub title: String,
            /// C# member: `F:LibreMetaverse.Messages.Linden.AgentProfileMessage.Username`.
            ///
            /// C# signature: `System.String LibreMetaverse.Messages.Linden.AgentProfileMessage.Username`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub username: String,
        }
        impl AgentProfileMessage {
            /// C# member: `M:LibreMetaverse.Messages.Linden.AgentProfileMessage.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.AgentProfileMessage()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                /* reviewed native compatibility body */
                Ok(crate::avatar_manager::agent_profile_defaults())
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.AgentProfileMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
            ///
            /// C# signature: `System.Void LibreMetaverse.Messages.Linden.AgentProfileMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
            /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                crate::avatar_manager::deserialize_agent_profile(self, &map)
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.AgentProfileMessage.Serialize`.
            ///
            /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.Linden.AgentProfileMessage.Serialize()`.
            /// Mapping contract: ownership `shared_self`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn serialize(
                &self,
            ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                crate::avatar_manager::serialize_agent_profile(self)
            }
        }
        impl libremetaverse::interfaces::IMessage for AgentProfileMessage {
            fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                Self::deserialize(self, map)
            }
            fn serialize(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                Self::serialize(self)
            }
        }

        /// C# type: `T:LibreMetaverse.Messages.Linden.AgentProfileMessage.GroupData`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.AgentProfileMessage.GroupData` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        pub struct AgentProfileMessageGroupData {
            /// C# member: `F:LibreMetaverse.Messages.Linden.AgentProfileMessage.GroupData.Description`.
            ///
            /// C# signature: `System.String LibreMetaverse.Messages.Linden.AgentProfileMessage.GroupData.Description`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub description: String,
            /// C# member: `F:LibreMetaverse.Messages.Linden.AgentProfileMessage.GroupData.Enabled`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.Messages.Linden.AgentProfileMessage.GroupData.Enabled`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub enabled: bool,
            /// C# member: `F:LibreMetaverse.Messages.Linden.AgentProfileMessage.GroupData.FounderID`.
            ///
            /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Messages.Linden.AgentProfileMessage.GroupData.FounderID`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub founder_id: libremetaverse_types::UUID,
            /// C# member: `F:LibreMetaverse.Messages.Linden.AgentProfileMessage.GroupData.ID`.
            ///
            /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Messages.Linden.AgentProfileMessage.GroupData.ID`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub id: libremetaverse_types::UUID,
            /// C# member: `F:LibreMetaverse.Messages.Linden.AgentProfileMessage.GroupData.ImageID`.
            ///
            /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Messages.Linden.AgentProfileMessage.GroupData.ImageID`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub image_id: libremetaverse_types::UUID,
            /// C# member: `F:LibreMetaverse.Messages.Linden.AgentProfileMessage.GroupData.IsMaturePublish`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.Messages.Linden.AgentProfileMessage.GroupData.IsMaturePublish`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub is_mature_publish: bool,
            /// C# member: `F:LibreMetaverse.Messages.Linden.AgentProfileMessage.GroupData.IsOpenEnrollment`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.Messages.Linden.AgentProfileMessage.GroupData.IsOpenEnrollment`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub is_open_enrollment: bool,
            /// C# member: `F:LibreMetaverse.Messages.Linden.AgentProfileMessage.GroupData.IsShownInSearch`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.Messages.Linden.AgentProfileMessage.GroupData.IsShownInSearch`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub is_shown_in_search: bool,
            /// C# member: `F:LibreMetaverse.Messages.Linden.AgentProfileMessage.GroupData.Name`.
            ///
            /// C# signature: `System.String LibreMetaverse.Messages.Linden.AgentProfileMessage.GroupData.Name`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub name: String,
        }
        impl AgentProfileMessageGroupData {
            /// C# member: `M:LibreMetaverse.Messages.Linden.AgentProfileMessage.GroupData.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.AgentProfileMessage.GroupData()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                /* reviewed native compatibility body */
                Ok(crate::avatar_manager::agent_profile_group_defaults())
            }
        }

        /// C# type: `T:LibreMetaverse.Messages.Linden.AgentProfileMessage.PickData`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.AgentProfileMessage.PickData` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        pub struct AgentProfileMessagePickData {
            /// C# member: `F:LibreMetaverse.Messages.Linden.AgentProfileMessage.PickData.Description`.
            ///
            /// C# signature: `System.String LibreMetaverse.Messages.Linden.AgentProfileMessage.PickData.Description`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub description: String,
            /// C# member: `F:LibreMetaverse.Messages.Linden.AgentProfileMessage.PickData.Enabled`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.Messages.Linden.AgentProfileMessage.PickData.Enabled`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub enabled: bool,
            /// C# member: `F:LibreMetaverse.Messages.Linden.AgentProfileMessage.PickData.GridX`.
            ///
            /// C# signature: `System.Double LibreMetaverse.Messages.Linden.AgentProfileMessage.PickData.GridX`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub grid_x: f64,
            /// C# member: `F:LibreMetaverse.Messages.Linden.AgentProfileMessage.PickData.GridY`.
            ///
            /// C# signature: `System.Double LibreMetaverse.Messages.Linden.AgentProfileMessage.PickData.GridY`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub grid_y: f64,
            /// C# member: `F:LibreMetaverse.Messages.Linden.AgentProfileMessage.PickData.ID`.
            ///
            /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Messages.Linden.AgentProfileMessage.PickData.ID`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub id: libremetaverse_types::UUID,
            /// C# member: `F:LibreMetaverse.Messages.Linden.AgentProfileMessage.PickData.Name`.
            ///
            /// C# signature: `System.String LibreMetaverse.Messages.Linden.AgentProfileMessage.PickData.Name`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub name: String,
            /// C# member: `F:LibreMetaverse.Messages.Linden.AgentProfileMessage.PickData.ParcelID`.
            ///
            /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Messages.Linden.AgentProfileMessage.PickData.ParcelID`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub parcel_id: libremetaverse_types::UUID,
            /// C# member: `F:LibreMetaverse.Messages.Linden.AgentProfileMessage.PickData.ParcelName`.
            ///
            /// C# signature: `System.String LibreMetaverse.Messages.Linden.AgentProfileMessage.PickData.ParcelName`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub parcel_name: String,
            /// C# member: `F:LibreMetaverse.Messages.Linden.AgentProfileMessage.PickData.RegionName`.
            ///
            /// C# signature: `System.String LibreMetaverse.Messages.Linden.AgentProfileMessage.PickData.RegionName`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub region_name: String,
            /// C# member: `F:LibreMetaverse.Messages.Linden.AgentProfileMessage.PickData.RegionX`.
            ///
            /// C# signature: `System.Double LibreMetaverse.Messages.Linden.AgentProfileMessage.PickData.RegionX`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub region_x: f64,
            /// C# member: `F:LibreMetaverse.Messages.Linden.AgentProfileMessage.PickData.RegionY`.
            ///
            /// C# signature: `System.Double LibreMetaverse.Messages.Linden.AgentProfileMessage.PickData.RegionY`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub region_y: f64,
            /// C# member: `F:LibreMetaverse.Messages.Linden.AgentProfileMessage.PickData.RegionZ`.
            ///
            /// C# signature: `System.Double LibreMetaverse.Messages.Linden.AgentProfileMessage.PickData.RegionZ`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub region_z: f64,
            /// C# member: `F:LibreMetaverse.Messages.Linden.AgentProfileMessage.PickData.Slurl`.
            ///
            /// C# signature: `System.Uri LibreMetaverse.Messages.Linden.AgentProfileMessage.PickData.Slurl`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub slurl: libremetaverse_types::compat::Uri,
            /// C# member: `F:LibreMetaverse.Messages.Linden.AgentProfileMessage.PickData.SnapshotID`.
            ///
            /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Messages.Linden.AgentProfileMessage.PickData.SnapshotID`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub snapshot_id: libremetaverse_types::UUID,
        }
        impl AgentProfileMessagePickData {
            /// C# member: `M:LibreMetaverse.Messages.Linden.AgentProfileMessage.PickData.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.AgentProfileMessage.PickData()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                /* reviewed native compatibility body */
                Ok(Self {
                    description: String::new(),
                    enabled: false,
                    grid_x: 0.0,
                    grid_y: 0.0,
                    id: libremetaverse_types::UUID::zero(),
                    name: String::new(),
                    parcel_id: libremetaverse_types::UUID::zero(),
                    parcel_name: String::new(),
                    region_name: String::new(),
                    region_x: 0.0,
                    region_y: 0.0,
                    region_z: 0.0,
                    slurl: libremetaverse_types::compat::Uri(String::new()),
                    snapshot_id: libremetaverse_types::UUID::zero(),
                })
            }
        }

        /// C# type: `T:LibreMetaverse.Messages.Linden.AgentStateUpdateMessage`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.AgentStateUpdateMessage` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        pub struct AgentStateUpdateMessage {
            /// C# member: `F:LibreMetaverse.Messages.Linden.AgentStateUpdateMessage.AlterNavmeshObjects`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.Messages.Linden.AgentStateUpdateMessage.AlterNavmeshObjects`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub alter_navmesh_objects: bool,
            /// C# member: `F:LibreMetaverse.Messages.Linden.AgentStateUpdateMessage.AlterPermanentObjects`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.Messages.Linden.AgentStateUpdateMessage.AlterPermanentObjects`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub alter_permanent_objects: bool,
            /// C# member: `F:LibreMetaverse.Messages.Linden.AgentStateUpdateMessage.CanModifyNavmesh`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.Messages.Linden.AgentStateUpdateMessage.CanModifyNavmesh`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub can_modify_navmesh: bool,
            /// C# member: `F:LibreMetaverse.Messages.Linden.AgentStateUpdateMessage.GodLevel`.
            ///
            /// C# signature: `System.Int32 LibreMetaverse.Messages.Linden.AgentStateUpdateMessage.GodLevel`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub god_level: i32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.AgentStateUpdateMessage.HasModifiedNavmesh`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.Messages.Linden.AgentStateUpdateMessage.HasModifiedNavmesh`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub has_modified_navmesh: bool,
            /// C# member: `F:LibreMetaverse.Messages.Linden.AgentStateUpdateMessage.Language`.
            ///
            /// C# signature: `System.String LibreMetaverse.Messages.Linden.AgentStateUpdateMessage.Language`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub language: String,
            /// C# member: `F:LibreMetaverse.Messages.Linden.AgentStateUpdateMessage.LanguageIsPublic`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.Messages.Linden.AgentStateUpdateMessage.LanguageIsPublic`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub language_is_public: bool,
            /// C# member: `F:LibreMetaverse.Messages.Linden.AgentStateUpdateMessage.MaxAccess`.
            ///
            /// C# signature: `System.String LibreMetaverse.Messages.Linden.AgentStateUpdateMessage.MaxAccess`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub max_access: String,
            /// C# member: `F:LibreMetaverse.Messages.Linden.AgentStateUpdateMessage.RawData`.
            ///
            /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.Linden.AgentStateUpdateMessage.RawData`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub raw_data: libremetaverse_structured_data::OSDMap,
        }
        impl AgentStateUpdateMessage {
            /// C# member: `M:LibreMetaverse.Messages.Linden.AgentStateUpdateMessage.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.AgentStateUpdateMessage()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                /* reviewed native compatibility body */
                Ok(<Self as crate::message_codec::GeneratedMessage>::new_generated())
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.AgentStateUpdateMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
            ///
            /// C# signature: `System.Void LibreMetaverse.Messages.Linden.AgentStateUpdateMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
            /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.AgentStateUpdateMessage.Serialize`.
            ///
            /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.Linden.AgentStateUpdateMessage.Serialize()`.
            /// Mapping contract: ownership `shared_self`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn serialize(
                &self,
            ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }
        impl libremetaverse::interfaces::IMessage for AgentStateUpdateMessage {
            fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            fn serialize(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }

        /// C# type: `T:LibreMetaverse.Messages.Linden.AssetUploaderBlock`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.AssetUploaderBlock` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        /// C# member: `F:LibreMetaverse.Messages.Linden.AssetUploaderBlock.State`.
        ///
        /// C# signature: `System.String LibreMetaverse.Messages.Linden.AssetUploaderBlock.State`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        /// C# member: `M:LibreMetaverse.Messages.Linden.AssetUploaderBlock.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Messages.Linden.AssetUploaderBlock.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        /// C# member: `M:LibreMetaverse.Messages.Linden.AssetUploaderBlock.Serialize`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.Linden.AssetUploaderBlock.Serialize()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub use crate::dynamic_messages::AssetUploaderBlock;

        /// C# type: `T:LibreMetaverse.Messages.Linden.AttachmentResourcesMessage`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.AttachmentResourcesMessage` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        /// C# member: `F:LibreMetaverse.Messages.Linden.AttachmentResourcesMessage.Attachments`.
        ///
        /// C# signature: `System.Collections.Generic.Dictionary<LibreMetaverse.AttachmentPoint, LibreMetaverse.Messages.Linden.ObjectResourcesDetail[]> LibreMetaverse.Messages.Linden.AttachmentResourcesMessage.Attachments`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        /// C# member: `M:LibreMetaverse.Messages.Linden.AttachmentResourcesMessage.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Messages.Linden.AttachmentResourcesMessage()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        /// C# member: `M:LibreMetaverse.Messages.Linden.AttachmentResourcesMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Messages.Linden.AttachmentResourcesMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap osd)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        /// C# member: `M:LibreMetaverse.Messages.Linden.AttachmentResourcesMessage.FromOSD(LibreMetaverse.StructuredData.OSD)`.
        ///
        /// C# signature: `LibreMetaverse.Messages.Linden.AttachmentResourcesMessage LibreMetaverse.Messages.Linden.AttachmentResourcesMessage.FromOSD(LibreMetaverse.StructuredData.OSD osd)`.
        /// Mapping contract: ownership `owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        /// C# member: `M:LibreMetaverse.Messages.Linden.AttachmentResourcesMessage.GetMessageHandler(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `LibreMetaverse.Interfaces.IMessage LibreMetaverse.Messages.Linden.AttachmentResourcesMessage.GetMessageHandler(LibreMetaverse.StructuredData.OSDMap map)`.
        /// Mapping contract: ownership `owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub use crate::message_decoder::AttachmentResourcesMessage;

        /// C# type: `T:LibreMetaverse.Messages.Linden.AvatarRenderInfoMessage`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.AvatarRenderInfoMessage` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        /// C# member: `F:LibreMetaverse.Messages.Linden.AvatarRenderInfoMessage.Agents`.
        ///
        /// C# signature: `System.Collections.Generic.Dictionary<LibreMetaverse.UUID, LibreMetaverse.Messages.Linden.AvatarRenderInfoMessage.AvatarInfo> LibreMetaverse.Messages.Linden.AvatarRenderInfoMessage.Agents`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        /// C# member: `F:LibreMetaverse.Messages.Linden.AvatarRenderInfoMessage.OverLimit`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Messages.Linden.AvatarRenderInfoMessage.OverLimit`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        /// C# member: `F:LibreMetaverse.Messages.Linden.AvatarRenderInfoMessage.ReportingLimit`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Messages.Linden.AvatarRenderInfoMessage.ReportingLimit`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        /// C# member: `M:LibreMetaverse.Messages.Linden.AvatarRenderInfoMessage.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Messages.Linden.AvatarRenderInfoMessage()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        /// C# member: `M:LibreMetaverse.Messages.Linden.AvatarRenderInfoMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Messages.Linden.AvatarRenderInfoMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        /// C# member: `M:LibreMetaverse.Messages.Linden.AvatarRenderInfoMessage.Serialize`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.Linden.AvatarRenderInfoMessage.Serialize()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub use crate::agent_messages::AvatarRenderInfoMessage;

        /// C# type: `T:LibreMetaverse.Messages.Linden.AvatarRenderInfoMessage.AvatarInfo`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.AvatarRenderInfoMessage.AvatarInfo` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        /// C# member: `F:LibreMetaverse.Messages.Linden.AvatarRenderInfoMessage.AvatarInfo.TooComplex`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Messages.Linden.AvatarRenderInfoMessage.AvatarInfo.TooComplex`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        /// C# member: `F:LibreMetaverse.Messages.Linden.AvatarRenderInfoMessage.AvatarInfo.Weight`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Messages.Linden.AvatarRenderInfoMessage.AvatarInfo.Weight`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        /// C# member: `M:LibreMetaverse.Messages.Linden.AvatarRenderInfoMessage.AvatarInfo.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Messages.Linden.AvatarRenderInfoMessage.AvatarInfo()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub use crate::agent_messages::AvatarRenderInfoMessageAvatarInfo;

        /// C# type: `T:LibreMetaverse.Messages.Linden.BaseResourcesInfo`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.BaseResourcesInfo` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        pub struct BaseResourcesInfo {
            /// C# member: `F:LibreMetaverse.Messages.Linden.BaseResourcesInfo.SummaryAvailable`.
            ///
            /// C# signature: `System.Collections.Generic.Dictionary<System.String, System.Int32> LibreMetaverse.Messages.Linden.BaseResourcesInfo.SummaryAvailable`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub summary_available: std::collections::HashMap<String, i32>,
            /// C# member: `F:LibreMetaverse.Messages.Linden.BaseResourcesInfo.SummaryUsed`.
            ///
            /// C# signature: `System.Collections.Generic.Dictionary<System.String, System.Int32> LibreMetaverse.Messages.Linden.BaseResourcesInfo.SummaryUsed`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub summary_used: std::collections::HashMap<String, i32>,
        }
        impl BaseResourcesInfo {
            /// C# member: `M:LibreMetaverse.Messages.Linden.BaseResourcesInfo.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
            ///
            /// C# signature: `System.Void LibreMetaverse.Messages.Linden.BaseResourcesInfo.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
            /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.BaseResourcesInfo.Serialize`.
            ///
            /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.Linden.BaseResourcesInfo.Serialize()`.
            /// Mapping contract: ownership `shared_self`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn serialize(
                &self,
            ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }
        impl libremetaverse::interfaces::IMessage for BaseResourcesInfo {
            fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            fn serialize(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }

        /// C# type: `T:LibreMetaverse.Messages.Linden.BulkUpdateInventoryMessage`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.BulkUpdateInventoryMessage` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        pub struct BulkUpdateInventoryMessage {
            /// C# member: `F:LibreMetaverse.Messages.Linden.BulkUpdateInventoryMessage.AgentID`.
            ///
            /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Messages.Linden.BulkUpdateInventoryMessage.AgentID`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub agent_id: libremetaverse_types::UUID,
            /// C# member: `F:LibreMetaverse.Messages.Linden.BulkUpdateInventoryMessage.FolderData`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.BulkUpdateInventoryMessage.FolderDataInfo[] LibreMetaverse.Messages.Linden.BulkUpdateInventoryMessage.FolderData`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub folder_data:
                Vec<libremetaverse::messages::linden::BulkUpdateInventoryMessageFolderDataInfo>,
            /// C# member: `F:LibreMetaverse.Messages.Linden.BulkUpdateInventoryMessage.ItemData`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.BulkUpdateInventoryMessage.ItemDataInfo[] LibreMetaverse.Messages.Linden.BulkUpdateInventoryMessage.ItemData`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub item_data:
                Vec<libremetaverse::messages::linden::BulkUpdateInventoryMessageItemDataInfo>,
            /// C# member: `F:LibreMetaverse.Messages.Linden.BulkUpdateInventoryMessage.TransactionID`.
            ///
            /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Messages.Linden.BulkUpdateInventoryMessage.TransactionID`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub transaction_id: libremetaverse_types::UUID,
        }
        impl BulkUpdateInventoryMessage {
            /// C# member: `M:LibreMetaverse.Messages.Linden.BulkUpdateInventoryMessage.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.BulkUpdateInventoryMessage()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                /* reviewed native compatibility body */
                Ok(<Self as crate::message_codec::GeneratedMessage>::new_generated())
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.BulkUpdateInventoryMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
            ///
            /// C# signature: `System.Void LibreMetaverse.Messages.Linden.BulkUpdateInventoryMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
            /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.BulkUpdateInventoryMessage.Serialize`.
            ///
            /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.Linden.BulkUpdateInventoryMessage.Serialize()`.
            /// Mapping contract: ownership `shared_self`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn serialize(
                &self,
            ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }
        impl libremetaverse::interfaces::IMessage for BulkUpdateInventoryMessage {
            fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            fn serialize(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }

        /// C# type: `T:LibreMetaverse.Messages.Linden.BulkUpdateInventoryMessage.FolderDataInfo`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.BulkUpdateInventoryMessage.FolderDataInfo` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        pub struct BulkUpdateInventoryMessageFolderDataInfo {
            /// C# member: `F:LibreMetaverse.Messages.Linden.BulkUpdateInventoryMessage.FolderDataInfo.FolderID`.
            ///
            /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Messages.Linden.BulkUpdateInventoryMessage.FolderDataInfo.FolderID`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub folder_id: libremetaverse_types::UUID,
            /// C# member: `F:LibreMetaverse.Messages.Linden.BulkUpdateInventoryMessage.FolderDataInfo.Name`.
            ///
            /// C# signature: `System.String LibreMetaverse.Messages.Linden.BulkUpdateInventoryMessage.FolderDataInfo.Name`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub name: String,
            /// C# member: `F:LibreMetaverse.Messages.Linden.BulkUpdateInventoryMessage.FolderDataInfo.ParentID`.
            ///
            /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Messages.Linden.BulkUpdateInventoryMessage.FolderDataInfo.ParentID`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub parent_id: libremetaverse_types::UUID,
            /// C# member: `F:LibreMetaverse.Messages.Linden.BulkUpdateInventoryMessage.FolderDataInfo.Type`.
            ///
            /// C# signature: `LibreMetaverse.FolderType LibreMetaverse.Messages.Linden.BulkUpdateInventoryMessage.FolderDataInfo.Type`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub type_: libremetaverse_types::FolderType,
        }
        impl BulkUpdateInventoryMessageFolderDataInfo {
            /// C# member: `M:LibreMetaverse.Messages.Linden.BulkUpdateInventoryMessage.FolderDataInfo.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.BulkUpdateInventoryMessage.FolderDataInfo()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                /* reviewed native compatibility body */
                Ok(<Self as crate::message_codec::GeneratedMessage>::new_generated())
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.BulkUpdateInventoryMessage.FolderDataInfo.FromOSD(LibreMetaverse.StructuredData.OSD)`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.BulkUpdateInventoryMessage.FolderDataInfo LibreMetaverse.Messages.Linden.BulkUpdateInventoryMessage.FolderDataInfo.FromOSD(LibreMetaverse.StructuredData.OSD data)`.
            /// Mapping contract: ownership `owned`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn from_osd(
                data: libremetaverse_structured_data::OSD,
            ) -> Result<
                libremetaverse::messages::linden::BulkUpdateInventoryMessageFolderDataInfo,
                crate::Error,
            > {
                /* reviewed native compatibility body */
                crate::message_codec::generated_from_osd(data)
            }
        }

        /// C# type: `T:LibreMetaverse.Messages.Linden.BulkUpdateInventoryMessage.ItemDataInfo`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.BulkUpdateInventoryMessage.ItemDataInfo` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        pub struct BulkUpdateInventoryMessageItemDataInfo {
            /// C# member: `F:LibreMetaverse.Messages.Linden.BulkUpdateInventoryMessage.ItemDataInfo.AssetID`.
            ///
            /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Messages.Linden.BulkUpdateInventoryMessage.ItemDataInfo.AssetID`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub asset_id: libremetaverse_types::UUID,
            /// C# member: `F:LibreMetaverse.Messages.Linden.BulkUpdateInventoryMessage.ItemDataInfo.BaseMask`.
            ///
            /// C# signature: `LibreMetaverse.PermissionMask LibreMetaverse.Messages.Linden.BulkUpdateInventoryMessage.ItemDataInfo.BaseMask`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub base_mask: libremetaverse::PermissionMask,
            /// C# member: `F:LibreMetaverse.Messages.Linden.BulkUpdateInventoryMessage.ItemDataInfo.CRC`.
            ///
            /// C# signature: `System.UInt32 LibreMetaverse.Messages.Linden.BulkUpdateInventoryMessage.ItemDataInfo.CRC`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub crc: u32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.BulkUpdateInventoryMessage.ItemDataInfo.CallbackID`.
            ///
            /// C# signature: `System.UInt32 LibreMetaverse.Messages.Linden.BulkUpdateInventoryMessage.ItemDataInfo.CallbackID`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub callback_id: u32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.BulkUpdateInventoryMessage.ItemDataInfo.CreationDate`.
            ///
            /// C# signature: `System.DateTime LibreMetaverse.Messages.Linden.BulkUpdateInventoryMessage.ItemDataInfo.CreationDate`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub creation_date: std::time::SystemTime,
            /// C# member: `F:LibreMetaverse.Messages.Linden.BulkUpdateInventoryMessage.ItemDataInfo.CreatorID`.
            ///
            /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Messages.Linden.BulkUpdateInventoryMessage.ItemDataInfo.CreatorID`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub creator_id: libremetaverse_types::UUID,
            /// C# member: `F:LibreMetaverse.Messages.Linden.BulkUpdateInventoryMessage.ItemDataInfo.Description`.
            ///
            /// C# signature: `System.String LibreMetaverse.Messages.Linden.BulkUpdateInventoryMessage.ItemDataInfo.Description`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub description: String,
            /// C# member: `F:LibreMetaverse.Messages.Linden.BulkUpdateInventoryMessage.ItemDataInfo.EveryoneMask`.
            ///
            /// C# signature: `LibreMetaverse.PermissionMask LibreMetaverse.Messages.Linden.BulkUpdateInventoryMessage.ItemDataInfo.EveryoneMask`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub everyone_mask: libremetaverse::PermissionMask,
            /// C# member: `F:LibreMetaverse.Messages.Linden.BulkUpdateInventoryMessage.ItemDataInfo.Flags`.
            ///
            /// C# signature: `System.UInt32 LibreMetaverse.Messages.Linden.BulkUpdateInventoryMessage.ItemDataInfo.Flags`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub flags: u32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.BulkUpdateInventoryMessage.ItemDataInfo.FolderID`.
            ///
            /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Messages.Linden.BulkUpdateInventoryMessage.ItemDataInfo.FolderID`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub folder_id: libremetaverse_types::UUID,
            /// C# member: `F:LibreMetaverse.Messages.Linden.BulkUpdateInventoryMessage.ItemDataInfo.GroupID`.
            ///
            /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Messages.Linden.BulkUpdateInventoryMessage.ItemDataInfo.GroupID`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub group_id: libremetaverse_types::UUID,
            /// C# member: `F:LibreMetaverse.Messages.Linden.BulkUpdateInventoryMessage.ItemDataInfo.GroupMask`.
            ///
            /// C# signature: `LibreMetaverse.PermissionMask LibreMetaverse.Messages.Linden.BulkUpdateInventoryMessage.ItemDataInfo.GroupMask`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub group_mask: libremetaverse::PermissionMask,
            /// C# member: `F:LibreMetaverse.Messages.Linden.BulkUpdateInventoryMessage.ItemDataInfo.GroupOwned`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.Messages.Linden.BulkUpdateInventoryMessage.ItemDataInfo.GroupOwned`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub group_owned: bool,
            /// C# member: `F:LibreMetaverse.Messages.Linden.BulkUpdateInventoryMessage.ItemDataInfo.InvType`.
            ///
            /// C# signature: `LibreMetaverse.InventoryType LibreMetaverse.Messages.Linden.BulkUpdateInventoryMessage.ItemDataInfo.InvType`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub inv_type: libremetaverse_types::InventoryType,
            /// C# member: `F:LibreMetaverse.Messages.Linden.BulkUpdateInventoryMessage.ItemDataInfo.ItemID`.
            ///
            /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Messages.Linden.BulkUpdateInventoryMessage.ItemDataInfo.ItemID`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub item_id: libremetaverse_types::UUID,
            /// C# member: `F:LibreMetaverse.Messages.Linden.BulkUpdateInventoryMessage.ItemDataInfo.Name`.
            ///
            /// C# signature: `System.String LibreMetaverse.Messages.Linden.BulkUpdateInventoryMessage.ItemDataInfo.Name`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub name: String,
            /// C# member: `F:LibreMetaverse.Messages.Linden.BulkUpdateInventoryMessage.ItemDataInfo.NextOwnerMask`.
            ///
            /// C# signature: `LibreMetaverse.PermissionMask LibreMetaverse.Messages.Linden.BulkUpdateInventoryMessage.ItemDataInfo.NextOwnerMask`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub next_owner_mask: libremetaverse::PermissionMask,
            /// C# member: `F:LibreMetaverse.Messages.Linden.BulkUpdateInventoryMessage.ItemDataInfo.OwnerID`.
            ///
            /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Messages.Linden.BulkUpdateInventoryMessage.ItemDataInfo.OwnerID`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub owner_id: libremetaverse_types::UUID,
            /// C# member: `F:LibreMetaverse.Messages.Linden.BulkUpdateInventoryMessage.ItemDataInfo.OwnerMask`.
            ///
            /// C# signature: `LibreMetaverse.PermissionMask LibreMetaverse.Messages.Linden.BulkUpdateInventoryMessage.ItemDataInfo.OwnerMask`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub owner_mask: libremetaverse::PermissionMask,
            /// C# member: `F:LibreMetaverse.Messages.Linden.BulkUpdateInventoryMessage.ItemDataInfo.SalePrice`.
            ///
            /// C# signature: `System.Int32 LibreMetaverse.Messages.Linden.BulkUpdateInventoryMessage.ItemDataInfo.SalePrice`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub sale_price: i32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.BulkUpdateInventoryMessage.ItemDataInfo.SaleType`.
            ///
            /// C# signature: `LibreMetaverse.SaleType LibreMetaverse.Messages.Linden.BulkUpdateInventoryMessage.ItemDataInfo.SaleType`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub sale_type: libremetaverse_types::SaleType,
            /// C# member: `F:LibreMetaverse.Messages.Linden.BulkUpdateInventoryMessage.ItemDataInfo.Type`.
            ///
            /// C# signature: `LibreMetaverse.AssetType LibreMetaverse.Messages.Linden.BulkUpdateInventoryMessage.ItemDataInfo.Type`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub type_: libremetaverse_types::AssetType,
        }
        impl BulkUpdateInventoryMessageItemDataInfo {
            /// C# member: `M:LibreMetaverse.Messages.Linden.BulkUpdateInventoryMessage.ItemDataInfo.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.BulkUpdateInventoryMessage.ItemDataInfo()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                /* reviewed native compatibility body */
                Ok(<Self as crate::message_codec::GeneratedMessage>::new_generated())
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.BulkUpdateInventoryMessage.ItemDataInfo.FromOSD(LibreMetaverse.StructuredData.OSD)`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.BulkUpdateInventoryMessage.ItemDataInfo LibreMetaverse.Messages.Linden.BulkUpdateInventoryMessage.ItemDataInfo.FromOSD(LibreMetaverse.StructuredData.OSD data)`.
            /// Mapping contract: ownership `owned`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn from_osd(
                data: libremetaverse_structured_data::OSD,
            ) -> Result<
                libremetaverse::messages::linden::BulkUpdateInventoryMessageItemDataInfo,
                crate::Error,
            > {
                /* reviewed native compatibility body */
                crate::message_codec::generated_from_osd(data)
            }
        }

        /// C# type: `T:LibreMetaverse.Messages.Linden.ChatSessionAcceptInvitation`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.ChatSessionAcceptInvitation` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        pub struct ChatSessionAcceptInvitation {
            /// Rust composition for C# base type `LibreMetaverse.Messages.Linden.ChatSessionRequestBlock`.
            pub base: libremetaverse::messages::linden::ChatSessionRequestBlock,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ChatSessionAcceptInvitation.SessionID`.
            ///
            /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Messages.Linden.ChatSessionAcceptInvitation.SessionID`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub session_id: libremetaverse_types::UUID,
        }
        impl ChatSessionAcceptInvitation {
            /// C# member: `M:LibreMetaverse.Messages.Linden.ChatSessionAcceptInvitation.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.ChatSessionAcceptInvitation()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                /* reviewed native compatibility body */
                Ok(<Self as crate::message_codec::GeneratedMessage>::new_generated())
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.ChatSessionAcceptInvitation.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
            ///
            /// C# signature: `System.Void LibreMetaverse.Messages.Linden.ChatSessionAcceptInvitation.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
            /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.ChatSessionAcceptInvitation.Serialize`.
            ///
            /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.Linden.ChatSessionAcceptInvitation.Serialize()`.
            /// Mapping contract: ownership `shared_self`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn serialize(
                &self,
            ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }

        /// C# type: `T:LibreMetaverse.Messages.Linden.ChatSessionRequestBlock`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.ChatSessionRequestBlock` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        /// C# member: `F:LibreMetaverse.Messages.Linden.ChatSessionRequestBlock.Method`.
        ///
        /// C# signature: `System.String LibreMetaverse.Messages.Linden.ChatSessionRequestBlock.Method`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        /// C# member: `M:LibreMetaverse.Messages.Linden.ChatSessionRequestBlock.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Messages.Linden.ChatSessionRequestBlock.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        /// C# member: `M:LibreMetaverse.Messages.Linden.ChatSessionRequestBlock.Serialize`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.Linden.ChatSessionRequestBlock.Serialize()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub use crate::dynamic_messages::ChatSessionRequestBlock;

        /// C# type: `T:LibreMetaverse.Messages.Linden.ChatSessionRequestMessage`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.ChatSessionRequestMessage` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        pub struct ChatSessionRequestMessage {
            /// C# member: `F:LibreMetaverse.Messages.Linden.ChatSessionRequestMessage.Request`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.ChatSessionRequestBlock LibreMetaverse.Messages.Linden.ChatSessionRequestMessage.Request`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub request: libremetaverse::messages::linden::ChatSessionRequestBlock,
        }
        impl ChatSessionRequestMessage {
            /// C# member: `M:LibreMetaverse.Messages.Linden.ChatSessionRequestMessage.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.ChatSessionRequestMessage()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                /* reviewed native compatibility body */
                Ok(<Self as crate::message_codec::GeneratedMessage>::new_generated())
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.ChatSessionRequestMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
            ///
            /// C# signature: `System.Void LibreMetaverse.Messages.Linden.ChatSessionRequestMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
            /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.ChatSessionRequestMessage.Serialize`.
            ///
            /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.Linden.ChatSessionRequestMessage.Serialize()`.
            /// Mapping contract: ownership `shared_self`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn serialize(
                &self,
            ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }
        impl libremetaverse::interfaces::IMessage for ChatSessionRequestMessage {
            fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            fn serialize(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }

        /// C# type: `T:LibreMetaverse.Messages.Linden.ChatSessionRequestMuteUpdate`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.ChatSessionRequestMuteUpdate` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        pub struct ChatSessionRequestMuteUpdate {
            /// Rust composition for C# base type `LibreMetaverse.Messages.Linden.ChatSessionRequestBlock`.
            pub base: libremetaverse::messages::linden::ChatSessionRequestBlock,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ChatSessionRequestMuteUpdate.AgentID`.
            ///
            /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Messages.Linden.ChatSessionRequestMuteUpdate.AgentID`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub agent_id: libremetaverse_types::UUID,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ChatSessionRequestMuteUpdate.RequestKey`.
            ///
            /// C# signature: `System.String LibreMetaverse.Messages.Linden.ChatSessionRequestMuteUpdate.RequestKey`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub request_key: String,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ChatSessionRequestMuteUpdate.RequestValue`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.Messages.Linden.ChatSessionRequestMuteUpdate.RequestValue`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub request_value: bool,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ChatSessionRequestMuteUpdate.SessionID`.
            ///
            /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Messages.Linden.ChatSessionRequestMuteUpdate.SessionID`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub session_id: libremetaverse_types::UUID,
        }
        impl ChatSessionRequestMuteUpdate {
            /// C# member: `M:LibreMetaverse.Messages.Linden.ChatSessionRequestMuteUpdate.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.ChatSessionRequestMuteUpdate()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                /* reviewed native compatibility body */
                Ok(<Self as crate::message_codec::GeneratedMessage>::new_generated())
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.ChatSessionRequestMuteUpdate.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
            ///
            /// C# signature: `System.Void LibreMetaverse.Messages.Linden.ChatSessionRequestMuteUpdate.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
            /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.ChatSessionRequestMuteUpdate.Serialize`.
            ///
            /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.Linden.ChatSessionRequestMuteUpdate.Serialize()`.
            /// Mapping contract: ownership `shared_self`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn serialize(
                &self,
            ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }

        /// C# type: `T:LibreMetaverse.Messages.Linden.ChatSessionRequestStartConference`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.ChatSessionRequestStartConference` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        pub struct ChatSessionRequestStartConference {
            /// Rust composition for C# base type `LibreMetaverse.Messages.Linden.ChatSessionRequestBlock`.
            pub base: libremetaverse::messages::linden::ChatSessionRequestBlock,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ChatSessionRequestStartConference.AgentsBlock`.
            ///
            /// C# signature: `LibreMetaverse.UUID[] LibreMetaverse.Messages.Linden.ChatSessionRequestStartConference.AgentsBlock`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub agents_block: Vec<libremetaverse_types::UUID>,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ChatSessionRequestStartConference.SessionID`.
            ///
            /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Messages.Linden.ChatSessionRequestStartConference.SessionID`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub session_id: libremetaverse_types::UUID,
        }
        impl ChatSessionRequestStartConference {
            /// C# member: `M:LibreMetaverse.Messages.Linden.ChatSessionRequestStartConference.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.ChatSessionRequestStartConference()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                /* reviewed native compatibility body */
                Ok(<Self as crate::message_codec::GeneratedMessage>::new_generated())
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.ChatSessionRequestStartConference.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
            ///
            /// C# signature: `System.Void LibreMetaverse.Messages.Linden.ChatSessionRequestStartConference.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
            /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.ChatSessionRequestStartConference.Serialize`.
            ///
            /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.Linden.ChatSessionRequestStartConference.Serialize()`.
            /// Mapping contract: ownership `shared_self`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn serialize(
                &self,
            ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }

        /// C# type: `T:LibreMetaverse.Messages.Linden.ChatterBoxInvitationMessage`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.ChatterBoxInvitationMessage` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        pub struct ChatterBoxInvitationMessage {
            /// C# member: `F:LibreMetaverse.Messages.Linden.ChatterBoxInvitationMessage.BinaryBucket`.
            ///
            /// C# signature: `System.Byte[] LibreMetaverse.Messages.Linden.ChatterBoxInvitationMessage.BinaryBucket`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub binary_bucket: Vec<u8>,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ChatterBoxInvitationMessage.Dialog`.
            ///
            /// C# signature: `LibreMetaverse.InstantMessageDialog LibreMetaverse.Messages.Linden.ChatterBoxInvitationMessage.Dialog`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub dialog: libremetaverse::InstantMessageDialog,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ChatterBoxInvitationMessage.FromAgentID`.
            ///
            /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Messages.Linden.ChatterBoxInvitationMessage.FromAgentID`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub from_agent_id: libremetaverse_types::UUID,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ChatterBoxInvitationMessage.FromAgentName`.
            ///
            /// C# signature: `System.String LibreMetaverse.Messages.Linden.ChatterBoxInvitationMessage.FromAgentName`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub from_agent_name: String,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ChatterBoxInvitationMessage.GroupIM`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.Messages.Linden.ChatterBoxInvitationMessage.GroupIM`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub group_im: bool,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ChatterBoxInvitationMessage.IMSessionID`.
            ///
            /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Messages.Linden.ChatterBoxInvitationMessage.IMSessionID`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub im_session_id: libremetaverse_types::UUID,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ChatterBoxInvitationMessage.Message`.
            ///
            /// C# signature: `System.String LibreMetaverse.Messages.Linden.ChatterBoxInvitationMessage.Message`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub message: String,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ChatterBoxInvitationMessage.Offline`.
            ///
            /// C# signature: `LibreMetaverse.InstantMessageOnline LibreMetaverse.Messages.Linden.ChatterBoxInvitationMessage.Offline`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub offline: libremetaverse::InstantMessageOnline,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ChatterBoxInvitationMessage.ParentEstateID`.
            ///
            /// C# signature: `System.UInt32 LibreMetaverse.Messages.Linden.ChatterBoxInvitationMessage.ParentEstateID`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub parent_estate_id: u32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ChatterBoxInvitationMessage.Position`.
            ///
            /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Messages.Linden.ChatterBoxInvitationMessage.Position`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub position: libremetaverse_types::Vector3,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ChatterBoxInvitationMessage.RegionID`.
            ///
            /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Messages.Linden.ChatterBoxInvitationMessage.RegionID`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub region_id: libremetaverse_types::UUID,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ChatterBoxInvitationMessage.Timestamp`.
            ///
            /// C# signature: `System.DateTime LibreMetaverse.Messages.Linden.ChatterBoxInvitationMessage.Timestamp`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub timestamp: std::time::SystemTime,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ChatterBoxInvitationMessage.ToAgentID`.
            ///
            /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Messages.Linden.ChatterBoxInvitationMessage.ToAgentID`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub to_agent_id: libremetaverse_types::UUID,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ChatterBoxInvitationMessage.Voice`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.Messages.Linden.ChatterBoxInvitationMessage.Voice`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub voice: bool,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ChatterBoxInvitationMessage.VoiceChannelCredentials`.
            ///
            /// C# signature: `System.String LibreMetaverse.Messages.Linden.ChatterBoxInvitationMessage.VoiceChannelCredentials`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub voice_channel_credentials: String,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ChatterBoxInvitationMessage.VoiceChannelUri`.
            ///
            /// C# signature: `System.String LibreMetaverse.Messages.Linden.ChatterBoxInvitationMessage.VoiceChannelUri`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub voice_channel_uri: String,
        }
        impl ChatterBoxInvitationMessage {
            /// C# member: `M:LibreMetaverse.Messages.Linden.ChatterBoxInvitationMessage.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.ChatterBoxInvitationMessage()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                /* reviewed native compatibility body */
                Ok(<Self as crate::message_codec::GeneratedMessage>::new_generated())
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.ChatterBoxInvitationMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
            ///
            /// C# signature: `System.Void LibreMetaverse.Messages.Linden.ChatterBoxInvitationMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
            /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.ChatterBoxInvitationMessage.Serialize`.
            ///
            /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.Linden.ChatterBoxInvitationMessage.Serialize()`.
            /// Mapping contract: ownership `shared_self`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn serialize(
                &self,
            ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }
        impl libremetaverse::interfaces::IMessage for ChatterBoxInvitationMessage {
            fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            fn serialize(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }

        /// C# type: `T:LibreMetaverse.Messages.Linden.ChatterBoxSessionAgentListUpdatesMessage`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.ChatterBoxSessionAgentListUpdatesMessage` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        pub struct ChatterBoxSessionAgentListUpdatesMessage {
    /// C# member: `F:LibreMetaverse.Messages.Linden.ChatterBoxSessionAgentListUpdatesMessage.SessionID`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Messages.Linden.ChatterBoxSessionAgentListUpdatesMessage.SessionID`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub session_id: libremetaverse_types::UUID,
    /// C# member: `F:LibreMetaverse.Messages.Linden.ChatterBoxSessionAgentListUpdatesMessage.Updates`.
    ///
    /// C# signature: `LibreMetaverse.Messages.Linden.ChatterBoxSessionAgentListUpdatesMessage.AgentUpdatesBlock[] LibreMetaverse.Messages.Linden.ChatterBoxSessionAgentListUpdatesMessage.Updates`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub updates: Vec<libremetaverse::messages::linden::ChatterBoxSessionAgentListUpdatesMessageAgentUpdatesBlock>,
}
        impl ChatterBoxSessionAgentListUpdatesMessage {
            /// C# member: `M:LibreMetaverse.Messages.Linden.ChatterBoxSessionAgentListUpdatesMessage.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.ChatterBoxSessionAgentListUpdatesMessage()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                /* reviewed native compatibility body */
                Ok(<Self as crate::message_codec::GeneratedMessage>::new_generated())
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.ChatterBoxSessionAgentListUpdatesMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
            ///
            /// C# signature: `System.Void LibreMetaverse.Messages.Linden.ChatterBoxSessionAgentListUpdatesMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
            /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.ChatterBoxSessionAgentListUpdatesMessage.Serialize`.
            ///
            /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.Linden.ChatterBoxSessionAgentListUpdatesMessage.Serialize()`.
            /// Mapping contract: ownership `shared_self`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn serialize(
                &self,
            ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }
        impl libremetaverse::interfaces::IMessage for ChatterBoxSessionAgentListUpdatesMessage {
            fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            fn serialize(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }

        /// C# type: `T:LibreMetaverse.Messages.Linden.ChatterBoxSessionAgentListUpdatesMessage.AgentUpdatesBlock`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.ChatterBoxSessionAgentListUpdatesMessage.AgentUpdatesBlock` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        pub struct ChatterBoxSessionAgentListUpdatesMessageAgentUpdatesBlock {
            /// C# member: `F:LibreMetaverse.Messages.Linden.ChatterBoxSessionAgentListUpdatesMessage.AgentUpdatesBlock.AgentID`.
            ///
            /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Messages.Linden.ChatterBoxSessionAgentListUpdatesMessage.AgentUpdatesBlock.AgentID`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub agent_id: libremetaverse_types::UUID,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ChatterBoxSessionAgentListUpdatesMessage.AgentUpdatesBlock.CanVoiceChat`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.Messages.Linden.ChatterBoxSessionAgentListUpdatesMessage.AgentUpdatesBlock.CanVoiceChat`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub can_voice_chat: bool,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ChatterBoxSessionAgentListUpdatesMessage.AgentUpdatesBlock.IsModerator`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.Messages.Linden.ChatterBoxSessionAgentListUpdatesMessage.AgentUpdatesBlock.IsModerator`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub is_moderator: bool,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ChatterBoxSessionAgentListUpdatesMessage.AgentUpdatesBlock.MuteText`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.Messages.Linden.ChatterBoxSessionAgentListUpdatesMessage.AgentUpdatesBlock.MuteText`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub mute_text: bool,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ChatterBoxSessionAgentListUpdatesMessage.AgentUpdatesBlock.MuteVoice`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.Messages.Linden.ChatterBoxSessionAgentListUpdatesMessage.AgentUpdatesBlock.MuteVoice`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub mute_voice: bool,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ChatterBoxSessionAgentListUpdatesMessage.AgentUpdatesBlock.Transition`.
            ///
            /// C# signature: `System.String LibreMetaverse.Messages.Linden.ChatterBoxSessionAgentListUpdatesMessage.AgentUpdatesBlock.Transition`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub transition: String,
        }
        impl ChatterBoxSessionAgentListUpdatesMessageAgentUpdatesBlock {
            /// C# member: `M:LibreMetaverse.Messages.Linden.ChatterBoxSessionAgentListUpdatesMessage.AgentUpdatesBlock.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.ChatterBoxSessionAgentListUpdatesMessage.AgentUpdatesBlock()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                /* reviewed native compatibility body */
                Ok(<Self as crate::message_codec::GeneratedMessage>::new_generated())
            }
        }

        /// C# type: `T:LibreMetaverse.Messages.Linden.ChatterBoxSessionStartReplyMessage`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.ChatterBoxSessionStartReplyMessage` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        pub struct ChatterBoxSessionStartReplyMessage {
            /// C# member: `F:LibreMetaverse.Messages.Linden.ChatterBoxSessionStartReplyMessage.ModeratedVoice`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.Messages.Linden.ChatterBoxSessionStartReplyMessage.ModeratedVoice`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub moderated_voice: bool,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ChatterBoxSessionStartReplyMessage.SessionID`.
            ///
            /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Messages.Linden.ChatterBoxSessionStartReplyMessage.SessionID`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub session_id: libremetaverse_types::UUID,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ChatterBoxSessionStartReplyMessage.SessionName`.
            ///
            /// C# signature: `System.String LibreMetaverse.Messages.Linden.ChatterBoxSessionStartReplyMessage.SessionName`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub session_name: String,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ChatterBoxSessionStartReplyMessage.Success`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.Messages.Linden.ChatterBoxSessionStartReplyMessage.Success`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub success: bool,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ChatterBoxSessionStartReplyMessage.TempSessionID`.
            ///
            /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Messages.Linden.ChatterBoxSessionStartReplyMessage.TempSessionID`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub temp_session_id: libremetaverse_types::UUID,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ChatterBoxSessionStartReplyMessage.Type`.
            ///
            /// C# signature: `System.Int32 LibreMetaverse.Messages.Linden.ChatterBoxSessionStartReplyMessage.Type`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub type_: i32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ChatterBoxSessionStartReplyMessage.VoiceEnabled`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.Messages.Linden.ChatterBoxSessionStartReplyMessage.VoiceEnabled`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub voice_enabled: bool,
        }
        impl ChatterBoxSessionStartReplyMessage {
            /// C# member: `M:LibreMetaverse.Messages.Linden.ChatterBoxSessionStartReplyMessage.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.ChatterBoxSessionStartReplyMessage()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                /* reviewed native compatibility body */
                Ok(<Self as crate::message_codec::GeneratedMessage>::new_generated())
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.ChatterBoxSessionStartReplyMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
            ///
            /// C# signature: `System.Void LibreMetaverse.Messages.Linden.ChatterBoxSessionStartReplyMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
            /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.ChatterBoxSessionStartReplyMessage.Serialize`.
            ///
            /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.Linden.ChatterBoxSessionStartReplyMessage.Serialize()`.
            /// Mapping contract: ownership `shared_self`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn serialize(
                &self,
            ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }
        impl libremetaverse::interfaces::IMessage for ChatterBoxSessionStartReplyMessage {
            fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            fn serialize(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }

        /// C# type: `T:LibreMetaverse.Messages.Linden.ChatterboxSessionEventReplyMessage`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.ChatterboxSessionEventReplyMessage` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        pub struct ChatterboxSessionEventReplyMessage {
            /// C# member: `F:LibreMetaverse.Messages.Linden.ChatterboxSessionEventReplyMessage.SessionID`.
            ///
            /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Messages.Linden.ChatterboxSessionEventReplyMessage.SessionID`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub session_id: libremetaverse_types::UUID,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ChatterboxSessionEventReplyMessage.Success`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.Messages.Linden.ChatterboxSessionEventReplyMessage.Success`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub success: bool,
        }
        impl ChatterboxSessionEventReplyMessage {
            /// C# member: `M:LibreMetaverse.Messages.Linden.ChatterboxSessionEventReplyMessage.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.ChatterboxSessionEventReplyMessage()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                /* reviewed native compatibility body */
                Ok(<Self as crate::message_codec::GeneratedMessage>::new_generated())
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.ChatterboxSessionEventReplyMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
            ///
            /// C# signature: `System.Void LibreMetaverse.Messages.Linden.ChatterboxSessionEventReplyMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
            /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.ChatterboxSessionEventReplyMessage.Serialize`.
            ///
            /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.Linden.ChatterboxSessionEventReplyMessage.Serialize()`.
            /// Mapping contract: ownership `shared_self`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn serialize(
                &self,
            ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }
        impl libremetaverse::interfaces::IMessage for ChatterboxSessionEventReplyMessage {
            fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            fn serialize(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }

        /// C# type: `T:LibreMetaverse.Messages.Linden.CopyInventoryFromNotecardMessage`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.CopyInventoryFromNotecardMessage` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        pub struct CopyInventoryFromNotecardMessage {
            /// C# member: `F:LibreMetaverse.Messages.Linden.CopyInventoryFromNotecardMessage.CallbackID`.
            ///
            /// C# signature: `System.Int32 LibreMetaverse.Messages.Linden.CopyInventoryFromNotecardMessage.CallbackID`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub callback_id: i32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.CopyInventoryFromNotecardMessage.FolderID`.
            ///
            /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Messages.Linden.CopyInventoryFromNotecardMessage.FolderID`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub folder_id: libremetaverse_types::UUID,
            /// C# member: `F:LibreMetaverse.Messages.Linden.CopyInventoryFromNotecardMessage.ItemID`.
            ///
            /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Messages.Linden.CopyInventoryFromNotecardMessage.ItemID`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub item_id: libremetaverse_types::UUID,
            /// C# member: `F:LibreMetaverse.Messages.Linden.CopyInventoryFromNotecardMessage.NotecardID`.
            ///
            /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Messages.Linden.CopyInventoryFromNotecardMessage.NotecardID`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub notecard_id: libremetaverse_types::UUID,
            /// C# member: `F:LibreMetaverse.Messages.Linden.CopyInventoryFromNotecardMessage.ObjectID`.
            ///
            /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Messages.Linden.CopyInventoryFromNotecardMessage.ObjectID`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub object_id: libremetaverse_types::UUID,
        }
        impl CopyInventoryFromNotecardMessage {
            /// C# member: `M:LibreMetaverse.Messages.Linden.CopyInventoryFromNotecardMessage.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.CopyInventoryFromNotecardMessage()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                /* reviewed native compatibility body */
                Ok(<Self as crate::message_codec::GeneratedMessage>::new_generated())
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.CopyInventoryFromNotecardMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
            ///
            /// C# signature: `System.Void LibreMetaverse.Messages.Linden.CopyInventoryFromNotecardMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
            /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.CopyInventoryFromNotecardMessage.Serialize`.
            ///
            /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.Linden.CopyInventoryFromNotecardMessage.Serialize()`.
            /// Mapping contract: ownership `shared_self`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn serialize(
                &self,
            ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }
        impl libremetaverse::interfaces::IMessage for CopyInventoryFromNotecardMessage {
            fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            fn serialize(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }

        /// C# type: `T:LibreMetaverse.Messages.Linden.CrossedRegionMessage`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.CrossedRegionMessage` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        pub struct CrossedRegionMessage {
            /// C# member: `F:LibreMetaverse.Messages.Linden.CrossedRegionMessage.AgentID`.
            ///
            /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Messages.Linden.CrossedRegionMessage.AgentID`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub agent_id: libremetaverse_types::UUID,
            /// C# member: `F:LibreMetaverse.Messages.Linden.CrossedRegionMessage.IP`.
            ///
            /// C# signature: `System.Net.IPAddress LibreMetaverse.Messages.Linden.CrossedRegionMessage.IP`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub ip: std::net::IpAddr,
            /// C# member: `F:LibreMetaverse.Messages.Linden.CrossedRegionMessage.LookAt`.
            ///
            /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Messages.Linden.CrossedRegionMessage.LookAt`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub look_at: libremetaverse_types::Vector3,
            /// C# member: `F:LibreMetaverse.Messages.Linden.CrossedRegionMessage.Port`.
            ///
            /// C# signature: `System.Int32 LibreMetaverse.Messages.Linden.CrossedRegionMessage.Port`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub port: i32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.CrossedRegionMessage.Position`.
            ///
            /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Messages.Linden.CrossedRegionMessage.Position`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub position: libremetaverse_types::Vector3,
            /// C# member: `F:LibreMetaverse.Messages.Linden.CrossedRegionMessage.RegionHandle`.
            ///
            /// C# signature: `System.UInt64 LibreMetaverse.Messages.Linden.CrossedRegionMessage.RegionHandle`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub region_handle: u64,
            /// C# member: `F:LibreMetaverse.Messages.Linden.CrossedRegionMessage.RegionSizeX`.
            ///
            /// C# signature: `System.UInt32 LibreMetaverse.Messages.Linden.CrossedRegionMessage.RegionSizeX`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub region_size_x: u32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.CrossedRegionMessage.RegionSizeY`.
            ///
            /// C# signature: `System.UInt32 LibreMetaverse.Messages.Linden.CrossedRegionMessage.RegionSizeY`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub region_size_y: u32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.CrossedRegionMessage.SeedCapability`.
            ///
            /// C# signature: `System.Uri LibreMetaverse.Messages.Linden.CrossedRegionMessage.SeedCapability`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub seed_capability: libremetaverse_types::compat::Uri,
            /// C# member: `F:LibreMetaverse.Messages.Linden.CrossedRegionMessage.SessionID`.
            ///
            /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Messages.Linden.CrossedRegionMessage.SessionID`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub session_id: libremetaverse_types::UUID,
        }
        impl CrossedRegionMessage {
            /// C# member: `M:LibreMetaverse.Messages.Linden.CrossedRegionMessage.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.CrossedRegionMessage()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                /* reviewed native compatibility body */
                Ok(<Self as crate::message_codec::GeneratedMessage>::new_generated())
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.CrossedRegionMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
            ///
            /// C# signature: `System.Void LibreMetaverse.Messages.Linden.CrossedRegionMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
            /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.CrossedRegionMessage.Serialize`.
            ///
            /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.Linden.CrossedRegionMessage.Serialize()`.
            /// Mapping contract: ownership `shared_self`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn serialize(
                &self,
            ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }
        impl libremetaverse::interfaces::IMessage for CrossedRegionMessage {
            fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            fn serialize(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }

        /// C# type: `T:LibreMetaverse.Messages.Linden.DirLandReplyMessage`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.DirLandReplyMessage` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        pub struct DirLandReplyMessage {
            /// C# member: `F:LibreMetaverse.Messages.Linden.DirLandReplyMessage.AgentID`.
            ///
            /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Messages.Linden.DirLandReplyMessage.AgentID`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub agent_id: libremetaverse_types::UUID,
            /// C# member: `F:LibreMetaverse.Messages.Linden.DirLandReplyMessage.QueryID`.
            ///
            /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Messages.Linden.DirLandReplyMessage.QueryID`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub query_id: libremetaverse_types::UUID,
            /// C# member: `F:LibreMetaverse.Messages.Linden.DirLandReplyMessage.QueryReplies`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.DirLandReplyMessage.QueryReply[] LibreMetaverse.Messages.Linden.DirLandReplyMessage.QueryReplies`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub query_replies: Vec<libremetaverse::messages::linden::DirLandReplyMessageQueryReply>,
        }
        impl DirLandReplyMessage {
            /// C# member: `M:LibreMetaverse.Messages.Linden.DirLandReplyMessage.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.DirLandReplyMessage()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                /* reviewed native compatibility body */
                Ok(<Self as crate::message_codec::GeneratedMessage>::new_generated())
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.DirLandReplyMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
            ///
            /// C# signature: `System.Void LibreMetaverse.Messages.Linden.DirLandReplyMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
            /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.DirLandReplyMessage.Serialize`.
            ///
            /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.Linden.DirLandReplyMessage.Serialize()`.
            /// Mapping contract: ownership `shared_self`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn serialize(
                &self,
            ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }
        impl libremetaverse::interfaces::IMessage for DirLandReplyMessage {
            fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            fn serialize(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }

        /// C# type: `T:LibreMetaverse.Messages.Linden.DirLandReplyMessage.QueryReply`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.DirLandReplyMessage.QueryReply` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        pub struct DirLandReplyMessageQueryReply {
            /// C# member: `F:LibreMetaverse.Messages.Linden.DirLandReplyMessage.QueryReply.ActualArea`.
            ///
            /// C# signature: `System.Int32 LibreMetaverse.Messages.Linden.DirLandReplyMessage.QueryReply.ActualArea`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub actual_area: i32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.DirLandReplyMessage.QueryReply.Auction`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.Messages.Linden.DirLandReplyMessage.QueryReply.Auction`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub auction: bool,
            /// C# member: `F:LibreMetaverse.Messages.Linden.DirLandReplyMessage.QueryReply.ForSale`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.Messages.Linden.DirLandReplyMessage.QueryReply.ForSale`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub for_sale: bool,
            /// C# member: `F:LibreMetaverse.Messages.Linden.DirLandReplyMessage.QueryReply.Name`.
            ///
            /// C# signature: `System.String LibreMetaverse.Messages.Linden.DirLandReplyMessage.QueryReply.Name`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub name: String,
            /// C# member: `F:LibreMetaverse.Messages.Linden.DirLandReplyMessage.QueryReply.ParcelID`.
            ///
            /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Messages.Linden.DirLandReplyMessage.QueryReply.ParcelID`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub parcel_id: libremetaverse_types::UUID,
            /// C# member: `F:LibreMetaverse.Messages.Linden.DirLandReplyMessage.QueryReply.ProductSku`.
            ///
            /// C# signature: `System.String LibreMetaverse.Messages.Linden.DirLandReplyMessage.QueryReply.ProductSku`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub product_sku: String,
            /// C# member: `F:LibreMetaverse.Messages.Linden.DirLandReplyMessage.QueryReply.SalePrice`.
            ///
            /// C# signature: `System.Int32 LibreMetaverse.Messages.Linden.DirLandReplyMessage.QueryReply.SalePrice`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub sale_price: i32,
        }
        impl DirLandReplyMessageQueryReply {
            /// C# member: `M:LibreMetaverse.Messages.Linden.DirLandReplyMessage.QueryReply.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.DirLandReplyMessage.QueryReply()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                /* reviewed native compatibility body */
                Ok(<Self as crate::message_codec::GeneratedMessage>::new_generated())
            }
        }

        /// C# type: `T:LibreMetaverse.Messages.Linden.DisplayNameUpdateMessage`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.DisplayNameUpdateMessage` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        pub struct DisplayNameUpdateMessage {
            /// C# member: `F:LibreMetaverse.Messages.Linden.DisplayNameUpdateMessage.DisplayName`.
            ///
            /// C# signature: `LibreMetaverse.AgentDisplayName LibreMetaverse.Messages.Linden.DisplayNameUpdateMessage.DisplayName`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub display_name: libremetaverse::AgentDisplayName,
            /// C# member: `F:LibreMetaverse.Messages.Linden.DisplayNameUpdateMessage.OldDisplayName`.
            ///
            /// C# signature: `System.String LibreMetaverse.Messages.Linden.DisplayNameUpdateMessage.OldDisplayName`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub old_display_name: String,
        }
        impl DisplayNameUpdateMessage {
            /// C# member: `M:LibreMetaverse.Messages.Linden.DisplayNameUpdateMessage.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.DisplayNameUpdateMessage()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                /* reviewed native compatibility body */
                Ok(<Self as crate::message_codec::GeneratedMessage>::new_generated())
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.DisplayNameUpdateMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
            ///
            /// C# signature: `System.Void LibreMetaverse.Messages.Linden.DisplayNameUpdateMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
            /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.DisplayNameUpdateMessage.Serialize`.
            ///
            /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.Linden.DisplayNameUpdateMessage.Serialize()`.
            /// Mapping contract: ownership `shared_self`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn serialize(
                &self,
            ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }
        impl libremetaverse::interfaces::IMessage for DisplayNameUpdateMessage {
            fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            fn serialize(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }

        /// C# type: `T:LibreMetaverse.Messages.Linden.EnableSimulatorMessage`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.EnableSimulatorMessage` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        pub struct EnableSimulatorMessage {
            /// C# member: `F:LibreMetaverse.Messages.Linden.EnableSimulatorMessage.Simulators`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.EnableSimulatorMessage.SimulatorInfoBlock[] LibreMetaverse.Messages.Linden.EnableSimulatorMessage.Simulators`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub simulators:
                Vec<libremetaverse::messages::linden::EnableSimulatorMessageSimulatorInfoBlock>,
        }
        impl EnableSimulatorMessage {
            /// C# member: `M:LibreMetaverse.Messages.Linden.EnableSimulatorMessage.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.EnableSimulatorMessage()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                /* reviewed native compatibility body */
                Ok(<Self as crate::message_codec::GeneratedMessage>::new_generated())
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.EnableSimulatorMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
            ///
            /// C# signature: `System.Void LibreMetaverse.Messages.Linden.EnableSimulatorMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
            /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.EnableSimulatorMessage.Serialize`.
            ///
            /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.Linden.EnableSimulatorMessage.Serialize()`.
            /// Mapping contract: ownership `shared_self`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn serialize(
                &self,
            ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }
        impl libremetaverse::interfaces::IMessage for EnableSimulatorMessage {
            fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            fn serialize(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }

        /// C# type: `T:LibreMetaverse.Messages.Linden.EnableSimulatorMessage.SimulatorInfoBlock`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.EnableSimulatorMessage.SimulatorInfoBlock` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        pub struct EnableSimulatorMessageSimulatorInfoBlock {
            /// C# member: `F:LibreMetaverse.Messages.Linden.EnableSimulatorMessage.SimulatorInfoBlock.IP`.
            ///
            /// C# signature: `System.Net.IPAddress LibreMetaverse.Messages.Linden.EnableSimulatorMessage.SimulatorInfoBlock.IP`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub ip: std::net::IpAddr,
            /// C# member: `F:LibreMetaverse.Messages.Linden.EnableSimulatorMessage.SimulatorInfoBlock.Port`.
            ///
            /// C# signature: `System.Int32 LibreMetaverse.Messages.Linden.EnableSimulatorMessage.SimulatorInfoBlock.Port`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub port: i32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.EnableSimulatorMessage.SimulatorInfoBlock.RegionHandle`.
            ///
            /// C# signature: `System.UInt64 LibreMetaverse.Messages.Linden.EnableSimulatorMessage.SimulatorInfoBlock.RegionHandle`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub region_handle: u64,
            /// C# member: `F:LibreMetaverse.Messages.Linden.EnableSimulatorMessage.SimulatorInfoBlock.RegionSizeX`.
            ///
            /// C# signature: `System.UInt32 LibreMetaverse.Messages.Linden.EnableSimulatorMessage.SimulatorInfoBlock.RegionSizeX`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub region_size_x: u32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.EnableSimulatorMessage.SimulatorInfoBlock.RegionSizeY`.
            ///
            /// C# signature: `System.UInt32 LibreMetaverse.Messages.Linden.EnableSimulatorMessage.SimulatorInfoBlock.RegionSizeY`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub region_size_y: u32,
        }
        impl EnableSimulatorMessageSimulatorInfoBlock {
            /// C# member: `M:LibreMetaverse.Messages.Linden.EnableSimulatorMessage.SimulatorInfoBlock.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.EnableSimulatorMessage.SimulatorInfoBlock()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                /* reviewed native compatibility body */
                Ok(<Self as crate::message_codec::GeneratedMessage>::new_generated())
            }
        }

        /// C# type: `T:LibreMetaverse.Messages.Linden.EnvironmentData`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.EnvironmentData` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        /// C# member: `M:LibreMetaverse.Messages.Linden.EnvironmentData.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Messages.Linden.EnvironmentData()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        /// C# member: `M:LibreMetaverse.Messages.Linden.EnvironmentData.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Messages.Linden.EnvironmentData.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        /// C# member: `M:LibreMetaverse.Messages.Linden.EnvironmentData.Serialize`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.Linden.EnvironmentData.Serialize()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        /// C# member: `P:LibreMetaverse.Messages.Linden.EnvironmentData.DayCycle`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSD LibreMetaverse.Messages.Linden.EnvironmentData.DayCycle`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        /// C# member: `P:LibreMetaverse.Messages.Linden.EnvironmentData.DayLength`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Messages.Linden.EnvironmentData.DayLength`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        /// C# member: `P:LibreMetaverse.Messages.Linden.EnvironmentData.DayOffset`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Messages.Linden.EnvironmentData.DayOffset`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        /// C# member: `P:LibreMetaverse.Messages.Linden.EnvironmentData.Flags`.
        ///
        /// C# signature: `LibreMetaverse.Messages.Linden.EnvironmentFlags LibreMetaverse.Messages.Linden.EnvironmentData.Flags`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        /// C# member: `P:LibreMetaverse.Messages.Linden.EnvironmentData.IsDefault`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Messages.Linden.EnvironmentData.IsDefault`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub use crate::environment_manager::EnvironmentData;

        /// C# type: `T:LibreMetaverse.Messages.Linden.EnvironmentFlags`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.EnvironmentFlags` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
        #[repr(transparent)]
        pub struct EnvironmentFlags(pub u32);
        impl EnvironmentFlags {
            /// C# member: `F:LibreMetaverse.Messages.Linden.EnvironmentFlags.None`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.EnvironmentFlags LibreMetaverse.Messages.Linden.EnvironmentFlags.None`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub const NONE: Self = Self(0);
            /// C# member: `F:LibreMetaverse.Messages.Linden.EnvironmentFlags.Override`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.EnvironmentFlags LibreMetaverse.Messages.Linden.EnvironmentFlags.Override`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub const OVERRIDE_: Self = Self(4);
        }

        /// C# type: `T:LibreMetaverse.Messages.Linden.EstablishAgentCommunicationMessage`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.EstablishAgentCommunicationMessage` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        pub struct EstablishAgentCommunicationMessage {
            /// C# member: `F:LibreMetaverse.Messages.Linden.EstablishAgentCommunicationMessage.Address`.
            ///
            /// C# signature: `System.Net.IPAddress LibreMetaverse.Messages.Linden.EstablishAgentCommunicationMessage.Address`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub address: std::net::IpAddr,
            /// C# member: `F:LibreMetaverse.Messages.Linden.EstablishAgentCommunicationMessage.AgentID`.
            ///
            /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Messages.Linden.EstablishAgentCommunicationMessage.AgentID`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub agent_id: libremetaverse_types::UUID,
            /// C# member: `F:LibreMetaverse.Messages.Linden.EstablishAgentCommunicationMessage.Port`.
            ///
            /// C# signature: `System.Int32 LibreMetaverse.Messages.Linden.EstablishAgentCommunicationMessage.Port`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub port: i32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.EstablishAgentCommunicationMessage.SeedCapability`.
            ///
            /// C# signature: `System.Uri LibreMetaverse.Messages.Linden.EstablishAgentCommunicationMessage.SeedCapability`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub seed_capability: libremetaverse_types::compat::Uri,
        }
        impl EstablishAgentCommunicationMessage {
            /// C# member: `M:LibreMetaverse.Messages.Linden.EstablishAgentCommunicationMessage.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.EstablishAgentCommunicationMessage()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                /* reviewed native compatibility body */
                Ok(<Self as crate::message_codec::GeneratedMessage>::new_generated())
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.EstablishAgentCommunicationMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
            ///
            /// C# signature: `System.Void LibreMetaverse.Messages.Linden.EstablishAgentCommunicationMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
            /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.EstablishAgentCommunicationMessage.Serialize`.
            ///
            /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.Linden.EstablishAgentCommunicationMessage.Serialize()`.
            /// Mapping contract: ownership `shared_self`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn serialize(
                &self,
            ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }
        impl libremetaverse::interfaces::IMessage for EstablishAgentCommunicationMessage {
            fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            fn serialize(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }

        /// C# type: `T:LibreMetaverse.Messages.Linden.EventMessageBlock`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.EventMessageBlock` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        /// C# member: `M:LibreMetaverse.Messages.Linden.EventMessageBlock.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Messages.Linden.EventMessageBlock.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        /// C# member: `M:LibreMetaverse.Messages.Linden.EventMessageBlock.Serialize`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.Linden.EventMessageBlock.Serialize()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub use crate::event_queue::EventMessageBlock;

        /// C# type: `T:LibreMetaverse.Messages.Linden.EventQueueAck`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.EventQueueAck` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        /// C# member: `F:LibreMetaverse.Messages.Linden.EventQueueAck.AckID`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Messages.Linden.EventQueueAck.AckID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        /// C# member: `F:LibreMetaverse.Messages.Linden.EventQueueAck.Done`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Messages.Linden.EventQueueAck.Done`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        /// C# member: `M:LibreMetaverse.Messages.Linden.EventQueueAck.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Messages.Linden.EventQueueAck()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        /// C# member: `M:LibreMetaverse.Messages.Linden.EventQueueAck.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Messages.Linden.EventQueueAck.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        /// C# member: `M:LibreMetaverse.Messages.Linden.EventQueueAck.Serialize`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.Linden.EventQueueAck.Serialize()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub use crate::event_queue::EventQueueAck;

        /// C# type: `T:LibreMetaverse.Messages.Linden.EventQueueEvent`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.EventQueueEvent` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        /// C# member: `F:LibreMetaverse.Messages.Linden.EventQueueEvent.MessageEvents`.
        ///
        /// C# signature: `LibreMetaverse.Messages.Linden.EventQueueEvent.QueueEvent[] LibreMetaverse.Messages.Linden.EventQueueEvent.MessageEvents`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        /// C# member: `F:LibreMetaverse.Messages.Linden.EventQueueEvent.Sequence`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Messages.Linden.EventQueueEvent.Sequence`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        /// C# member: `M:LibreMetaverse.Messages.Linden.EventQueueEvent.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Messages.Linden.EventQueueEvent()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        /// C# member: `M:LibreMetaverse.Messages.Linden.EventQueueEvent.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Messages.Linden.EventQueueEvent.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        /// C# member: `M:LibreMetaverse.Messages.Linden.EventQueueEvent.Serialize`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.Linden.EventQueueEvent.Serialize()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub use crate::event_queue::EventQueueEvent;

        /// C# type: `T:LibreMetaverse.Messages.Linden.EventQueueEvent.QueueEvent`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.EventQueueEvent.QueueEvent` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        /// C# member: `F:LibreMetaverse.Messages.Linden.EventQueueEvent.QueueEvent.EventMessage`.
        ///
        /// C# signature: `LibreMetaverse.Interfaces.IMessage LibreMetaverse.Messages.Linden.EventQueueEvent.QueueEvent.EventMessage`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        /// C# member: `F:LibreMetaverse.Messages.Linden.EventQueueEvent.QueueEvent.MessageKey`.
        ///
        /// C# signature: `System.String LibreMetaverse.Messages.Linden.EventQueueEvent.QueueEvent.MessageKey`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        /// C# member: `M:LibreMetaverse.Messages.Linden.EventQueueEvent.QueueEvent.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Messages.Linden.EventQueueEvent.QueueEvent()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub use crate::event_queue::EventQueueEventQueueEvent;

        /// C# type: `T:LibreMetaverse.Messages.Linden.EventQueueGetMessage`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.EventQueueGetMessage` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        /// C# member: `F:LibreMetaverse.Messages.Linden.EventQueueGetMessage.Messages`.
        ///
        /// C# signature: `LibreMetaverse.Messages.Linden.EventMessageBlock LibreMetaverse.Messages.Linden.EventQueueGetMessage.Messages`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        /// C# member: `M:LibreMetaverse.Messages.Linden.EventQueueGetMessage.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Messages.Linden.EventQueueGetMessage()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        /// C# member: `M:LibreMetaverse.Messages.Linden.EventQueueGetMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Messages.Linden.EventQueueGetMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        /// C# member: `M:LibreMetaverse.Messages.Linden.EventQueueGetMessage.Serialize`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.Linden.EventQueueGetMessage.Serialize()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub use crate::event_queue::EventQueueGetMessage;

        /// C# type: `T:LibreMetaverse.Messages.Linden.ExperienceFlags`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.ExperienceFlags` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
        #[repr(transparent)]
        pub struct ExperienceFlags(pub i32);
        impl ExperienceFlags {
            /// C# member: `F:LibreMetaverse.Messages.Linden.ExperienceFlags.Disabled`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.ExperienceFlags LibreMetaverse.Messages.Linden.ExperienceFlags.Disabled`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub const DISABLED: Self = Self(4);
            /// C# member: `F:LibreMetaverse.Messages.Linden.ExperienceFlags.Grid`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.ExperienceFlags LibreMetaverse.Messages.Linden.ExperienceFlags.Grid`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub const GRID: Self = Self(1);
            /// C# member: `F:LibreMetaverse.Messages.Linden.ExperienceFlags.None`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.ExperienceFlags LibreMetaverse.Messages.Linden.ExperienceFlags.None`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub const NONE: Self = Self(0);
            /// C# member: `F:LibreMetaverse.Messages.Linden.ExperienceFlags.Private`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.ExperienceFlags LibreMetaverse.Messages.Linden.ExperienceFlags.Private`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub const PRIVATE: Self = Self(2);
            /// C# member: `F:LibreMetaverse.Messages.Linden.ExperienceFlags.Suspended`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.ExperienceFlags LibreMetaverse.Messages.Linden.ExperienceFlags.Suspended`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub const SUSPENDED: Self = Self(8);
        }

        /// C# type: `T:LibreMetaverse.Messages.Linden.ExperienceInfo`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.ExperienceInfo` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        /// C# member: `F:LibreMetaverse.Messages.Linden.ExperienceInfo.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Messages.Linden.ExperienceInfo.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        /// C# member: `F:LibreMetaverse.Messages.Linden.ExperienceInfo.Description`.
        ///
        /// C# signature: `System.String LibreMetaverse.Messages.Linden.ExperienceInfo.Description`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        /// C# member: `F:LibreMetaverse.Messages.Linden.ExperienceInfo.ExperienceID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Messages.Linden.ExperienceInfo.ExperienceID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        /// C# member: `F:LibreMetaverse.Messages.Linden.ExperienceInfo.ExtendedMetadata`.
        ///
        /// C# signature: `System.String LibreMetaverse.Messages.Linden.ExperienceInfo.ExtendedMetadata`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        /// C# member: `F:LibreMetaverse.Messages.Linden.ExperienceInfo.Flags`.
        ///
        /// C# signature: `LibreMetaverse.Messages.Linden.ExperienceFlags LibreMetaverse.Messages.Linden.ExperienceInfo.Flags`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        /// C# member: `F:LibreMetaverse.Messages.Linden.ExperienceInfo.GroupID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Messages.Linden.ExperienceInfo.GroupID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        /// C# member: `F:LibreMetaverse.Messages.Linden.ExperienceInfo.ImageID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Messages.Linden.ExperienceInfo.ImageID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        /// C# member: `F:LibreMetaverse.Messages.Linden.ExperienceInfo.Marketplace`.
        ///
        /// C# signature: `System.String LibreMetaverse.Messages.Linden.ExperienceInfo.Marketplace`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        /// C# member: `F:LibreMetaverse.Messages.Linden.ExperienceInfo.Maturity`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Messages.Linden.ExperienceInfo.Maturity`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        /// C# member: `F:LibreMetaverse.Messages.Linden.ExperienceInfo.Name`.
        ///
        /// C# signature: `System.String LibreMetaverse.Messages.Linden.ExperienceInfo.Name`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        /// C# member: `F:LibreMetaverse.Messages.Linden.ExperienceInfo.PublicID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Messages.Linden.ExperienceInfo.PublicID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        /// C# member: `F:LibreMetaverse.Messages.Linden.ExperienceInfo.Quota`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Messages.Linden.ExperienceInfo.Quota`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        /// C# member: `F:LibreMetaverse.Messages.Linden.ExperienceInfo.SLURL`.
        ///
        /// C# signature: `System.String LibreMetaverse.Messages.Linden.ExperienceInfo.SLURL`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        /// C# member: `M:LibreMetaverse.Messages.Linden.ExperienceInfo.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Messages.Linden.ExperienceInfo()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        /// C# member: `M:LibreMetaverse.Messages.Linden.ExperienceInfo.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `LibreMetaverse.Messages.Linden.ExperienceInfo LibreMetaverse.Messages.Linden.ExperienceInfo.FromOSD(LibreMetaverse.StructuredData.OSDMap map)`.
        /// Mapping contract: ownership `owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        /// C# member: `M:LibreMetaverse.Messages.Linden.ExperienceInfo.Serialize`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.Linden.ExperienceInfo.Serialize()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub use crate::agent_messages::ExperienceInfo;

        /// C# type: `T:LibreMetaverse.Messages.Linden.ExperienceInfoMessage`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.ExperienceInfoMessage` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        /// C# member: `F:LibreMetaverse.Messages.Linden.ExperienceInfoMessage.Experiences`.
        ///
        /// C# signature: `System.Collections.Generic.List<LibreMetaverse.Messages.Linden.ExperienceInfo> LibreMetaverse.Messages.Linden.ExperienceInfoMessage.Experiences`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        /// C# member: `M:LibreMetaverse.Messages.Linden.ExperienceInfoMessage.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Messages.Linden.ExperienceInfoMessage()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        /// C# member: `M:LibreMetaverse.Messages.Linden.ExperienceInfoMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Messages.Linden.ExperienceInfoMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        /// C# member: `M:LibreMetaverse.Messages.Linden.ExperienceInfoMessage.Serialize`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.Linden.ExperienceInfoMessage.Serialize()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub use crate::agent_messages::ExperienceInfoMessage;

        /// C# type: `T:LibreMetaverse.Messages.Linden.ExperienceListMessage`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.ExperienceListMessage` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        /// C# member: `F:LibreMetaverse.Messages.Linden.ExperienceListMessage.ExperienceIDs`.
        ///
        /// C# signature: `System.Collections.Generic.List<LibreMetaverse.UUID> LibreMetaverse.Messages.Linden.ExperienceListMessage.ExperienceIDs`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        /// C# member: `M:LibreMetaverse.Messages.Linden.ExperienceListMessage.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Messages.Linden.ExperienceListMessage()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        /// C# member: `M:LibreMetaverse.Messages.Linden.ExperienceListMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Messages.Linden.ExperienceListMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        /// C# member: `M:LibreMetaverse.Messages.Linden.ExperienceListMessage.Serialize`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.Linden.ExperienceListMessage.Serialize()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub use crate::agent_messages::ExperienceListMessage;

        /// C# type: `T:LibreMetaverse.Messages.Linden.ExperiencePreferencesMessage`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.ExperiencePreferencesMessage` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        /// C# member: `F:LibreMetaverse.Messages.Linden.ExperiencePreferencesMessage.Allowed`.
        ///
        /// C# signature: `System.Collections.Generic.List<LibreMetaverse.UUID> LibreMetaverse.Messages.Linden.ExperiencePreferencesMessage.Allowed`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        /// C# member: `F:LibreMetaverse.Messages.Linden.ExperiencePreferencesMessage.Blocked`.
        ///
        /// C# signature: `System.Collections.Generic.List<LibreMetaverse.UUID> LibreMetaverse.Messages.Linden.ExperiencePreferencesMessage.Blocked`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        /// C# member: `M:LibreMetaverse.Messages.Linden.ExperiencePreferencesMessage.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Messages.Linden.ExperiencePreferencesMessage()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        /// C# member: `M:LibreMetaverse.Messages.Linden.ExperiencePreferencesMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Messages.Linden.ExperiencePreferencesMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        /// C# member: `M:LibreMetaverse.Messages.Linden.ExperiencePreferencesMessage.Serialize`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.Linden.ExperiencePreferencesMessage.Serialize()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub use crate::agent_messages::ExperiencePreferencesMessage;

        /// C# type: `T:LibreMetaverse.Messages.Linden.ExtEnvironmentMessage`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.ExtEnvironmentMessage` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        /// C# member: `M:LibreMetaverse.Messages.Linden.ExtEnvironmentMessage.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Messages.Linden.ExtEnvironmentMessage()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        /// C# member: `M:LibreMetaverse.Messages.Linden.ExtEnvironmentMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Messages.Linden.ExtEnvironmentMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        /// C# member: `M:LibreMetaverse.Messages.Linden.ExtEnvironmentMessage.Serialize`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.Linden.ExtEnvironmentMessage.Serialize()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        /// C# member: `P:LibreMetaverse.Messages.Linden.ExtEnvironmentMessage.Environment`.
        ///
        /// C# signature: `LibreMetaverse.Messages.Linden.EnvironmentData LibreMetaverse.Messages.Linden.ExtEnvironmentMessage.Environment`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        /// C# member: `P:LibreMetaverse.Messages.Linden.ExtEnvironmentMessage.Message`.
        ///
        /// C# signature: `System.String LibreMetaverse.Messages.Linden.ExtEnvironmentMessage.Message`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        /// C# member: `P:LibreMetaverse.Messages.Linden.ExtEnvironmentMessage.ParcelId`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Messages.Linden.ExtEnvironmentMessage.ParcelId`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        /// C# member: `P:LibreMetaverse.Messages.Linden.ExtEnvironmentMessage.Success`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Messages.Linden.ExtEnvironmentMessage.Success`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        /// C# member: `P:LibreMetaverse.Messages.Linden.ExtEnvironmentMessage.Version`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Messages.Linden.ExtEnvironmentMessage.Version`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub use crate::environment_manager::ExtEnvironmentMessage;

        /// C# type: `T:LibreMetaverse.Messages.Linden.ForceCloseChatterBoxSessionMessage`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.ForceCloseChatterBoxSessionMessage` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        pub struct ForceCloseChatterBoxSessionMessage {
            /// C# member: `F:LibreMetaverse.Messages.Linden.ForceCloseChatterBoxSessionMessage.Reason`.
            ///
            /// C# signature: `System.String LibreMetaverse.Messages.Linden.ForceCloseChatterBoxSessionMessage.Reason`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub reason: String,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ForceCloseChatterBoxSessionMessage.SessionID`.
            ///
            /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Messages.Linden.ForceCloseChatterBoxSessionMessage.SessionID`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub session_id: libremetaverse_types::UUID,
        }
        impl ForceCloseChatterBoxSessionMessage {
            /// C# member: `M:LibreMetaverse.Messages.Linden.ForceCloseChatterBoxSessionMessage.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.ForceCloseChatterBoxSessionMessage()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                /* reviewed native compatibility body */
                Ok(<Self as crate::message_codec::GeneratedMessage>::new_generated())
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.ForceCloseChatterBoxSessionMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
            ///
            /// C# signature: `System.Void LibreMetaverse.Messages.Linden.ForceCloseChatterBoxSessionMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
            /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.ForceCloseChatterBoxSessionMessage.Serialize`.
            ///
            /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.Linden.ForceCloseChatterBoxSessionMessage.Serialize()`.
            /// Mapping contract: ownership `shared_self`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn serialize(
                &self,
            ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }
        impl libremetaverse::interfaces::IMessage for ForceCloseChatterBoxSessionMessage {
            fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            fn serialize(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }

        /// C# type: `T:LibreMetaverse.Messages.Linden.GetDisplayNamesMessage`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.GetDisplayNamesMessage` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        pub struct GetDisplayNamesMessage {
            /// C# member: `F:LibreMetaverse.Messages.Linden.GetDisplayNamesMessage.Agents`.
            ///
            /// C# signature: `LibreMetaverse.AgentDisplayName[] LibreMetaverse.Messages.Linden.GetDisplayNamesMessage.Agents`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub agents: Vec<libremetaverse::AgentDisplayName>,
            /// C# member: `F:LibreMetaverse.Messages.Linden.GetDisplayNamesMessage.BadIDs`.
            ///
            /// C# signature: `LibreMetaverse.UUID[] LibreMetaverse.Messages.Linden.GetDisplayNamesMessage.BadIDs`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub bad_i_ds: Vec<libremetaverse_types::UUID>,
        }
        impl GetDisplayNamesMessage {
            /// C# member: `M:LibreMetaverse.Messages.Linden.GetDisplayNamesMessage.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.GetDisplayNamesMessage()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                /* reviewed native compatibility body */
                Ok(<Self as crate::message_codec::GeneratedMessage>::new_generated())
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.GetDisplayNamesMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
            ///
            /// C# signature: `System.Void LibreMetaverse.Messages.Linden.GetDisplayNamesMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
            /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.GetDisplayNamesMessage.Serialize`.
            ///
            /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.Linden.GetDisplayNamesMessage.Serialize()`.
            /// Mapping contract: ownership `shared_self`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn serialize(
                &self,
            ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }
        impl libremetaverse::interfaces::IMessage for GetDisplayNamesMessage {
            fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            fn serialize(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }

        /// C# type: `T:LibreMetaverse.Messages.Linden.GetObjectCostMessage`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.GetObjectCostMessage` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        pub struct GetObjectCostMessage {
            /// C# member: `F:LibreMetaverse.Messages.Linden.GetObjectCostMessage.link_cost`.
            ///
            /// C# signature: `System.Double LibreMetaverse.Messages.Linden.GetObjectCostMessage.link_cost`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub link_cost: f64,
            /// C# member: `F:LibreMetaverse.Messages.Linden.GetObjectCostMessage.link_physics_cost`.
            ///
            /// C# signature: `System.Double LibreMetaverse.Messages.Linden.GetObjectCostMessage.link_physics_cost`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub link_physics_cost: f64,
            /// C# member: `F:LibreMetaverse.Messages.Linden.GetObjectCostMessage.object_cost`.
            ///
            /// C# signature: `System.Double LibreMetaverse.Messages.Linden.GetObjectCostMessage.object_cost`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub object_cost: f64,
            /// C# member: `F:LibreMetaverse.Messages.Linden.GetObjectCostMessage.object_id`.
            ///
            /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Messages.Linden.GetObjectCostMessage.object_id`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub object_id: libremetaverse_types::UUID,
            /// C# member: `F:LibreMetaverse.Messages.Linden.GetObjectCostMessage.physics_cost`.
            ///
            /// C# signature: `System.Double LibreMetaverse.Messages.Linden.GetObjectCostMessage.physics_cost`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub physics_cost: f64,
        }
        impl GetObjectCostMessage {
            /// C# member: `M:LibreMetaverse.Messages.Linden.GetObjectCostMessage.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.GetObjectCostMessage()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                /* reviewed native compatibility body */
                Ok(<Self as crate::message_codec::GeneratedMessage>::new_generated())
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.GetObjectCostMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
            ///
            /// C# signature: `System.Void LibreMetaverse.Messages.Linden.GetObjectCostMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
            /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.GetObjectCostMessage.GetMessageHandler(LibreMetaverse.StructuredData.OSDMap)`.
            ///
            /// C# signature: `LibreMetaverse.Interfaces.IMessage LibreMetaverse.Messages.Linden.GetObjectCostMessage.GetMessageHandler(LibreMetaverse.StructuredData.OSDMap map)`.
            /// Mapping contract: ownership `owned`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn get_message_handler(
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<Option<Box<dyn libremetaverse::interfaces::IMessage>>, crate::Error>
            {
                /* reviewed native compatibility body */
                crate::message_codec::get_object_cost_handler(&map)
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.GetObjectCostMessage.Serialize`.
            ///
            /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.Linden.GetObjectCostMessage.Serialize()`.
            /// Mapping contract: ownership `shared_self`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn serialize(
                &self,
            ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }
        impl libremetaverse::interfaces::IMessage for GetObjectCostMessage {
            fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            fn serialize(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }

        /// C# type: `T:LibreMetaverse.Messages.Linden.GetObjectCostRequest`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.GetObjectCostRequest` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        pub struct GetObjectCostRequest {
            /// C# member: `F:LibreMetaverse.Messages.Linden.GetObjectCostRequest.ObjectIDs`.
            ///
            /// C# signature: `LibreMetaverse.UUID[] LibreMetaverse.Messages.Linden.GetObjectCostRequest.ObjectIDs`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub object_i_ds: Vec<libremetaverse_types::UUID>,
        }
        impl GetObjectCostRequest {
            /// C# member: `M:LibreMetaverse.Messages.Linden.GetObjectCostRequest.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.GetObjectCostRequest()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                /* reviewed native compatibility body */
                Ok(<Self as crate::message_codec::GeneratedMessage>::new_generated())
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.GetObjectCostRequest.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
            ///
            /// C# signature: `System.Void LibreMetaverse.Messages.Linden.GetObjectCostRequest.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
            /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.GetObjectCostRequest.Serialize`.
            ///
            /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.Linden.GetObjectCostRequest.Serialize()`.
            /// Mapping contract: ownership `shared_self`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn serialize(
                &self,
            ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }
        impl libremetaverse::interfaces::IMessage for GetObjectCostRequest {
            fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            fn serialize(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }

        /// C# type: `T:LibreMetaverse.Messages.Linden.InterestListMessage`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.InterestListMessage` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        /// C# member: `M:LibreMetaverse.Messages.Linden.InterestListMessage.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Messages.Linden.InterestListMessage()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        /// C# member: `M:LibreMetaverse.Messages.Linden.InterestListMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Messages.Linden.InterestListMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        /// C# member: `M:LibreMetaverse.Messages.Linden.InterestListMessage.Serialize`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.Linden.InterestListMessage.Serialize()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        /// C# member: `P:LibreMetaverse.Messages.Linden.InterestListMessage.InterestListMode`.
        ///
        /// C# signature: `LibreMetaverse.Messages.Linden.InterestListMode LibreMetaverse.Messages.Linden.InterestListMessage.InterestListMode`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        /// C# member: `P:LibreMetaverse.Messages.Linden.InterestListMessage.Mode`.
        ///
        /// C# signature: `System.String LibreMetaverse.Messages.Linden.InterestListMessage.Mode`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub use crate::interest_list::InterestListMessage;

        /// C# type: `T:LibreMetaverse.Messages.Linden.InterestListMode`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.InterestListMode` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        #[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
        #[repr(i32)]
        pub enum InterestListMode {
            /// C# member: `F:LibreMetaverse.Messages.Linden.InterestListMode.Default`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.InterestListMode LibreMetaverse.Messages.Linden.InterestListMode.Default`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Default = 0,
            /// C# member: `F:LibreMetaverse.Messages.Linden.InterestListMode.Panoramic360`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.InterestListMode LibreMetaverse.Messages.Linden.InterestListMode.Panoramic360`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            Panoramic360 = 1,
        }

        /// C# type: `T:LibreMetaverse.Messages.Linden.LandResourcesInfo`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.LandResourcesInfo` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        /// C# member: `F:LibreMetaverse.Messages.Linden.LandResourcesInfo.Parcels`.
        ///
        /// C# signature: `LibreMetaverse.Messages.Linden.ParcelResourcesDetail[] LibreMetaverse.Messages.Linden.LandResourcesInfo.Parcels`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        /// C# member: `M:LibreMetaverse.Messages.Linden.LandResourcesInfo.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Messages.Linden.LandResourcesInfo()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        /// C# member: `M:LibreMetaverse.Messages.Linden.LandResourcesInfo.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Messages.Linden.LandResourcesInfo.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub use crate::parcel_manager::LandResourcesInfo;

        /// C# type: `T:LibreMetaverse.Messages.Linden.LandResourcesMessage`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.LandResourcesMessage` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        pub struct LandResourcesMessage {
            /// C# member: `F:LibreMetaverse.Messages.Linden.LandResourcesMessage.ScriptResourceDetails`.
            ///
            /// C# signature: `System.Uri LibreMetaverse.Messages.Linden.LandResourcesMessage.ScriptResourceDetails`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub script_resource_details: libremetaverse_types::compat::Uri,
            /// C# member: `F:LibreMetaverse.Messages.Linden.LandResourcesMessage.ScriptResourceSummary`.
            ///
            /// C# signature: `System.Uri LibreMetaverse.Messages.Linden.LandResourcesMessage.ScriptResourceSummary`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub script_resource_summary: libremetaverse_types::compat::Uri,
        }
        impl LandResourcesMessage {
            /// C# member: `M:LibreMetaverse.Messages.Linden.LandResourcesMessage.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.LandResourcesMessage()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                /* reviewed native compatibility body */
                Ok(<Self as crate::message_codec::GeneratedMessage>::new_generated())
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.LandResourcesMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
            ///
            /// C# signature: `System.Void LibreMetaverse.Messages.Linden.LandResourcesMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
            /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.LandResourcesMessage.GetMessageHandler(LibreMetaverse.StructuredData.OSDMap)`.
            ///
            /// C# signature: `LibreMetaverse.Interfaces.IMessage LibreMetaverse.Messages.Linden.LandResourcesMessage.GetMessageHandler(LibreMetaverse.StructuredData.OSDMap map)`.
            /// Mapping contract: ownership `owned`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn get_message_handler(
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<Option<Box<dyn libremetaverse::interfaces::IMessage>>, crate::Error>
            {
                /* reviewed native compatibility body */
                crate::message_codec::land_resources_handler(&map)
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.LandResourcesMessage.Serialize`.
            ///
            /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.Linden.LandResourcesMessage.Serialize()`.
            /// Mapping contract: ownership `shared_self`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn serialize(
                &self,
            ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }
        impl libremetaverse::interfaces::IMessage for LandResourcesMessage {
            fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            fn serialize(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }

        /// C# type: `T:LibreMetaverse.Messages.Linden.LandResourcesRequest`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.LandResourcesRequest` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        pub struct LandResourcesRequest {
            /// C# member: `F:LibreMetaverse.Messages.Linden.LandResourcesRequest.ParcelID`.
            ///
            /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Messages.Linden.LandResourcesRequest.ParcelID`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub parcel_id: libremetaverse_types::UUID,
        }
        impl LandResourcesRequest {
            /// C# member: `M:LibreMetaverse.Messages.Linden.LandResourcesRequest.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.LandResourcesRequest()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                /* reviewed native compatibility body */
                Ok(<Self as crate::message_codec::GeneratedMessage>::new_generated())
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.LandResourcesRequest.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
            ///
            /// C# signature: `System.Void LibreMetaverse.Messages.Linden.LandResourcesRequest.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
            /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.LandResourcesRequest.Serialize`.
            ///
            /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.Linden.LandResourcesRequest.Serialize()`.
            /// Mapping contract: ownership `shared_self`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn serialize(
                &self,
            ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }
        impl libremetaverse::interfaces::IMessage for LandResourcesRequest {
            fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            fn serialize(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }

        /// C# type: `T:LibreMetaverse.Messages.Linden.LandStatReplyMessage`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.LandStatReplyMessage` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        pub struct LandStatReplyMessage {
            /// C# member: `F:LibreMetaverse.Messages.Linden.LandStatReplyMessage.ReportDataBlocks`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.LandStatReplyMessage.ReportDataBlock[] LibreMetaverse.Messages.Linden.LandStatReplyMessage.ReportDataBlocks`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub report_data_blocks:
                Vec<libremetaverse::messages::linden::LandStatReplyMessageReportDataBlock>,
            /// C# member: `F:LibreMetaverse.Messages.Linden.LandStatReplyMessage.ReportType`.
            ///
            /// C# signature: `System.UInt32 LibreMetaverse.Messages.Linden.LandStatReplyMessage.ReportType`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub report_type: u32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.LandStatReplyMessage.RequestFlags`.
            ///
            /// C# signature: `System.UInt32 LibreMetaverse.Messages.Linden.LandStatReplyMessage.RequestFlags`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub request_flags: u32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.LandStatReplyMessage.TotalObjectCount`.
            ///
            /// C# signature: `System.UInt32 LibreMetaverse.Messages.Linden.LandStatReplyMessage.TotalObjectCount`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub total_object_count: u32,
        }
        impl LandStatReplyMessage {
            /// C# member: `M:LibreMetaverse.Messages.Linden.LandStatReplyMessage.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.LandStatReplyMessage()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                /* reviewed native compatibility body */
                Ok(<Self as crate::message_codec::GeneratedMessage>::new_generated())
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.LandStatReplyMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
            ///
            /// C# signature: `System.Void LibreMetaverse.Messages.Linden.LandStatReplyMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
            /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.LandStatReplyMessage.Serialize`.
            ///
            /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.Linden.LandStatReplyMessage.Serialize()`.
            /// Mapping contract: ownership `shared_self`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn serialize(
                &self,
            ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }
        impl libremetaverse::interfaces::IMessage for LandStatReplyMessage {
            fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            fn serialize(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }

        /// C# type: `T:LibreMetaverse.Messages.Linden.LandStatReplyMessage.ReportDataBlock`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.LandStatReplyMessage.ReportDataBlock` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        pub struct LandStatReplyMessageReportDataBlock {
            /// C# member: `F:LibreMetaverse.Messages.Linden.LandStatReplyMessage.ReportDataBlock.Location`.
            ///
            /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Messages.Linden.LandStatReplyMessage.ReportDataBlock.Location`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub location: libremetaverse_types::Vector3,
            /// C# member: `F:LibreMetaverse.Messages.Linden.LandStatReplyMessage.ReportDataBlock.MonoScore`.
            ///
            /// C# signature: `System.Single LibreMetaverse.Messages.Linden.LandStatReplyMessage.ReportDataBlock.MonoScore`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub mono_score: f32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.LandStatReplyMessage.ReportDataBlock.OwnerName`.
            ///
            /// C# signature: `System.String LibreMetaverse.Messages.Linden.LandStatReplyMessage.ReportDataBlock.OwnerName`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub owner_name: String,
            /// C# member: `F:LibreMetaverse.Messages.Linden.LandStatReplyMessage.ReportDataBlock.Score`.
            ///
            /// C# signature: `System.Single LibreMetaverse.Messages.Linden.LandStatReplyMessage.ReportDataBlock.Score`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub score: f32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.LandStatReplyMessage.ReportDataBlock.TaskID`.
            ///
            /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Messages.Linden.LandStatReplyMessage.ReportDataBlock.TaskID`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub task_id: libremetaverse_types::UUID,
            /// C# member: `F:LibreMetaverse.Messages.Linden.LandStatReplyMessage.ReportDataBlock.TaskLocalID`.
            ///
            /// C# signature: `System.UInt32 LibreMetaverse.Messages.Linden.LandStatReplyMessage.ReportDataBlock.TaskLocalID`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub task_local_id: u32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.LandStatReplyMessage.ReportDataBlock.TaskName`.
            ///
            /// C# signature: `System.String LibreMetaverse.Messages.Linden.LandStatReplyMessage.ReportDataBlock.TaskName`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub task_name: String,
            /// C# member: `F:LibreMetaverse.Messages.Linden.LandStatReplyMessage.ReportDataBlock.TimeStamp`.
            ///
            /// C# signature: `System.DateTime LibreMetaverse.Messages.Linden.LandStatReplyMessage.ReportDataBlock.TimeStamp`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub time_stamp: std::time::SystemTime,
        }
        impl LandStatReplyMessageReportDataBlock {
            /// C# member: `M:LibreMetaverse.Messages.Linden.LandStatReplyMessage.ReportDataBlock.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.LandStatReplyMessage.ReportDataBlock()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                /* reviewed native compatibility body */
                Ok(<Self as crate::message_codec::GeneratedMessage>::new_generated())
            }
        }

        /// C# type: `T:LibreMetaverse.Messages.Linden.LegacyEnvironmentMessage`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.LegacyEnvironmentMessage` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        /// C# member: `M:LibreMetaverse.Messages.Linden.LegacyEnvironmentMessage.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Messages.Linden.LegacyEnvironmentMessage()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        /// C# member: `M:LibreMetaverse.Messages.Linden.LegacyEnvironmentMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Messages.Linden.LegacyEnvironmentMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        /// C# member: `M:LibreMetaverse.Messages.Linden.LegacyEnvironmentMessage.Serialize`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.Linden.LegacyEnvironmentMessage.Serialize()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        /// C# member: `P:LibreMetaverse.Messages.Linden.LegacyEnvironmentMessage.Settings`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSD LibreMetaverse.Messages.Linden.LegacyEnvironmentMessage.Settings`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub use crate::environment_manager::LegacyEnvironmentMessage;

        /// C# type: `T:LibreMetaverse.Messages.Linden.MapLayerMessage`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.MapLayerMessage` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        pub struct MapLayerMessage {
            /// C# member: `F:LibreMetaverse.Messages.Linden.MapLayerMessage.Request`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.MapLayerMessageBase LibreMetaverse.Messages.Linden.MapLayerMessage.Request`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub request: libremetaverse::messages::linden::MapLayerMessageBase,
        }
        impl MapLayerMessage {
            /// C# member: `M:LibreMetaverse.Messages.Linden.MapLayerMessage.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.MapLayerMessage()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                /* reviewed native compatibility body */
                Ok(<Self as crate::message_codec::GeneratedMessage>::new_generated())
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.MapLayerMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
            ///
            /// C# signature: `System.Void LibreMetaverse.Messages.Linden.MapLayerMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
            /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.MapLayerMessage.Serialize`.
            ///
            /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.Linden.MapLayerMessage.Serialize()`.
            /// Mapping contract: ownership `shared_self`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn serialize(
                &self,
            ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }
        impl libremetaverse::interfaces::IMessage for MapLayerMessage {
            fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            fn serialize(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }

        /// C# type: `T:LibreMetaverse.Messages.Linden.MapLayerMessageBase`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.MapLayerMessageBase` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        /// C# member: `F:LibreMetaverse.Messages.Linden.MapLayerMessageBase.Flags`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Messages.Linden.MapLayerMessageBase.Flags`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        /// C# member: `M:LibreMetaverse.Messages.Linden.MapLayerMessageBase.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Messages.Linden.MapLayerMessageBase.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        /// C# member: `M:LibreMetaverse.Messages.Linden.MapLayerMessageBase.Serialize`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.Linden.MapLayerMessageBase.Serialize()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub use crate::dynamic_messages::MapLayerMessageBase;

        /// C# type: `T:LibreMetaverse.Messages.Linden.MapLayerReplyVariant`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.MapLayerReplyVariant` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        pub struct MapLayerReplyVariant {
            /// Rust composition for C# base type `LibreMetaverse.Messages.Linden.MapLayerMessageBase`.
            pub base: libremetaverse::messages::linden::MapLayerMessageBase,
            /// C# member: `F:LibreMetaverse.Messages.Linden.MapLayerReplyVariant.LayerDataBlocks`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.MapLayerReplyVariant.LayerData[] LibreMetaverse.Messages.Linden.MapLayerReplyVariant.LayerDataBlocks`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub layer_data_blocks:
                Vec<libremetaverse::messages::linden::MapLayerReplyVariantLayerData>,
        }
        impl MapLayerReplyVariant {
            /// C# member: `M:LibreMetaverse.Messages.Linden.MapLayerReplyVariant.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.MapLayerReplyVariant()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                /* reviewed native compatibility body */
                Ok(<Self as crate::message_codec::GeneratedMessage>::new_generated())
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.MapLayerReplyVariant.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
            ///
            /// C# signature: `System.Void LibreMetaverse.Messages.Linden.MapLayerReplyVariant.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
            /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.MapLayerReplyVariant.Serialize`.
            ///
            /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.Linden.MapLayerReplyVariant.Serialize()`.
            /// Mapping contract: ownership `shared_self`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn serialize(
                &self,
            ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }

        /// C# type: `T:LibreMetaverse.Messages.Linden.MapLayerReplyVariant.LayerData`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.MapLayerReplyVariant.LayerData` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        pub struct MapLayerReplyVariantLayerData {
            /// C# member: `F:LibreMetaverse.Messages.Linden.MapLayerReplyVariant.LayerData.Bottom`.
            ///
            /// C# signature: `System.Int32 LibreMetaverse.Messages.Linden.MapLayerReplyVariant.LayerData.Bottom`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub bottom: i32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.MapLayerReplyVariant.LayerData.ImageID`.
            ///
            /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Messages.Linden.MapLayerReplyVariant.LayerData.ImageID`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub image_id: libremetaverse_types::UUID,
            /// C# member: `F:LibreMetaverse.Messages.Linden.MapLayerReplyVariant.LayerData.Left`.
            ///
            /// C# signature: `System.Int32 LibreMetaverse.Messages.Linden.MapLayerReplyVariant.LayerData.Left`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub left: i32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.MapLayerReplyVariant.LayerData.Right`.
            ///
            /// C# signature: `System.Int32 LibreMetaverse.Messages.Linden.MapLayerReplyVariant.LayerData.Right`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub right: i32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.MapLayerReplyVariant.LayerData.Top`.
            ///
            /// C# signature: `System.Int32 LibreMetaverse.Messages.Linden.MapLayerReplyVariant.LayerData.Top`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub top: i32,
        }
        impl MapLayerReplyVariantLayerData {
            /// C# member: `M:LibreMetaverse.Messages.Linden.MapLayerReplyVariant.LayerData.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.MapLayerReplyVariant.LayerData()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                /* reviewed native compatibility body */
                Ok(<Self as crate::message_codec::GeneratedMessage>::new_generated())
            }
        }

        /// C# type: `T:LibreMetaverse.Messages.Linden.MapLayerRequestVariant`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.MapLayerRequestVariant` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        /// C# member: `M:LibreMetaverse.Messages.Linden.MapLayerRequestVariant.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Messages.Linden.MapLayerRequestVariant()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        /// C# member: `M:LibreMetaverse.Messages.Linden.MapLayerRequestVariant.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Messages.Linden.MapLayerRequestVariant.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        /// C# member: `M:LibreMetaverse.Messages.Linden.MapLayerRequestVariant.Serialize`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.Linden.MapLayerRequestVariant.Serialize()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub use crate::dynamic_messages::MapLayerRequestVariant;

        /// C# type: `T:LibreMetaverse.Messages.Linden.NavMeshStatusUpdateMessage`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.NavMeshStatusUpdateMessage` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        pub struct NavMeshStatusUpdateMessage {
            /// C# member: `F:LibreMetaverse.Messages.Linden.NavMeshStatusUpdateMessage.RawData`.
            ///
            /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.Linden.NavMeshStatusUpdateMessage.RawData`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub raw_data: libremetaverse_structured_data::OSDMap,
            /// C# member: `F:LibreMetaverse.Messages.Linden.NavMeshStatusUpdateMessage.RegionID`.
            ///
            /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Messages.Linden.NavMeshStatusUpdateMessage.RegionID`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub region_id: libremetaverse_types::UUID,
            /// C# member: `F:LibreMetaverse.Messages.Linden.NavMeshStatusUpdateMessage.Status`.
            ///
            /// C# signature: `System.String LibreMetaverse.Messages.Linden.NavMeshStatusUpdateMessage.Status`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub status: String,
            /// C# member: `F:LibreMetaverse.Messages.Linden.NavMeshStatusUpdateMessage.Version`.
            ///
            /// C# signature: `System.UInt32 LibreMetaverse.Messages.Linden.NavMeshStatusUpdateMessage.Version`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub version: u32,
        }
        impl NavMeshStatusUpdateMessage {
            /// C# member: `M:LibreMetaverse.Messages.Linden.NavMeshStatusUpdateMessage.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.NavMeshStatusUpdateMessage()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                /* reviewed native compatibility body */
                Ok(<Self as crate::message_codec::GeneratedMessage>::new_generated())
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.NavMeshStatusUpdateMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
            ///
            /// C# signature: `System.Void LibreMetaverse.Messages.Linden.NavMeshStatusUpdateMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
            /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.NavMeshStatusUpdateMessage.Serialize`.
            ///
            /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.Linden.NavMeshStatusUpdateMessage.Serialize()`.
            /// Mapping contract: ownership `shared_self`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn serialize(
                &self,
            ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }
        impl libremetaverse::interfaces::IMessage for NavMeshStatusUpdateMessage {
            fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            fn serialize(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }

        /// C# type: `T:LibreMetaverse.Messages.Linden.NewFileAgentInventoryMessage`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.NewFileAgentInventoryMessage` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        pub struct NewFileAgentInventoryMessage {
            /// C# member: `F:LibreMetaverse.Messages.Linden.NewFileAgentInventoryMessage.AssetType`.
            ///
            /// C# signature: `LibreMetaverse.AssetType LibreMetaverse.Messages.Linden.NewFileAgentInventoryMessage.AssetType`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub asset_type: libremetaverse_types::AssetType,
            /// C# member: `F:LibreMetaverse.Messages.Linden.NewFileAgentInventoryMessage.Description`.
            ///
            /// C# signature: `System.String LibreMetaverse.Messages.Linden.NewFileAgentInventoryMessage.Description`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub description: String,
            /// C# member: `F:LibreMetaverse.Messages.Linden.NewFileAgentInventoryMessage.EveryoneMask`.
            ///
            /// C# signature: `LibreMetaverse.PermissionMask LibreMetaverse.Messages.Linden.NewFileAgentInventoryMessage.EveryoneMask`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub everyone_mask: libremetaverse::PermissionMask,
            /// C# member: `F:LibreMetaverse.Messages.Linden.NewFileAgentInventoryMessage.FolderID`.
            ///
            /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Messages.Linden.NewFileAgentInventoryMessage.FolderID`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub folder_id: libremetaverse_types::UUID,
            /// C# member: `F:LibreMetaverse.Messages.Linden.NewFileAgentInventoryMessage.GroupMask`.
            ///
            /// C# signature: `LibreMetaverse.PermissionMask LibreMetaverse.Messages.Linden.NewFileAgentInventoryMessage.GroupMask`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub group_mask: libremetaverse::PermissionMask,
            /// C# member: `F:LibreMetaverse.Messages.Linden.NewFileAgentInventoryMessage.InventoryType`.
            ///
            /// C# signature: `LibreMetaverse.InventoryType LibreMetaverse.Messages.Linden.NewFileAgentInventoryMessage.InventoryType`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub inventory_type: libremetaverse_types::InventoryType,
            /// C# member: `F:LibreMetaverse.Messages.Linden.NewFileAgentInventoryMessage.Name`.
            ///
            /// C# signature: `System.String LibreMetaverse.Messages.Linden.NewFileAgentInventoryMessage.Name`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub name: String,
            /// C# member: `F:LibreMetaverse.Messages.Linden.NewFileAgentInventoryMessage.NextOwnerMask`.
            ///
            /// C# signature: `LibreMetaverse.PermissionMask LibreMetaverse.Messages.Linden.NewFileAgentInventoryMessage.NextOwnerMask`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub next_owner_mask: libremetaverse::PermissionMask,
        }
        impl NewFileAgentInventoryMessage {
            /// C# member: `M:LibreMetaverse.Messages.Linden.NewFileAgentInventoryMessage.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.NewFileAgentInventoryMessage()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                /* reviewed native compatibility body */
                Ok(<Self as crate::message_codec::GeneratedMessage>::new_generated())
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.NewFileAgentInventoryMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
            ///
            /// C# signature: `System.Void LibreMetaverse.Messages.Linden.NewFileAgentInventoryMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
            /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.NewFileAgentInventoryMessage.Serialize`.
            ///
            /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.Linden.NewFileAgentInventoryMessage.Serialize()`.
            /// Mapping contract: ownership `shared_self`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn serialize(
                &self,
            ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }
        impl libremetaverse::interfaces::IMessage for NewFileAgentInventoryMessage {
            fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            fn serialize(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }

        /// C# type: `T:LibreMetaverse.Messages.Linden.NewFileAgentInventoryReplyMessage`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.NewFileAgentInventoryReplyMessage` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        pub struct NewFileAgentInventoryReplyMessage {
            /// C# member: `F:LibreMetaverse.Messages.Linden.NewFileAgentInventoryReplyMessage.State`.
            ///
            /// C# signature: `System.String LibreMetaverse.Messages.Linden.NewFileAgentInventoryReplyMessage.State`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub state: String,
            /// C# member: `F:LibreMetaverse.Messages.Linden.NewFileAgentInventoryReplyMessage.Uploader`.
            ///
            /// C# signature: `System.Uri LibreMetaverse.Messages.Linden.NewFileAgentInventoryReplyMessage.Uploader`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub uploader: libremetaverse_types::compat::Uri,
        }
        impl NewFileAgentInventoryReplyMessage {
            /// C# member: `M:LibreMetaverse.Messages.Linden.NewFileAgentInventoryReplyMessage.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.NewFileAgentInventoryReplyMessage()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                /* reviewed native compatibility body */
                Ok(<Self as crate::message_codec::GeneratedMessage>::new_generated())
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.NewFileAgentInventoryReplyMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
            ///
            /// C# signature: `System.Void LibreMetaverse.Messages.Linden.NewFileAgentInventoryReplyMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
            /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.NewFileAgentInventoryReplyMessage.Serialize`.
            ///
            /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.Linden.NewFileAgentInventoryReplyMessage.Serialize()`.
            /// Mapping contract: ownership `shared_self`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn serialize(
                &self,
            ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }
        impl libremetaverse::interfaces::IMessage for NewFileAgentInventoryReplyMessage {
            fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            fn serialize(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }

        /// C# type: `T:LibreMetaverse.Messages.Linden.NewFileAgentInventoryUploadReplyMessage`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.NewFileAgentInventoryUploadReplyMessage` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        pub struct NewFileAgentInventoryUploadReplyMessage {
            /// C# member: `F:LibreMetaverse.Messages.Linden.NewFileAgentInventoryUploadReplyMessage.NewAsset`.
            ///
            /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Messages.Linden.NewFileAgentInventoryUploadReplyMessage.NewAsset`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub new_asset: libremetaverse_types::UUID,
            /// C# member: `F:LibreMetaverse.Messages.Linden.NewFileAgentInventoryUploadReplyMessage.NewBaseMask`.
            ///
            /// C# signature: `LibreMetaverse.PermissionMask LibreMetaverse.Messages.Linden.NewFileAgentInventoryUploadReplyMessage.NewBaseMask`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub new_base_mask: libremetaverse::PermissionMask,
            /// C# member: `F:LibreMetaverse.Messages.Linden.NewFileAgentInventoryUploadReplyMessage.NewEveryoneMask`.
            ///
            /// C# signature: `LibreMetaverse.PermissionMask LibreMetaverse.Messages.Linden.NewFileAgentInventoryUploadReplyMessage.NewEveryoneMask`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub new_everyone_mask: libremetaverse::PermissionMask,
            /// C# member: `F:LibreMetaverse.Messages.Linden.NewFileAgentInventoryUploadReplyMessage.NewInventoryItem`.
            ///
            /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Messages.Linden.NewFileAgentInventoryUploadReplyMessage.NewInventoryItem`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub new_inventory_item: libremetaverse_types::UUID,
            /// C# member: `F:LibreMetaverse.Messages.Linden.NewFileAgentInventoryUploadReplyMessage.NewNextOwnerMask`.
            ///
            /// C# signature: `LibreMetaverse.PermissionMask LibreMetaverse.Messages.Linden.NewFileAgentInventoryUploadReplyMessage.NewNextOwnerMask`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub new_next_owner_mask: libremetaverse::PermissionMask,
            /// C# member: `F:LibreMetaverse.Messages.Linden.NewFileAgentInventoryUploadReplyMessage.NewOwnerMask`.
            ///
            /// C# signature: `LibreMetaverse.PermissionMask LibreMetaverse.Messages.Linden.NewFileAgentInventoryUploadReplyMessage.NewOwnerMask`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub new_owner_mask: libremetaverse::PermissionMask,
            /// C# member: `F:LibreMetaverse.Messages.Linden.NewFileAgentInventoryUploadReplyMessage.State`.
            ///
            /// C# signature: `System.String LibreMetaverse.Messages.Linden.NewFileAgentInventoryUploadReplyMessage.State`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub state: String,
        }
        impl NewFileAgentInventoryUploadReplyMessage {
            /// C# member: `M:LibreMetaverse.Messages.Linden.NewFileAgentInventoryUploadReplyMessage.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.NewFileAgentInventoryUploadReplyMessage()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                /* reviewed native compatibility body */
                Ok(<Self as crate::message_codec::GeneratedMessage>::new_generated())
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.NewFileAgentInventoryUploadReplyMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
            ///
            /// C# signature: `System.Void LibreMetaverse.Messages.Linden.NewFileAgentInventoryUploadReplyMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
            /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.NewFileAgentInventoryUploadReplyMessage.Serialize`.
            ///
            /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.Linden.NewFileAgentInventoryUploadReplyMessage.Serialize()`.
            /// Mapping contract: ownership `shared_self`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn serialize(
                &self,
            ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }
        impl libremetaverse::interfaces::IMessage for NewFileAgentInventoryUploadReplyMessage {
            fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            fn serialize(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }

        /// C# type: `T:LibreMetaverse.Messages.Linden.NewFileAgentInventoryVariablePriceMessage`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.NewFileAgentInventoryVariablePriceMessage` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        pub struct NewFileAgentInventoryVariablePriceMessage {
            /// C# member: `F:LibreMetaverse.Messages.Linden.NewFileAgentInventoryVariablePriceMessage.AssetType`.
            ///
            /// C# signature: `LibreMetaverse.AssetType LibreMetaverse.Messages.Linden.NewFileAgentInventoryVariablePriceMessage.AssetType`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub asset_type: libremetaverse_types::AssetType,
            /// C# member: `F:LibreMetaverse.Messages.Linden.NewFileAgentInventoryVariablePriceMessage.Description`.
            ///
            /// C# signature: `System.String LibreMetaverse.Messages.Linden.NewFileAgentInventoryVariablePriceMessage.Description`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub description: String,
            /// C# member: `F:LibreMetaverse.Messages.Linden.NewFileAgentInventoryVariablePriceMessage.EveryoneMask`.
            ///
            /// C# signature: `LibreMetaverse.PermissionMask LibreMetaverse.Messages.Linden.NewFileAgentInventoryVariablePriceMessage.EveryoneMask`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub everyone_mask: libremetaverse::PermissionMask,
            /// C# member: `F:LibreMetaverse.Messages.Linden.NewFileAgentInventoryVariablePriceMessage.FolderID`.
            ///
            /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Messages.Linden.NewFileAgentInventoryVariablePriceMessage.FolderID`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub folder_id: libremetaverse_types::UUID,
            /// C# member: `F:LibreMetaverse.Messages.Linden.NewFileAgentInventoryVariablePriceMessage.GroupMask`.
            ///
            /// C# signature: `LibreMetaverse.PermissionMask LibreMetaverse.Messages.Linden.NewFileAgentInventoryVariablePriceMessage.GroupMask`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub group_mask: libremetaverse::PermissionMask,
            /// C# member: `F:LibreMetaverse.Messages.Linden.NewFileAgentInventoryVariablePriceMessage.InventoryType`.
            ///
            /// C# signature: `LibreMetaverse.InventoryType LibreMetaverse.Messages.Linden.NewFileAgentInventoryVariablePriceMessage.InventoryType`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub inventory_type: libremetaverse_types::InventoryType,
            /// C# member: `F:LibreMetaverse.Messages.Linden.NewFileAgentInventoryVariablePriceMessage.Name`.
            ///
            /// C# signature: `System.String LibreMetaverse.Messages.Linden.NewFileAgentInventoryVariablePriceMessage.Name`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub name: String,
            /// C# member: `F:LibreMetaverse.Messages.Linden.NewFileAgentInventoryVariablePriceMessage.NextOwnerMask`.
            ///
            /// C# signature: `LibreMetaverse.PermissionMask LibreMetaverse.Messages.Linden.NewFileAgentInventoryVariablePriceMessage.NextOwnerMask`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub next_owner_mask: libremetaverse::PermissionMask,
        }
        impl NewFileAgentInventoryVariablePriceMessage {
            /// C# member: `M:LibreMetaverse.Messages.Linden.NewFileAgentInventoryVariablePriceMessage.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.NewFileAgentInventoryVariablePriceMessage()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                /* reviewed native compatibility body */
                Ok(<Self as crate::message_codec::GeneratedMessage>::new_generated())
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.NewFileAgentInventoryVariablePriceMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
            ///
            /// C# signature: `System.Void LibreMetaverse.Messages.Linden.NewFileAgentInventoryVariablePriceMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
            /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.NewFileAgentInventoryVariablePriceMessage.Serialize`.
            ///
            /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.Linden.NewFileAgentInventoryVariablePriceMessage.Serialize()`.
            /// Mapping contract: ownership `shared_self`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn serialize(
                &self,
            ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }
        impl libremetaverse::interfaces::IMessage for NewFileAgentInventoryVariablePriceMessage {
            fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            fn serialize(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }

        /// C# type: `T:LibreMetaverse.Messages.Linden.NewFileAgentInventoryVariablePriceReplyMessage`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.NewFileAgentInventoryVariablePriceReplyMessage` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        pub struct NewFileAgentInventoryVariablePriceReplyMessage {
            /// C# member: `F:LibreMetaverse.Messages.Linden.NewFileAgentInventoryVariablePriceReplyMessage.ResourceCost`.
            ///
            /// C# signature: `System.Int32 LibreMetaverse.Messages.Linden.NewFileAgentInventoryVariablePriceReplyMessage.ResourceCost`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub resource_cost: i32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.NewFileAgentInventoryVariablePriceReplyMessage.Rsvp`.
            ///
            /// C# signature: `System.Uri LibreMetaverse.Messages.Linden.NewFileAgentInventoryVariablePriceReplyMessage.Rsvp`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub rsvp: libremetaverse_types::compat::Uri,
            /// C# member: `F:LibreMetaverse.Messages.Linden.NewFileAgentInventoryVariablePriceReplyMessage.State`.
            ///
            /// C# signature: `System.String LibreMetaverse.Messages.Linden.NewFileAgentInventoryVariablePriceReplyMessage.State`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub state: String,
            /// C# member: `F:LibreMetaverse.Messages.Linden.NewFileAgentInventoryVariablePriceReplyMessage.UploadPrice`.
            ///
            /// C# signature: `System.Int32 LibreMetaverse.Messages.Linden.NewFileAgentInventoryVariablePriceReplyMessage.UploadPrice`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub upload_price: i32,
        }
        impl NewFileAgentInventoryVariablePriceReplyMessage {
            /// C# member: `M:LibreMetaverse.Messages.Linden.NewFileAgentInventoryVariablePriceReplyMessage.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.NewFileAgentInventoryVariablePriceReplyMessage()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                /* reviewed native compatibility body */
                Ok(<Self as crate::message_codec::GeneratedMessage>::new_generated())
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.NewFileAgentInventoryVariablePriceReplyMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
            ///
            /// C# signature: `System.Void LibreMetaverse.Messages.Linden.NewFileAgentInventoryVariablePriceReplyMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
            /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.NewFileAgentInventoryVariablePriceReplyMessage.Serialize`.
            ///
            /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.Linden.NewFileAgentInventoryVariablePriceReplyMessage.Serialize()`.
            /// Mapping contract: ownership `shared_self`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn serialize(
                &self,
            ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }
        impl libremetaverse::interfaces::IMessage for NewFileAgentInventoryVariablePriceReplyMessage {
            fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            fn serialize(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }

        /// C# type: `T:LibreMetaverse.Messages.Linden.ObjectMediaBlock`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.ObjectMediaBlock` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        /// C# member: `M:LibreMetaverse.Messages.Linden.ObjectMediaBlock.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Messages.Linden.ObjectMediaBlock.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        /// C# member: `M:LibreMetaverse.Messages.Linden.ObjectMediaBlock.Serialize`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.Linden.ObjectMediaBlock.Serialize()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub use crate::dynamic_messages::ObjectMediaBlock;

        /// C# type: `T:LibreMetaverse.Messages.Linden.ObjectMediaMessage`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.ObjectMediaMessage` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        pub struct ObjectMediaMessage {
            /// C# member: `F:LibreMetaverse.Messages.Linden.ObjectMediaMessage.Request`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.ObjectMediaBlock LibreMetaverse.Messages.Linden.ObjectMediaMessage.Request`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub request: libremetaverse::messages::linden::ObjectMediaBlock,
        }
        impl ObjectMediaMessage {
            /// C# member: `M:LibreMetaverse.Messages.Linden.ObjectMediaMessage.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.ObjectMediaMessage()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                /* reviewed native compatibility body */
                Ok(<Self as crate::message_codec::GeneratedMessage>::new_generated())
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.ObjectMediaMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
            ///
            /// C# signature: `System.Void LibreMetaverse.Messages.Linden.ObjectMediaMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
            /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.ObjectMediaMessage.Serialize`.
            ///
            /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.Linden.ObjectMediaMessage.Serialize()`.
            /// Mapping contract: ownership `shared_self`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn serialize(
                &self,
            ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }
        impl libremetaverse::interfaces::IMessage for ObjectMediaMessage {
            fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            fn serialize(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }

        /// C# type: `T:LibreMetaverse.Messages.Linden.ObjectMediaNavigateMessage`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.ObjectMediaNavigateMessage` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        pub struct ObjectMediaNavigateMessage {
            /// C# member: `F:LibreMetaverse.Messages.Linden.ObjectMediaNavigateMessage.Face`.
            ///
            /// C# signature: `System.Int32 LibreMetaverse.Messages.Linden.ObjectMediaNavigateMessage.Face`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub face: i32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ObjectMediaNavigateMessage.PrimID`.
            ///
            /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Messages.Linden.ObjectMediaNavigateMessage.PrimID`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub prim_id: libremetaverse_types::UUID,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ObjectMediaNavigateMessage.URL`.
            ///
            /// C# signature: `System.String LibreMetaverse.Messages.Linden.ObjectMediaNavigateMessage.URL`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub url: String,
        }
        impl ObjectMediaNavigateMessage {
            /// C# member: `M:LibreMetaverse.Messages.Linden.ObjectMediaNavigateMessage.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.ObjectMediaNavigateMessage()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                /* reviewed native compatibility body */
                Ok(<Self as crate::message_codec::GeneratedMessage>::new_generated())
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.ObjectMediaNavigateMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
            ///
            /// C# signature: `System.Void LibreMetaverse.Messages.Linden.ObjectMediaNavigateMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
            /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.ObjectMediaNavigateMessage.Serialize`.
            ///
            /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.Linden.ObjectMediaNavigateMessage.Serialize()`.
            /// Mapping contract: ownership `shared_self`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn serialize(
                &self,
            ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }
        impl libremetaverse::interfaces::IMessage for ObjectMediaNavigateMessage {
            fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            fn serialize(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }

        /// C# type: `T:LibreMetaverse.Messages.Linden.ObjectMediaRequest`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.ObjectMediaRequest` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        pub struct ObjectMediaRequest {
            /// C# member: `F:LibreMetaverse.Messages.Linden.ObjectMediaRequest.PrimID`.
            ///
            /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Messages.Linden.ObjectMediaRequest.PrimID`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub prim_id: libremetaverse_types::UUID,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ObjectMediaRequest.Verb`.
            ///
            /// C# signature: `System.String LibreMetaverse.Messages.Linden.ObjectMediaRequest.Verb`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub verb: String,
        }
        impl ObjectMediaRequest {
            /// C# member: `M:LibreMetaverse.Messages.Linden.ObjectMediaRequest.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.ObjectMediaRequest()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                /* reviewed native compatibility body */
                Ok(<Self as crate::message_codec::GeneratedMessage>::new_generated())
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.ObjectMediaRequest.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
            ///
            /// C# signature: `System.Void LibreMetaverse.Messages.Linden.ObjectMediaRequest.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
            /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.ObjectMediaRequest.Serialize`.
            ///
            /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.Linden.ObjectMediaRequest.Serialize()`.
            /// Mapping contract: ownership `shared_self`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn serialize(
                &self,
            ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }

        /// C# type: `T:LibreMetaverse.Messages.Linden.ObjectMediaResponse`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.ObjectMediaResponse` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        pub struct ObjectMediaResponse {
            /// C# member: `F:LibreMetaverse.Messages.Linden.ObjectMediaResponse.FaceMedia`.
            ///
            /// C# signature: `LibreMetaverse.MediaEntry[] LibreMetaverse.Messages.Linden.ObjectMediaResponse.FaceMedia`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub face_media: Vec<libremetaverse::MediaEntry>,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ObjectMediaResponse.PrimID`.
            ///
            /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Messages.Linden.ObjectMediaResponse.PrimID`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub prim_id: libremetaverse_types::UUID,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ObjectMediaResponse.Version`.
            ///
            /// C# signature: `System.String LibreMetaverse.Messages.Linden.ObjectMediaResponse.Version`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub version: String,
        }
        impl ObjectMediaResponse {
            /// C# member: `M:LibreMetaverse.Messages.Linden.ObjectMediaResponse.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.ObjectMediaResponse()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                /* reviewed native compatibility body */
                Ok(<Self as crate::message_codec::GeneratedMessage>::new_generated())
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.ObjectMediaResponse.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
            ///
            /// C# signature: `System.Void LibreMetaverse.Messages.Linden.ObjectMediaResponse.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
            /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.ObjectMediaResponse.Serialize`.
            ///
            /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.Linden.ObjectMediaResponse.Serialize()`.
            /// Mapping contract: ownership `shared_self`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn serialize(
                &self,
            ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }

        /// C# type: `T:LibreMetaverse.Messages.Linden.ObjectMediaUpdate`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.ObjectMediaUpdate` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        pub struct ObjectMediaUpdate {
            /// C# member: `F:LibreMetaverse.Messages.Linden.ObjectMediaUpdate.FaceMedia`.
            ///
            /// C# signature: `LibreMetaverse.MediaEntry[] LibreMetaverse.Messages.Linden.ObjectMediaUpdate.FaceMedia`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub face_media: Vec<libremetaverse::MediaEntry>,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ObjectMediaUpdate.PrimID`.
            ///
            /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Messages.Linden.ObjectMediaUpdate.PrimID`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub prim_id: libremetaverse_types::UUID,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ObjectMediaUpdate.Verb`.
            ///
            /// C# signature: `System.String LibreMetaverse.Messages.Linden.ObjectMediaUpdate.Verb`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub verb: String,
        }
        impl ObjectMediaUpdate {
            /// C# member: `M:LibreMetaverse.Messages.Linden.ObjectMediaUpdate.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.ObjectMediaUpdate()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                /* reviewed native compatibility body */
                Ok(<Self as crate::message_codec::GeneratedMessage>::new_generated())
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.ObjectMediaUpdate.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
            ///
            /// C# signature: `System.Void LibreMetaverse.Messages.Linden.ObjectMediaUpdate.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
            /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.ObjectMediaUpdate.Serialize`.
            ///
            /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.Linden.ObjectMediaUpdate.Serialize()`.
            /// Mapping contract: ownership `shared_self`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn serialize(
                &self,
            ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }

        /// C# type: `T:LibreMetaverse.Messages.Linden.ObjectPhysicsPropertiesMessage`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.ObjectPhysicsPropertiesMessage` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        pub struct ObjectPhysicsPropertiesMessage {
            /// C# member: `F:LibreMetaverse.Messages.Linden.ObjectPhysicsPropertiesMessage.ObjectPhysicsProperties`.
            ///
            /// C# signature: `LibreMetaverse.Primitive.PhysicsProperties[] LibreMetaverse.Messages.Linden.ObjectPhysicsPropertiesMessage.ObjectPhysicsProperties`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub object_physics_properties: Vec<libremetaverse::PrimitivePhysicsProperties>,
        }
        impl ObjectPhysicsPropertiesMessage {
            /// C# member: `M:LibreMetaverse.Messages.Linden.ObjectPhysicsPropertiesMessage.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.ObjectPhysicsPropertiesMessage()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                /* reviewed native compatibility body */
                Ok(<Self as crate::message_codec::GeneratedMessage>::new_generated())
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.ObjectPhysicsPropertiesMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
            ///
            /// C# signature: `System.Void LibreMetaverse.Messages.Linden.ObjectPhysicsPropertiesMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
            /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.ObjectPhysicsPropertiesMessage.Serialize`.
            ///
            /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.Linden.ObjectPhysicsPropertiesMessage.Serialize()`.
            /// Mapping contract: ownership `shared_self`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn serialize(
                &self,
            ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }
        impl libremetaverse::interfaces::IMessage for ObjectPhysicsPropertiesMessage {
            fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            fn serialize(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }

        /// C# type: `T:LibreMetaverse.Messages.Linden.ObjectResourcesDetail`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.ObjectResourcesDetail` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        /// C# member: `F:LibreMetaverse.Messages.Linden.ObjectResourcesDetail.GroupOwned`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Messages.Linden.ObjectResourcesDetail.GroupOwned`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        /// C# member: `F:LibreMetaverse.Messages.Linden.ObjectResourcesDetail.ID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Messages.Linden.ObjectResourcesDetail.ID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        /// C# member: `F:LibreMetaverse.Messages.Linden.ObjectResourcesDetail.Location`.
        ///
        /// C# signature: `LibreMetaverse.Vector3d LibreMetaverse.Messages.Linden.ObjectResourcesDetail.Location`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        /// C# member: `F:LibreMetaverse.Messages.Linden.ObjectResourcesDetail.Name`.
        ///
        /// C# signature: `System.String LibreMetaverse.Messages.Linden.ObjectResourcesDetail.Name`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        /// C# member: `F:LibreMetaverse.Messages.Linden.ObjectResourcesDetail.OwnerID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Messages.Linden.ObjectResourcesDetail.OwnerID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        /// C# member: `F:LibreMetaverse.Messages.Linden.ObjectResourcesDetail.Resources`.
        ///
        /// C# signature: `System.Collections.Generic.Dictionary<System.String, System.Int32> LibreMetaverse.Messages.Linden.ObjectResourcesDetail.Resources`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        /// C# member: `M:LibreMetaverse.Messages.Linden.ObjectResourcesDetail.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Messages.Linden.ObjectResourcesDetail()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        /// C# member: `M:LibreMetaverse.Messages.Linden.ObjectResourcesDetail.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Messages.Linden.ObjectResourcesDetail.Deserialize(LibreMetaverse.StructuredData.OSDMap obj)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        /// C# member: `M:LibreMetaverse.Messages.Linden.ObjectResourcesDetail.FromOSD(LibreMetaverse.StructuredData.OSD)`.
        ///
        /// C# signature: `LibreMetaverse.Messages.Linden.ObjectResourcesDetail LibreMetaverse.Messages.Linden.ObjectResourcesDetail.FromOSD(LibreMetaverse.StructuredData.OSD osd)`.
        /// Mapping contract: ownership `owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub use crate::parcel_manager::ObjectResourcesDetail;

        /// C# type: `T:LibreMetaverse.Messages.Linden.ParcelObjectOwnersReplyMessage`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.ParcelObjectOwnersReplyMessage` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        pub struct ParcelObjectOwnersReplyMessage {
            /// C# member: `F:LibreMetaverse.Messages.Linden.ParcelObjectOwnersReplyMessage.PrimOwnersBlock`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.ParcelObjectOwnersReplyMessage.PrimOwner[] LibreMetaverse.Messages.Linden.ParcelObjectOwnersReplyMessage.PrimOwnersBlock`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub prim_owners_block:
                Vec<libremetaverse::messages::linden::ParcelObjectOwnersReplyMessagePrimOwner>,
        }
        impl ParcelObjectOwnersReplyMessage {
            /// C# member: `M:LibreMetaverse.Messages.Linden.ParcelObjectOwnersReplyMessage.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.ParcelObjectOwnersReplyMessage()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                /* reviewed native compatibility body */
                Ok(<Self as crate::message_codec::GeneratedMessage>::new_generated())
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.ParcelObjectOwnersReplyMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
            ///
            /// C# signature: `System.Void LibreMetaverse.Messages.Linden.ParcelObjectOwnersReplyMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
            /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.ParcelObjectOwnersReplyMessage.Serialize`.
            ///
            /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.Linden.ParcelObjectOwnersReplyMessage.Serialize()`.
            /// Mapping contract: ownership `shared_self`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn serialize(
                &self,
            ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }
        impl libremetaverse::interfaces::IMessage for ParcelObjectOwnersReplyMessage {
            fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            fn serialize(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }

        /// C# type: `T:LibreMetaverse.Messages.Linden.ParcelObjectOwnersReplyMessage.PrimOwner`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.ParcelObjectOwnersReplyMessage.PrimOwner` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        pub struct ParcelObjectOwnersReplyMessagePrimOwner {
            /// C# member: `F:LibreMetaverse.Messages.Linden.ParcelObjectOwnersReplyMessage.PrimOwner.Count`.
            ///
            /// C# signature: `System.Int32 LibreMetaverse.Messages.Linden.ParcelObjectOwnersReplyMessage.PrimOwner.Count`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub count: i32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ParcelObjectOwnersReplyMessage.PrimOwner.IsGroupOwned`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.Messages.Linden.ParcelObjectOwnersReplyMessage.PrimOwner.IsGroupOwned`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub is_group_owned: bool,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ParcelObjectOwnersReplyMessage.PrimOwner.OnlineStatus`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.Messages.Linden.ParcelObjectOwnersReplyMessage.PrimOwner.OnlineStatus`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub online_status: bool,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ParcelObjectOwnersReplyMessage.PrimOwner.OwnerID`.
            ///
            /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Messages.Linden.ParcelObjectOwnersReplyMessage.PrimOwner.OwnerID`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub owner_id: libremetaverse_types::UUID,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ParcelObjectOwnersReplyMessage.PrimOwner.TimeStamp`.
            ///
            /// C# signature: `System.DateTime LibreMetaverse.Messages.Linden.ParcelObjectOwnersReplyMessage.PrimOwner.TimeStamp`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub time_stamp: std::time::SystemTime,
        }
        impl ParcelObjectOwnersReplyMessagePrimOwner {
            /// C# member: `M:LibreMetaverse.Messages.Linden.ParcelObjectOwnersReplyMessage.PrimOwner.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.ParcelObjectOwnersReplyMessage.PrimOwner()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                /* reviewed native compatibility body */
                Ok(<Self as crate::message_codec::GeneratedMessage>::new_generated())
            }
        }

        /// C# type: `T:LibreMetaverse.Messages.Linden.ParcelPropertiesMessage`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.ParcelPropertiesMessage` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        pub struct ParcelPropertiesMessage {
            /// C# member: `F:LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.AABBMax`.
            ///
            /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.AABBMax`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub aabb_max: libremetaverse_types::Vector3,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.AABBMin`.
            ///
            /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.AABBMin`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub aabb_min: libremetaverse_types::Vector3,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.AnyAVSounds`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.AnyAVSounds`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub any_av_sounds: bool,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.Area`.
            ///
            /// C# signature: `System.Int32 LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.Area`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub area: i32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.AuctionID`.
            ///
            /// C# signature: `System.UInt32 LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.AuctionID`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub auction_id: u32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.AuthBuyerID`.
            ///
            /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.AuthBuyerID`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub auth_buyer_id: libremetaverse_types::UUID,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.Bitmap`.
            ///
            /// C# signature: `System.Byte[] LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.Bitmap`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub bitmap: Vec<u8>,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.Category`.
            ///
            /// C# signature: `LibreMetaverse.ParcelCategory LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.Category`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub category: libremetaverse::ParcelCategory,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.ClaimDate`.
            ///
            /// C# signature: `System.DateTime LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.ClaimDate`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub claim_date: std::time::SystemTime,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.ClaimPrice`.
            ///
            /// C# signature: `System.Int32 LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.ClaimPrice`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub claim_price: i32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.Desc`.
            ///
            /// C# signature: `System.String LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.Desc`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub desc: String,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.GroupAVSounds`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.GroupAVSounds`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub group_av_sounds: bool,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.GroupID`.
            ///
            /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.GroupID`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub group_id: libremetaverse_types::UUID,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.GroupPrims`.
            ///
            /// C# signature: `System.Int32 LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.GroupPrims`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub group_prims: i32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.IsGroupOwned`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.IsGroupOwned`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub is_group_owned: bool,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.LandingType`.
            ///
            /// C# signature: `LibreMetaverse.LandingType LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.LandingType`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub landing_type: libremetaverse::LandingType,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.LocalID`.
            ///
            /// C# signature: `System.Int32 LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.LocalID`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub local_id: i32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.MaxPrims`.
            ///
            /// C# signature: `System.Int32 LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.MaxPrims`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub max_prims: i32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.MediaAutoScale`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.MediaAutoScale`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub media_auto_scale: bool,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.MediaDesc`.
            ///
            /// C# signature: `System.String LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.MediaDesc`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub media_desc: String,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.MediaHeight`.
            ///
            /// C# signature: `System.Int32 LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.MediaHeight`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub media_height: i32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.MediaID`.
            ///
            /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.MediaID`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub media_id: libremetaverse_types::UUID,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.MediaLoop`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.MediaLoop`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub media_loop: bool,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.MediaType`.
            ///
            /// C# signature: `System.String LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.MediaType`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub media_type: String,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.MediaURL`.
            ///
            /// C# signature: `System.String LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.MediaURL`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub media_url: String,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.MediaWidth`.
            ///
            /// C# signature: `System.Int32 LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.MediaWidth`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub media_width: i32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.MusicURL`.
            ///
            /// C# signature: `System.String LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.MusicURL`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub music_url: String,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.Name`.
            ///
            /// C# signature: `System.String LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.Name`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub name: String,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.ObscureMedia`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.ObscureMedia`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub obscure_media: bool,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.ObscureMusic`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.ObscureMusic`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub obscure_music: bool,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.OtherCleanTime`.
            ///
            /// C# signature: `System.Int32 LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.OtherCleanTime`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub other_clean_time: i32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.OtherCount`.
            ///
            /// C# signature: `System.Int32 LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.OtherCount`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub other_count: i32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.OtherPrims`.
            ///
            /// C# signature: `System.Int32 LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.OtherPrims`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub other_prims: i32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.OwnerID`.
            ///
            /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.OwnerID`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub owner_id: libremetaverse_types::UUID,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.OwnerPrims`.
            ///
            /// C# signature: `System.Int32 LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.OwnerPrims`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub owner_prims: i32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.ParcelFlags`.
            ///
            /// C# signature: `LibreMetaverse.ParcelFlags LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.ParcelFlags`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub parcel_flags: libremetaverse::ParcelFlags,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.ParcelPrimBonus`.
            ///
            /// C# signature: `System.Single LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.ParcelPrimBonus`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub parcel_prim_bonus: f32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.PassHours`.
            ///
            /// C# signature: `System.Single LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.PassHours`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub pass_hours: f32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.PassPrice`.
            ///
            /// C# signature: `System.Int32 LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.PassPrice`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub pass_price: i32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.Privacy`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.Privacy`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub privacy: bool,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.PublicCount`.
            ///
            /// C# signature: `System.Int32 LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.PublicCount`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub public_count: i32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.RegionDenyAgeUnverified`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.RegionDenyAgeUnverified`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub region_deny_age_unverified: bool,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.RegionDenyAnonymous`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.RegionDenyAnonymous`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub region_deny_anonymous: bool,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.RegionDenyIdentified`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.RegionDenyIdentified`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub region_deny_identified: bool,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.RegionDenyTransacted`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.RegionDenyTransacted`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub region_deny_transacted: bool,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.RegionPushOverride`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.RegionPushOverride`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub region_push_override: bool,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.RentPrice`.
            ///
            /// C# signature: `System.Int32 LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.RentPrice`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub rent_price: i32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.RequestResult`.
            ///
            /// C# signature: `LibreMetaverse.ParcelResult LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.RequestResult`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub request_result: libremetaverse::ParcelResult,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.SalePrice`.
            ///
            /// C# signature: `System.Int32 LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.SalePrice`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub sale_price: i32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.SeeAVs`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.SeeAVs`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub see_a_vs: bool,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.SelectedPrims`.
            ///
            /// C# signature: `System.Int32 LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.SelectedPrims`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub selected_prims: i32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.SelfCount`.
            ///
            /// C# signature: `System.Int32 LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.SelfCount`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub self_count: i32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.SequenceID`.
            ///
            /// C# signature: `System.Int32 LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.SequenceID`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub sequence_id: i32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.SimWideMaxPrims`.
            ///
            /// C# signature: `System.Int32 LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.SimWideMaxPrims`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub sim_wide_max_prims: i32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.SimWideTotalPrims`.
            ///
            /// C# signature: `System.Int32 LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.SimWideTotalPrims`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub sim_wide_total_prims: i32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.SnapSelection`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.SnapSelection`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub snap_selection: bool,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.SnapshotID`.
            ///
            /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.SnapshotID`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub snapshot_id: libremetaverse_types::UUID,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.Status`.
            ///
            /// C# signature: `LibreMetaverse.ParcelStatus LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.Status`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub status: libremetaverse::ParcelStatus,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.TotalPrims`.
            ///
            /// C# signature: `System.Int32 LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.TotalPrims`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub total_prims: i32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.UserLocation`.
            ///
            /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.UserLocation`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub user_location: libremetaverse_types::Vector3,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.UserLookAt`.
            ///
            /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.UserLookAt`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub user_look_at: libremetaverse_types::Vector3,
        }
        impl ParcelPropertiesMessage {
            /// C# member: `M:LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.ParcelPropertiesMessage()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                /* reviewed native compatibility body */
                Ok(<Self as crate::message_codec::GeneratedMessage>::new_generated())
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
            ///
            /// C# signature: `System.Void LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
            /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.Serialize`.
            ///
            /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.Linden.ParcelPropertiesMessage.Serialize()`.
            /// Mapping contract: ownership `shared_self`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn serialize(
                &self,
            ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }
        impl libremetaverse::interfaces::IMessage for ParcelPropertiesMessage {
            fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            fn serialize(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }

        /// C# type: `T:LibreMetaverse.Messages.Linden.ParcelPropertiesUpdateMessage`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.ParcelPropertiesUpdateMessage` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        pub struct ParcelPropertiesUpdateMessage {
            /// C# member: `F:LibreMetaverse.Messages.Linden.ParcelPropertiesUpdateMessage.AnyAVSounds`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.Messages.Linden.ParcelPropertiesUpdateMessage.AnyAVSounds`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub any_av_sounds: bool,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ParcelPropertiesUpdateMessage.AuthBuyerID`.
            ///
            /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Messages.Linden.ParcelPropertiesUpdateMessage.AuthBuyerID`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub auth_buyer_id: libremetaverse_types::UUID,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ParcelPropertiesUpdateMessage.Category`.
            ///
            /// C# signature: `LibreMetaverse.ParcelCategory LibreMetaverse.Messages.Linden.ParcelPropertiesUpdateMessage.Category`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub category: libremetaverse::ParcelCategory,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ParcelPropertiesUpdateMessage.Desc`.
            ///
            /// C# signature: `System.String LibreMetaverse.Messages.Linden.ParcelPropertiesUpdateMessage.Desc`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub desc: String,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ParcelPropertiesUpdateMessage.GroupAVSounds`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.Messages.Linden.ParcelPropertiesUpdateMessage.GroupAVSounds`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub group_av_sounds: bool,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ParcelPropertiesUpdateMessage.GroupID`.
            ///
            /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Messages.Linden.ParcelPropertiesUpdateMessage.GroupID`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub group_id: libremetaverse_types::UUID,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ParcelPropertiesUpdateMessage.Landing`.
            ///
            /// C# signature: `LibreMetaverse.LandingType LibreMetaverse.Messages.Linden.ParcelPropertiesUpdateMessage.Landing`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub landing: libremetaverse::LandingType,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ParcelPropertiesUpdateMessage.LocalID`.
            ///
            /// C# signature: `System.Int32 LibreMetaverse.Messages.Linden.ParcelPropertiesUpdateMessage.LocalID`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub local_id: i32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ParcelPropertiesUpdateMessage.MediaAutoScale`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.Messages.Linden.ParcelPropertiesUpdateMessage.MediaAutoScale`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub media_auto_scale: bool,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ParcelPropertiesUpdateMessage.MediaDesc`.
            ///
            /// C# signature: `System.String LibreMetaverse.Messages.Linden.ParcelPropertiesUpdateMessage.MediaDesc`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub media_desc: String,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ParcelPropertiesUpdateMessage.MediaHeight`.
            ///
            /// C# signature: `System.Int32 LibreMetaverse.Messages.Linden.ParcelPropertiesUpdateMessage.MediaHeight`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub media_height: i32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ParcelPropertiesUpdateMessage.MediaID`.
            ///
            /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Messages.Linden.ParcelPropertiesUpdateMessage.MediaID`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub media_id: libremetaverse_types::UUID,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ParcelPropertiesUpdateMessage.MediaLoop`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.Messages.Linden.ParcelPropertiesUpdateMessage.MediaLoop`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub media_loop: bool,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ParcelPropertiesUpdateMessage.MediaType`.
            ///
            /// C# signature: `System.String LibreMetaverse.Messages.Linden.ParcelPropertiesUpdateMessage.MediaType`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub media_type: String,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ParcelPropertiesUpdateMessage.MediaURL`.
            ///
            /// C# signature: `System.String LibreMetaverse.Messages.Linden.ParcelPropertiesUpdateMessage.MediaURL`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub media_url: String,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ParcelPropertiesUpdateMessage.MediaWidth`.
            ///
            /// C# signature: `System.Int32 LibreMetaverse.Messages.Linden.ParcelPropertiesUpdateMessage.MediaWidth`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub media_width: i32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ParcelPropertiesUpdateMessage.MusicURL`.
            ///
            /// C# signature: `System.String LibreMetaverse.Messages.Linden.ParcelPropertiesUpdateMessage.MusicURL`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub music_url: String,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ParcelPropertiesUpdateMessage.Name`.
            ///
            /// C# signature: `System.String LibreMetaverse.Messages.Linden.ParcelPropertiesUpdateMessage.Name`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub name: String,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ParcelPropertiesUpdateMessage.ObscureMedia`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.Messages.Linden.ParcelPropertiesUpdateMessage.ObscureMedia`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub obscure_media: bool,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ParcelPropertiesUpdateMessage.ObscureMusic`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.Messages.Linden.ParcelPropertiesUpdateMessage.ObscureMusic`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub obscure_music: bool,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ParcelPropertiesUpdateMessage.ParcelFlags`.
            ///
            /// C# signature: `LibreMetaverse.ParcelFlags LibreMetaverse.Messages.Linden.ParcelPropertiesUpdateMessage.ParcelFlags`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub parcel_flags: libremetaverse::ParcelFlags,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ParcelPropertiesUpdateMessage.PassHours`.
            ///
            /// C# signature: `System.Single LibreMetaverse.Messages.Linden.ParcelPropertiesUpdateMessage.PassHours`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub pass_hours: f32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ParcelPropertiesUpdateMessage.PassPrice`.
            ///
            /// C# signature: `System.UInt32 LibreMetaverse.Messages.Linden.ParcelPropertiesUpdateMessage.PassPrice`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub pass_price: u32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ParcelPropertiesUpdateMessage.Privacy`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.Messages.Linden.ParcelPropertiesUpdateMessage.Privacy`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub privacy: bool,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ParcelPropertiesUpdateMessage.SalePrice`.
            ///
            /// C# signature: `System.UInt32 LibreMetaverse.Messages.Linden.ParcelPropertiesUpdateMessage.SalePrice`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub sale_price: u32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ParcelPropertiesUpdateMessage.SeeAVs`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.Messages.Linden.ParcelPropertiesUpdateMessage.SeeAVs`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub see_a_vs: bool,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ParcelPropertiesUpdateMessage.SnapshotID`.
            ///
            /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Messages.Linden.ParcelPropertiesUpdateMessage.SnapshotID`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub snapshot_id: libremetaverse_types::UUID,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ParcelPropertiesUpdateMessage.UserLocation`.
            ///
            /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Messages.Linden.ParcelPropertiesUpdateMessage.UserLocation`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub user_location: libremetaverse_types::Vector3,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ParcelPropertiesUpdateMessage.UserLookAt`.
            ///
            /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Messages.Linden.ParcelPropertiesUpdateMessage.UserLookAt`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub user_look_at: libremetaverse_types::Vector3,
        }
        impl ParcelPropertiesUpdateMessage {
            /// C# member: `M:LibreMetaverse.Messages.Linden.ParcelPropertiesUpdateMessage.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.ParcelPropertiesUpdateMessage()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                /* reviewed native compatibility body */
                Ok(<Self as crate::message_codec::GeneratedMessage>::new_generated())
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.ParcelPropertiesUpdateMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
            ///
            /// C# signature: `System.Void LibreMetaverse.Messages.Linden.ParcelPropertiesUpdateMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
            /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.ParcelPropertiesUpdateMessage.Serialize`.
            ///
            /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.Linden.ParcelPropertiesUpdateMessage.Serialize()`.
            /// Mapping contract: ownership `shared_self`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn serialize(
                &self,
            ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }
        impl libremetaverse::interfaces::IMessage for ParcelPropertiesUpdateMessage {
            fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            fn serialize(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }

        /// C# type: `T:LibreMetaverse.Messages.Linden.ParcelResourcesDetail`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.ParcelResourcesDetail` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        /// C# member: `F:LibreMetaverse.Messages.Linden.ParcelResourcesDetail.GroupOwned`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Messages.Linden.ParcelResourcesDetail.GroupOwned`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        /// C# member: `F:LibreMetaverse.Messages.Linden.ParcelResourcesDetail.ID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Messages.Linden.ParcelResourcesDetail.ID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        /// C# member: `F:LibreMetaverse.Messages.Linden.ParcelResourcesDetail.LocalID`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Messages.Linden.ParcelResourcesDetail.LocalID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        /// C# member: `F:LibreMetaverse.Messages.Linden.ParcelResourcesDetail.Name`.
        ///
        /// C# signature: `System.String LibreMetaverse.Messages.Linden.ParcelResourcesDetail.Name`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        /// C# member: `F:LibreMetaverse.Messages.Linden.ParcelResourcesDetail.Objects`.
        ///
        /// C# signature: `LibreMetaverse.Messages.Linden.ObjectResourcesDetail[] LibreMetaverse.Messages.Linden.ParcelResourcesDetail.Objects`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        /// C# member: `F:LibreMetaverse.Messages.Linden.ParcelResourcesDetail.OwnerID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Messages.Linden.ParcelResourcesDetail.OwnerID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        /// C# member: `M:LibreMetaverse.Messages.Linden.ParcelResourcesDetail.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Messages.Linden.ParcelResourcesDetail()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        /// C# member: `M:LibreMetaverse.Messages.Linden.ParcelResourcesDetail.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Messages.Linden.ParcelResourcesDetail.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        /// C# member: `M:LibreMetaverse.Messages.Linden.ParcelResourcesDetail.FromOSD(LibreMetaverse.StructuredData.OSD)`.
        ///
        /// C# signature: `LibreMetaverse.Messages.Linden.ParcelResourcesDetail LibreMetaverse.Messages.Linden.ParcelResourcesDetail.FromOSD(LibreMetaverse.StructuredData.OSD osd)`.
        /// Mapping contract: ownership `owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub use crate::parcel_manager::ParcelResourcesDetail;

        /// C# type: `T:LibreMetaverse.Messages.Linden.ParcelVoiceInfoRequestMessage`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.ParcelVoiceInfoRequestMessage` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        pub struct ParcelVoiceInfoRequestMessage {
            /// C# member: `F:LibreMetaverse.Messages.Linden.ParcelVoiceInfoRequestMessage.ParcelID`.
            ///
            /// C# signature: `System.Int32 LibreMetaverse.Messages.Linden.ParcelVoiceInfoRequestMessage.ParcelID`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub parcel_id: i32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ParcelVoiceInfoRequestMessage.RegionName`.
            ///
            /// C# signature: `System.String LibreMetaverse.Messages.Linden.ParcelVoiceInfoRequestMessage.RegionName`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub region_name: String,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ParcelVoiceInfoRequestMessage.SipChannelUri`.
            ///
            /// C# signature: `System.Uri LibreMetaverse.Messages.Linden.ParcelVoiceInfoRequestMessage.SipChannelUri`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub sip_channel_uri: libremetaverse_types::compat::Uri,
        }
        impl ParcelVoiceInfoRequestMessage {
            /// C# member: `M:LibreMetaverse.Messages.Linden.ParcelVoiceInfoRequestMessage.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.ParcelVoiceInfoRequestMessage()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                /* reviewed native compatibility body */
                Ok(<Self as crate::message_codec::GeneratedMessage>::new_generated())
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.ParcelVoiceInfoRequestMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
            ///
            /// C# signature: `System.Void LibreMetaverse.Messages.Linden.ParcelVoiceInfoRequestMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
            /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.ParcelVoiceInfoRequestMessage.Serialize`.
            ///
            /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.Linden.ParcelVoiceInfoRequestMessage.Serialize()`.
            /// Mapping contract: ownership `shared_self`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn serialize(
                &self,
            ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }
        impl libremetaverse::interfaces::IMessage for ParcelVoiceInfoRequestMessage {
            fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            fn serialize(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }

        /// C# type: `T:LibreMetaverse.Messages.Linden.PlacesReplyMessage`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.PlacesReplyMessage` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        pub struct PlacesReplyMessage {
            /// C# member: `F:LibreMetaverse.Messages.Linden.PlacesReplyMessage.AgentID`.
            ///
            /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Messages.Linden.PlacesReplyMessage.AgentID`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub agent_id: libremetaverse_types::UUID,
            /// C# member: `F:LibreMetaverse.Messages.Linden.PlacesReplyMessage.QueryDataBlocks`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.PlacesReplyMessage.QueryData[] LibreMetaverse.Messages.Linden.PlacesReplyMessage.QueryDataBlocks`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub query_data_blocks:
                Vec<libremetaverse::messages::linden::PlacesReplyMessageQueryData>,
            /// C# member: `F:LibreMetaverse.Messages.Linden.PlacesReplyMessage.QueryID`.
            ///
            /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Messages.Linden.PlacesReplyMessage.QueryID`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub query_id: libremetaverse_types::UUID,
            /// C# member: `F:LibreMetaverse.Messages.Linden.PlacesReplyMessage.TransactionID`.
            ///
            /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Messages.Linden.PlacesReplyMessage.TransactionID`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub transaction_id: libremetaverse_types::UUID,
        }
        impl PlacesReplyMessage {
            /// C# member: `M:LibreMetaverse.Messages.Linden.PlacesReplyMessage.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.PlacesReplyMessage()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                /* reviewed native compatibility body */
                Ok(<Self as crate::message_codec::GeneratedMessage>::new_generated())
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.PlacesReplyMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
            ///
            /// C# signature: `System.Void LibreMetaverse.Messages.Linden.PlacesReplyMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
            /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.PlacesReplyMessage.Serialize`.
            ///
            /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.Linden.PlacesReplyMessage.Serialize()`.
            /// Mapping contract: ownership `shared_self`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn serialize(
                &self,
            ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }
        impl libremetaverse::interfaces::IMessage for PlacesReplyMessage {
            fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            fn serialize(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }

        /// C# type: `T:LibreMetaverse.Messages.Linden.PlacesReplyMessage.QueryData`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.PlacesReplyMessage.QueryData` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        pub struct PlacesReplyMessageQueryData {
            /// C# member: `F:LibreMetaverse.Messages.Linden.PlacesReplyMessage.QueryData.ActualArea`.
            ///
            /// C# signature: `System.Int32 LibreMetaverse.Messages.Linden.PlacesReplyMessage.QueryData.ActualArea`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub actual_area: i32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.PlacesReplyMessage.QueryData.BillableArea`.
            ///
            /// C# signature: `System.Int32 LibreMetaverse.Messages.Linden.PlacesReplyMessage.QueryData.BillableArea`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub billable_area: i32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.PlacesReplyMessage.QueryData.Description`.
            ///
            /// C# signature: `System.String LibreMetaverse.Messages.Linden.PlacesReplyMessage.QueryData.Description`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub description: String,
            /// C# member: `F:LibreMetaverse.Messages.Linden.PlacesReplyMessage.QueryData.Dwell`.
            ///
            /// C# signature: `System.Single LibreMetaverse.Messages.Linden.PlacesReplyMessage.QueryData.Dwell`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub dwell: f32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.PlacesReplyMessage.QueryData.Flags`.
            ///
            /// C# signature: `System.Int32 LibreMetaverse.Messages.Linden.PlacesReplyMessage.QueryData.Flags`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub flags: i32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.PlacesReplyMessage.QueryData.GlobalX`.
            ///
            /// C# signature: `System.Single LibreMetaverse.Messages.Linden.PlacesReplyMessage.QueryData.GlobalX`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub global_x: f32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.PlacesReplyMessage.QueryData.GlobalY`.
            ///
            /// C# signature: `System.Single LibreMetaverse.Messages.Linden.PlacesReplyMessage.QueryData.GlobalY`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub global_y: f32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.PlacesReplyMessage.QueryData.GlobalZ`.
            ///
            /// C# signature: `System.Single LibreMetaverse.Messages.Linden.PlacesReplyMessage.QueryData.GlobalZ`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub global_z: f32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.PlacesReplyMessage.QueryData.Name`.
            ///
            /// C# signature: `System.String LibreMetaverse.Messages.Linden.PlacesReplyMessage.QueryData.Name`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub name: String,
            /// C# member: `F:LibreMetaverse.Messages.Linden.PlacesReplyMessage.QueryData.OwnerID`.
            ///
            /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Messages.Linden.PlacesReplyMessage.QueryData.OwnerID`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub owner_id: libremetaverse_types::UUID,
            /// C# member: `F:LibreMetaverse.Messages.Linden.PlacesReplyMessage.QueryData.Price`.
            ///
            /// C# signature: `System.Int32 LibreMetaverse.Messages.Linden.PlacesReplyMessage.QueryData.Price`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub price: i32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.PlacesReplyMessage.QueryData.ProductSku`.
            ///
            /// C# signature: `System.String LibreMetaverse.Messages.Linden.PlacesReplyMessage.QueryData.ProductSku`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub product_sku: String,
            /// C# member: `F:LibreMetaverse.Messages.Linden.PlacesReplyMessage.QueryData.SimName`.
            ///
            /// C# signature: `System.String LibreMetaverse.Messages.Linden.PlacesReplyMessage.QueryData.SimName`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub sim_name: String,
            /// C# member: `F:LibreMetaverse.Messages.Linden.PlacesReplyMessage.QueryData.SnapShotID`.
            ///
            /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Messages.Linden.PlacesReplyMessage.QueryData.SnapShotID`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub snap_shot_id: libremetaverse_types::UUID,
        }
        impl PlacesReplyMessageQueryData {
            /// C# member: `M:LibreMetaverse.Messages.Linden.PlacesReplyMessage.QueryData.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.PlacesReplyMessage.QueryData()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                /* reviewed native compatibility body */
                Ok(<Self as crate::message_codec::GeneratedMessage>::new_generated())
            }
        }

        /// C# type: `T:LibreMetaverse.Messages.Linden.ProductInfoRequestMessage`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.ProductInfoRequestMessage` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        /// C# member: `F:LibreMetaverse.Messages.Linden.ProductInfoRequestMessage.Products`.
        ///
        /// C# signature: `System.Collections.Generic.List<LibreMetaverse.Messages.Linden.ProductInfoRequestMessage.ProductInfo> LibreMetaverse.Messages.Linden.ProductInfoRequestMessage.Products`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        /// C# member: `M:LibreMetaverse.Messages.Linden.ProductInfoRequestMessage.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Messages.Linden.ProductInfoRequestMessage()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        /// C# member: `M:LibreMetaverse.Messages.Linden.ProductInfoRequestMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Messages.Linden.ProductInfoRequestMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        /// C# member: `M:LibreMetaverse.Messages.Linden.ProductInfoRequestMessage.Serialize`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.Linden.ProductInfoRequestMessage.Serialize()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub use crate::agent_manager::ProductInfoRequestMessage;

        /// C# type: `T:LibreMetaverse.Messages.Linden.ProductInfoRequestMessage.ProductInfo`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.ProductInfoRequestMessage.ProductInfo` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        /// C# member: `F:LibreMetaverse.Messages.Linden.ProductInfoRequestMessage.ProductInfo.Description`.
        ///
        /// C# signature: `System.String LibreMetaverse.Messages.Linden.ProductInfoRequestMessage.ProductInfo.Description`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        /// C# member: `F:LibreMetaverse.Messages.Linden.ProductInfoRequestMessage.ProductInfo.Name`.
        ///
        /// C# signature: `System.String LibreMetaverse.Messages.Linden.ProductInfoRequestMessage.ProductInfo.Name`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        /// C# member: `F:LibreMetaverse.Messages.Linden.ProductInfoRequestMessage.ProductInfo.Sku`.
        ///
        /// C# signature: `System.String LibreMetaverse.Messages.Linden.ProductInfoRequestMessage.ProductInfo.Sku`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        /// C# member: `M:LibreMetaverse.Messages.Linden.ProductInfoRequestMessage.ProductInfo.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Messages.Linden.ProductInfoRequestMessage.ProductInfo()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub use crate::agent_manager::ProductInfoRequestMessageProductInfo;

        /// C# type: `T:LibreMetaverse.Messages.Linden.ProvisionVoiceAccountRequestMessage`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.ProvisionVoiceAccountRequestMessage` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        pub struct ProvisionVoiceAccountRequestMessage {
            /// C# member: `F:LibreMetaverse.Messages.Linden.ProvisionVoiceAccountRequestMessage.Password`.
            ///
            /// C# signature: `System.String LibreMetaverse.Messages.Linden.ProvisionVoiceAccountRequestMessage.Password`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub password: String,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ProvisionVoiceAccountRequestMessage.Username`.
            ///
            /// C# signature: `System.String LibreMetaverse.Messages.Linden.ProvisionVoiceAccountRequestMessage.Username`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub username: String,
        }
        impl ProvisionVoiceAccountRequestMessage {
            /// C# member: `M:LibreMetaverse.Messages.Linden.ProvisionVoiceAccountRequestMessage.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.ProvisionVoiceAccountRequestMessage()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                /* reviewed native compatibility body */
                Ok(<Self as crate::message_codec::GeneratedMessage>::new_generated())
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.ProvisionVoiceAccountRequestMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
            ///
            /// C# signature: `System.Void LibreMetaverse.Messages.Linden.ProvisionVoiceAccountRequestMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
            /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.ProvisionVoiceAccountRequestMessage.Serialize`.
            ///
            /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.Linden.ProvisionVoiceAccountRequestMessage.Serialize()`.
            /// Mapping contract: ownership `shared_self`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn serialize(
                &self,
            ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }
        impl libremetaverse::interfaces::IMessage for ProvisionVoiceAccountRequestMessage {
            fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            fn serialize(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }

        /// C# type: `T:LibreMetaverse.Messages.Linden.RegionExperiencesMessage`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.RegionExperiencesMessage` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        /// C# member: `F:LibreMetaverse.Messages.Linden.RegionExperiencesMessage.Allowed`.
        ///
        /// C# signature: `System.Collections.Generic.List<LibreMetaverse.UUID> LibreMetaverse.Messages.Linden.RegionExperiencesMessage.Allowed`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        /// C# member: `F:LibreMetaverse.Messages.Linden.RegionExperiencesMessage.Blocked`.
        ///
        /// C# signature: `System.Collections.Generic.List<LibreMetaverse.UUID> LibreMetaverse.Messages.Linden.RegionExperiencesMessage.Blocked`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        /// C# member: `F:LibreMetaverse.Messages.Linden.RegionExperiencesMessage.Default`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Messages.Linden.RegionExperiencesMessage.Default`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        /// C# member: `F:LibreMetaverse.Messages.Linden.RegionExperiencesMessage.Trusted`.
        ///
        /// C# signature: `System.Collections.Generic.List<LibreMetaverse.UUID> LibreMetaverse.Messages.Linden.RegionExperiencesMessage.Trusted`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        /// C# member: `M:LibreMetaverse.Messages.Linden.RegionExperiencesMessage.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Messages.Linden.RegionExperiencesMessage()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        /// C# member: `M:LibreMetaverse.Messages.Linden.RegionExperiencesMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Messages.Linden.RegionExperiencesMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        /// C# member: `M:LibreMetaverse.Messages.Linden.RegionExperiencesMessage.Serialize`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.Linden.RegionExperiencesMessage.Serialize()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub use crate::agent_messages::RegionExperiencesMessage;

        /// C# type: `T:LibreMetaverse.Messages.Linden.RegionInfoMessage`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.RegionInfoMessage` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        pub struct RegionInfoMessage {
            /// C# member: `F:LibreMetaverse.Messages.Linden.RegionInfoMessage.ChannelUri`.
            ///
            /// C# signature: `System.String LibreMetaverse.Messages.Linden.RegionInfoMessage.ChannelUri`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub channel_uri: String,
            /// C# member: `F:LibreMetaverse.Messages.Linden.RegionInfoMessage.ParcelLocalID`.
            ///
            /// C# signature: `System.Int32 LibreMetaverse.Messages.Linden.RegionInfoMessage.ParcelLocalID`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub parcel_local_id: i32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.RegionInfoMessage.RegionName`.
            ///
            /// C# signature: `System.String LibreMetaverse.Messages.Linden.RegionInfoMessage.RegionName`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub region_name: String,
        }
        impl RegionInfoMessage {
            /// C# member: `M:LibreMetaverse.Messages.Linden.RegionInfoMessage.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.RegionInfoMessage()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                /* reviewed native compatibility body */
                Ok(<Self as crate::message_codec::GeneratedMessage>::new_generated())
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.RegionInfoMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
            ///
            /// C# signature: `System.Void LibreMetaverse.Messages.Linden.RegionInfoMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
            /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.RegionInfoMessage.Serialize`.
            ///
            /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.Linden.RegionInfoMessage.Serialize()`.
            /// Mapping contract: ownership `shared_self`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn serialize(
                &self,
            ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }
        impl libremetaverse::interfaces::IMessage for RegionInfoMessage {
            fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            fn serialize(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }

        /// C# type: `T:LibreMetaverse.Messages.Linden.RemoteParcelRequestBlock`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.RemoteParcelRequestBlock` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        /// C# member: `M:LibreMetaverse.Messages.Linden.RemoteParcelRequestBlock.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Messages.Linden.RemoteParcelRequestBlock.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        /// C# member: `M:LibreMetaverse.Messages.Linden.RemoteParcelRequestBlock.Serialize`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.Linden.RemoteParcelRequestBlock.Serialize()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub use crate::dynamic_messages::RemoteParcelRequestBlock;

        /// C# type: `T:LibreMetaverse.Messages.Linden.RemoteParcelRequestMessage`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.RemoteParcelRequestMessage` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        pub struct RemoteParcelRequestMessage {
            /// C# member: `F:LibreMetaverse.Messages.Linden.RemoteParcelRequestMessage.Request`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.RemoteParcelRequestBlock LibreMetaverse.Messages.Linden.RemoteParcelRequestMessage.Request`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub request: libremetaverse::messages::linden::RemoteParcelRequestBlock,
        }
        impl RemoteParcelRequestMessage {
            /// C# member: `M:LibreMetaverse.Messages.Linden.RemoteParcelRequestMessage.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.RemoteParcelRequestMessage()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                /* reviewed native compatibility body */
                Ok(<Self as crate::message_codec::GeneratedMessage>::new_generated())
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.RemoteParcelRequestMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
            ///
            /// C# signature: `System.Void LibreMetaverse.Messages.Linden.RemoteParcelRequestMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
            /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.RemoteParcelRequestMessage.Serialize`.
            ///
            /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.Linden.RemoteParcelRequestMessage.Serialize()`.
            /// Mapping contract: ownership `shared_self`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn serialize(
                &self,
            ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }
        impl libremetaverse::interfaces::IMessage for RemoteParcelRequestMessage {
            fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            fn serialize(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }

        /// C# type: `T:LibreMetaverse.Messages.Linden.RemoteParcelRequestReply`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.RemoteParcelRequestReply` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        pub struct RemoteParcelRequestReply {
            /// C# member: `F:LibreMetaverse.Messages.Linden.RemoteParcelRequestReply.ParcelID`.
            ///
            /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Messages.Linden.RemoteParcelRequestReply.ParcelID`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub parcel_id: libremetaverse_types::UUID,
        }
        impl RemoteParcelRequestReply {
            /// C# member: `M:LibreMetaverse.Messages.Linden.RemoteParcelRequestReply.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.RemoteParcelRequestReply()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                /* reviewed native compatibility body */
                Ok(<Self as crate::message_codec::GeneratedMessage>::new_generated())
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.RemoteParcelRequestReply.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
            ///
            /// C# signature: `System.Void LibreMetaverse.Messages.Linden.RemoteParcelRequestReply.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
            /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.RemoteParcelRequestReply.Serialize`.
            ///
            /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.Linden.RemoteParcelRequestReply.Serialize()`.
            /// Mapping contract: ownership `shared_self`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn serialize(
                &self,
            ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }

        /// C# type: `T:LibreMetaverse.Messages.Linden.RemoteParcelRequestRequest`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.RemoteParcelRequestRequest` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        pub struct RemoteParcelRequestRequest {
            /// C# member: `F:LibreMetaverse.Messages.Linden.RemoteParcelRequestRequest.Location`.
            ///
            /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Messages.Linden.RemoteParcelRequestRequest.Location`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub location: libremetaverse_types::Vector3,
            /// C# member: `F:LibreMetaverse.Messages.Linden.RemoteParcelRequestRequest.RegionHandle`.
            ///
            /// C# signature: `System.UInt64 LibreMetaverse.Messages.Linden.RemoteParcelRequestRequest.RegionHandle`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub region_handle: u64,
            /// C# member: `F:LibreMetaverse.Messages.Linden.RemoteParcelRequestRequest.RegionID`.
            ///
            /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Messages.Linden.RemoteParcelRequestRequest.RegionID`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub region_id: libremetaverse_types::UUID,
        }
        impl RemoteParcelRequestRequest {
            /// C# member: `M:LibreMetaverse.Messages.Linden.RemoteParcelRequestRequest.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.RemoteParcelRequestRequest()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                /* reviewed native compatibility body */
                Ok(<Self as crate::message_codec::GeneratedMessage>::new_generated())
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.RemoteParcelRequestRequest.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
            ///
            /// C# signature: `System.Void LibreMetaverse.Messages.Linden.RemoteParcelRequestRequest.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
            /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.RemoteParcelRequestRequest.Serialize`.
            ///
            /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.Linden.RemoteParcelRequestRequest.Serialize()`.
            /// Mapping contract: ownership `shared_self`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn serialize(
                &self,
            ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }

        /// C# type: `T:LibreMetaverse.Messages.Linden.RenderMaterialsMessage`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.RenderMaterialsMessage` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        pub struct RenderMaterialsMessage {
            /// C# member: `F:LibreMetaverse.Messages.Linden.RenderMaterialsMessage.MaterialData`.
            ///
            /// C# signature: `LibreMetaverse.StructuredData.OSD LibreMetaverse.Messages.Linden.RenderMaterialsMessage.MaterialData`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub material_data: libremetaverse_structured_data::OSD,
        }
        impl RenderMaterialsMessage {
            /// C# member: `M:LibreMetaverse.Messages.Linden.RenderMaterialsMessage.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.RenderMaterialsMessage()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                /* reviewed native compatibility body */
                Ok(<Self as crate::message_codec::GeneratedMessage>::new_generated())
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.RenderMaterialsMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
            ///
            /// C# signature: `System.Void LibreMetaverse.Messages.Linden.RenderMaterialsMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
            /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.RenderMaterialsMessage.Serialize`.
            ///
            /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.Linden.RenderMaterialsMessage.Serialize()`.
            /// Mapping contract: ownership `shared_self`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn serialize(
                &self,
            ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }
        impl libremetaverse::interfaces::IMessage for RenderMaterialsMessage {
            fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            fn serialize(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }

        /// C# type: `T:LibreMetaverse.Messages.Linden.RequiredVoiceVersionMessage`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.RequiredVoiceVersionMessage` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        pub struct RequiredVoiceVersionMessage {
            /// C# member: `F:LibreMetaverse.Messages.Linden.RequiredVoiceVersionMessage.MajorVersion`.
            ///
            /// C# signature: `System.Int32 LibreMetaverse.Messages.Linden.RequiredVoiceVersionMessage.MajorVersion`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub major_version: i32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.RequiredVoiceVersionMessage.MinorVersion`.
            ///
            /// C# signature: `System.Int32 LibreMetaverse.Messages.Linden.RequiredVoiceVersionMessage.MinorVersion`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub minor_version: i32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.RequiredVoiceVersionMessage.RegionName`.
            ///
            /// C# signature: `System.String LibreMetaverse.Messages.Linden.RequiredVoiceVersionMessage.RegionName`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub region_name: String,
        }
        impl RequiredVoiceVersionMessage {
            /// C# member: `M:LibreMetaverse.Messages.Linden.RequiredVoiceVersionMessage.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.RequiredVoiceVersionMessage()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                /* reviewed native compatibility body */
                Ok(<Self as crate::message_codec::GeneratedMessage>::new_generated())
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.RequiredVoiceVersionMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
            ///
            /// C# signature: `System.Void LibreMetaverse.Messages.Linden.RequiredVoiceVersionMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
            /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.RequiredVoiceVersionMessage.Serialize`.
            ///
            /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.Linden.RequiredVoiceVersionMessage.Serialize()`.
            /// Mapping contract: ownership `shared_self`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn serialize(
                &self,
            ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }
        impl libremetaverse::interfaces::IMessage for RequiredVoiceVersionMessage {
            fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            fn serialize(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }

        /// C# type: `T:LibreMetaverse.Messages.Linden.ScriptRunningReplyMessage`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.ScriptRunningReplyMessage` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        pub struct ScriptRunningReplyMessage {
            /// C# member: `F:LibreMetaverse.Messages.Linden.ScriptRunningReplyMessage.ItemID`.
            ///
            /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Messages.Linden.ScriptRunningReplyMessage.ItemID`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub item_id: libremetaverse_types::UUID,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ScriptRunningReplyMessage.Mono`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.Messages.Linden.ScriptRunningReplyMessage.Mono`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub mono: bool,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ScriptRunningReplyMessage.ObjectID`.
            ///
            /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Messages.Linden.ScriptRunningReplyMessage.ObjectID`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub object_id: libremetaverse_types::UUID,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ScriptRunningReplyMessage.Running`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.Messages.Linden.ScriptRunningReplyMessage.Running`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub running: bool,
        }
        impl ScriptRunningReplyMessage {
            /// C# member: `M:LibreMetaverse.Messages.Linden.ScriptRunningReplyMessage.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.ScriptRunningReplyMessage()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                /* reviewed native compatibility body */
                Ok(<Self as crate::message_codec::GeneratedMessage>::new_generated())
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.ScriptRunningReplyMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
            ///
            /// C# signature: `System.Void LibreMetaverse.Messages.Linden.ScriptRunningReplyMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
            /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.ScriptRunningReplyMessage.Serialize`.
            ///
            /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.Linden.ScriptRunningReplyMessage.Serialize()`.
            /// Mapping contract: ownership `shared_self`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn serialize(
                &self,
            ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }
        impl libremetaverse::interfaces::IMessage for ScriptRunningReplyMessage {
            fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            fn serialize(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }

        /// C# type: `T:LibreMetaverse.Messages.Linden.SearchStatRequestBlock`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.SearchStatRequestBlock` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        /// C# member: `M:LibreMetaverse.Messages.Linden.SearchStatRequestBlock.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Messages.Linden.SearchStatRequestBlock.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        /// C# member: `M:LibreMetaverse.Messages.Linden.SearchStatRequestBlock.Serialize`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.Linden.SearchStatRequestBlock.Serialize()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub use crate::dynamic_messages::SearchStatRequestBlock;

        /// C# type: `T:LibreMetaverse.Messages.Linden.SearchStatRequestMessage`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.SearchStatRequestMessage` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        pub struct SearchStatRequestMessage {
            /// C# member: `F:LibreMetaverse.Messages.Linden.SearchStatRequestMessage.Request`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.SearchStatRequestBlock LibreMetaverse.Messages.Linden.SearchStatRequestMessage.Request`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub request: libremetaverse::messages::linden::SearchStatRequestBlock,
        }
        impl SearchStatRequestMessage {
            /// C# member: `M:LibreMetaverse.Messages.Linden.SearchStatRequestMessage.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.SearchStatRequestMessage()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                /* reviewed native compatibility body */
                Ok(<Self as crate::message_codec::GeneratedMessage>::new_generated())
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.SearchStatRequestMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
            ///
            /// C# signature: `System.Void LibreMetaverse.Messages.Linden.SearchStatRequestMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
            /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.SearchStatRequestMessage.Serialize`.
            ///
            /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.Linden.SearchStatRequestMessage.Serialize()`.
            /// Mapping contract: ownership `shared_self`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn serialize(
                &self,
            ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }
        impl libremetaverse::interfaces::IMessage for SearchStatRequestMessage {
            fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            fn serialize(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }

        /// C# type: `T:LibreMetaverse.Messages.Linden.SearchStatRequestReply`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.SearchStatRequestReply` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        pub struct SearchStatRequestReply {
            /// C# member: `F:LibreMetaverse.Messages.Linden.SearchStatRequestReply.MapClicks`.
            ///
            /// C# signature: `System.Int32 LibreMetaverse.Messages.Linden.SearchStatRequestReply.MapClicks`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub map_clicks: i32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.SearchStatRequestReply.ProfileClicks`.
            ///
            /// C# signature: `System.Int32 LibreMetaverse.Messages.Linden.SearchStatRequestReply.ProfileClicks`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub profile_clicks: i32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.SearchStatRequestReply.SearchMapClicks`.
            ///
            /// C# signature: `System.Int32 LibreMetaverse.Messages.Linden.SearchStatRequestReply.SearchMapClicks`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub search_map_clicks: i32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.SearchStatRequestReply.SearchProfileClicks`.
            ///
            /// C# signature: `System.Int32 LibreMetaverse.Messages.Linden.SearchStatRequestReply.SearchProfileClicks`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub search_profile_clicks: i32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.SearchStatRequestReply.SearchTeleportClicks`.
            ///
            /// C# signature: `System.Int32 LibreMetaverse.Messages.Linden.SearchStatRequestReply.SearchTeleportClicks`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub search_teleport_clicks: i32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.SearchStatRequestReply.TeleportClicks`.
            ///
            /// C# signature: `System.Int32 LibreMetaverse.Messages.Linden.SearchStatRequestReply.TeleportClicks`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub teleport_clicks: i32,
        }
        impl SearchStatRequestReply {
            /// C# member: `M:LibreMetaverse.Messages.Linden.SearchStatRequestReply.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.SearchStatRequestReply()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                /* reviewed native compatibility body */
                Ok(<Self as crate::message_codec::GeneratedMessage>::new_generated())
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.SearchStatRequestReply.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
            ///
            /// C# signature: `System.Void LibreMetaverse.Messages.Linden.SearchStatRequestReply.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
            /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.SearchStatRequestReply.Serialize`.
            ///
            /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.Linden.SearchStatRequestReply.Serialize()`.
            /// Mapping contract: ownership `shared_self`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn serialize(
                &self,
            ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }

        /// C# type: `T:LibreMetaverse.Messages.Linden.SearchStatRequestRequest`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.SearchStatRequestRequest` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        pub struct SearchStatRequestRequest {
            /// C# member: `F:LibreMetaverse.Messages.Linden.SearchStatRequestRequest.ClassifiedID`.
            ///
            /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Messages.Linden.SearchStatRequestRequest.ClassifiedID`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub classified_id: libremetaverse_types::UUID,
        }
        impl SearchStatRequestRequest {
            /// C# member: `M:LibreMetaverse.Messages.Linden.SearchStatRequestRequest.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.SearchStatRequestRequest()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                /* reviewed native compatibility body */
                Ok(<Self as crate::message_codec::GeneratedMessage>::new_generated())
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.SearchStatRequestRequest.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
            ///
            /// C# signature: `System.Void LibreMetaverse.Messages.Linden.SearchStatRequestRequest.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
            /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.SearchStatRequestRequest.Serialize`.
            ///
            /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.Linden.SearchStatRequestRequest.Serialize()`.
            /// Mapping contract: ownership `shared_self`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn serialize(
                &self,
            ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }

        /// C# type: `T:LibreMetaverse.Messages.Linden.SendPostcardMessage`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.SendPostcardMessage` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        pub struct SendPostcardMessage {
            /// C# member: `F:LibreMetaverse.Messages.Linden.SendPostcardMessage.FromName`.
            ///
            /// C# signature: `System.String LibreMetaverse.Messages.Linden.SendPostcardMessage.FromName`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub from_name: String,
            /// C# member: `F:LibreMetaverse.Messages.Linden.SendPostcardMessage.GlobalPosition`.
            ///
            /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Messages.Linden.SendPostcardMessage.GlobalPosition`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub global_position: libremetaverse_types::Vector3,
            /// C# member: `F:LibreMetaverse.Messages.Linden.SendPostcardMessage.Message`.
            ///
            /// C# signature: `System.String LibreMetaverse.Messages.Linden.SendPostcardMessage.Message`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub message: String,
            /// C# member: `F:LibreMetaverse.Messages.Linden.SendPostcardMessage.Subject`.
            ///
            /// C# signature: `System.String LibreMetaverse.Messages.Linden.SendPostcardMessage.Subject`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub subject: String,
            /// C# member: `F:LibreMetaverse.Messages.Linden.SendPostcardMessage.ToEmail`.
            ///
            /// C# signature: `System.String LibreMetaverse.Messages.Linden.SendPostcardMessage.ToEmail`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub to_email: String,
        }
        impl SendPostcardMessage {
            /// C# member: `M:LibreMetaverse.Messages.Linden.SendPostcardMessage.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.SendPostcardMessage()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                /* reviewed native compatibility body */
                Ok(<Self as crate::message_codec::GeneratedMessage>::new_generated())
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.SendPostcardMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
            ///
            /// C# signature: `System.Void LibreMetaverse.Messages.Linden.SendPostcardMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
            /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.SendPostcardMessage.Serialize`.
            ///
            /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.Linden.SendPostcardMessage.Serialize()`.
            /// Mapping contract: ownership `shared_self`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn serialize(
                &self,
            ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }
        impl libremetaverse::interfaces::IMessage for SendPostcardMessage {
            fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            fn serialize(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }

        /// C# type: `T:LibreMetaverse.Messages.Linden.SetDisplayNameMessage`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.SetDisplayNameMessage` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        pub struct SetDisplayNameMessage {
            /// C# member: `F:LibreMetaverse.Messages.Linden.SetDisplayNameMessage.NewDisplayName`.
            ///
            /// C# signature: `System.String LibreMetaverse.Messages.Linden.SetDisplayNameMessage.NewDisplayName`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub new_display_name: String,
            /// C# member: `F:LibreMetaverse.Messages.Linden.SetDisplayNameMessage.OldDisplayName`.
            ///
            /// C# signature: `System.String LibreMetaverse.Messages.Linden.SetDisplayNameMessage.OldDisplayName`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub old_display_name: String,
        }
        impl SetDisplayNameMessage {
            /// C# member: `M:LibreMetaverse.Messages.Linden.SetDisplayNameMessage.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.SetDisplayNameMessage()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                /* reviewed native compatibility body */
                Ok(<Self as crate::message_codec::GeneratedMessage>::new_generated())
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.SetDisplayNameMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
            ///
            /// C# signature: `System.Void LibreMetaverse.Messages.Linden.SetDisplayNameMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
            /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.SetDisplayNameMessage.Serialize`.
            ///
            /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.Linden.SetDisplayNameMessage.Serialize()`.
            /// Mapping contract: ownership `shared_self`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn serialize(
                &self,
            ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }
        impl libremetaverse::interfaces::IMessage for SetDisplayNameMessage {
            fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            fn serialize(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }

        /// C# type: `T:LibreMetaverse.Messages.Linden.SetDisplayNameReplyMessage`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.SetDisplayNameReplyMessage` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        pub struct SetDisplayNameReplyMessage {
            /// C# member: `F:LibreMetaverse.Messages.Linden.SetDisplayNameReplyMessage.DisplayName`.
            ///
            /// C# signature: `LibreMetaverse.AgentDisplayName LibreMetaverse.Messages.Linden.SetDisplayNameReplyMessage.DisplayName`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub display_name: libremetaverse::AgentDisplayName,
            /// C# member: `F:LibreMetaverse.Messages.Linden.SetDisplayNameReplyMessage.Reason`.
            ///
            /// C# signature: `System.String LibreMetaverse.Messages.Linden.SetDisplayNameReplyMessage.Reason`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub reason: String,
            /// C# member: `F:LibreMetaverse.Messages.Linden.SetDisplayNameReplyMessage.Status`.
            ///
            /// C# signature: `System.Int32 LibreMetaverse.Messages.Linden.SetDisplayNameReplyMessage.Status`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub status: i32,
        }
        impl SetDisplayNameReplyMessage {
            /// C# member: `M:LibreMetaverse.Messages.Linden.SetDisplayNameReplyMessage.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.SetDisplayNameReplyMessage()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                /* reviewed native compatibility body */
                Ok(<Self as crate::message_codec::GeneratedMessage>::new_generated())
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.SetDisplayNameReplyMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
            ///
            /// C# signature: `System.Void LibreMetaverse.Messages.Linden.SetDisplayNameReplyMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
            /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.SetDisplayNameReplyMessage.Serialize`.
            ///
            /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.Linden.SetDisplayNameReplyMessage.Serialize()`.
            /// Mapping contract: ownership `shared_self`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn serialize(
                &self,
            ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }
        impl libremetaverse::interfaces::IMessage for SetDisplayNameReplyMessage {
            fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            fn serialize(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }

        /// C# type: `T:LibreMetaverse.Messages.Linden.SimConsoleAsyncMessage`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.SimConsoleAsyncMessage` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        pub struct SimConsoleAsyncMessage {
            /// C# member: `F:LibreMetaverse.Messages.Linden.SimConsoleAsyncMessage.Command`.
            ///
            /// C# signature: `System.String LibreMetaverse.Messages.Linden.SimConsoleAsyncMessage.Command`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub command: String,
        }
        impl SimConsoleAsyncMessage {
            /// C# member: `M:LibreMetaverse.Messages.Linden.SimConsoleAsyncMessage.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.SimConsoleAsyncMessage()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                /* reviewed native compatibility body */
                Ok(Self {
                    command: String::new(),
                })
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.SimConsoleAsyncMessage.Serialize`.
            ///
            /// C# signature: `LibreMetaverse.StructuredData.OSD LibreMetaverse.Messages.Linden.SimConsoleAsyncMessage.Serialize()`.
            /// Mapping contract: ownership `shared_self`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn serialize(&self) -> Result<libremetaverse_structured_data::OSD, crate::Error> {
                /* reviewed native compatibility body */
                libremetaverse_structured_data::OSD::from_string(self.command.clone())
            }
        }

        /// C# type: `T:LibreMetaverse.Messages.Linden.SimConsoleResponseMessage`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.SimConsoleResponseMessage` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        pub struct SimConsoleResponseMessage {
            /// C# member: `F:LibreMetaverse.Messages.Linden.SimConsoleResponseMessage.Body`.
            ///
            /// C# signature: `System.String LibreMetaverse.Messages.Linden.SimConsoleResponseMessage.Body`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub body: String,
        }
        impl SimConsoleResponseMessage {
            /// C# member: `M:LibreMetaverse.Messages.Linden.SimConsoleResponseMessage.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.SimConsoleResponseMessage()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                /* reviewed native compatibility body */
                Ok(<Self as crate::message_codec::GeneratedMessage>::new_generated())
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.SimConsoleResponseMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
            ///
            /// C# signature: `System.Void LibreMetaverse.Messages.Linden.SimConsoleResponseMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
            /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.SimConsoleResponseMessage.Serialize`.
            ///
            /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.Linden.SimConsoleResponseMessage.Serialize()`.
            /// Mapping contract: ownership `shared_self`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn serialize(
                &self,
            ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }
        impl libremetaverse::interfaces::IMessage for SimConsoleResponseMessage {
            fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            fn serialize(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }

        /// C# type: `T:LibreMetaverse.Messages.Linden.TeleportFailedMessage`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.TeleportFailedMessage` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        pub struct TeleportFailedMessage {
            /// C# member: `F:LibreMetaverse.Messages.Linden.TeleportFailedMessage.AgentID`.
            ///
            /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Messages.Linden.TeleportFailedMessage.AgentID`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub agent_id: libremetaverse_types::UUID,
            /// C# member: `F:LibreMetaverse.Messages.Linden.TeleportFailedMessage.ExtraParams`.
            ///
            /// C# signature: `System.String LibreMetaverse.Messages.Linden.TeleportFailedMessage.ExtraParams`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub extra_params: String,
            /// C# member: `F:LibreMetaverse.Messages.Linden.TeleportFailedMessage.MessageKey`.
            ///
            /// C# signature: `System.String LibreMetaverse.Messages.Linden.TeleportFailedMessage.MessageKey`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub message_key: String,
            /// C# member: `F:LibreMetaverse.Messages.Linden.TeleportFailedMessage.Reason`.
            ///
            /// C# signature: `System.String LibreMetaverse.Messages.Linden.TeleportFailedMessage.Reason`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub reason: String,
        }
        impl TeleportFailedMessage {
            /// C# member: `M:LibreMetaverse.Messages.Linden.TeleportFailedMessage.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.TeleportFailedMessage()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                /* reviewed native compatibility body */
                Ok(<Self as crate::message_codec::GeneratedMessage>::new_generated())
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.TeleportFailedMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
            ///
            /// C# signature: `System.Void LibreMetaverse.Messages.Linden.TeleportFailedMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
            /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.TeleportFailedMessage.Serialize`.
            ///
            /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.Linden.TeleportFailedMessage.Serialize()`.
            /// Mapping contract: ownership `shared_self`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn serialize(
                &self,
            ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }
        impl libremetaverse::interfaces::IMessage for TeleportFailedMessage {
            fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            fn serialize(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }

        /// C# type: `T:LibreMetaverse.Messages.Linden.TeleportFinishMessage`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.TeleportFinishMessage` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        pub struct TeleportFinishMessage {
            /// C# member: `F:LibreMetaverse.Messages.Linden.TeleportFinishMessage.AgentID`.
            ///
            /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Messages.Linden.TeleportFinishMessage.AgentID`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub agent_id: libremetaverse_types::UUID,
            /// C# member: `F:LibreMetaverse.Messages.Linden.TeleportFinishMessage.Flags`.
            ///
            /// C# signature: `LibreMetaverse.TeleportFlags LibreMetaverse.Messages.Linden.TeleportFinishMessage.Flags`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub flags: libremetaverse::TeleportFlags,
            /// C# member: `F:LibreMetaverse.Messages.Linden.TeleportFinishMessage.IP`.
            ///
            /// C# signature: `System.Net.IPAddress LibreMetaverse.Messages.Linden.TeleportFinishMessage.IP`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub ip: std::net::IpAddr,
            /// C# member: `F:LibreMetaverse.Messages.Linden.TeleportFinishMessage.LocationID`.
            ///
            /// C# signature: `System.Int32 LibreMetaverse.Messages.Linden.TeleportFinishMessage.LocationID`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub location_id: i32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.TeleportFinishMessage.Port`.
            ///
            /// C# signature: `System.Int32 LibreMetaverse.Messages.Linden.TeleportFinishMessage.Port`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub port: i32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.TeleportFinishMessage.RegionHandle`.
            ///
            /// C# signature: `System.UInt64 LibreMetaverse.Messages.Linden.TeleportFinishMessage.RegionHandle`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub region_handle: u64,
            /// C# member: `F:LibreMetaverse.Messages.Linden.TeleportFinishMessage.RegionSizeX`.
            ///
            /// C# signature: `System.UInt32 LibreMetaverse.Messages.Linden.TeleportFinishMessage.RegionSizeX`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub region_size_x: u32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.TeleportFinishMessage.RegionSizeY`.
            ///
            /// C# signature: `System.UInt32 LibreMetaverse.Messages.Linden.TeleportFinishMessage.RegionSizeY`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub region_size_y: u32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.TeleportFinishMessage.SeedCapability`.
            ///
            /// C# signature: `System.Uri LibreMetaverse.Messages.Linden.TeleportFinishMessage.SeedCapability`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub seed_capability: libremetaverse_types::compat::Uri,
            /// C# member: `F:LibreMetaverse.Messages.Linden.TeleportFinishMessage.SimAccess`.
            ///
            /// C# signature: `LibreMetaverse.SimAccess LibreMetaverse.Messages.Linden.TeleportFinishMessage.SimAccess`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub sim_access: libremetaverse::SimAccess,
        }
        impl TeleportFinishMessage {
            /// C# member: `M:LibreMetaverse.Messages.Linden.TeleportFinishMessage.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.TeleportFinishMessage()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                /* reviewed native compatibility body */
                Ok(<Self as crate::message_codec::GeneratedMessage>::new_generated())
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.TeleportFinishMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
            ///
            /// C# signature: `System.Void LibreMetaverse.Messages.Linden.TeleportFinishMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
            /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.TeleportFinishMessage.Serialize`.
            ///
            /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.Linden.TeleportFinishMessage.Serialize()`.
            /// Mapping contract: ownership `shared_self`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn serialize(
                &self,
            ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }
        impl libremetaverse::interfaces::IMessage for TeleportFinishMessage {
            fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            fn serialize(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }

        /// C# type: `T:LibreMetaverse.Messages.Linden.UpdateAgentInformationMessage`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.UpdateAgentInformationMessage` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        pub struct UpdateAgentInformationMessage {
            /// C# member: `F:LibreMetaverse.Messages.Linden.UpdateAgentInformationMessage.MaxAccess`.
            ///
            /// C# signature: `System.String LibreMetaverse.Messages.Linden.UpdateAgentInformationMessage.MaxAccess`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub max_access: String,
        }
        impl UpdateAgentInformationMessage {
            /// C# member: `M:LibreMetaverse.Messages.Linden.UpdateAgentInformationMessage.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.UpdateAgentInformationMessage()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                /* reviewed native compatibility body */
                Ok(<Self as crate::message_codec::GeneratedMessage>::new_generated())
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.UpdateAgentInformationMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
            ///
            /// C# signature: `System.Void LibreMetaverse.Messages.Linden.UpdateAgentInformationMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
            /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.UpdateAgentInformationMessage.Serialize`.
            ///
            /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.Linden.UpdateAgentInformationMessage.Serialize()`.
            /// Mapping contract: ownership `shared_self`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn serialize(
                &self,
            ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }
        impl libremetaverse::interfaces::IMessage for UpdateAgentInformationMessage {
            fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            fn serialize(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }

        /// C# type: `T:LibreMetaverse.Messages.Linden.UpdateAgentInventoryRequestMessage`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.UpdateAgentInventoryRequestMessage` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        pub struct UpdateAgentInventoryRequestMessage {
            /// C# member: `F:LibreMetaverse.Messages.Linden.UpdateAgentInventoryRequestMessage.ItemID`.
            ///
            /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Messages.Linden.UpdateAgentInventoryRequestMessage.ItemID`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub item_id: libremetaverse_types::UUID,
        }
        impl UpdateAgentInventoryRequestMessage {
            /// C# member: `M:LibreMetaverse.Messages.Linden.UpdateAgentInventoryRequestMessage.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.UpdateAgentInventoryRequestMessage()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                /* reviewed native compatibility body */
                Ok(<Self as crate::message_codec::GeneratedMessage>::new_generated())
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.UpdateAgentInventoryRequestMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
            ///
            /// C# signature: `System.Void LibreMetaverse.Messages.Linden.UpdateAgentInventoryRequestMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
            /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.UpdateAgentInventoryRequestMessage.Serialize`.
            ///
            /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.Linden.UpdateAgentInventoryRequestMessage.Serialize()`.
            /// Mapping contract: ownership `shared_self`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn serialize(
                &self,
            ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }

        /// C# type: `T:LibreMetaverse.Messages.Linden.UpdateAgentLanguageMessage`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.UpdateAgentLanguageMessage` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        pub struct UpdateAgentLanguageMessage {
            /// C# member: `F:LibreMetaverse.Messages.Linden.UpdateAgentLanguageMessage.Language`.
            ///
            /// C# signature: `System.String LibreMetaverse.Messages.Linden.UpdateAgentLanguageMessage.Language`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub language: String,
            /// C# member: `F:LibreMetaverse.Messages.Linden.UpdateAgentLanguageMessage.LanguagePublic`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.Messages.Linden.UpdateAgentLanguageMessage.LanguagePublic`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub language_public: bool,
        }
        impl UpdateAgentLanguageMessage {
            /// C# member: `M:LibreMetaverse.Messages.Linden.UpdateAgentLanguageMessage.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.UpdateAgentLanguageMessage()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                /* reviewed native compatibility body */
                Ok(<Self as crate::message_codec::GeneratedMessage>::new_generated())
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.UpdateAgentLanguageMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
            ///
            /// C# signature: `System.Void LibreMetaverse.Messages.Linden.UpdateAgentLanguageMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
            /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.UpdateAgentLanguageMessage.Serialize`.
            ///
            /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.Linden.UpdateAgentLanguageMessage.Serialize()`.
            /// Mapping contract: ownership `shared_self`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn serialize(
                &self,
            ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }
        impl libremetaverse::interfaces::IMessage for UpdateAgentLanguageMessage {
            fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            fn serialize(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }

        /// C# type: `T:LibreMetaverse.Messages.Linden.UpdateGestureAgentInventoryMessage`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.UpdateGestureAgentInventoryMessage` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        pub struct UpdateGestureAgentInventoryMessage {
            /// C# member: `F:LibreMetaverse.Messages.Linden.UpdateGestureAgentInventoryMessage.Request`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.AssetUploaderBlock LibreMetaverse.Messages.Linden.UpdateGestureAgentInventoryMessage.Request`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub request: libremetaverse::messages::linden::AssetUploaderBlock,
        }
        impl UpdateGestureAgentInventoryMessage {
            /// C# member: `M:LibreMetaverse.Messages.Linden.UpdateGestureAgentInventoryMessage.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.UpdateGestureAgentInventoryMessage()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                /* reviewed native compatibility body */
                Ok(<Self as crate::message_codec::GeneratedMessage>::new_generated())
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.UpdateGestureAgentInventoryMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
            ///
            /// C# signature: `System.Void LibreMetaverse.Messages.Linden.UpdateGestureAgentInventoryMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
            /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.UpdateGestureAgentInventoryMessage.Serialize`.
            ///
            /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.Linden.UpdateGestureAgentInventoryMessage.Serialize()`.
            /// Mapping contract: ownership `shared_self`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn serialize(
                &self,
            ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }
        impl libremetaverse::interfaces::IMessage for UpdateGestureAgentInventoryMessage {
            fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            fn serialize(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }

        /// C# type: `T:LibreMetaverse.Messages.Linden.UpdateNotecardAgentInventoryMessage`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.UpdateNotecardAgentInventoryMessage` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        pub struct UpdateNotecardAgentInventoryMessage {
            /// C# member: `F:LibreMetaverse.Messages.Linden.UpdateNotecardAgentInventoryMessage.Request`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.AssetUploaderBlock LibreMetaverse.Messages.Linden.UpdateNotecardAgentInventoryMessage.Request`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub request: libremetaverse::messages::linden::AssetUploaderBlock,
        }
        impl UpdateNotecardAgentInventoryMessage {
            /// C# member: `M:LibreMetaverse.Messages.Linden.UpdateNotecardAgentInventoryMessage.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.UpdateNotecardAgentInventoryMessage()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                /* reviewed native compatibility body */
                Ok(<Self as crate::message_codec::GeneratedMessage>::new_generated())
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.UpdateNotecardAgentInventoryMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
            ///
            /// C# signature: `System.Void LibreMetaverse.Messages.Linden.UpdateNotecardAgentInventoryMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
            /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.UpdateNotecardAgentInventoryMessage.Serialize`.
            ///
            /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.Linden.UpdateNotecardAgentInventoryMessage.Serialize()`.
            /// Mapping contract: ownership `shared_self`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn serialize(
                &self,
            ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }
        impl libremetaverse::interfaces::IMessage for UpdateNotecardAgentInventoryMessage {
            fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            fn serialize(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }

        /// C# type: `T:LibreMetaverse.Messages.Linden.UpdateNotecardTaskInventoryMessage`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.UpdateNotecardTaskInventoryMessage` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        pub struct UpdateNotecardTaskInventoryMessage {
            /// C# member: `F:LibreMetaverse.Messages.Linden.UpdateNotecardTaskInventoryMessage.ItemID`.
            ///
            /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Messages.Linden.UpdateNotecardTaskInventoryMessage.ItemID`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub item_id: libremetaverse_types::UUID,
            /// C# member: `F:LibreMetaverse.Messages.Linden.UpdateNotecardTaskInventoryMessage.TaskID`.
            ///
            /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Messages.Linden.UpdateNotecardTaskInventoryMessage.TaskID`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub task_id: libremetaverse_types::UUID,
        }
        impl UpdateNotecardTaskInventoryMessage {
            /// C# member: `M:LibreMetaverse.Messages.Linden.UpdateNotecardTaskInventoryMessage.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.UpdateNotecardTaskInventoryMessage()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                /* reviewed native compatibility body */
                Ok(<Self as crate::message_codec::GeneratedMessage>::new_generated())
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.UpdateNotecardTaskInventoryMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
            ///
            /// C# signature: `System.Void LibreMetaverse.Messages.Linden.UpdateNotecardTaskInventoryMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
            /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.UpdateNotecardTaskInventoryMessage.Serialize`.
            ///
            /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.Linden.UpdateNotecardTaskInventoryMessage.Serialize()`.
            /// Mapping contract: ownership `shared_self`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn serialize(
                &self,
            ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }
        impl libremetaverse::interfaces::IMessage for UpdateNotecardTaskInventoryMessage {
            fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            fn serialize(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }

        /// C# type: `T:LibreMetaverse.Messages.Linden.UpdateScriptAgentMessage`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.UpdateScriptAgentMessage` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        pub struct UpdateScriptAgentMessage {
            /// C# member: `F:LibreMetaverse.Messages.Linden.UpdateScriptAgentMessage.Request`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.AssetUploaderBlock LibreMetaverse.Messages.Linden.UpdateScriptAgentMessage.Request`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub request: libremetaverse::messages::linden::AssetUploaderBlock,
        }
        impl UpdateScriptAgentMessage {
            /// C# member: `M:LibreMetaverse.Messages.Linden.UpdateScriptAgentMessage.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.UpdateScriptAgentMessage()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                /* reviewed native compatibility body */
                Ok(<Self as crate::message_codec::GeneratedMessage>::new_generated())
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.UpdateScriptAgentMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
            ///
            /// C# signature: `System.Void LibreMetaverse.Messages.Linden.UpdateScriptAgentMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
            /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.UpdateScriptAgentMessage.Serialize`.
            ///
            /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.Linden.UpdateScriptAgentMessage.Serialize()`.
            /// Mapping contract: ownership `shared_self`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn serialize(
                &self,
            ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }
        impl libremetaverse::interfaces::IMessage for UpdateScriptAgentMessage {
            fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            fn serialize(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }

        /// C# type: `T:LibreMetaverse.Messages.Linden.UpdateScriptAgentRequestMessage`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.UpdateScriptAgentRequestMessage` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        pub struct UpdateScriptAgentRequestMessage {
            /// C# member: `F:LibreMetaverse.Messages.Linden.UpdateScriptAgentRequestMessage.ItemID`.
            ///
            /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Messages.Linden.UpdateScriptAgentRequestMessage.ItemID`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub item_id: libremetaverse_types::UUID,
            /// C# member: `F:LibreMetaverse.Messages.Linden.UpdateScriptAgentRequestMessage.Target`.
            ///
            /// C# signature: `System.String LibreMetaverse.Messages.Linden.UpdateScriptAgentRequestMessage.Target`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub target: String,
        }
        impl UpdateScriptAgentRequestMessage {
            /// C# member: `M:LibreMetaverse.Messages.Linden.UpdateScriptAgentRequestMessage.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.UpdateScriptAgentRequestMessage()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                /* reviewed native compatibility body */
                Ok(<Self as crate::message_codec::GeneratedMessage>::new_generated())
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.UpdateScriptAgentRequestMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
            ///
            /// C# signature: `System.Void LibreMetaverse.Messages.Linden.UpdateScriptAgentRequestMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
            /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.UpdateScriptAgentRequestMessage.Serialize`.
            ///
            /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.Linden.UpdateScriptAgentRequestMessage.Serialize()`.
            /// Mapping contract: ownership `shared_self`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn serialize(
                &self,
            ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }

        /// C# type: `T:LibreMetaverse.Messages.Linden.UpdateScriptTaskMessage`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.UpdateScriptTaskMessage` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        pub struct UpdateScriptTaskMessage {
            /// C# member: `F:LibreMetaverse.Messages.Linden.UpdateScriptTaskMessage.Request`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.AssetUploaderBlock LibreMetaverse.Messages.Linden.UpdateScriptTaskMessage.Request`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub request: libremetaverse::messages::linden::AssetUploaderBlock,
        }
        impl UpdateScriptTaskMessage {
            /// C# member: `M:LibreMetaverse.Messages.Linden.UpdateScriptTaskMessage.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.UpdateScriptTaskMessage()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                /* reviewed native compatibility body */
                Ok(<Self as crate::message_codec::GeneratedMessage>::new_generated())
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.UpdateScriptTaskMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
            ///
            /// C# signature: `System.Void LibreMetaverse.Messages.Linden.UpdateScriptTaskMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
            /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.UpdateScriptTaskMessage.Serialize`.
            ///
            /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.Linden.UpdateScriptTaskMessage.Serialize()`.
            /// Mapping contract: ownership `shared_self`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn serialize(
                &self,
            ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }
        impl libremetaverse::interfaces::IMessage for UpdateScriptTaskMessage {
            fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            fn serialize(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }

        /// C# type: `T:LibreMetaverse.Messages.Linden.UpdateScriptTaskUpdateMessage`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.UpdateScriptTaskUpdateMessage` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        pub struct UpdateScriptTaskUpdateMessage {
            /// C# member: `F:LibreMetaverse.Messages.Linden.UpdateScriptTaskUpdateMessage.ItemID`.
            ///
            /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Messages.Linden.UpdateScriptTaskUpdateMessage.ItemID`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub item_id: libremetaverse_types::UUID,
            /// C# member: `F:LibreMetaverse.Messages.Linden.UpdateScriptTaskUpdateMessage.ScriptRunning`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.Messages.Linden.UpdateScriptTaskUpdateMessage.ScriptRunning`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub script_running: bool,
            /// C# member: `F:LibreMetaverse.Messages.Linden.UpdateScriptTaskUpdateMessage.Target`.
            ///
            /// C# signature: `System.String LibreMetaverse.Messages.Linden.UpdateScriptTaskUpdateMessage.Target`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub target: String,
            /// C# member: `F:LibreMetaverse.Messages.Linden.UpdateScriptTaskUpdateMessage.TaskID`.
            ///
            /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Messages.Linden.UpdateScriptTaskUpdateMessage.TaskID`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub task_id: libremetaverse_types::UUID,
        }
        impl UpdateScriptTaskUpdateMessage {
            /// C# member: `M:LibreMetaverse.Messages.Linden.UpdateScriptTaskUpdateMessage.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.UpdateScriptTaskUpdateMessage()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                /* reviewed native compatibility body */
                Ok(<Self as crate::message_codec::GeneratedMessage>::new_generated())
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.UpdateScriptTaskUpdateMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
            ///
            /// C# signature: `System.Void LibreMetaverse.Messages.Linden.UpdateScriptTaskUpdateMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
            /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.UpdateScriptTaskUpdateMessage.Serialize`.
            ///
            /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.Linden.UpdateScriptTaskUpdateMessage.Serialize()`.
            /// Mapping contract: ownership `shared_self`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn serialize(
                &self,
            ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }

        /// C# type: `T:LibreMetaverse.Messages.Linden.UploadBakedTextureMessage`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.UploadBakedTextureMessage` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        pub struct UploadBakedTextureMessage {
            /// C# member: `F:LibreMetaverse.Messages.Linden.UploadBakedTextureMessage.Request`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.AssetUploaderBlock LibreMetaverse.Messages.Linden.UploadBakedTextureMessage.Request`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub request: libremetaverse::messages::linden::AssetUploaderBlock,
        }
        impl UploadBakedTextureMessage {
            /// C# member: `M:LibreMetaverse.Messages.Linden.UploadBakedTextureMessage.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.UploadBakedTextureMessage()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                /* reviewed native compatibility body */
                Ok(<Self as crate::message_codec::GeneratedMessage>::new_generated())
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.UploadBakedTextureMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
            ///
            /// C# signature: `System.Void LibreMetaverse.Messages.Linden.UploadBakedTextureMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
            /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.UploadBakedTextureMessage.Serialize`.
            ///
            /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.Linden.UploadBakedTextureMessage.Serialize()`.
            /// Mapping contract: ownership `shared_self`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn serialize(
                &self,
            ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }
        impl libremetaverse::interfaces::IMessage for UploadBakedTextureMessage {
            fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            fn serialize(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }

        /// C# type: `T:LibreMetaverse.Messages.Linden.UploadObjectAssetMessage`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.UploadObjectAssetMessage` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        pub struct UploadObjectAssetMessage {
            /// C# member: `F:LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Objects`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Object[] LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Objects`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub objects: Vec<libremetaverse::messages::linden::UploadObjectAssetMessageObject>,
        }
        impl UploadObjectAssetMessage {
            /// C# member: `M:LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.UploadObjectAssetMessage()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                /* reviewed native compatibility body */
                Ok(<Self as crate::message_codec::GeneratedMessage>::new_generated())
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
            ///
            /// C# signature: `System.Void LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
            /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Serialize`.
            ///
            /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Serialize()`.
            /// Mapping contract: ownership `shared_self`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn serialize(
                &self,
            ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }
        impl libremetaverse::interfaces::IMessage for UploadObjectAssetMessage {
            fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            fn serialize(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }

        /// C# type: `T:LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Object`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Object` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        pub struct UploadObjectAssetMessageObject {
            /// C# member: `F:LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Object.ExtraParams`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Object.ExtraParam[] LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Object.ExtraParams`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub extra_params:
                Vec<libremetaverse::messages::linden::UploadObjectAssetMessageObjectExtraParam>,
            /// C# member: `F:LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Object.Faces`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Object.Face[] LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Object.Faces`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub faces: Vec<libremetaverse::messages::linden::UploadObjectAssetMessageObjectFace>,
            /// C# member: `F:LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Object.GroupID`.
            ///
            /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Object.GroupID`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub group_id: libremetaverse_types::UUID,
            /// C# member: `F:LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Object.Material`.
            ///
            /// C# signature: `LibreMetaverse.Material LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Object.Material`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub material: libremetaverse_types::Material,
            /// C# member: `F:LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Object.Name`.
            ///
            /// C# signature: `System.String LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Object.Name`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub name: String,
            /// C# member: `F:LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Object.PathBegin`.
            ///
            /// C# signature: `System.Single LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Object.PathBegin`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub path_begin: f32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Object.PathCurve`.
            ///
            /// C# signature: `System.Int32 LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Object.PathCurve`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub path_curve: i32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Object.PathEnd`.
            ///
            /// C# signature: `System.Single LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Object.PathEnd`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub path_end: f32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Object.Position`.
            ///
            /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Object.Position`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub position: libremetaverse_types::Vector3,
            /// C# member: `F:LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Object.ProfileBegin`.
            ///
            /// C# signature: `System.Single LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Object.ProfileBegin`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub profile_begin: f32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Object.ProfileCurve`.
            ///
            /// C# signature: `System.Int32 LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Object.ProfileCurve`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub profile_curve: i32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Object.ProfileEnd`.
            ///
            /// C# signature: `System.Single LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Object.ProfileEnd`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub profile_end: f32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Object.ProfileHollow`.
            ///
            /// C# signature: `System.Single LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Object.ProfileHollow`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub profile_hollow: f32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Object.RadiusOffset`.
            ///
            /// C# signature: `System.Single LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Object.RadiusOffset`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub radius_offset: f32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Object.Revolutions`.
            ///
            /// C# signature: `System.Single LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Object.Revolutions`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub revolutions: f32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Object.Rotation`.
            ///
            /// C# signature: `LibreMetaverse.Quaternion LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Object.Rotation`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub rotation: libremetaverse_types::Quaternion,
            /// C# member: `F:LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Object.Scale`.
            ///
            /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Object.Scale`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub scale: libremetaverse_types::Vector3,
            /// C# member: `F:LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Object.ScaleX`.
            ///
            /// C# signature: `System.Single LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Object.ScaleX`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub scale_x: f32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Object.ScaleY`.
            ///
            /// C# signature: `System.Single LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Object.ScaleY`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub scale_y: f32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Object.SculptID`.
            ///
            /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Object.SculptID`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub sculpt_id: libremetaverse_types::UUID,
            /// C# member: `F:LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Object.SculptType`.
            ///
            /// C# signature: `LibreMetaverse.SculptType LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Object.SculptType`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub sculpt_type: libremetaverse_types::SculptType,
            /// C# member: `F:LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Object.ShearX`.
            ///
            /// C# signature: `System.Single LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Object.ShearX`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub shear_x: f32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Object.ShearY`.
            ///
            /// C# signature: `System.Single LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Object.ShearY`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub shear_y: f32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Object.Skew`.
            ///
            /// C# signature: `System.Single LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Object.Skew`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub skew: f32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Object.TaperX`.
            ///
            /// C# signature: `System.Single LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Object.TaperX`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub taper_x: f32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Object.TaperY`.
            ///
            /// C# signature: `System.Single LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Object.TaperY`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub taper_y: f32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Object.Twist`.
            ///
            /// C# signature: `System.Single LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Object.Twist`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub twist: f32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Object.TwistBegin`.
            ///
            /// C# signature: `System.Single LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Object.TwistBegin`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub twist_begin: f32,
        }
        impl UploadObjectAssetMessageObject {
            /// C# member: `M:LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Object.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Object()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                /* reviewed native compatibility body */
                Ok(<Self as crate::message_codec::GeneratedMessage>::new_generated())
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Object.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
            ///
            /// C# signature: `System.Void LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Object.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
            /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Object.Serialize`.
            ///
            /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Object.Serialize()`.
            /// Mapping contract: ownership `shared_self`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn serialize(
                &self,
            ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }

        /// C# type: `T:LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Object.ExtraParam`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Object.ExtraParam` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        pub struct UploadObjectAssetMessageObjectExtraParam {
            /// C# member: `F:LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Object.ExtraParam.ExtraParamData`.
            ///
            /// C# signature: `System.Byte[] LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Object.ExtraParam.ExtraParamData`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub extra_param_data: Vec<u8>,
            /// C# member: `F:LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Object.ExtraParam.Type`.
            ///
            /// C# signature: `LibreMetaverse.ExtraParamType LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Object.ExtraParam.Type`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub type_: libremetaverse_types::ExtraParamType,
        }
        impl UploadObjectAssetMessageObjectExtraParam {
            /// C# member: `M:LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Object.ExtraParam.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Object.ExtraParam()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                /* reviewed native compatibility body */
                Ok(<Self as crate::message_codec::GeneratedMessage>::new_generated())
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Object.ExtraParam.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
            ///
            /// C# signature: `System.Void LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Object.ExtraParam.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
            /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Object.ExtraParam.Serialize`.
            ///
            /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Object.ExtraParam.Serialize()`.
            /// Mapping contract: ownership `shared_self`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn serialize(
                &self,
            ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }

        /// C# type: `T:LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Object.Face`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Object.Face` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        pub struct UploadObjectAssetMessageObjectFace {
            /// C# member: `F:LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Object.Face.Bump`.
            ///
            /// C# signature: `LibreMetaverse.Bumpiness LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Object.Face.Bump`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub bump: libremetaverse::Bumpiness,
            /// C# member: `F:LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Object.Face.Color`.
            ///
            /// C# signature: `LibreMetaverse.Color4 LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Object.Face.Color`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub color: libremetaverse_types::Color4,
            /// C# member: `F:LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Object.Face.Fullbright`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Object.Face.Fullbright`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub fullbright: bool,
            /// C# member: `F:LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Object.Face.Glow`.
            ///
            /// C# signature: `System.Single LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Object.Face.Glow`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub glow: f32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Object.Face.ImageID`.
            ///
            /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Object.Face.ImageID`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub image_id: libremetaverse_types::UUID,
            /// C# member: `F:LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Object.Face.ImageRot`.
            ///
            /// C# signature: `System.Single LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Object.Face.ImageRot`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub image_rot: f32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Object.Face.MediaFlags`.
            ///
            /// C# signature: `System.Int32 LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Object.Face.MediaFlags`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub media_flags: i32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Object.Face.OffsetS`.
            ///
            /// C# signature: `System.Single LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Object.Face.OffsetS`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub offset_s: f32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Object.Face.OffsetT`.
            ///
            /// C# signature: `System.Single LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Object.Face.OffsetT`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub offset_t: f32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Object.Face.ScaleS`.
            ///
            /// C# signature: `System.Single LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Object.Face.ScaleS`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub scale_s: f32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Object.Face.ScaleT`.
            ///
            /// C# signature: `System.Single LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Object.Face.ScaleT`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub scale_t: f32,
        }
        impl UploadObjectAssetMessageObjectFace {
            /// C# member: `M:LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Object.Face.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Object.Face()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                /* reviewed native compatibility body */
                Ok(<Self as crate::message_codec::GeneratedMessage>::new_generated())
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Object.Face.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
            ///
            /// C# signature: `System.Void LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Object.Face.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
            /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Object.Face.Serialize`.
            ///
            /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.Linden.UploadObjectAssetMessage.Object.Face.Serialize()`.
            /// Mapping contract: ownership `shared_self`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn serialize(
                &self,
            ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }

        /// C# type: `T:LibreMetaverse.Messages.Linden.UploadScriptTaskMessage`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.UploadScriptTaskMessage` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        pub struct UploadScriptTaskMessage {
            /// C# member: `F:LibreMetaverse.Messages.Linden.UploadScriptTaskMessage.Request`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.AssetUploaderBlock LibreMetaverse.Messages.Linden.UploadScriptTaskMessage.Request`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub request: libremetaverse::messages::linden::AssetUploaderBlock,
        }
        impl UploadScriptTaskMessage {
            /// C# member: `M:LibreMetaverse.Messages.Linden.UploadScriptTaskMessage.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.UploadScriptTaskMessage()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                /* reviewed native compatibility body */
                Ok(<Self as crate::message_codec::GeneratedMessage>::new_generated())
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.UploadScriptTaskMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
            ///
            /// C# signature: `System.Void LibreMetaverse.Messages.Linden.UploadScriptTaskMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
            /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.UploadScriptTaskMessage.Serialize`.
            ///
            /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.Linden.UploadScriptTaskMessage.Serialize()`.
            /// Mapping contract: ownership `shared_self`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn serialize(
                &self,
            ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }
        impl libremetaverse::interfaces::IMessage for UploadScriptTaskMessage {
            fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            fn serialize(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }

        /// C# type: `T:LibreMetaverse.Messages.Linden.UploaderRequestComplete`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.UploaderRequestComplete` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        pub struct UploaderRequestComplete {
            /// C# member: `F:LibreMetaverse.Messages.Linden.UploaderRequestComplete.AssetID`.
            ///
            /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Messages.Linden.UploaderRequestComplete.AssetID`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub asset_id: libremetaverse_types::UUID,
        }
        impl UploaderRequestComplete {
            /// C# member: `M:LibreMetaverse.Messages.Linden.UploaderRequestComplete.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.UploaderRequestComplete()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                /* reviewed native compatibility body */
                Ok(<Self as crate::message_codec::GeneratedMessage>::new_generated())
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.UploaderRequestComplete.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
            ///
            /// C# signature: `System.Void LibreMetaverse.Messages.Linden.UploaderRequestComplete.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
            /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.UploaderRequestComplete.Serialize`.
            ///
            /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.Linden.UploaderRequestComplete.Serialize()`.
            /// Mapping contract: ownership `shared_self`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn serialize(
                &self,
            ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }

        /// C# type: `T:LibreMetaverse.Messages.Linden.UploaderRequestScriptComplete`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.UploaderRequestScriptComplete` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        pub struct UploaderRequestScriptComplete {
            /// C# member: `F:LibreMetaverse.Messages.Linden.UploaderRequestScriptComplete.AssetID`.
            ///
            /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Messages.Linden.UploaderRequestScriptComplete.AssetID`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub asset_id: libremetaverse_types::UUID,
            /// C# member: `F:LibreMetaverse.Messages.Linden.UploaderRequestScriptComplete.Compiled`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.Messages.Linden.UploaderRequestScriptComplete.Compiled`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub compiled: bool,
        }
        impl UploaderRequestScriptComplete {
            /// C# member: `M:LibreMetaverse.Messages.Linden.UploaderRequestScriptComplete.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.UploaderRequestScriptComplete()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                /* reviewed native compatibility body */
                Ok(<Self as crate::message_codec::GeneratedMessage>::new_generated())
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.UploaderRequestScriptComplete.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
            ///
            /// C# signature: `System.Void LibreMetaverse.Messages.Linden.UploaderRequestScriptComplete.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
            /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.UploaderRequestScriptComplete.Serialize`.
            ///
            /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.Linden.UploaderRequestScriptComplete.Serialize()`.
            /// Mapping contract: ownership `shared_self`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn serialize(
                &self,
            ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }

        /// C# type: `T:LibreMetaverse.Messages.Linden.UploaderRequestUpload`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.UploaderRequestUpload` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        pub struct UploaderRequestUpload {
            /// C# member: `F:LibreMetaverse.Messages.Linden.UploaderRequestUpload.Url`.
            ///
            /// C# signature: `System.Uri LibreMetaverse.Messages.Linden.UploaderRequestUpload.Url`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub url: libremetaverse_types::compat::Uri,
        }
        impl UploaderRequestUpload {
            /// C# member: `M:LibreMetaverse.Messages.Linden.UploaderRequestUpload.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.UploaderRequestUpload()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                /* reviewed native compatibility body */
                Ok(<Self as crate::message_codec::GeneratedMessage>::new_generated())
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.UploaderRequestUpload.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
            ///
            /// C# signature: `System.Void LibreMetaverse.Messages.Linden.UploaderRequestUpload.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
            /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.UploaderRequestUpload.Serialize`.
            ///
            /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.Linden.UploaderRequestUpload.Serialize()`.
            /// Mapping contract: ownership `shared_self`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn serialize(
                &self,
            ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }

        /// C# type: `T:LibreMetaverse.Messages.Linden.UploaderScriptRequestError`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.UploaderScriptRequestError` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        pub struct UploaderScriptRequestError {
            /// C# member: `F:LibreMetaverse.Messages.Linden.UploaderScriptRequestError.AssetID`.
            ///
            /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Messages.Linden.UploaderScriptRequestError.AssetID`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub asset_id: libremetaverse_types::UUID,
            /// C# member: `F:LibreMetaverse.Messages.Linden.UploaderScriptRequestError.Compiled`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.Messages.Linden.UploaderScriptRequestError.Compiled`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub compiled: bool,
            /// C# member: `F:LibreMetaverse.Messages.Linden.UploaderScriptRequestError.Error`.
            ///
            /// C# signature: `System.String LibreMetaverse.Messages.Linden.UploaderScriptRequestError.Error`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub error: String,
        }
        impl UploaderScriptRequestError {
            /// C# member: `M:LibreMetaverse.Messages.Linden.UploaderScriptRequestError.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.UploaderScriptRequestError()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                /* reviewed native compatibility body */
                Ok(<Self as crate::message_codec::GeneratedMessage>::new_generated())
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.UploaderScriptRequestError.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
            ///
            /// C# signature: `System.Void LibreMetaverse.Messages.Linden.UploaderScriptRequestError.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
            /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.UploaderScriptRequestError.Serialize`.
            ///
            /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.Linden.UploaderScriptRequestError.Serialize()`.
            /// Mapping contract: ownership `shared_self`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn serialize(
                &self,
            ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }

        /// C# type: `T:LibreMetaverse.Messages.Linden.ViewerBenefitsMessage`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.ViewerBenefitsMessage` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        /// C# member: `F:LibreMetaverse.Messages.Linden.ViewerBenefitsMessage.AccountLevelBenefits`.
        ///
        /// C# signature: `LibreMetaverse.Messages.Linden.ViewerBenefitsMessage.BenefitPackage LibreMetaverse.Messages.Linden.ViewerBenefitsMessage.AccountLevelBenefits`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        /// C# member: `F:LibreMetaverse.Messages.Linden.ViewerBenefitsMessage.AccountType`.
        ///
        /// C# signature: `System.String LibreMetaverse.Messages.Linden.ViewerBenefitsMessage.AccountType`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        /// C# member: `F:LibreMetaverse.Messages.Linden.ViewerBenefitsMessage.PremiumPackages`.
        ///
        /// C# signature: `System.Collections.Generic.Dictionary<System.String, LibreMetaverse.Messages.Linden.ViewerBenefitsMessage.BenefitPackage> LibreMetaverse.Messages.Linden.ViewerBenefitsMessage.PremiumPackages`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        /// C# member: `M:LibreMetaverse.Messages.Linden.ViewerBenefitsMessage.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Messages.Linden.ViewerBenefitsMessage()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        /// C# member: `M:LibreMetaverse.Messages.Linden.ViewerBenefitsMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Messages.Linden.ViewerBenefitsMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        /// C# member: `M:LibreMetaverse.Messages.Linden.ViewerBenefitsMessage.Serialize`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.Linden.ViewerBenefitsMessage.Serialize()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub use crate::agent_messages::ViewerBenefitsMessage;

        /// C# type: `T:LibreMetaverse.Messages.Linden.ViewerBenefitsMessage.BenefitPackage`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.ViewerBenefitsMessage.BenefitPackage` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        /// C# member: `F:LibreMetaverse.Messages.Linden.ViewerBenefitsMessage.BenefitPackage.AnimatedObjectLimit`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Messages.Linden.ViewerBenefitsMessage.BenefitPackage.AnimatedObjectLimit`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        /// C# member: `F:LibreMetaverse.Messages.Linden.ViewerBenefitsMessage.BenefitPackage.AnimationUploadCost`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Messages.Linden.ViewerBenefitsMessage.BenefitPackage.AnimationUploadCost`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        /// C# member: `F:LibreMetaverse.Messages.Linden.ViewerBenefitsMessage.BenefitPackage.AttachmentLimit`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Messages.Linden.ViewerBenefitsMessage.BenefitPackage.AttachmentLimit`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        /// C# member: `F:LibreMetaverse.Messages.Linden.ViewerBenefitsMessage.BenefitPackage.CreateGroupCost`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Messages.Linden.ViewerBenefitsMessage.BenefitPackage.CreateGroupCost`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        /// C# member: `F:LibreMetaverse.Messages.Linden.ViewerBenefitsMessage.BenefitPackage.GroupMembershipLimit`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Messages.Linden.ViewerBenefitsMessage.BenefitPackage.GroupMembershipLimit`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        /// C# member: `F:LibreMetaverse.Messages.Linden.ViewerBenefitsMessage.BenefitPackage.LargeTextureUploadCost`.
        ///
        /// C# signature: `System.Int32[] LibreMetaverse.Messages.Linden.ViewerBenefitsMessage.BenefitPackage.LargeTextureUploadCost`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        /// C# member: `F:LibreMetaverse.Messages.Linden.ViewerBenefitsMessage.BenefitPackage.PicksLimit`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Messages.Linden.ViewerBenefitsMessage.BenefitPackage.PicksLimit`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        /// C# member: `F:LibreMetaverse.Messages.Linden.ViewerBenefitsMessage.BenefitPackage.SoundUploadCost`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Messages.Linden.ViewerBenefitsMessage.BenefitPackage.SoundUploadCost`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        /// C# member: `F:LibreMetaverse.Messages.Linden.ViewerBenefitsMessage.BenefitPackage.TextureUploadCost`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Messages.Linden.ViewerBenefitsMessage.BenefitPackage.TextureUploadCost`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        /// C# member: `M:LibreMetaverse.Messages.Linden.ViewerBenefitsMessage.BenefitPackage.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Messages.Linden.ViewerBenefitsMessage.BenefitPackage()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub use crate::agent_messages::ViewerBenefitsMessageBenefitPackage;

        /// C# type: `T:LibreMetaverse.Messages.Linden.ViewerStatsMessage`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Messages.Linden.ViewerStatsMessage` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        pub struct ViewerStatsMessage {
            /// C# member: `F:LibreMetaverse.Messages.Linden.ViewerStatsMessage.AgentFPS`.
            ///
            /// C# signature: `System.Single LibreMetaverse.Messages.Linden.ViewerStatsMessage.AgentFPS`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub agent_fps: f32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ViewerStatsMessage.AgentLanguage`.
            ///
            /// C# signature: `System.String LibreMetaverse.Messages.Linden.ViewerStatsMessage.AgentLanguage`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub agent_language: String,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ViewerStatsMessage.AgentMemoryUsed`.
            ///
            /// C# signature: `System.Single LibreMetaverse.Messages.Linden.ViewerStatsMessage.AgentMemoryUsed`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub agent_memory_used: f32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ViewerStatsMessage.AgentPing`.
            ///
            /// C# signature: `System.Single LibreMetaverse.Messages.Linden.ViewerStatsMessage.AgentPing`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub agent_ping: f32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ViewerStatsMessage.AgentRuntime`.
            ///
            /// C# signature: `System.Single LibreMetaverse.Messages.Linden.ViewerStatsMessage.AgentRuntime`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub agent_runtime: f32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ViewerStatsMessage.AgentStartTime`.
            ///
            /// C# signature: `System.DateTime LibreMetaverse.Messages.Linden.ViewerStatsMessage.AgentStartTime`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub agent_start_time: std::time::SystemTime,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ViewerStatsMessage.AgentVersion`.
            ///
            /// C# signature: `System.String LibreMetaverse.Messages.Linden.ViewerStatsMessage.AgentVersion`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub agent_version: String,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ViewerStatsMessage.AgentsInView`.
            ///
            /// C# signature: `System.Int32 LibreMetaverse.Messages.Linden.ViewerStatsMessage.AgentsInView`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub agents_in_view: i32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ViewerStatsMessage.FailuresInvalid`.
            ///
            /// C# signature: `System.Int32 LibreMetaverse.Messages.Linden.ViewerStatsMessage.FailuresInvalid`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub failures_invalid: i32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ViewerStatsMessage.FailuresOffCircuit`.
            ///
            /// C# signature: `System.Int32 LibreMetaverse.Messages.Linden.ViewerStatsMessage.FailuresOffCircuit`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub failures_off_circuit: i32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ViewerStatsMessage.FailuresResent`.
            ///
            /// C# signature: `System.Int32 LibreMetaverse.Messages.Linden.ViewerStatsMessage.FailuresResent`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub failures_resent: i32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ViewerStatsMessage.FailuresSendPacket`.
            ///
            /// C# signature: `System.Int32 LibreMetaverse.Messages.Linden.ViewerStatsMessage.FailuresSendPacket`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub failures_send_packet: i32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ViewerStatsMessage.InCompressedPackets`.
            ///
            /// C# signature: `System.Int32 LibreMetaverse.Messages.Linden.ViewerStatsMessage.InCompressedPackets`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub in_compressed_packets: i32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ViewerStatsMessage.InKbytes`.
            ///
            /// C# signature: `System.Single LibreMetaverse.Messages.Linden.ViewerStatsMessage.InKbytes`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub in_kbytes: f32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ViewerStatsMessage.InPackets`.
            ///
            /// C# signature: `System.Single LibreMetaverse.Messages.Linden.ViewerStatsMessage.InPackets`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub in_packets: f32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ViewerStatsMessage.InSavings`.
            ///
            /// C# signature: `System.Single LibreMetaverse.Messages.Linden.ViewerStatsMessage.InSavings`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub in_savings: f32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ViewerStatsMessage.MetersTraveled`.
            ///
            /// C# signature: `System.Single LibreMetaverse.Messages.Linden.ViewerStatsMessage.MetersTraveled`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub meters_traveled: f32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ViewerStatsMessage.MiscInt1`.
            ///
            /// C# signature: `System.Int32 LibreMetaverse.Messages.Linden.ViewerStatsMessage.MiscInt1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub misc_int1: i32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ViewerStatsMessage.MiscInt2`.
            ///
            /// C# signature: `System.Int32 LibreMetaverse.Messages.Linden.ViewerStatsMessage.MiscInt2`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub misc_int2: i32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ViewerStatsMessage.MiscString1`.
            ///
            /// C# signature: `System.String LibreMetaverse.Messages.Linden.ViewerStatsMessage.MiscString1`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub misc_string1: String,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ViewerStatsMessage.MiscVersion`.
            ///
            /// C# signature: `System.Single LibreMetaverse.Messages.Linden.ViewerStatsMessage.MiscVersion`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub misc_version: f32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ViewerStatsMessage.OutCompressedPackets`.
            ///
            /// C# signature: `System.Int32 LibreMetaverse.Messages.Linden.ViewerStatsMessage.OutCompressedPackets`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub out_compressed_packets: i32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ViewerStatsMessage.OutKbytes`.
            ///
            /// C# signature: `System.Single LibreMetaverse.Messages.Linden.ViewerStatsMessage.OutKbytes`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub out_kbytes: f32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ViewerStatsMessage.OutPackets`.
            ///
            /// C# signature: `System.Single LibreMetaverse.Messages.Linden.ViewerStatsMessage.OutPackets`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub out_packets: f32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ViewerStatsMessage.OutSavings`.
            ///
            /// C# signature: `System.Single LibreMetaverse.Messages.Linden.ViewerStatsMessage.OutSavings`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub out_savings: f32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ViewerStatsMessage.RegionsVisited`.
            ///
            /// C# signature: `System.Int32 LibreMetaverse.Messages.Linden.ViewerStatsMessage.RegionsVisited`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub regions_visited: i32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ViewerStatsMessage.SessionID`.
            ///
            /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Messages.Linden.ViewerStatsMessage.SessionID`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub session_id: libremetaverse_types::UUID,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ViewerStatsMessage.SimulatorFPS`.
            ///
            /// C# signature: `System.Single LibreMetaverse.Messages.Linden.ViewerStatsMessage.SimulatorFPS`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub simulator_fps: f32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ViewerStatsMessage.StatsDropped`.
            ///
            /// C# signature: `System.Int32 LibreMetaverse.Messages.Linden.ViewerStatsMessage.StatsDropped`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub stats_dropped: i32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ViewerStatsMessage.StatsFailedResends`.
            ///
            /// C# signature: `System.Int32 LibreMetaverse.Messages.Linden.ViewerStatsMessage.StatsFailedResends`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub stats_failed_resends: i32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ViewerStatsMessage.SystemCPU`.
            ///
            /// C# signature: `System.String LibreMetaverse.Messages.Linden.ViewerStatsMessage.SystemCPU`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub system_cpu: String,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ViewerStatsMessage.SystemGPU`.
            ///
            /// C# signature: `System.String LibreMetaverse.Messages.Linden.ViewerStatsMessage.SystemGPU`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub system_gpu: String,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ViewerStatsMessage.SystemGPUClass`.
            ///
            /// C# signature: `System.Int32 LibreMetaverse.Messages.Linden.ViewerStatsMessage.SystemGPUClass`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub system_gpu_class: i32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ViewerStatsMessage.SystemGPUVendor`.
            ///
            /// C# signature: `System.String LibreMetaverse.Messages.Linden.ViewerStatsMessage.SystemGPUVendor`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub system_gpu_vendor: String,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ViewerStatsMessage.SystemGPUVersion`.
            ///
            /// C# signature: `System.String LibreMetaverse.Messages.Linden.ViewerStatsMessage.SystemGPUVersion`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub system_gpu_version: String,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ViewerStatsMessage.SystemInstalledRam`.
            ///
            /// C# signature: `System.Int32 LibreMetaverse.Messages.Linden.ViewerStatsMessage.SystemInstalledRam`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub system_installed_ram: i32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ViewerStatsMessage.SystemOS`.
            ///
            /// C# signature: `System.String LibreMetaverse.Messages.Linden.ViewerStatsMessage.SystemOS`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub system_os: String,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ViewerStatsMessage.VertexBuffersEnabled`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.Messages.Linden.ViewerStatsMessage.VertexBuffersEnabled`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub vertex_buffers_enabled: bool,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ViewerStatsMessage.object_kbytes`.
            ///
            /// C# signature: `System.Single LibreMetaverse.Messages.Linden.ViewerStatsMessage.object_kbytes`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub object_kbytes: f32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ViewerStatsMessage.texture_kbytes`.
            ///
            /// C# signature: `System.Single LibreMetaverse.Messages.Linden.ViewerStatsMessage.texture_kbytes`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub texture_kbytes: f32,
            /// C# member: `F:LibreMetaverse.Messages.Linden.ViewerStatsMessage.world_kbytes`.
            ///
            /// C# signature: `System.Single LibreMetaverse.Messages.Linden.ViewerStatsMessage.world_kbytes`.
            /// Mapping contract: ownership `owned_value`; async `sync`;
            /// errors `none`; overload `direct_snake_case`; kind `direct`.
            pub world_kbytes: f32,
        }
        impl ViewerStatsMessage {
            /// C# member: `M:LibreMetaverse.Messages.Linden.ViewerStatsMessage.#ctor`.
            ///
            /// C# signature: `LibreMetaverse.Messages.Linden.ViewerStatsMessage()`.
            /// Mapping contract: ownership `none`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn new() -> Result<Self, crate::Error> {
                /* reviewed native compatibility body */
                Ok(<Self as crate::message_codec::GeneratedMessage>::new_generated())
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.ViewerStatsMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap)`.
            ///
            /// C# signature: `System.Void LibreMetaverse.Messages.Linden.ViewerStatsMessage.Deserialize(LibreMetaverse.StructuredData.OSDMap map)`.
            /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            /// C# member: `M:LibreMetaverse.Messages.Linden.ViewerStatsMessage.Serialize`.
            ///
            /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Messages.Linden.ViewerStatsMessage.Serialize()`.
            /// Mapping contract: ownership `shared_self`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            pub fn serialize(
                &self,
            ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }
        impl libremetaverse::interfaces::IMessage for ViewerStatsMessage {
            fn deserialize(
                &mut self,
                map: libremetaverse_structured_data::OSDMap,
            ) -> Result<(), crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::deserialize_generated(self, &map)
            }
            fn serialize(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
                /* reviewed native compatibility body */
                <Self as crate::message_codec::GeneratedMessage>::serialize_generated(self)
            }
        }
    }
}

pub mod packets {
    /// C# type: `T:LibreMetaverse.Packets.AbortXferPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AbortXferPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AbortXferPacket {
        /// C# member: `F:LibreMetaverse.Packets.AbortXferPacket.XferID`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AbortXferPacket.XferIDBlock LibreMetaverse.Packets.AbortXferPacket.XferID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub xfer_id: libremetaverse::packets::AbortXferPacketXferIDBlock,
    }
    impl AbortXferPacket {
        /// C# member: `M:LibreMetaverse.Packets.AbortXferPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AbortXferPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AbortXferPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AbortXferPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AbortXferPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AbortXferPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AbortXferPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AbortXferPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.AbortXferPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AbortXferPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.AbortXferPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AbortXferPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.AbortXferPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AbortXferPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AbortXferPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AbortXferPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AbortXferPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AbortXferPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.AbortXferPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.AbortXferPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AbortXferPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.AbortXferPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.AbortXferPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AbortXferPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AbortXferPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.AbortXferPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AbortXferPacket.XferIDBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AbortXferPacket.XferIDBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AbortXferPacketXferIDBlock {
        /// C# member: `F:LibreMetaverse.Packets.AbortXferPacket.XferIDBlock.ID`.
        ///
        /// C# signature: `System.UInt64 LibreMetaverse.Packets.AbortXferPacket.XferIDBlock.ID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub id: u64,
        /// C# member: `F:LibreMetaverse.Packets.AbortXferPacket.XferIDBlock.Result`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AbortXferPacket.XferIDBlock.Result`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub result: i32,
    }
    impl AbortXferPacketXferIDBlock {
        /// C# member: `M:LibreMetaverse.Packets.AbortXferPacket.XferIDBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AbortXferPacket.XferIDBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AbortXferPacket.XferIDBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AbortXferPacket.XferIDBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AbortXferPacket.XferIDBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AbortXferPacket.XferIDBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AbortXferPacket.XferIDBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AbortXferPacket.XferIDBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.AbortXferPacket.XferIDBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AbortXferPacket.XferIDBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AbortXferPacket.XferIDBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AbortXferPacket.XferIDBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AbortXferPacket.XferIDBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AbortXferPacket.XferIDBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AcceptCallingCardPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AcceptCallingCardPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AcceptCallingCardPacket {
        /// C# member: `F:LibreMetaverse.Packets.AcceptCallingCardPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AcceptCallingCardPacket.AgentDataBlock LibreMetaverse.Packets.AcceptCallingCardPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::AcceptCallingCardPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.AcceptCallingCardPacket.FolderData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AcceptCallingCardPacket.FolderDataBlock[] LibreMetaverse.Packets.AcceptCallingCardPacket.FolderData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub folder_data: Vec<libremetaverse::packets::AcceptCallingCardPacketFolderDataBlock>,
        /// C# member: `F:LibreMetaverse.Packets.AcceptCallingCardPacket.TransactionBlock`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AcceptCallingCardPacket.TransactionBlockBlock LibreMetaverse.Packets.AcceptCallingCardPacket.TransactionBlock`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub transaction_block:
            libremetaverse::packets::AcceptCallingCardPacketTransactionBlockBlock,
    }
    impl AcceptCallingCardPacket {
        /// C# member: `M:LibreMetaverse.Packets.AcceptCallingCardPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AcceptCallingCardPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AcceptCallingCardPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AcceptCallingCardPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AcceptCallingCardPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AcceptCallingCardPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AcceptCallingCardPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AcceptCallingCardPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.AcceptCallingCardPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AcceptCallingCardPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.AcceptCallingCardPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AcceptCallingCardPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.AcceptCallingCardPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AcceptCallingCardPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AcceptCallingCardPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AcceptCallingCardPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AcceptCallingCardPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AcceptCallingCardPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.AcceptCallingCardPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.AcceptCallingCardPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AcceptCallingCardPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.AcceptCallingCardPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.AcceptCallingCardPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AcceptCallingCardPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AcceptCallingCardPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.AcceptCallingCardPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AcceptCallingCardPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AcceptCallingCardPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AcceptCallingCardPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.AcceptCallingCardPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AcceptCallingCardPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.AcceptCallingCardPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AcceptCallingCardPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl AcceptCallingCardPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.AcceptCallingCardPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AcceptCallingCardPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AcceptCallingCardPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AcceptCallingCardPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AcceptCallingCardPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AcceptCallingCardPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AcceptCallingCardPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AcceptCallingCardPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.AcceptCallingCardPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AcceptCallingCardPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AcceptCallingCardPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AcceptCallingCardPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AcceptCallingCardPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AcceptCallingCardPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AcceptCallingCardPacket.FolderDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AcceptCallingCardPacket.FolderDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AcceptCallingCardPacketFolderDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.AcceptCallingCardPacket.FolderDataBlock.FolderID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AcceptCallingCardPacket.FolderDataBlock.FolderID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub folder_id: libremetaverse_types::UUID,
    }
    impl AcceptCallingCardPacketFolderDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.AcceptCallingCardPacket.FolderDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AcceptCallingCardPacket.FolderDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AcceptCallingCardPacket.FolderDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AcceptCallingCardPacket.FolderDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AcceptCallingCardPacket.FolderDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AcceptCallingCardPacket.FolderDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AcceptCallingCardPacket.FolderDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AcceptCallingCardPacket.FolderDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.AcceptCallingCardPacket.FolderDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AcceptCallingCardPacket.FolderDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AcceptCallingCardPacket.FolderDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AcceptCallingCardPacket.FolderDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AcceptCallingCardPacket.FolderDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AcceptCallingCardPacket.FolderDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AcceptCallingCardPacket.TransactionBlockBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AcceptCallingCardPacket.TransactionBlockBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AcceptCallingCardPacketTransactionBlockBlock {
        /// C# member: `F:LibreMetaverse.Packets.AcceptCallingCardPacket.TransactionBlockBlock.TransactionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AcceptCallingCardPacket.TransactionBlockBlock.TransactionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub transaction_id: libremetaverse_types::UUID,
    }
    impl AcceptCallingCardPacketTransactionBlockBlock {
        /// C# member: `M:LibreMetaverse.Packets.AcceptCallingCardPacket.TransactionBlockBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AcceptCallingCardPacket.TransactionBlockBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AcceptCallingCardPacket.TransactionBlockBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AcceptCallingCardPacket.TransactionBlockBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AcceptCallingCardPacket.TransactionBlockBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AcceptCallingCardPacket.TransactionBlockBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AcceptCallingCardPacket.TransactionBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AcceptCallingCardPacket.TransactionBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.AcceptCallingCardPacket.TransactionBlockBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AcceptCallingCardPacket.TransactionBlockBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AcceptCallingCardPacket.TransactionBlockBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AcceptCallingCardPacket.TransactionBlockBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AcceptCallingCardPacket.TransactionBlockBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AcceptCallingCardPacket.TransactionBlockBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AcceptFriendshipPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AcceptFriendshipPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AcceptFriendshipPacket {
        /// C# member: `F:LibreMetaverse.Packets.AcceptFriendshipPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AcceptFriendshipPacket.AgentDataBlock LibreMetaverse.Packets.AcceptFriendshipPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::AcceptFriendshipPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.AcceptFriendshipPacket.FolderData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AcceptFriendshipPacket.FolderDataBlock[] LibreMetaverse.Packets.AcceptFriendshipPacket.FolderData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub folder_data: Vec<libremetaverse::packets::AcceptFriendshipPacketFolderDataBlock>,
        /// C# member: `F:LibreMetaverse.Packets.AcceptFriendshipPacket.TransactionBlock`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AcceptFriendshipPacket.TransactionBlockBlock LibreMetaverse.Packets.AcceptFriendshipPacket.TransactionBlock`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub transaction_block: libremetaverse::packets::AcceptFriendshipPacketTransactionBlockBlock,
    }
    impl AcceptFriendshipPacket {
        /// C# member: `M:LibreMetaverse.Packets.AcceptFriendshipPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AcceptFriendshipPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AcceptFriendshipPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AcceptFriendshipPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AcceptFriendshipPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AcceptFriendshipPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AcceptFriendshipPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AcceptFriendshipPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.AcceptFriendshipPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AcceptFriendshipPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.AcceptFriendshipPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AcceptFriendshipPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.AcceptFriendshipPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AcceptFriendshipPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AcceptFriendshipPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AcceptFriendshipPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AcceptFriendshipPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AcceptFriendshipPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.AcceptFriendshipPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.AcceptFriendshipPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AcceptFriendshipPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.AcceptFriendshipPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.AcceptFriendshipPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AcceptFriendshipPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AcceptFriendshipPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.AcceptFriendshipPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AcceptFriendshipPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AcceptFriendshipPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AcceptFriendshipPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.AcceptFriendshipPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AcceptFriendshipPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.AcceptFriendshipPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AcceptFriendshipPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl AcceptFriendshipPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.AcceptFriendshipPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AcceptFriendshipPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AcceptFriendshipPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AcceptFriendshipPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AcceptFriendshipPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AcceptFriendshipPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AcceptFriendshipPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AcceptFriendshipPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.AcceptFriendshipPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AcceptFriendshipPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AcceptFriendshipPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AcceptFriendshipPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AcceptFriendshipPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AcceptFriendshipPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AcceptFriendshipPacket.FolderDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AcceptFriendshipPacket.FolderDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AcceptFriendshipPacketFolderDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.AcceptFriendshipPacket.FolderDataBlock.FolderID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AcceptFriendshipPacket.FolderDataBlock.FolderID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub folder_id: libremetaverse_types::UUID,
    }
    impl AcceptFriendshipPacketFolderDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.AcceptFriendshipPacket.FolderDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AcceptFriendshipPacket.FolderDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AcceptFriendshipPacket.FolderDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AcceptFriendshipPacket.FolderDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AcceptFriendshipPacket.FolderDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AcceptFriendshipPacket.FolderDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AcceptFriendshipPacket.FolderDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AcceptFriendshipPacket.FolderDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.AcceptFriendshipPacket.FolderDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AcceptFriendshipPacket.FolderDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AcceptFriendshipPacket.FolderDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AcceptFriendshipPacket.FolderDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AcceptFriendshipPacket.FolderDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AcceptFriendshipPacket.FolderDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AcceptFriendshipPacket.TransactionBlockBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AcceptFriendshipPacket.TransactionBlockBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AcceptFriendshipPacketTransactionBlockBlock {
        /// C# member: `F:LibreMetaverse.Packets.AcceptFriendshipPacket.TransactionBlockBlock.TransactionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AcceptFriendshipPacket.TransactionBlockBlock.TransactionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub transaction_id: libremetaverse_types::UUID,
    }
    impl AcceptFriendshipPacketTransactionBlockBlock {
        /// C# member: `M:LibreMetaverse.Packets.AcceptFriendshipPacket.TransactionBlockBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AcceptFriendshipPacket.TransactionBlockBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AcceptFriendshipPacket.TransactionBlockBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AcceptFriendshipPacket.TransactionBlockBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AcceptFriendshipPacket.TransactionBlockBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AcceptFriendshipPacket.TransactionBlockBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AcceptFriendshipPacket.TransactionBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AcceptFriendshipPacket.TransactionBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.AcceptFriendshipPacket.TransactionBlockBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AcceptFriendshipPacket.TransactionBlockBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AcceptFriendshipPacket.TransactionBlockBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AcceptFriendshipPacket.TransactionBlockBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AcceptFriendshipPacket.TransactionBlockBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AcceptFriendshipPacket.TransactionBlockBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ActivateGesturesPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ActivateGesturesPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ActivateGesturesPacket {
        /// C# member: `F:LibreMetaverse.Packets.ActivateGesturesPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ActivateGesturesPacket.AgentDataBlock LibreMetaverse.Packets.ActivateGesturesPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::ActivateGesturesPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.ActivateGesturesPacket.Data`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ActivateGesturesPacket.DataBlock[] LibreMetaverse.Packets.ActivateGesturesPacket.Data`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub data: Vec<libremetaverse::packets::ActivateGesturesPacketDataBlock>,
    }
    impl ActivateGesturesPacket {
        /// C# member: `M:LibreMetaverse.Packets.ActivateGesturesPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ActivateGesturesPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ActivateGesturesPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ActivateGesturesPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ActivateGesturesPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ActivateGesturesPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ActivateGesturesPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ActivateGesturesPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ActivateGesturesPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ActivateGesturesPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ActivateGesturesPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ActivateGesturesPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ActivateGesturesPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ActivateGesturesPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ActivateGesturesPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ActivateGesturesPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ActivateGesturesPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ActivateGesturesPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ActivateGesturesPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ActivateGesturesPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ActivateGesturesPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ActivateGesturesPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ActivateGesturesPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ActivateGesturesPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ActivateGesturesPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ActivateGesturesPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ActivateGesturesPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ActivateGesturesPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ActivateGesturesPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ActivateGesturesPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ActivateGesturesPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ActivateGesturesPacket.AgentDataBlock.Flags`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ActivateGesturesPacket.AgentDataBlock.Flags`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub flags: u32,
        /// C# member: `F:LibreMetaverse.Packets.ActivateGesturesPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ActivateGesturesPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl ActivateGesturesPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ActivateGesturesPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ActivateGesturesPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ActivateGesturesPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ActivateGesturesPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ActivateGesturesPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ActivateGesturesPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ActivateGesturesPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ActivateGesturesPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ActivateGesturesPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ActivateGesturesPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ActivateGesturesPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ActivateGesturesPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ActivateGesturesPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ActivateGesturesPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ActivateGesturesPacket.DataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ActivateGesturesPacket.DataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ActivateGesturesPacketDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ActivateGesturesPacket.DataBlock.AssetID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ActivateGesturesPacket.DataBlock.AssetID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub asset_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ActivateGesturesPacket.DataBlock.GestureFlags`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ActivateGesturesPacket.DataBlock.GestureFlags`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub gesture_flags: u32,
        /// C# member: `F:LibreMetaverse.Packets.ActivateGesturesPacket.DataBlock.ItemID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ActivateGesturesPacket.DataBlock.ItemID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub item_id: libremetaverse_types::UUID,
    }
    impl ActivateGesturesPacketDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ActivateGesturesPacket.DataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ActivateGesturesPacket.DataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ActivateGesturesPacket.DataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ActivateGesturesPacket.DataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ActivateGesturesPacket.DataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ActivateGesturesPacket.DataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ActivateGesturesPacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ActivateGesturesPacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ActivateGesturesPacket.DataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ActivateGesturesPacket.DataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ActivateGesturesPacket.DataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ActivateGesturesPacket.DataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ActivateGesturesPacket.DataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ActivateGesturesPacket.DataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ActivateGroupPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ActivateGroupPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ActivateGroupPacket {
        /// C# member: `F:LibreMetaverse.Packets.ActivateGroupPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ActivateGroupPacket.AgentDataBlock LibreMetaverse.Packets.ActivateGroupPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::ActivateGroupPacketAgentDataBlock,
    }
    impl ActivateGroupPacket {
        /// C# member: `M:LibreMetaverse.Packets.ActivateGroupPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ActivateGroupPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ActivateGroupPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ActivateGroupPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ActivateGroupPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ActivateGroupPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ActivateGroupPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ActivateGroupPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ActivateGroupPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ActivateGroupPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ActivateGroupPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ActivateGroupPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ActivateGroupPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ActivateGroupPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ActivateGroupPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ActivateGroupPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ActivateGroupPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ActivateGroupPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ActivateGroupPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ActivateGroupPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ActivateGroupPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ActivateGroupPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ActivateGroupPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ActivateGroupPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ActivateGroupPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ActivateGroupPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ActivateGroupPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ActivateGroupPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ActivateGroupPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ActivateGroupPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ActivateGroupPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ActivateGroupPacket.AgentDataBlock.GroupID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ActivateGroupPacket.AgentDataBlock.GroupID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ActivateGroupPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ActivateGroupPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl ActivateGroupPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ActivateGroupPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ActivateGroupPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ActivateGroupPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ActivateGroupPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ActivateGroupPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ActivateGroupPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ActivateGroupPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ActivateGroupPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ActivateGroupPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ActivateGroupPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ActivateGroupPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ActivateGroupPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ActivateGroupPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ActivateGroupPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AddCircuitCodePacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AddCircuitCodePacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AddCircuitCodePacket {
        /// C# member: `F:LibreMetaverse.Packets.AddCircuitCodePacket.CircuitCode`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AddCircuitCodePacket.CircuitCodeBlock LibreMetaverse.Packets.AddCircuitCodePacket.CircuitCode`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub circuit_code: libremetaverse::packets::AddCircuitCodePacketCircuitCodeBlock,
    }
    impl AddCircuitCodePacket {
        /// C# member: `M:LibreMetaverse.Packets.AddCircuitCodePacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AddCircuitCodePacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AddCircuitCodePacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AddCircuitCodePacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AddCircuitCodePacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AddCircuitCodePacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AddCircuitCodePacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AddCircuitCodePacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.AddCircuitCodePacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AddCircuitCodePacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.AddCircuitCodePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AddCircuitCodePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.AddCircuitCodePacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AddCircuitCodePacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AddCircuitCodePacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AddCircuitCodePacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AddCircuitCodePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AddCircuitCodePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.AddCircuitCodePacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.AddCircuitCodePacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AddCircuitCodePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.AddCircuitCodePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.AddCircuitCodePacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AddCircuitCodePacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AddCircuitCodePacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.AddCircuitCodePacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AddCircuitCodePacket.CircuitCodeBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AddCircuitCodePacket.CircuitCodeBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AddCircuitCodePacketCircuitCodeBlock {
        /// C# member: `F:LibreMetaverse.Packets.AddCircuitCodePacket.CircuitCodeBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AddCircuitCodePacket.CircuitCodeBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.AddCircuitCodePacket.CircuitCodeBlock.Code`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.AddCircuitCodePacket.CircuitCodeBlock.Code`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub code: u32,
        /// C# member: `F:LibreMetaverse.Packets.AddCircuitCodePacket.CircuitCodeBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AddCircuitCodePacket.CircuitCodeBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl AddCircuitCodePacketCircuitCodeBlock {
        /// C# member: `M:LibreMetaverse.Packets.AddCircuitCodePacket.CircuitCodeBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AddCircuitCodePacket.CircuitCodeBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AddCircuitCodePacket.CircuitCodeBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AddCircuitCodePacket.CircuitCodeBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AddCircuitCodePacket.CircuitCodeBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AddCircuitCodePacket.CircuitCodeBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AddCircuitCodePacket.CircuitCodeBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AddCircuitCodePacket.CircuitCodeBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.AddCircuitCodePacket.CircuitCodeBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AddCircuitCodePacket.CircuitCodeBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AddCircuitCodePacket.CircuitCodeBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AddCircuitCodePacket.CircuitCodeBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AddCircuitCodePacket.CircuitCodeBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AddCircuitCodePacket.CircuitCodeBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AgentAlertMessagePacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AgentAlertMessagePacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AgentAlertMessagePacket {
        /// C# member: `F:LibreMetaverse.Packets.AgentAlertMessagePacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentAlertMessagePacket.AgentDataBlock LibreMetaverse.Packets.AgentAlertMessagePacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::AgentAlertMessagePacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.AgentAlertMessagePacket.AlertData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentAlertMessagePacket.AlertDataBlock LibreMetaverse.Packets.AgentAlertMessagePacket.AlertData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub alert_data: libremetaverse::packets::AgentAlertMessagePacketAlertDataBlock,
    }
    impl AgentAlertMessagePacket {
        /// C# member: `M:LibreMetaverse.Packets.AgentAlertMessagePacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentAlertMessagePacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentAlertMessagePacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentAlertMessagePacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentAlertMessagePacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentAlertMessagePacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentAlertMessagePacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentAlertMessagePacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentAlertMessagePacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentAlertMessagePacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentAlertMessagePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentAlertMessagePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentAlertMessagePacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AgentAlertMessagePacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentAlertMessagePacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AgentAlertMessagePacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentAlertMessagePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AgentAlertMessagePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentAlertMessagePacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.AgentAlertMessagePacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentAlertMessagePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.AgentAlertMessagePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.AgentAlertMessagePacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AgentAlertMessagePacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AgentAlertMessagePacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.AgentAlertMessagePacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AgentAlertMessagePacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AgentAlertMessagePacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AgentAlertMessagePacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.AgentAlertMessagePacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AgentAlertMessagePacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
    }
    impl AgentAlertMessagePacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.AgentAlertMessagePacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentAlertMessagePacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentAlertMessagePacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentAlertMessagePacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentAlertMessagePacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentAlertMessagePacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentAlertMessagePacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentAlertMessagePacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentAlertMessagePacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentAlertMessagePacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentAlertMessagePacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AgentAlertMessagePacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AgentAlertMessagePacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AgentAlertMessagePacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AgentAlertMessagePacket.AlertDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AgentAlertMessagePacket.AlertDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AgentAlertMessagePacketAlertDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.AgentAlertMessagePacket.AlertDataBlock.Message`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AgentAlertMessagePacket.AlertDataBlock.Message`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub message: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.AgentAlertMessagePacket.AlertDataBlock.Modal`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.AgentAlertMessagePacket.AlertDataBlock.Modal`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub modal: bool,
    }
    impl AgentAlertMessagePacketAlertDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.AgentAlertMessagePacket.AlertDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentAlertMessagePacket.AlertDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentAlertMessagePacket.AlertDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentAlertMessagePacket.AlertDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentAlertMessagePacket.AlertDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentAlertMessagePacket.AlertDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentAlertMessagePacket.AlertDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentAlertMessagePacket.AlertDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentAlertMessagePacket.AlertDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentAlertMessagePacket.AlertDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentAlertMessagePacket.AlertDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AgentAlertMessagePacket.AlertDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AgentAlertMessagePacket.AlertDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AgentAlertMessagePacket.AlertDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AgentAnimationPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AgentAnimationPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AgentAnimationPacket {
        /// C# member: `F:LibreMetaverse.Packets.AgentAnimationPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentAnimationPacket.AgentDataBlock LibreMetaverse.Packets.AgentAnimationPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::AgentAnimationPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.AgentAnimationPacket.AnimationList`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentAnimationPacket.AnimationListBlock[] LibreMetaverse.Packets.AgentAnimationPacket.AnimationList`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub animation_list: Vec<libremetaverse::packets::AgentAnimationPacketAnimationListBlock>,
        /// C# member: `F:LibreMetaverse.Packets.AgentAnimationPacket.PhysicalAvatarEventList`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentAnimationPacket.PhysicalAvatarEventListBlock[] LibreMetaverse.Packets.AgentAnimationPacket.PhysicalAvatarEventList`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub physical_avatar_event_list:
            Vec<libremetaverse::packets::AgentAnimationPacketPhysicalAvatarEventListBlock>,
    }
    impl AgentAnimationPacket {
        /// C# member: `M:LibreMetaverse.Packets.AgentAnimationPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentAnimationPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentAnimationPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentAnimationPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentAnimationPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentAnimationPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentAnimationPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentAnimationPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentAnimationPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentAnimationPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentAnimationPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentAnimationPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentAnimationPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AgentAnimationPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentAnimationPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AgentAnimationPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentAnimationPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AgentAnimationPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentAnimationPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.AgentAnimationPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentAnimationPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.AgentAnimationPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.AgentAnimationPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AgentAnimationPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AgentAnimationPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.AgentAnimationPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AgentAnimationPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AgentAnimationPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AgentAnimationPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.AgentAnimationPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AgentAnimationPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.AgentAnimationPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AgentAnimationPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl AgentAnimationPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.AgentAnimationPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentAnimationPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentAnimationPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentAnimationPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentAnimationPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentAnimationPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentAnimationPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentAnimationPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentAnimationPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentAnimationPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentAnimationPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AgentAnimationPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AgentAnimationPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AgentAnimationPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AgentAnimationPacket.AnimationListBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AgentAnimationPacket.AnimationListBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AgentAnimationPacketAnimationListBlock {
        /// C# member: `F:LibreMetaverse.Packets.AgentAnimationPacket.AnimationListBlock.AnimID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AgentAnimationPacket.AnimationListBlock.AnimID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub anim_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.AgentAnimationPacket.AnimationListBlock.StartAnim`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.AgentAnimationPacket.AnimationListBlock.StartAnim`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub start_anim: bool,
    }
    impl AgentAnimationPacketAnimationListBlock {
        /// C# member: `M:LibreMetaverse.Packets.AgentAnimationPacket.AnimationListBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentAnimationPacket.AnimationListBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentAnimationPacket.AnimationListBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentAnimationPacket.AnimationListBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentAnimationPacket.AnimationListBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentAnimationPacket.AnimationListBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentAnimationPacket.AnimationListBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentAnimationPacket.AnimationListBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentAnimationPacket.AnimationListBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentAnimationPacket.AnimationListBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentAnimationPacket.AnimationListBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AgentAnimationPacket.AnimationListBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AgentAnimationPacket.AnimationListBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AgentAnimationPacket.AnimationListBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AgentAnimationPacket.PhysicalAvatarEventListBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AgentAnimationPacket.PhysicalAvatarEventListBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AgentAnimationPacketPhysicalAvatarEventListBlock {
        /// C# member: `F:LibreMetaverse.Packets.AgentAnimationPacket.PhysicalAvatarEventListBlock.TypeData`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AgentAnimationPacket.PhysicalAvatarEventListBlock.TypeData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub type_data: Vec<u8>,
    }
    impl AgentAnimationPacketPhysicalAvatarEventListBlock {
        /// C# member: `M:LibreMetaverse.Packets.AgentAnimationPacket.PhysicalAvatarEventListBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentAnimationPacket.PhysicalAvatarEventListBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentAnimationPacket.PhysicalAvatarEventListBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentAnimationPacket.PhysicalAvatarEventListBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentAnimationPacket.PhysicalAvatarEventListBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentAnimationPacket.PhysicalAvatarEventListBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentAnimationPacket.PhysicalAvatarEventListBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentAnimationPacket.PhysicalAvatarEventListBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentAnimationPacket.PhysicalAvatarEventListBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentAnimationPacket.PhysicalAvatarEventListBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentAnimationPacket.PhysicalAvatarEventListBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AgentAnimationPacket.PhysicalAvatarEventListBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AgentAnimationPacket.PhysicalAvatarEventListBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AgentAnimationPacket.PhysicalAvatarEventListBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AgentCachedTexturePacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AgentCachedTexturePacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AgentCachedTexturePacket {
        /// C# member: `F:LibreMetaverse.Packets.AgentCachedTexturePacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentCachedTexturePacket.AgentDataBlock LibreMetaverse.Packets.AgentCachedTexturePacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::AgentCachedTexturePacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.AgentCachedTexturePacket.WearableData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentCachedTexturePacket.WearableDataBlock[] LibreMetaverse.Packets.AgentCachedTexturePacket.WearableData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub wearable_data: Vec<libremetaverse::packets::AgentCachedTexturePacketWearableDataBlock>,
    }
    impl AgentCachedTexturePacket {
        /// C# member: `M:LibreMetaverse.Packets.AgentCachedTexturePacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentCachedTexturePacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentCachedTexturePacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentCachedTexturePacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentCachedTexturePacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentCachedTexturePacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentCachedTexturePacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentCachedTexturePacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentCachedTexturePacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentCachedTexturePacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentCachedTexturePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentCachedTexturePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentCachedTexturePacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AgentCachedTexturePacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentCachedTexturePacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AgentCachedTexturePacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentCachedTexturePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AgentCachedTexturePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentCachedTexturePacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.AgentCachedTexturePacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentCachedTexturePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.AgentCachedTexturePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.AgentCachedTexturePacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AgentCachedTexturePacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AgentCachedTexturePacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.AgentCachedTexturePacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AgentCachedTexturePacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AgentCachedTexturePacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AgentCachedTexturePacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.AgentCachedTexturePacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AgentCachedTexturePacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.AgentCachedTexturePacket.AgentDataBlock.SerialNum`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AgentCachedTexturePacket.AgentDataBlock.SerialNum`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub serial_num: i32,
        /// C# member: `F:LibreMetaverse.Packets.AgentCachedTexturePacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AgentCachedTexturePacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl AgentCachedTexturePacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.AgentCachedTexturePacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentCachedTexturePacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentCachedTexturePacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentCachedTexturePacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentCachedTexturePacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentCachedTexturePacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentCachedTexturePacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentCachedTexturePacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentCachedTexturePacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentCachedTexturePacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentCachedTexturePacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AgentCachedTexturePacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AgentCachedTexturePacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AgentCachedTexturePacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AgentCachedTexturePacket.WearableDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AgentCachedTexturePacket.WearableDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AgentCachedTexturePacketWearableDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.AgentCachedTexturePacket.WearableDataBlock.ID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AgentCachedTexturePacket.WearableDataBlock.ID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.AgentCachedTexturePacket.WearableDataBlock.TextureIndex`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.AgentCachedTexturePacket.WearableDataBlock.TextureIndex`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub texture_index: u8,
    }
    impl AgentCachedTexturePacketWearableDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.AgentCachedTexturePacket.WearableDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentCachedTexturePacket.WearableDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentCachedTexturePacket.WearableDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentCachedTexturePacket.WearableDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentCachedTexturePacket.WearableDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentCachedTexturePacket.WearableDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentCachedTexturePacket.WearableDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentCachedTexturePacket.WearableDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentCachedTexturePacket.WearableDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentCachedTexturePacket.WearableDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentCachedTexturePacket.WearableDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AgentCachedTexturePacket.WearableDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AgentCachedTexturePacket.WearableDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AgentCachedTexturePacket.WearableDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AgentCachedTextureResponsePacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AgentCachedTextureResponsePacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AgentCachedTextureResponsePacket {
        /// C# member: `F:LibreMetaverse.Packets.AgentCachedTextureResponsePacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentCachedTextureResponsePacket.AgentDataBlock LibreMetaverse.Packets.AgentCachedTextureResponsePacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::AgentCachedTextureResponsePacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.AgentCachedTextureResponsePacket.WearableData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentCachedTextureResponsePacket.WearableDataBlock[] LibreMetaverse.Packets.AgentCachedTextureResponsePacket.WearableData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub wearable_data:
            Vec<libremetaverse::packets::AgentCachedTextureResponsePacketWearableDataBlock>,
    }
    impl AgentCachedTextureResponsePacket {
        /// C# member: `M:LibreMetaverse.Packets.AgentCachedTextureResponsePacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentCachedTextureResponsePacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentCachedTextureResponsePacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentCachedTextureResponsePacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentCachedTextureResponsePacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentCachedTextureResponsePacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentCachedTextureResponsePacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentCachedTextureResponsePacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentCachedTextureResponsePacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentCachedTextureResponsePacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentCachedTextureResponsePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentCachedTextureResponsePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentCachedTextureResponsePacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AgentCachedTextureResponsePacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentCachedTextureResponsePacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AgentCachedTextureResponsePacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentCachedTextureResponsePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AgentCachedTextureResponsePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentCachedTextureResponsePacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.AgentCachedTextureResponsePacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentCachedTextureResponsePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.AgentCachedTextureResponsePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.AgentCachedTextureResponsePacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AgentCachedTextureResponsePacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AgentCachedTextureResponsePacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.AgentCachedTextureResponsePacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AgentCachedTextureResponsePacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AgentCachedTextureResponsePacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AgentCachedTextureResponsePacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.AgentCachedTextureResponsePacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AgentCachedTextureResponsePacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.AgentCachedTextureResponsePacket.AgentDataBlock.SerialNum`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AgentCachedTextureResponsePacket.AgentDataBlock.SerialNum`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub serial_num: i32,
        /// C# member: `F:LibreMetaverse.Packets.AgentCachedTextureResponsePacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AgentCachedTextureResponsePacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl AgentCachedTextureResponsePacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.AgentCachedTextureResponsePacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentCachedTextureResponsePacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentCachedTextureResponsePacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentCachedTextureResponsePacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentCachedTextureResponsePacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentCachedTextureResponsePacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentCachedTextureResponsePacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentCachedTextureResponsePacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentCachedTextureResponsePacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentCachedTextureResponsePacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentCachedTextureResponsePacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AgentCachedTextureResponsePacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AgentCachedTextureResponsePacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AgentCachedTextureResponsePacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AgentCachedTextureResponsePacket.WearableDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AgentCachedTextureResponsePacket.WearableDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AgentCachedTextureResponsePacketWearableDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.AgentCachedTextureResponsePacket.WearableDataBlock.HostName`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AgentCachedTextureResponsePacket.WearableDataBlock.HostName`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub host_name: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.AgentCachedTextureResponsePacket.WearableDataBlock.TextureID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AgentCachedTextureResponsePacket.WearableDataBlock.TextureID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub texture_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.AgentCachedTextureResponsePacket.WearableDataBlock.TextureIndex`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.AgentCachedTextureResponsePacket.WearableDataBlock.TextureIndex`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub texture_index: u8,
    }
    impl AgentCachedTextureResponsePacketWearableDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.AgentCachedTextureResponsePacket.WearableDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentCachedTextureResponsePacket.WearableDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentCachedTextureResponsePacket.WearableDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentCachedTextureResponsePacket.WearableDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentCachedTextureResponsePacket.WearableDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentCachedTextureResponsePacket.WearableDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentCachedTextureResponsePacket.WearableDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentCachedTextureResponsePacket.WearableDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentCachedTextureResponsePacket.WearableDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentCachedTextureResponsePacket.WearableDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentCachedTextureResponsePacket.WearableDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AgentCachedTextureResponsePacket.WearableDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AgentCachedTextureResponsePacket.WearableDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AgentCachedTextureResponsePacket.WearableDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AgentDataUpdatePacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AgentDataUpdatePacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AgentDataUpdatePacket {
        /// C# member: `F:LibreMetaverse.Packets.AgentDataUpdatePacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentDataUpdatePacket.AgentDataBlock LibreMetaverse.Packets.AgentDataUpdatePacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::AgentDataUpdatePacketAgentDataBlock,
    }
    impl AgentDataUpdatePacket {
        /// C# member: `M:LibreMetaverse.Packets.AgentDataUpdatePacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentDataUpdatePacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentDataUpdatePacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentDataUpdatePacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentDataUpdatePacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentDataUpdatePacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentDataUpdatePacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentDataUpdatePacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentDataUpdatePacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentDataUpdatePacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentDataUpdatePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentDataUpdatePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentDataUpdatePacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AgentDataUpdatePacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentDataUpdatePacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AgentDataUpdatePacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentDataUpdatePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AgentDataUpdatePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentDataUpdatePacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.AgentDataUpdatePacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentDataUpdatePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.AgentDataUpdatePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.AgentDataUpdatePacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AgentDataUpdatePacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AgentDataUpdatePacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.AgentDataUpdatePacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AgentDataUpdatePacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AgentDataUpdatePacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AgentDataUpdatePacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.AgentDataUpdatePacket.AgentDataBlock.ActiveGroupID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AgentDataUpdatePacket.AgentDataBlock.ActiveGroupID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub active_group_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.AgentDataUpdatePacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AgentDataUpdatePacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.AgentDataUpdatePacket.AgentDataBlock.FirstName`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AgentDataUpdatePacket.AgentDataBlock.FirstName`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub first_name: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.AgentDataUpdatePacket.AgentDataBlock.GroupName`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AgentDataUpdatePacket.AgentDataBlock.GroupName`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_name: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.AgentDataUpdatePacket.AgentDataBlock.GroupPowers`.
        ///
        /// C# signature: `System.UInt64 LibreMetaverse.Packets.AgentDataUpdatePacket.AgentDataBlock.GroupPowers`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_powers: u64,
        /// C# member: `F:LibreMetaverse.Packets.AgentDataUpdatePacket.AgentDataBlock.GroupTitle`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AgentDataUpdatePacket.AgentDataBlock.GroupTitle`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_title: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.AgentDataUpdatePacket.AgentDataBlock.LastName`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AgentDataUpdatePacket.AgentDataBlock.LastName`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub last_name: Vec<u8>,
    }
    impl AgentDataUpdatePacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.AgentDataUpdatePacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentDataUpdatePacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentDataUpdatePacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentDataUpdatePacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentDataUpdatePacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentDataUpdatePacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentDataUpdatePacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentDataUpdatePacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentDataUpdatePacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentDataUpdatePacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentDataUpdatePacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AgentDataUpdatePacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AgentDataUpdatePacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AgentDataUpdatePacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AgentDataUpdateRequestPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AgentDataUpdateRequestPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AgentDataUpdateRequestPacket {
        /// C# member: `F:LibreMetaverse.Packets.AgentDataUpdateRequestPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentDataUpdateRequestPacket.AgentDataBlock LibreMetaverse.Packets.AgentDataUpdateRequestPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::AgentDataUpdateRequestPacketAgentDataBlock,
    }
    impl AgentDataUpdateRequestPacket {
        /// C# member: `M:LibreMetaverse.Packets.AgentDataUpdateRequestPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentDataUpdateRequestPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentDataUpdateRequestPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentDataUpdateRequestPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentDataUpdateRequestPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentDataUpdateRequestPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentDataUpdateRequestPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentDataUpdateRequestPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentDataUpdateRequestPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentDataUpdateRequestPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentDataUpdateRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentDataUpdateRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentDataUpdateRequestPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AgentDataUpdateRequestPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentDataUpdateRequestPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AgentDataUpdateRequestPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentDataUpdateRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AgentDataUpdateRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentDataUpdateRequestPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.AgentDataUpdateRequestPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentDataUpdateRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.AgentDataUpdateRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.AgentDataUpdateRequestPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AgentDataUpdateRequestPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AgentDataUpdateRequestPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.AgentDataUpdateRequestPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AgentDataUpdateRequestPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AgentDataUpdateRequestPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AgentDataUpdateRequestPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.AgentDataUpdateRequestPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AgentDataUpdateRequestPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.AgentDataUpdateRequestPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AgentDataUpdateRequestPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl AgentDataUpdateRequestPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.AgentDataUpdateRequestPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentDataUpdateRequestPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentDataUpdateRequestPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentDataUpdateRequestPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentDataUpdateRequestPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentDataUpdateRequestPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentDataUpdateRequestPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentDataUpdateRequestPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentDataUpdateRequestPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentDataUpdateRequestPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentDataUpdateRequestPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AgentDataUpdateRequestPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AgentDataUpdateRequestPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AgentDataUpdateRequestPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AgentDropGroupPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AgentDropGroupPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AgentDropGroupPacket {
        /// C# member: `F:LibreMetaverse.Packets.AgentDropGroupPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentDropGroupPacket.AgentDataBlock LibreMetaverse.Packets.AgentDropGroupPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::AgentDropGroupPacketAgentDataBlock,
    }
    impl AgentDropGroupPacket {
        /// C# member: `M:LibreMetaverse.Packets.AgentDropGroupPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentDropGroupPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentDropGroupPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentDropGroupPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentDropGroupPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentDropGroupPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentDropGroupPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentDropGroupPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentDropGroupPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentDropGroupPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentDropGroupPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentDropGroupPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentDropGroupPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AgentDropGroupPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentDropGroupPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AgentDropGroupPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentDropGroupPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AgentDropGroupPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentDropGroupPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.AgentDropGroupPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentDropGroupPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.AgentDropGroupPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.AgentDropGroupPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AgentDropGroupPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AgentDropGroupPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.AgentDropGroupPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AgentDropGroupPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AgentDropGroupPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AgentDropGroupPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.AgentDropGroupPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AgentDropGroupPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.AgentDropGroupPacket.AgentDataBlock.GroupID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AgentDropGroupPacket.AgentDataBlock.GroupID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_id: libremetaverse_types::UUID,
    }
    impl AgentDropGroupPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.AgentDropGroupPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentDropGroupPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentDropGroupPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentDropGroupPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentDropGroupPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentDropGroupPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentDropGroupPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentDropGroupPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentDropGroupPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentDropGroupPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentDropGroupPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AgentDropGroupPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AgentDropGroupPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AgentDropGroupPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AgentFOVPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AgentFOVPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AgentFOVPacket {
        /// C# member: `F:LibreMetaverse.Packets.AgentFOVPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentFOVPacket.AgentDataBlock LibreMetaverse.Packets.AgentFOVPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::AgentFOVPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.AgentFOVPacket.FOVBlock`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentFOVPacket.FOVBlockBlock LibreMetaverse.Packets.AgentFOVPacket.FOVBlock`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub fov_block: libremetaverse::packets::AgentFOVPacketFOVBlockBlock,
    }
    impl AgentFOVPacket {
        /// C# member: `M:LibreMetaverse.Packets.AgentFOVPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentFOVPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentFOVPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentFOVPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentFOVPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentFOVPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentFOVPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentFOVPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentFOVPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentFOVPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentFOVPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentFOVPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentFOVPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AgentFOVPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentFOVPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AgentFOVPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentFOVPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AgentFOVPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentFOVPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.AgentFOVPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentFOVPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.AgentFOVPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.AgentFOVPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AgentFOVPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AgentFOVPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.AgentFOVPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AgentFOVPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AgentFOVPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AgentFOVPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.AgentFOVPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AgentFOVPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.AgentFOVPacket.AgentDataBlock.CircuitCode`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.AgentFOVPacket.AgentDataBlock.CircuitCode`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub circuit_code: u32,
        /// C# member: `F:LibreMetaverse.Packets.AgentFOVPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AgentFOVPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl AgentFOVPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.AgentFOVPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentFOVPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentFOVPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentFOVPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentFOVPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentFOVPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentFOVPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentFOVPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentFOVPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentFOVPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentFOVPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AgentFOVPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AgentFOVPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AgentFOVPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AgentFOVPacket.FOVBlockBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AgentFOVPacket.FOVBlockBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AgentFOVPacketFOVBlockBlock {
        /// C# member: `F:LibreMetaverse.Packets.AgentFOVPacket.FOVBlockBlock.GenCounter`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.AgentFOVPacket.FOVBlockBlock.GenCounter`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub gen_counter: u32,
        /// C# member: `F:LibreMetaverse.Packets.AgentFOVPacket.FOVBlockBlock.VerticalAngle`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.AgentFOVPacket.FOVBlockBlock.VerticalAngle`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub vertical_angle: f32,
    }
    impl AgentFOVPacketFOVBlockBlock {
        /// C# member: `M:LibreMetaverse.Packets.AgentFOVPacket.FOVBlockBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentFOVPacket.FOVBlockBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentFOVPacket.FOVBlockBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentFOVPacket.FOVBlockBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentFOVPacket.FOVBlockBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentFOVPacket.FOVBlockBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentFOVPacket.FOVBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentFOVPacket.FOVBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentFOVPacket.FOVBlockBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentFOVPacket.FOVBlockBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentFOVPacket.FOVBlockBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AgentFOVPacket.FOVBlockBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AgentFOVPacket.FOVBlockBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AgentFOVPacket.FOVBlockBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AgentGroupDataUpdatePacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AgentGroupDataUpdatePacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AgentGroupDataUpdatePacket {
        /// C# member: `F:LibreMetaverse.Packets.AgentGroupDataUpdatePacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentGroupDataUpdatePacket.AgentDataBlock LibreMetaverse.Packets.AgentGroupDataUpdatePacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::AgentGroupDataUpdatePacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.AgentGroupDataUpdatePacket.GroupData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentGroupDataUpdatePacket.GroupDataBlock[] LibreMetaverse.Packets.AgentGroupDataUpdatePacket.GroupData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_data: Vec<libremetaverse::packets::AgentGroupDataUpdatePacketGroupDataBlock>,
    }
    impl AgentGroupDataUpdatePacket {
        /// C# member: `M:LibreMetaverse.Packets.AgentGroupDataUpdatePacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentGroupDataUpdatePacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentGroupDataUpdatePacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentGroupDataUpdatePacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentGroupDataUpdatePacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentGroupDataUpdatePacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentGroupDataUpdatePacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentGroupDataUpdatePacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentGroupDataUpdatePacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentGroupDataUpdatePacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentGroupDataUpdatePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentGroupDataUpdatePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentGroupDataUpdatePacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AgentGroupDataUpdatePacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentGroupDataUpdatePacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AgentGroupDataUpdatePacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentGroupDataUpdatePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AgentGroupDataUpdatePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentGroupDataUpdatePacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.AgentGroupDataUpdatePacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentGroupDataUpdatePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.AgentGroupDataUpdatePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.AgentGroupDataUpdatePacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AgentGroupDataUpdatePacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AgentGroupDataUpdatePacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.AgentGroupDataUpdatePacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AgentGroupDataUpdatePacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AgentGroupDataUpdatePacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AgentGroupDataUpdatePacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.AgentGroupDataUpdatePacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AgentGroupDataUpdatePacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
    }
    impl AgentGroupDataUpdatePacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.AgentGroupDataUpdatePacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentGroupDataUpdatePacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentGroupDataUpdatePacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentGroupDataUpdatePacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentGroupDataUpdatePacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentGroupDataUpdatePacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentGroupDataUpdatePacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentGroupDataUpdatePacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentGroupDataUpdatePacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentGroupDataUpdatePacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentGroupDataUpdatePacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AgentGroupDataUpdatePacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AgentGroupDataUpdatePacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AgentGroupDataUpdatePacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AgentGroupDataUpdatePacket.GroupDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AgentGroupDataUpdatePacket.GroupDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AgentGroupDataUpdatePacketGroupDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.AgentGroupDataUpdatePacket.GroupDataBlock.AcceptNotices`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.AgentGroupDataUpdatePacket.GroupDataBlock.AcceptNotices`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub accept_notices: bool,
        /// C# member: `F:LibreMetaverse.Packets.AgentGroupDataUpdatePacket.GroupDataBlock.Contribution`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AgentGroupDataUpdatePacket.GroupDataBlock.Contribution`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub contribution: i32,
        /// C# member: `F:LibreMetaverse.Packets.AgentGroupDataUpdatePacket.GroupDataBlock.GroupID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AgentGroupDataUpdatePacket.GroupDataBlock.GroupID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.AgentGroupDataUpdatePacket.GroupDataBlock.GroupInsigniaID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AgentGroupDataUpdatePacket.GroupDataBlock.GroupInsigniaID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_insignia_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.AgentGroupDataUpdatePacket.GroupDataBlock.GroupName`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AgentGroupDataUpdatePacket.GroupDataBlock.GroupName`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_name: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.AgentGroupDataUpdatePacket.GroupDataBlock.GroupPowers`.
        ///
        /// C# signature: `System.UInt64 LibreMetaverse.Packets.AgentGroupDataUpdatePacket.GroupDataBlock.GroupPowers`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_powers: u64,
    }
    impl AgentGroupDataUpdatePacketGroupDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.AgentGroupDataUpdatePacket.GroupDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentGroupDataUpdatePacket.GroupDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentGroupDataUpdatePacket.GroupDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentGroupDataUpdatePacket.GroupDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentGroupDataUpdatePacket.GroupDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentGroupDataUpdatePacket.GroupDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentGroupDataUpdatePacket.GroupDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentGroupDataUpdatePacket.GroupDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentGroupDataUpdatePacket.GroupDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentGroupDataUpdatePacket.GroupDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentGroupDataUpdatePacket.GroupDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AgentGroupDataUpdatePacket.GroupDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AgentGroupDataUpdatePacket.GroupDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AgentGroupDataUpdatePacket.GroupDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AgentHeightWidthPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AgentHeightWidthPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AgentHeightWidthPacket {
        /// C# member: `F:LibreMetaverse.Packets.AgentHeightWidthPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentHeightWidthPacket.AgentDataBlock LibreMetaverse.Packets.AgentHeightWidthPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::AgentHeightWidthPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.AgentHeightWidthPacket.HeightWidthBlock`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentHeightWidthPacket.HeightWidthBlockBlock LibreMetaverse.Packets.AgentHeightWidthPacket.HeightWidthBlock`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub height_width_block:
            libremetaverse::packets::AgentHeightWidthPacketHeightWidthBlockBlock,
    }
    impl AgentHeightWidthPacket {
        /// C# member: `M:LibreMetaverse.Packets.AgentHeightWidthPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentHeightWidthPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentHeightWidthPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentHeightWidthPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentHeightWidthPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentHeightWidthPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentHeightWidthPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentHeightWidthPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentHeightWidthPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentHeightWidthPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentHeightWidthPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentHeightWidthPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentHeightWidthPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AgentHeightWidthPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentHeightWidthPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AgentHeightWidthPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentHeightWidthPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AgentHeightWidthPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentHeightWidthPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.AgentHeightWidthPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentHeightWidthPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.AgentHeightWidthPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.AgentHeightWidthPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AgentHeightWidthPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AgentHeightWidthPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.AgentHeightWidthPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AgentHeightWidthPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AgentHeightWidthPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AgentHeightWidthPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.AgentHeightWidthPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AgentHeightWidthPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.AgentHeightWidthPacket.AgentDataBlock.CircuitCode`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.AgentHeightWidthPacket.AgentDataBlock.CircuitCode`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub circuit_code: u32,
        /// C# member: `F:LibreMetaverse.Packets.AgentHeightWidthPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AgentHeightWidthPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl AgentHeightWidthPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.AgentHeightWidthPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentHeightWidthPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentHeightWidthPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentHeightWidthPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentHeightWidthPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentHeightWidthPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentHeightWidthPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentHeightWidthPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentHeightWidthPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentHeightWidthPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentHeightWidthPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AgentHeightWidthPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AgentHeightWidthPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AgentHeightWidthPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AgentHeightWidthPacket.HeightWidthBlockBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AgentHeightWidthPacket.HeightWidthBlockBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AgentHeightWidthPacketHeightWidthBlockBlock {
        /// C# member: `F:LibreMetaverse.Packets.AgentHeightWidthPacket.HeightWidthBlockBlock.GenCounter`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.AgentHeightWidthPacket.HeightWidthBlockBlock.GenCounter`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub gen_counter: u32,
        /// C# member: `F:LibreMetaverse.Packets.AgentHeightWidthPacket.HeightWidthBlockBlock.Height`.
        ///
        /// C# signature: `System.UInt16 LibreMetaverse.Packets.AgentHeightWidthPacket.HeightWidthBlockBlock.Height`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub height: u16,
        /// C# member: `F:LibreMetaverse.Packets.AgentHeightWidthPacket.HeightWidthBlockBlock.Width`.
        ///
        /// C# signature: `System.UInt16 LibreMetaverse.Packets.AgentHeightWidthPacket.HeightWidthBlockBlock.Width`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub width: u16,
    }
    impl AgentHeightWidthPacketHeightWidthBlockBlock {
        /// C# member: `M:LibreMetaverse.Packets.AgentHeightWidthPacket.HeightWidthBlockBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentHeightWidthPacket.HeightWidthBlockBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentHeightWidthPacket.HeightWidthBlockBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentHeightWidthPacket.HeightWidthBlockBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentHeightWidthPacket.HeightWidthBlockBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentHeightWidthPacket.HeightWidthBlockBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentHeightWidthPacket.HeightWidthBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentHeightWidthPacket.HeightWidthBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentHeightWidthPacket.HeightWidthBlockBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentHeightWidthPacket.HeightWidthBlockBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentHeightWidthPacket.HeightWidthBlockBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AgentHeightWidthPacket.HeightWidthBlockBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AgentHeightWidthPacket.HeightWidthBlockBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AgentHeightWidthPacket.HeightWidthBlockBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AgentIsNowWearingPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AgentIsNowWearingPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AgentIsNowWearingPacket {
        /// C# member: `F:LibreMetaverse.Packets.AgentIsNowWearingPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentIsNowWearingPacket.AgentDataBlock LibreMetaverse.Packets.AgentIsNowWearingPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::AgentIsNowWearingPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.AgentIsNowWearingPacket.WearableData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentIsNowWearingPacket.WearableDataBlock[] LibreMetaverse.Packets.AgentIsNowWearingPacket.WearableData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub wearable_data: Vec<libremetaverse::packets::AgentIsNowWearingPacketWearableDataBlock>,
    }
    impl AgentIsNowWearingPacket {
        /// C# member: `M:LibreMetaverse.Packets.AgentIsNowWearingPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentIsNowWearingPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentIsNowWearingPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentIsNowWearingPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentIsNowWearingPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentIsNowWearingPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentIsNowWearingPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentIsNowWearingPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentIsNowWearingPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentIsNowWearingPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentIsNowWearingPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentIsNowWearingPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentIsNowWearingPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AgentIsNowWearingPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentIsNowWearingPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AgentIsNowWearingPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentIsNowWearingPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AgentIsNowWearingPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentIsNowWearingPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.AgentIsNowWearingPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentIsNowWearingPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.AgentIsNowWearingPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.AgentIsNowWearingPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AgentIsNowWearingPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AgentIsNowWearingPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.AgentIsNowWearingPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AgentIsNowWearingPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AgentIsNowWearingPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AgentIsNowWearingPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.AgentIsNowWearingPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AgentIsNowWearingPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.AgentIsNowWearingPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AgentIsNowWearingPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl AgentIsNowWearingPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.AgentIsNowWearingPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentIsNowWearingPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentIsNowWearingPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentIsNowWearingPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentIsNowWearingPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentIsNowWearingPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentIsNowWearingPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentIsNowWearingPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentIsNowWearingPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentIsNowWearingPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentIsNowWearingPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AgentIsNowWearingPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AgentIsNowWearingPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AgentIsNowWearingPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AgentIsNowWearingPacket.WearableDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AgentIsNowWearingPacket.WearableDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AgentIsNowWearingPacketWearableDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.AgentIsNowWearingPacket.WearableDataBlock.ItemID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AgentIsNowWearingPacket.WearableDataBlock.ItemID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub item_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.AgentIsNowWearingPacket.WearableDataBlock.WearableType`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.AgentIsNowWearingPacket.WearableDataBlock.WearableType`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub wearable_type: u8,
    }
    impl AgentIsNowWearingPacketWearableDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.AgentIsNowWearingPacket.WearableDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentIsNowWearingPacket.WearableDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentIsNowWearingPacket.WearableDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentIsNowWearingPacket.WearableDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentIsNowWearingPacket.WearableDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentIsNowWearingPacket.WearableDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentIsNowWearingPacket.WearableDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentIsNowWearingPacket.WearableDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentIsNowWearingPacket.WearableDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentIsNowWearingPacket.WearableDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentIsNowWearingPacket.WearableDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AgentIsNowWearingPacket.WearableDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AgentIsNowWearingPacket.WearableDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AgentIsNowWearingPacket.WearableDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AgentMovementCompletePacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AgentMovementCompletePacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AgentMovementCompletePacket {
        /// C# member: `F:LibreMetaverse.Packets.AgentMovementCompletePacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentMovementCompletePacket.AgentDataBlock LibreMetaverse.Packets.AgentMovementCompletePacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::AgentMovementCompletePacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.AgentMovementCompletePacket.Data`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentMovementCompletePacket.DataBlock LibreMetaverse.Packets.AgentMovementCompletePacket.Data`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub data: libremetaverse::packets::AgentMovementCompletePacketDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.AgentMovementCompletePacket.SimData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentMovementCompletePacket.SimDataBlock LibreMetaverse.Packets.AgentMovementCompletePacket.SimData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub sim_data: libremetaverse::packets::AgentMovementCompletePacketSimDataBlock,
    }
    impl AgentMovementCompletePacket {
        /// C# member: `M:LibreMetaverse.Packets.AgentMovementCompletePacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentMovementCompletePacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentMovementCompletePacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentMovementCompletePacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentMovementCompletePacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentMovementCompletePacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentMovementCompletePacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentMovementCompletePacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentMovementCompletePacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentMovementCompletePacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentMovementCompletePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentMovementCompletePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentMovementCompletePacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AgentMovementCompletePacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentMovementCompletePacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AgentMovementCompletePacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentMovementCompletePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AgentMovementCompletePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentMovementCompletePacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.AgentMovementCompletePacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentMovementCompletePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.AgentMovementCompletePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.AgentMovementCompletePacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AgentMovementCompletePacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AgentMovementCompletePacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.AgentMovementCompletePacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AgentMovementCompletePacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AgentMovementCompletePacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AgentMovementCompletePacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.AgentMovementCompletePacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AgentMovementCompletePacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.AgentMovementCompletePacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AgentMovementCompletePacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl AgentMovementCompletePacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.AgentMovementCompletePacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentMovementCompletePacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentMovementCompletePacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentMovementCompletePacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentMovementCompletePacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentMovementCompletePacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentMovementCompletePacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentMovementCompletePacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentMovementCompletePacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentMovementCompletePacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentMovementCompletePacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AgentMovementCompletePacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AgentMovementCompletePacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AgentMovementCompletePacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AgentMovementCompletePacket.DataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AgentMovementCompletePacket.DataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AgentMovementCompletePacketDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.AgentMovementCompletePacket.DataBlock.LookAt`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Packets.AgentMovementCompletePacket.DataBlock.LookAt`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub look_at: libremetaverse_types::Vector3,
        /// C# member: `F:LibreMetaverse.Packets.AgentMovementCompletePacket.DataBlock.Position`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Packets.AgentMovementCompletePacket.DataBlock.Position`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub position: libremetaverse_types::Vector3,
        /// C# member: `F:LibreMetaverse.Packets.AgentMovementCompletePacket.DataBlock.RegionHandle`.
        ///
        /// C# signature: `System.UInt64 LibreMetaverse.Packets.AgentMovementCompletePacket.DataBlock.RegionHandle`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub region_handle: u64,
        /// C# member: `F:LibreMetaverse.Packets.AgentMovementCompletePacket.DataBlock.Timestamp`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.AgentMovementCompletePacket.DataBlock.Timestamp`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub timestamp: u32,
    }
    impl AgentMovementCompletePacketDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.AgentMovementCompletePacket.DataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentMovementCompletePacket.DataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentMovementCompletePacket.DataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentMovementCompletePacket.DataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentMovementCompletePacket.DataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentMovementCompletePacket.DataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentMovementCompletePacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentMovementCompletePacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentMovementCompletePacket.DataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentMovementCompletePacket.DataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentMovementCompletePacket.DataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AgentMovementCompletePacket.DataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AgentMovementCompletePacket.DataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AgentMovementCompletePacket.DataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AgentMovementCompletePacket.SimDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AgentMovementCompletePacket.SimDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AgentMovementCompletePacketSimDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.AgentMovementCompletePacket.SimDataBlock.ChannelVersion`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AgentMovementCompletePacket.SimDataBlock.ChannelVersion`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub channel_version: Vec<u8>,
    }
    impl AgentMovementCompletePacketSimDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.AgentMovementCompletePacket.SimDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentMovementCompletePacket.SimDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentMovementCompletePacket.SimDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentMovementCompletePacket.SimDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentMovementCompletePacket.SimDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentMovementCompletePacket.SimDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentMovementCompletePacket.SimDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentMovementCompletePacket.SimDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentMovementCompletePacket.SimDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentMovementCompletePacket.SimDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentMovementCompletePacket.SimDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AgentMovementCompletePacket.SimDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AgentMovementCompletePacket.SimDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AgentMovementCompletePacket.SimDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AgentPausePacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AgentPausePacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AgentPausePacket {
        /// C# member: `F:LibreMetaverse.Packets.AgentPausePacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentPausePacket.AgentDataBlock LibreMetaverse.Packets.AgentPausePacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::AgentPausePacketAgentDataBlock,
    }
    impl AgentPausePacket {
        /// C# member: `M:LibreMetaverse.Packets.AgentPausePacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentPausePacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentPausePacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentPausePacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentPausePacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentPausePacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentPausePacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentPausePacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentPausePacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentPausePacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentPausePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentPausePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentPausePacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AgentPausePacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentPausePacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AgentPausePacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentPausePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AgentPausePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentPausePacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.AgentPausePacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentPausePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.AgentPausePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.AgentPausePacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AgentPausePacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AgentPausePacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.AgentPausePacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AgentPausePacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AgentPausePacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AgentPausePacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.AgentPausePacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AgentPausePacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.AgentPausePacket.AgentDataBlock.SerialNum`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.AgentPausePacket.AgentDataBlock.SerialNum`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub serial_num: u32,
        /// C# member: `F:LibreMetaverse.Packets.AgentPausePacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AgentPausePacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl AgentPausePacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.AgentPausePacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentPausePacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentPausePacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentPausePacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentPausePacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentPausePacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentPausePacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentPausePacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentPausePacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentPausePacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentPausePacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AgentPausePacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AgentPausePacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AgentPausePacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AgentQuitCopyPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AgentQuitCopyPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AgentQuitCopyPacket {
        /// C# member: `F:LibreMetaverse.Packets.AgentQuitCopyPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentQuitCopyPacket.AgentDataBlock LibreMetaverse.Packets.AgentQuitCopyPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::AgentQuitCopyPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.AgentQuitCopyPacket.FuseBlock`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentQuitCopyPacket.FuseBlockBlock LibreMetaverse.Packets.AgentQuitCopyPacket.FuseBlock`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub fuse_block: libremetaverse::packets::AgentQuitCopyPacketFuseBlockBlock,
    }
    impl AgentQuitCopyPacket {
        /// C# member: `M:LibreMetaverse.Packets.AgentQuitCopyPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentQuitCopyPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentQuitCopyPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentQuitCopyPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentQuitCopyPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentQuitCopyPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentQuitCopyPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentQuitCopyPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentQuitCopyPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentQuitCopyPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentQuitCopyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentQuitCopyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentQuitCopyPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AgentQuitCopyPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentQuitCopyPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AgentQuitCopyPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentQuitCopyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AgentQuitCopyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentQuitCopyPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.AgentQuitCopyPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentQuitCopyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.AgentQuitCopyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.AgentQuitCopyPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AgentQuitCopyPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AgentQuitCopyPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.AgentQuitCopyPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AgentQuitCopyPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AgentQuitCopyPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AgentQuitCopyPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.AgentQuitCopyPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AgentQuitCopyPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.AgentQuitCopyPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AgentQuitCopyPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl AgentQuitCopyPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.AgentQuitCopyPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentQuitCopyPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentQuitCopyPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentQuitCopyPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentQuitCopyPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentQuitCopyPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentQuitCopyPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentQuitCopyPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentQuitCopyPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentQuitCopyPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentQuitCopyPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AgentQuitCopyPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AgentQuitCopyPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AgentQuitCopyPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AgentQuitCopyPacket.FuseBlockBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AgentQuitCopyPacket.FuseBlockBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AgentQuitCopyPacketFuseBlockBlock {
        /// C# member: `F:LibreMetaverse.Packets.AgentQuitCopyPacket.FuseBlockBlock.ViewerCircuitCode`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.AgentQuitCopyPacket.FuseBlockBlock.ViewerCircuitCode`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub viewer_circuit_code: u32,
    }
    impl AgentQuitCopyPacketFuseBlockBlock {
        /// C# member: `M:LibreMetaverse.Packets.AgentQuitCopyPacket.FuseBlockBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentQuitCopyPacket.FuseBlockBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentQuitCopyPacket.FuseBlockBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentQuitCopyPacket.FuseBlockBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentQuitCopyPacket.FuseBlockBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentQuitCopyPacket.FuseBlockBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentQuitCopyPacket.FuseBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentQuitCopyPacket.FuseBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentQuitCopyPacket.FuseBlockBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentQuitCopyPacket.FuseBlockBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentQuitCopyPacket.FuseBlockBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AgentQuitCopyPacket.FuseBlockBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AgentQuitCopyPacket.FuseBlockBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AgentQuitCopyPacket.FuseBlockBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AgentRequestSitPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AgentRequestSitPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AgentRequestSitPacket {
        /// C# member: `F:LibreMetaverse.Packets.AgentRequestSitPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentRequestSitPacket.AgentDataBlock LibreMetaverse.Packets.AgentRequestSitPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::AgentRequestSitPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.AgentRequestSitPacket.TargetObject`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentRequestSitPacket.TargetObjectBlock LibreMetaverse.Packets.AgentRequestSitPacket.TargetObject`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub target_object: libremetaverse::packets::AgentRequestSitPacketTargetObjectBlock,
    }
    impl AgentRequestSitPacket {
        /// C# member: `M:LibreMetaverse.Packets.AgentRequestSitPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentRequestSitPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentRequestSitPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentRequestSitPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentRequestSitPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentRequestSitPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentRequestSitPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentRequestSitPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentRequestSitPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentRequestSitPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentRequestSitPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentRequestSitPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentRequestSitPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AgentRequestSitPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentRequestSitPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AgentRequestSitPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentRequestSitPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AgentRequestSitPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentRequestSitPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.AgentRequestSitPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentRequestSitPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.AgentRequestSitPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.AgentRequestSitPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AgentRequestSitPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AgentRequestSitPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.AgentRequestSitPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AgentRequestSitPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AgentRequestSitPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AgentRequestSitPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.AgentRequestSitPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AgentRequestSitPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.AgentRequestSitPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AgentRequestSitPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl AgentRequestSitPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.AgentRequestSitPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentRequestSitPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentRequestSitPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentRequestSitPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentRequestSitPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentRequestSitPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentRequestSitPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentRequestSitPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentRequestSitPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentRequestSitPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentRequestSitPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AgentRequestSitPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AgentRequestSitPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AgentRequestSitPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AgentRequestSitPacket.TargetObjectBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AgentRequestSitPacket.TargetObjectBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AgentRequestSitPacketTargetObjectBlock {
        /// C# member: `F:LibreMetaverse.Packets.AgentRequestSitPacket.TargetObjectBlock.Offset`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Packets.AgentRequestSitPacket.TargetObjectBlock.Offset`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub offset: libremetaverse_types::Vector3,
        /// C# member: `F:LibreMetaverse.Packets.AgentRequestSitPacket.TargetObjectBlock.TargetID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AgentRequestSitPacket.TargetObjectBlock.TargetID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub target_id: libremetaverse_types::UUID,
    }
    impl AgentRequestSitPacketTargetObjectBlock {
        /// C# member: `M:LibreMetaverse.Packets.AgentRequestSitPacket.TargetObjectBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentRequestSitPacket.TargetObjectBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentRequestSitPacket.TargetObjectBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentRequestSitPacket.TargetObjectBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentRequestSitPacket.TargetObjectBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentRequestSitPacket.TargetObjectBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentRequestSitPacket.TargetObjectBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentRequestSitPacket.TargetObjectBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentRequestSitPacket.TargetObjectBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentRequestSitPacket.TargetObjectBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentRequestSitPacket.TargetObjectBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AgentRequestSitPacket.TargetObjectBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AgentRequestSitPacket.TargetObjectBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AgentRequestSitPacket.TargetObjectBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AgentResumePacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AgentResumePacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AgentResumePacket {
        /// C# member: `F:LibreMetaverse.Packets.AgentResumePacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentResumePacket.AgentDataBlock LibreMetaverse.Packets.AgentResumePacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::AgentResumePacketAgentDataBlock,
    }
    impl AgentResumePacket {
        /// C# member: `M:LibreMetaverse.Packets.AgentResumePacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentResumePacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentResumePacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentResumePacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentResumePacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentResumePacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentResumePacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentResumePacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentResumePacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentResumePacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentResumePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentResumePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentResumePacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AgentResumePacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentResumePacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AgentResumePacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentResumePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AgentResumePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentResumePacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.AgentResumePacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentResumePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.AgentResumePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.AgentResumePacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AgentResumePacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AgentResumePacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.AgentResumePacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AgentResumePacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AgentResumePacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AgentResumePacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.AgentResumePacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AgentResumePacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.AgentResumePacket.AgentDataBlock.SerialNum`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.AgentResumePacket.AgentDataBlock.SerialNum`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub serial_num: u32,
        /// C# member: `F:LibreMetaverse.Packets.AgentResumePacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AgentResumePacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl AgentResumePacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.AgentResumePacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentResumePacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentResumePacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentResumePacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentResumePacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentResumePacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentResumePacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentResumePacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentResumePacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentResumePacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentResumePacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AgentResumePacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AgentResumePacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AgentResumePacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AgentSetAppearancePacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AgentSetAppearancePacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AgentSetAppearancePacket {
        /// C# member: `F:LibreMetaverse.Packets.AgentSetAppearancePacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentSetAppearancePacket.AgentDataBlock LibreMetaverse.Packets.AgentSetAppearancePacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::AgentSetAppearancePacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.AgentSetAppearancePacket.ObjectData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentSetAppearancePacket.ObjectDataBlock LibreMetaverse.Packets.AgentSetAppearancePacket.ObjectData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_data: libremetaverse::packets::AgentSetAppearancePacketObjectDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.AgentSetAppearancePacket.VisualParam`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentSetAppearancePacket.VisualParamBlock[] LibreMetaverse.Packets.AgentSetAppearancePacket.VisualParam`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub visual_param: Vec<libremetaverse::packets::AgentSetAppearancePacketVisualParamBlock>,
        /// C# member: `F:LibreMetaverse.Packets.AgentSetAppearancePacket.WearableData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentSetAppearancePacket.WearableDataBlock[] LibreMetaverse.Packets.AgentSetAppearancePacket.WearableData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub wearable_data: Vec<libremetaverse::packets::AgentSetAppearancePacketWearableDataBlock>,
    }
    impl AgentSetAppearancePacket {
        /// C# member: `M:LibreMetaverse.Packets.AgentSetAppearancePacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentSetAppearancePacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentSetAppearancePacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentSetAppearancePacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentSetAppearancePacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentSetAppearancePacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentSetAppearancePacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentSetAppearancePacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentSetAppearancePacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentSetAppearancePacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentSetAppearancePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentSetAppearancePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentSetAppearancePacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AgentSetAppearancePacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentSetAppearancePacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AgentSetAppearancePacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentSetAppearancePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AgentSetAppearancePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentSetAppearancePacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.AgentSetAppearancePacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentSetAppearancePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.AgentSetAppearancePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.AgentSetAppearancePacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AgentSetAppearancePacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AgentSetAppearancePacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.AgentSetAppearancePacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AgentSetAppearancePacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AgentSetAppearancePacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AgentSetAppearancePacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.AgentSetAppearancePacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AgentSetAppearancePacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.AgentSetAppearancePacket.AgentDataBlock.SerialNum`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.AgentSetAppearancePacket.AgentDataBlock.SerialNum`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub serial_num: u32,
        /// C# member: `F:LibreMetaverse.Packets.AgentSetAppearancePacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AgentSetAppearancePacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.AgentSetAppearancePacket.AgentDataBlock.Size`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Packets.AgentSetAppearancePacket.AgentDataBlock.Size`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub size: libremetaverse_types::Vector3,
    }
    impl AgentSetAppearancePacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.AgentSetAppearancePacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentSetAppearancePacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentSetAppearancePacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentSetAppearancePacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentSetAppearancePacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentSetAppearancePacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentSetAppearancePacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentSetAppearancePacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentSetAppearancePacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentSetAppearancePacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentSetAppearancePacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AgentSetAppearancePacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AgentSetAppearancePacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AgentSetAppearancePacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AgentSetAppearancePacket.ObjectDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AgentSetAppearancePacket.ObjectDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AgentSetAppearancePacketObjectDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.AgentSetAppearancePacket.ObjectDataBlock.TextureEntry`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AgentSetAppearancePacket.ObjectDataBlock.TextureEntry`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub texture_entry: Vec<u8>,
    }
    impl AgentSetAppearancePacketObjectDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.AgentSetAppearancePacket.ObjectDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentSetAppearancePacket.ObjectDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentSetAppearancePacket.ObjectDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentSetAppearancePacket.ObjectDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentSetAppearancePacket.ObjectDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentSetAppearancePacket.ObjectDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentSetAppearancePacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentSetAppearancePacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentSetAppearancePacket.ObjectDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentSetAppearancePacket.ObjectDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentSetAppearancePacket.ObjectDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AgentSetAppearancePacket.ObjectDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AgentSetAppearancePacket.ObjectDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AgentSetAppearancePacket.ObjectDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AgentSetAppearancePacket.VisualParamBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AgentSetAppearancePacket.VisualParamBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AgentSetAppearancePacketVisualParamBlock {
        /// C# member: `F:LibreMetaverse.Packets.AgentSetAppearancePacket.VisualParamBlock.ParamValue`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.AgentSetAppearancePacket.VisualParamBlock.ParamValue`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub param_value: u8,
    }
    impl AgentSetAppearancePacketVisualParamBlock {
        /// C# member: `M:LibreMetaverse.Packets.AgentSetAppearancePacket.VisualParamBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentSetAppearancePacket.VisualParamBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentSetAppearancePacket.VisualParamBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentSetAppearancePacket.VisualParamBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentSetAppearancePacket.VisualParamBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentSetAppearancePacket.VisualParamBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentSetAppearancePacket.VisualParamBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentSetAppearancePacket.VisualParamBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentSetAppearancePacket.VisualParamBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentSetAppearancePacket.VisualParamBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentSetAppearancePacket.VisualParamBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AgentSetAppearancePacket.VisualParamBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AgentSetAppearancePacket.VisualParamBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AgentSetAppearancePacket.VisualParamBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AgentSetAppearancePacket.WearableDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AgentSetAppearancePacket.WearableDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AgentSetAppearancePacketWearableDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.AgentSetAppearancePacket.WearableDataBlock.CacheID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AgentSetAppearancePacket.WearableDataBlock.CacheID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub cache_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.AgentSetAppearancePacket.WearableDataBlock.TextureIndex`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.AgentSetAppearancePacket.WearableDataBlock.TextureIndex`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub texture_index: u8,
    }
    impl AgentSetAppearancePacketWearableDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.AgentSetAppearancePacket.WearableDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentSetAppearancePacket.WearableDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentSetAppearancePacket.WearableDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentSetAppearancePacket.WearableDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentSetAppearancePacket.WearableDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentSetAppearancePacket.WearableDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentSetAppearancePacket.WearableDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentSetAppearancePacket.WearableDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentSetAppearancePacket.WearableDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentSetAppearancePacket.WearableDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentSetAppearancePacket.WearableDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AgentSetAppearancePacket.WearableDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AgentSetAppearancePacket.WearableDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AgentSetAppearancePacket.WearableDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AgentSitPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AgentSitPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AgentSitPacket {
        /// C# member: `F:LibreMetaverse.Packets.AgentSitPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentSitPacket.AgentDataBlock LibreMetaverse.Packets.AgentSitPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::AgentSitPacketAgentDataBlock,
    }
    impl AgentSitPacket {
        /// C# member: `M:LibreMetaverse.Packets.AgentSitPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentSitPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentSitPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentSitPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentSitPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentSitPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentSitPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentSitPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentSitPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentSitPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentSitPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentSitPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentSitPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AgentSitPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentSitPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AgentSitPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentSitPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AgentSitPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentSitPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.AgentSitPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentSitPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.AgentSitPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.AgentSitPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AgentSitPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AgentSitPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.AgentSitPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AgentSitPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AgentSitPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AgentSitPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.AgentSitPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AgentSitPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.AgentSitPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AgentSitPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl AgentSitPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.AgentSitPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentSitPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentSitPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentSitPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentSitPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentSitPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentSitPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentSitPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentSitPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentSitPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentSitPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AgentSitPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AgentSitPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AgentSitPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AgentThrottlePacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AgentThrottlePacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AgentThrottlePacket {
        /// C# member: `F:LibreMetaverse.Packets.AgentThrottlePacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentThrottlePacket.AgentDataBlock LibreMetaverse.Packets.AgentThrottlePacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::AgentThrottlePacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.AgentThrottlePacket.Throttle`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentThrottlePacket.ThrottleBlock LibreMetaverse.Packets.AgentThrottlePacket.Throttle`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub throttle: libremetaverse::packets::AgentThrottlePacketThrottleBlock,
    }
    impl AgentThrottlePacket {
        /// C# member: `M:LibreMetaverse.Packets.AgentThrottlePacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentThrottlePacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentThrottlePacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentThrottlePacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentThrottlePacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentThrottlePacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentThrottlePacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentThrottlePacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentThrottlePacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentThrottlePacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentThrottlePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentThrottlePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentThrottlePacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AgentThrottlePacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentThrottlePacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AgentThrottlePacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentThrottlePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AgentThrottlePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentThrottlePacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.AgentThrottlePacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentThrottlePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.AgentThrottlePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.AgentThrottlePacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AgentThrottlePacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AgentThrottlePacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.AgentThrottlePacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AgentThrottlePacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AgentThrottlePacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AgentThrottlePacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.AgentThrottlePacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AgentThrottlePacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.AgentThrottlePacket.AgentDataBlock.CircuitCode`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.AgentThrottlePacket.AgentDataBlock.CircuitCode`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub circuit_code: u32,
        /// C# member: `F:LibreMetaverse.Packets.AgentThrottlePacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AgentThrottlePacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl AgentThrottlePacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.AgentThrottlePacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentThrottlePacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentThrottlePacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentThrottlePacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentThrottlePacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentThrottlePacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentThrottlePacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentThrottlePacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentThrottlePacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentThrottlePacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentThrottlePacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AgentThrottlePacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AgentThrottlePacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AgentThrottlePacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AgentThrottlePacket.ThrottleBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AgentThrottlePacket.ThrottleBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AgentThrottlePacketThrottleBlock {
        /// C# member: `F:LibreMetaverse.Packets.AgentThrottlePacket.ThrottleBlock.GenCounter`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.AgentThrottlePacket.ThrottleBlock.GenCounter`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub gen_counter: u32,
        /// C# member: `F:LibreMetaverse.Packets.AgentThrottlePacket.ThrottleBlock.Throttles`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AgentThrottlePacket.ThrottleBlock.Throttles`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub throttles: Vec<u8>,
    }
    impl AgentThrottlePacketThrottleBlock {
        /// C# member: `M:LibreMetaverse.Packets.AgentThrottlePacket.ThrottleBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentThrottlePacket.ThrottleBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentThrottlePacket.ThrottleBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentThrottlePacket.ThrottleBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentThrottlePacket.ThrottleBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentThrottlePacket.ThrottleBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentThrottlePacket.ThrottleBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentThrottlePacket.ThrottleBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentThrottlePacket.ThrottleBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentThrottlePacket.ThrottleBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentThrottlePacket.ThrottleBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AgentThrottlePacket.ThrottleBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AgentThrottlePacket.ThrottleBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AgentThrottlePacket.ThrottleBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AgentUpdatePacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AgentUpdatePacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AgentUpdatePacket {
        /// C# member: `F:LibreMetaverse.Packets.AgentUpdatePacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentUpdatePacket.AgentDataBlock LibreMetaverse.Packets.AgentUpdatePacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::AgentUpdatePacketAgentDataBlock,
    }
    impl AgentUpdatePacket {
        /// C# member: `M:LibreMetaverse.Packets.AgentUpdatePacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentUpdatePacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentUpdatePacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentUpdatePacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentUpdatePacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentUpdatePacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentUpdatePacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentUpdatePacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentUpdatePacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentUpdatePacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentUpdatePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentUpdatePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentUpdatePacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AgentUpdatePacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentUpdatePacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AgentUpdatePacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentUpdatePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AgentUpdatePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentUpdatePacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.AgentUpdatePacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentUpdatePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.AgentUpdatePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.AgentUpdatePacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AgentUpdatePacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AgentUpdatePacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.AgentUpdatePacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AgentUpdatePacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AgentUpdatePacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AgentUpdatePacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.AgentUpdatePacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AgentUpdatePacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.AgentUpdatePacket.AgentDataBlock.BodyRotation`.
        ///
        /// C# signature: `LibreMetaverse.Quaternion LibreMetaverse.Packets.AgentUpdatePacket.AgentDataBlock.BodyRotation`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub body_rotation: libremetaverse_types::Quaternion,
        /// C# member: `F:LibreMetaverse.Packets.AgentUpdatePacket.AgentDataBlock.CameraAtAxis`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Packets.AgentUpdatePacket.AgentDataBlock.CameraAtAxis`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub camera_at_axis: libremetaverse_types::Vector3,
        /// C# member: `F:LibreMetaverse.Packets.AgentUpdatePacket.AgentDataBlock.CameraCenter`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Packets.AgentUpdatePacket.AgentDataBlock.CameraCenter`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub camera_center: libremetaverse_types::Vector3,
        /// C# member: `F:LibreMetaverse.Packets.AgentUpdatePacket.AgentDataBlock.CameraLeftAxis`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Packets.AgentUpdatePacket.AgentDataBlock.CameraLeftAxis`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub camera_left_axis: libremetaverse_types::Vector3,
        /// C# member: `F:LibreMetaverse.Packets.AgentUpdatePacket.AgentDataBlock.CameraUpAxis`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Packets.AgentUpdatePacket.AgentDataBlock.CameraUpAxis`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub camera_up_axis: libremetaverse_types::Vector3,
        /// C# member: `F:LibreMetaverse.Packets.AgentUpdatePacket.AgentDataBlock.ControlFlags`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.AgentUpdatePacket.AgentDataBlock.ControlFlags`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub control_flags: u32,
        /// C# member: `F:LibreMetaverse.Packets.AgentUpdatePacket.AgentDataBlock.Far`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.AgentUpdatePacket.AgentDataBlock.Far`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub far: f32,
        /// C# member: `F:LibreMetaverse.Packets.AgentUpdatePacket.AgentDataBlock.Flags`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.AgentUpdatePacket.AgentDataBlock.Flags`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub flags: u8,
        /// C# member: `F:LibreMetaverse.Packets.AgentUpdatePacket.AgentDataBlock.HeadRotation`.
        ///
        /// C# signature: `LibreMetaverse.Quaternion LibreMetaverse.Packets.AgentUpdatePacket.AgentDataBlock.HeadRotation`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub head_rotation: libremetaverse_types::Quaternion,
        /// C# member: `F:LibreMetaverse.Packets.AgentUpdatePacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AgentUpdatePacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.AgentUpdatePacket.AgentDataBlock.State`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.AgentUpdatePacket.AgentDataBlock.State`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub state: u8,
    }
    impl AgentUpdatePacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.AgentUpdatePacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentUpdatePacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentUpdatePacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentUpdatePacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentUpdatePacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentUpdatePacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentUpdatePacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentUpdatePacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentUpdatePacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentUpdatePacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentUpdatePacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AgentUpdatePacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AgentUpdatePacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AgentUpdatePacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AgentWearablesRequestPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AgentWearablesRequestPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AgentWearablesRequestPacket {
        /// C# member: `F:LibreMetaverse.Packets.AgentWearablesRequestPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentWearablesRequestPacket.AgentDataBlock LibreMetaverse.Packets.AgentWearablesRequestPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::AgentWearablesRequestPacketAgentDataBlock,
    }
    impl AgentWearablesRequestPacket {
        /// C# member: `M:LibreMetaverse.Packets.AgentWearablesRequestPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentWearablesRequestPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentWearablesRequestPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentWearablesRequestPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentWearablesRequestPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentWearablesRequestPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentWearablesRequestPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentWearablesRequestPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentWearablesRequestPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentWearablesRequestPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentWearablesRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentWearablesRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentWearablesRequestPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AgentWearablesRequestPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentWearablesRequestPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AgentWearablesRequestPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentWearablesRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AgentWearablesRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentWearablesRequestPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.AgentWearablesRequestPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentWearablesRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.AgentWearablesRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.AgentWearablesRequestPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AgentWearablesRequestPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AgentWearablesRequestPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.AgentWearablesRequestPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AgentWearablesRequestPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AgentWearablesRequestPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AgentWearablesRequestPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.AgentWearablesRequestPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AgentWearablesRequestPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.AgentWearablesRequestPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AgentWearablesRequestPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl AgentWearablesRequestPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.AgentWearablesRequestPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentWearablesRequestPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentWearablesRequestPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentWearablesRequestPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentWearablesRequestPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentWearablesRequestPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentWearablesRequestPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentWearablesRequestPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentWearablesRequestPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentWearablesRequestPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentWearablesRequestPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AgentWearablesRequestPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AgentWearablesRequestPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AgentWearablesRequestPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AgentWearablesUpdatePacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AgentWearablesUpdatePacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AgentWearablesUpdatePacket {
        /// C# member: `F:LibreMetaverse.Packets.AgentWearablesUpdatePacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentWearablesUpdatePacket.AgentDataBlock LibreMetaverse.Packets.AgentWearablesUpdatePacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::AgentWearablesUpdatePacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.AgentWearablesUpdatePacket.WearableData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentWearablesUpdatePacket.WearableDataBlock[] LibreMetaverse.Packets.AgentWearablesUpdatePacket.WearableData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub wearable_data:
            Vec<libremetaverse::packets::AgentWearablesUpdatePacketWearableDataBlock>,
    }
    impl AgentWearablesUpdatePacket {
        /// C# member: `M:LibreMetaverse.Packets.AgentWearablesUpdatePacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentWearablesUpdatePacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentWearablesUpdatePacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentWearablesUpdatePacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentWearablesUpdatePacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentWearablesUpdatePacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentWearablesUpdatePacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentWearablesUpdatePacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentWearablesUpdatePacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentWearablesUpdatePacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentWearablesUpdatePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentWearablesUpdatePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentWearablesUpdatePacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AgentWearablesUpdatePacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentWearablesUpdatePacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AgentWearablesUpdatePacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentWearablesUpdatePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AgentWearablesUpdatePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentWearablesUpdatePacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.AgentWearablesUpdatePacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentWearablesUpdatePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.AgentWearablesUpdatePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.AgentWearablesUpdatePacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AgentWearablesUpdatePacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AgentWearablesUpdatePacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.AgentWearablesUpdatePacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AgentWearablesUpdatePacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AgentWearablesUpdatePacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AgentWearablesUpdatePacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.AgentWearablesUpdatePacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AgentWearablesUpdatePacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.AgentWearablesUpdatePacket.AgentDataBlock.SerialNum`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.AgentWearablesUpdatePacket.AgentDataBlock.SerialNum`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub serial_num: u32,
        /// C# member: `F:LibreMetaverse.Packets.AgentWearablesUpdatePacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AgentWearablesUpdatePacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl AgentWearablesUpdatePacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.AgentWearablesUpdatePacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentWearablesUpdatePacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentWearablesUpdatePacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentWearablesUpdatePacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentWearablesUpdatePacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentWearablesUpdatePacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentWearablesUpdatePacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentWearablesUpdatePacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentWearablesUpdatePacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentWearablesUpdatePacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentWearablesUpdatePacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AgentWearablesUpdatePacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AgentWearablesUpdatePacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AgentWearablesUpdatePacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AgentWearablesUpdatePacket.WearableDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AgentWearablesUpdatePacket.WearableDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AgentWearablesUpdatePacketWearableDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.AgentWearablesUpdatePacket.WearableDataBlock.AssetID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AgentWearablesUpdatePacket.WearableDataBlock.AssetID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub asset_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.AgentWearablesUpdatePacket.WearableDataBlock.ItemID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AgentWearablesUpdatePacket.WearableDataBlock.ItemID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub item_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.AgentWearablesUpdatePacket.WearableDataBlock.WearableType`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.AgentWearablesUpdatePacket.WearableDataBlock.WearableType`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub wearable_type: u8,
    }
    impl AgentWearablesUpdatePacketWearableDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.AgentWearablesUpdatePacket.WearableDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentWearablesUpdatePacket.WearableDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentWearablesUpdatePacket.WearableDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AgentWearablesUpdatePacket.WearableDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentWearablesUpdatePacket.WearableDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentWearablesUpdatePacket.WearableDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentWearablesUpdatePacket.WearableDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentWearablesUpdatePacket.WearableDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentWearablesUpdatePacket.WearableDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AgentWearablesUpdatePacket.WearableDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AgentWearablesUpdatePacket.WearableDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AgentWearablesUpdatePacket.WearableDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AgentWearablesUpdatePacket.WearableDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AgentWearablesUpdatePacket.WearableDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AlertMessagePacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AlertMessagePacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AlertMessagePacket {
        /// C# member: `F:LibreMetaverse.Packets.AlertMessagePacket.AgentInfo`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AlertMessagePacket.AgentInfoBlock[] LibreMetaverse.Packets.AlertMessagePacket.AgentInfo`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_info: Vec<libremetaverse::packets::AlertMessagePacketAgentInfoBlock>,
        /// C# member: `F:LibreMetaverse.Packets.AlertMessagePacket.AlertData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AlertMessagePacket.AlertDataBlock LibreMetaverse.Packets.AlertMessagePacket.AlertData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub alert_data: libremetaverse::packets::AlertMessagePacketAlertDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.AlertMessagePacket.AlertInfo`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AlertMessagePacket.AlertInfoBlock[] LibreMetaverse.Packets.AlertMessagePacket.AlertInfo`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub alert_info: Vec<libremetaverse::packets::AlertMessagePacketAlertInfoBlock>,
    }
    impl AlertMessagePacket {
        /// C# member: `M:LibreMetaverse.Packets.AlertMessagePacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AlertMessagePacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AlertMessagePacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AlertMessagePacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AlertMessagePacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AlertMessagePacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AlertMessagePacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AlertMessagePacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.AlertMessagePacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AlertMessagePacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.AlertMessagePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AlertMessagePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.AlertMessagePacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AlertMessagePacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AlertMessagePacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AlertMessagePacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AlertMessagePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AlertMessagePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.AlertMessagePacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.AlertMessagePacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AlertMessagePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.AlertMessagePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.AlertMessagePacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AlertMessagePacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AlertMessagePacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.AlertMessagePacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AlertMessagePacket.AgentInfoBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AlertMessagePacket.AgentInfoBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AlertMessagePacketAgentInfoBlock {
        /// C# member: `F:LibreMetaverse.Packets.AlertMessagePacket.AgentInfoBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AlertMessagePacket.AgentInfoBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
    }
    impl AlertMessagePacketAgentInfoBlock {
        /// C# member: `M:LibreMetaverse.Packets.AlertMessagePacket.AgentInfoBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AlertMessagePacket.AgentInfoBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AlertMessagePacket.AgentInfoBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AlertMessagePacket.AgentInfoBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AlertMessagePacket.AgentInfoBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AlertMessagePacket.AgentInfoBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AlertMessagePacket.AgentInfoBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AlertMessagePacket.AgentInfoBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.AlertMessagePacket.AgentInfoBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AlertMessagePacket.AgentInfoBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AlertMessagePacket.AgentInfoBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AlertMessagePacket.AgentInfoBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AlertMessagePacket.AgentInfoBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AlertMessagePacket.AgentInfoBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AlertMessagePacket.AlertDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AlertMessagePacket.AlertDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AlertMessagePacketAlertDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.AlertMessagePacket.AlertDataBlock.Message`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AlertMessagePacket.AlertDataBlock.Message`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub message: Vec<u8>,
    }
    impl AlertMessagePacketAlertDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.AlertMessagePacket.AlertDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AlertMessagePacket.AlertDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AlertMessagePacket.AlertDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AlertMessagePacket.AlertDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AlertMessagePacket.AlertDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AlertMessagePacket.AlertDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AlertMessagePacket.AlertDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AlertMessagePacket.AlertDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.AlertMessagePacket.AlertDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AlertMessagePacket.AlertDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AlertMessagePacket.AlertDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AlertMessagePacket.AlertDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AlertMessagePacket.AlertDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AlertMessagePacket.AlertDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AlertMessagePacket.AlertInfoBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AlertMessagePacket.AlertInfoBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AlertMessagePacketAlertInfoBlock {
        /// C# member: `F:LibreMetaverse.Packets.AlertMessagePacket.AlertInfoBlock.ExtraParams`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AlertMessagePacket.AlertInfoBlock.ExtraParams`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub extra_params: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.AlertMessagePacket.AlertInfoBlock.Message`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AlertMessagePacket.AlertInfoBlock.Message`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub message: Vec<u8>,
    }
    impl AlertMessagePacketAlertInfoBlock {
        /// C# member: `M:LibreMetaverse.Packets.AlertMessagePacket.AlertInfoBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AlertMessagePacket.AlertInfoBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AlertMessagePacket.AlertInfoBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AlertMessagePacket.AlertInfoBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AlertMessagePacket.AlertInfoBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AlertMessagePacket.AlertInfoBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AlertMessagePacket.AlertInfoBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AlertMessagePacket.AlertInfoBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.AlertMessagePacket.AlertInfoBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AlertMessagePacket.AlertInfoBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AlertMessagePacket.AlertInfoBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AlertMessagePacket.AlertInfoBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AlertMessagePacket.AlertInfoBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AlertMessagePacket.AlertInfoBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AssetUploadCompletePacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AssetUploadCompletePacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AssetUploadCompletePacket {
        /// C# member: `F:LibreMetaverse.Packets.AssetUploadCompletePacket.AssetBlock`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AssetUploadCompletePacket.AssetBlockBlock LibreMetaverse.Packets.AssetUploadCompletePacket.AssetBlock`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub asset_block: libremetaverse::packets::AssetUploadCompletePacketAssetBlockBlock,
    }
    impl AssetUploadCompletePacket {
        /// C# member: `M:LibreMetaverse.Packets.AssetUploadCompletePacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AssetUploadCompletePacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AssetUploadCompletePacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AssetUploadCompletePacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AssetUploadCompletePacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AssetUploadCompletePacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AssetUploadCompletePacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AssetUploadCompletePacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.AssetUploadCompletePacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AssetUploadCompletePacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.AssetUploadCompletePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AssetUploadCompletePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.AssetUploadCompletePacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AssetUploadCompletePacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AssetUploadCompletePacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AssetUploadCompletePacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AssetUploadCompletePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AssetUploadCompletePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.AssetUploadCompletePacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.AssetUploadCompletePacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AssetUploadCompletePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.AssetUploadCompletePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.AssetUploadCompletePacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AssetUploadCompletePacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AssetUploadCompletePacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.AssetUploadCompletePacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AssetUploadCompletePacket.AssetBlockBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AssetUploadCompletePacket.AssetBlockBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AssetUploadCompletePacketAssetBlockBlock {
        /// C# member: `F:LibreMetaverse.Packets.AssetUploadCompletePacket.AssetBlockBlock.Success`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.AssetUploadCompletePacket.AssetBlockBlock.Success`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub success: bool,
        /// C# member: `F:LibreMetaverse.Packets.AssetUploadCompletePacket.AssetBlockBlock.Type`.
        ///
        /// C# signature: `System.SByte LibreMetaverse.Packets.AssetUploadCompletePacket.AssetBlockBlock.Type`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub type_: i8,
        /// C# member: `F:LibreMetaverse.Packets.AssetUploadCompletePacket.AssetBlockBlock.UUID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AssetUploadCompletePacket.AssetBlockBlock.UUID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub uuid: libremetaverse_types::UUID,
    }
    impl AssetUploadCompletePacketAssetBlockBlock {
        /// C# member: `M:LibreMetaverse.Packets.AssetUploadCompletePacket.AssetBlockBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AssetUploadCompletePacket.AssetBlockBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AssetUploadCompletePacket.AssetBlockBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AssetUploadCompletePacket.AssetBlockBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AssetUploadCompletePacket.AssetBlockBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AssetUploadCompletePacket.AssetBlockBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AssetUploadCompletePacket.AssetBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AssetUploadCompletePacket.AssetBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.AssetUploadCompletePacket.AssetBlockBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AssetUploadCompletePacket.AssetBlockBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AssetUploadCompletePacket.AssetBlockBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AssetUploadCompletePacket.AssetBlockBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AssetUploadCompletePacket.AssetBlockBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AssetUploadCompletePacket.AssetBlockBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AssetUploadRequestPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AssetUploadRequestPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AssetUploadRequestPacket {
        /// C# member: `F:LibreMetaverse.Packets.AssetUploadRequestPacket.AssetBlock`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AssetUploadRequestPacket.AssetBlockBlock LibreMetaverse.Packets.AssetUploadRequestPacket.AssetBlock`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub asset_block: libremetaverse::packets::AssetUploadRequestPacketAssetBlockBlock,
    }
    impl AssetUploadRequestPacket {
        /// C# member: `M:LibreMetaverse.Packets.AssetUploadRequestPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AssetUploadRequestPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AssetUploadRequestPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AssetUploadRequestPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AssetUploadRequestPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AssetUploadRequestPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AssetUploadRequestPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AssetUploadRequestPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.AssetUploadRequestPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AssetUploadRequestPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.AssetUploadRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AssetUploadRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.AssetUploadRequestPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AssetUploadRequestPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AssetUploadRequestPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AssetUploadRequestPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AssetUploadRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AssetUploadRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.AssetUploadRequestPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.AssetUploadRequestPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AssetUploadRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.AssetUploadRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.AssetUploadRequestPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AssetUploadRequestPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AssetUploadRequestPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.AssetUploadRequestPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AssetUploadRequestPacket.AssetBlockBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AssetUploadRequestPacket.AssetBlockBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AssetUploadRequestPacketAssetBlockBlock {
        /// C# member: `F:LibreMetaverse.Packets.AssetUploadRequestPacket.AssetBlockBlock.AssetData`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AssetUploadRequestPacket.AssetBlockBlock.AssetData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub asset_data: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.AssetUploadRequestPacket.AssetBlockBlock.StoreLocal`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.AssetUploadRequestPacket.AssetBlockBlock.StoreLocal`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub store_local: bool,
        /// C# member: `F:LibreMetaverse.Packets.AssetUploadRequestPacket.AssetBlockBlock.Tempfile`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.AssetUploadRequestPacket.AssetBlockBlock.Tempfile`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub tempfile: bool,
        /// C# member: `F:LibreMetaverse.Packets.AssetUploadRequestPacket.AssetBlockBlock.TransactionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AssetUploadRequestPacket.AssetBlockBlock.TransactionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub transaction_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.AssetUploadRequestPacket.AssetBlockBlock.Type`.
        ///
        /// C# signature: `System.SByte LibreMetaverse.Packets.AssetUploadRequestPacket.AssetBlockBlock.Type`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub type_: i8,
    }
    impl AssetUploadRequestPacketAssetBlockBlock {
        /// C# member: `M:LibreMetaverse.Packets.AssetUploadRequestPacket.AssetBlockBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AssetUploadRequestPacket.AssetBlockBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AssetUploadRequestPacket.AssetBlockBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AssetUploadRequestPacket.AssetBlockBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AssetUploadRequestPacket.AssetBlockBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AssetUploadRequestPacket.AssetBlockBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AssetUploadRequestPacket.AssetBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AssetUploadRequestPacket.AssetBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.AssetUploadRequestPacket.AssetBlockBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AssetUploadRequestPacket.AssetBlockBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AssetUploadRequestPacket.AssetBlockBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AssetUploadRequestPacket.AssetBlockBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AssetUploadRequestPacket.AssetBlockBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AssetUploadRequestPacket.AssetBlockBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AtomicPassObjectPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AtomicPassObjectPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AtomicPassObjectPacket {
        /// C# member: `F:LibreMetaverse.Packets.AtomicPassObjectPacket.TaskData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AtomicPassObjectPacket.TaskDataBlock LibreMetaverse.Packets.AtomicPassObjectPacket.TaskData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub task_data: libremetaverse::packets::AtomicPassObjectPacketTaskDataBlock,
    }
    impl AtomicPassObjectPacket {
        /// C# member: `M:LibreMetaverse.Packets.AtomicPassObjectPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AtomicPassObjectPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AtomicPassObjectPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AtomicPassObjectPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AtomicPassObjectPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AtomicPassObjectPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AtomicPassObjectPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AtomicPassObjectPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.AtomicPassObjectPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AtomicPassObjectPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.AtomicPassObjectPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AtomicPassObjectPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.AtomicPassObjectPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AtomicPassObjectPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AtomicPassObjectPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AtomicPassObjectPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AtomicPassObjectPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AtomicPassObjectPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.AtomicPassObjectPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.AtomicPassObjectPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AtomicPassObjectPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.AtomicPassObjectPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.AtomicPassObjectPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AtomicPassObjectPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AtomicPassObjectPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.AtomicPassObjectPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AtomicPassObjectPacket.TaskDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AtomicPassObjectPacket.TaskDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AtomicPassObjectPacketTaskDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.AtomicPassObjectPacket.TaskDataBlock.AttachmentNeedsSave`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.AtomicPassObjectPacket.TaskDataBlock.AttachmentNeedsSave`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub attachment_needs_save: bool,
        /// C# member: `F:LibreMetaverse.Packets.AtomicPassObjectPacket.TaskDataBlock.TaskID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AtomicPassObjectPacket.TaskDataBlock.TaskID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub task_id: libremetaverse_types::UUID,
    }
    impl AtomicPassObjectPacketTaskDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.AtomicPassObjectPacket.TaskDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AtomicPassObjectPacket.TaskDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AtomicPassObjectPacket.TaskDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AtomicPassObjectPacket.TaskDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AtomicPassObjectPacket.TaskDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AtomicPassObjectPacket.TaskDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AtomicPassObjectPacket.TaskDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AtomicPassObjectPacket.TaskDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.AtomicPassObjectPacket.TaskDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AtomicPassObjectPacket.TaskDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AtomicPassObjectPacket.TaskDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AtomicPassObjectPacket.TaskDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AtomicPassObjectPacket.TaskDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AtomicPassObjectPacket.TaskDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AttachedSoundGainChangePacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AttachedSoundGainChangePacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AttachedSoundGainChangePacket {
        /// C# member: `F:LibreMetaverse.Packets.AttachedSoundGainChangePacket.DataBlock`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AttachedSoundGainChangePacket.DataBlockBlock LibreMetaverse.Packets.AttachedSoundGainChangePacket.DataBlock`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub data_block: libremetaverse::packets::AttachedSoundGainChangePacketDataBlockBlock,
    }
    impl AttachedSoundGainChangePacket {
        /// C# member: `M:LibreMetaverse.Packets.AttachedSoundGainChangePacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AttachedSoundGainChangePacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AttachedSoundGainChangePacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AttachedSoundGainChangePacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AttachedSoundGainChangePacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AttachedSoundGainChangePacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AttachedSoundGainChangePacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AttachedSoundGainChangePacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.AttachedSoundGainChangePacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AttachedSoundGainChangePacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.AttachedSoundGainChangePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AttachedSoundGainChangePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.AttachedSoundGainChangePacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AttachedSoundGainChangePacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AttachedSoundGainChangePacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AttachedSoundGainChangePacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AttachedSoundGainChangePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AttachedSoundGainChangePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.AttachedSoundGainChangePacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.AttachedSoundGainChangePacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AttachedSoundGainChangePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.AttachedSoundGainChangePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.AttachedSoundGainChangePacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AttachedSoundGainChangePacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AttachedSoundGainChangePacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.AttachedSoundGainChangePacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AttachedSoundGainChangePacket.DataBlockBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AttachedSoundGainChangePacket.DataBlockBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AttachedSoundGainChangePacketDataBlockBlock {
        /// C# member: `F:LibreMetaverse.Packets.AttachedSoundGainChangePacket.DataBlockBlock.Gain`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.AttachedSoundGainChangePacket.DataBlockBlock.Gain`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub gain: f32,
        /// C# member: `F:LibreMetaverse.Packets.AttachedSoundGainChangePacket.DataBlockBlock.ObjectID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AttachedSoundGainChangePacket.DataBlockBlock.ObjectID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_id: libremetaverse_types::UUID,
    }
    impl AttachedSoundGainChangePacketDataBlockBlock {
        /// C# member: `M:LibreMetaverse.Packets.AttachedSoundGainChangePacket.DataBlockBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AttachedSoundGainChangePacket.DataBlockBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AttachedSoundGainChangePacket.DataBlockBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AttachedSoundGainChangePacket.DataBlockBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AttachedSoundGainChangePacket.DataBlockBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AttachedSoundGainChangePacket.DataBlockBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AttachedSoundGainChangePacket.DataBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AttachedSoundGainChangePacket.DataBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.AttachedSoundGainChangePacket.DataBlockBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AttachedSoundGainChangePacket.DataBlockBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AttachedSoundGainChangePacket.DataBlockBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AttachedSoundGainChangePacket.DataBlockBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AttachedSoundGainChangePacket.DataBlockBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AttachedSoundGainChangePacket.DataBlockBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AttachedSoundPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AttachedSoundPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AttachedSoundPacket {
        /// C# member: `F:LibreMetaverse.Packets.AttachedSoundPacket.DataBlock`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AttachedSoundPacket.DataBlockBlock LibreMetaverse.Packets.AttachedSoundPacket.DataBlock`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub data_block: libremetaverse::packets::AttachedSoundPacketDataBlockBlock,
    }
    impl AttachedSoundPacket {
        /// C# member: `M:LibreMetaverse.Packets.AttachedSoundPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AttachedSoundPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AttachedSoundPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AttachedSoundPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AttachedSoundPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AttachedSoundPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AttachedSoundPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AttachedSoundPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.AttachedSoundPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AttachedSoundPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.AttachedSoundPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AttachedSoundPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.AttachedSoundPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AttachedSoundPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AttachedSoundPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AttachedSoundPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AttachedSoundPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AttachedSoundPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.AttachedSoundPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.AttachedSoundPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AttachedSoundPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.AttachedSoundPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.AttachedSoundPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AttachedSoundPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AttachedSoundPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.AttachedSoundPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AttachedSoundPacket.DataBlockBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AttachedSoundPacket.DataBlockBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AttachedSoundPacketDataBlockBlock {
        /// C# member: `F:LibreMetaverse.Packets.AttachedSoundPacket.DataBlockBlock.Flags`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.AttachedSoundPacket.DataBlockBlock.Flags`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub flags: u8,
        /// C# member: `F:LibreMetaverse.Packets.AttachedSoundPacket.DataBlockBlock.Gain`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.AttachedSoundPacket.DataBlockBlock.Gain`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub gain: f32,
        /// C# member: `F:LibreMetaverse.Packets.AttachedSoundPacket.DataBlockBlock.ObjectID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AttachedSoundPacket.DataBlockBlock.ObjectID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.AttachedSoundPacket.DataBlockBlock.OwnerID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AttachedSoundPacket.DataBlockBlock.OwnerID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub owner_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.AttachedSoundPacket.DataBlockBlock.SoundID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AttachedSoundPacket.DataBlockBlock.SoundID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub sound_id: libremetaverse_types::UUID,
    }
    impl AttachedSoundPacketDataBlockBlock {
        /// C# member: `M:LibreMetaverse.Packets.AttachedSoundPacket.DataBlockBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AttachedSoundPacket.DataBlockBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AttachedSoundPacket.DataBlockBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AttachedSoundPacket.DataBlockBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AttachedSoundPacket.DataBlockBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AttachedSoundPacket.DataBlockBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AttachedSoundPacket.DataBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AttachedSoundPacket.DataBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.AttachedSoundPacket.DataBlockBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AttachedSoundPacket.DataBlockBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AttachedSoundPacket.DataBlockBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AttachedSoundPacket.DataBlockBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AttachedSoundPacket.DataBlockBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AttachedSoundPacket.DataBlockBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AvatarAnimationPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AvatarAnimationPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AvatarAnimationPacket {
        /// C# member: `F:LibreMetaverse.Packets.AvatarAnimationPacket.AnimationList`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarAnimationPacket.AnimationListBlock[] LibreMetaverse.Packets.AvatarAnimationPacket.AnimationList`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub animation_list: Vec<libremetaverse::packets::AvatarAnimationPacketAnimationListBlock>,
        /// C# member: `F:LibreMetaverse.Packets.AvatarAnimationPacket.AnimationSourceList`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarAnimationPacket.AnimationSourceListBlock[] LibreMetaverse.Packets.AvatarAnimationPacket.AnimationSourceList`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub animation_source_list:
            Vec<libremetaverse::packets::AvatarAnimationPacketAnimationSourceListBlock>,
        /// C# member: `F:LibreMetaverse.Packets.AvatarAnimationPacket.PhysicalAvatarEventList`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarAnimationPacket.PhysicalAvatarEventListBlock[] LibreMetaverse.Packets.AvatarAnimationPacket.PhysicalAvatarEventList`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub physical_avatar_event_list:
            Vec<libremetaverse::packets::AvatarAnimationPacketPhysicalAvatarEventListBlock>,
        /// C# member: `F:LibreMetaverse.Packets.AvatarAnimationPacket.Sender`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarAnimationPacket.SenderBlock LibreMetaverse.Packets.AvatarAnimationPacket.Sender`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub sender: libremetaverse::packets::AvatarAnimationPacketSenderBlock,
    }
    impl AvatarAnimationPacket {
        /// C# member: `M:LibreMetaverse.Packets.AvatarAnimationPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarAnimationPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarAnimationPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarAnimationPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarAnimationPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarAnimationPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarAnimationPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarAnimationPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarAnimationPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarAnimationPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarAnimationPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarAnimationPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarAnimationPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AvatarAnimationPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarAnimationPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AvatarAnimationPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarAnimationPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AvatarAnimationPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarAnimationPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.AvatarAnimationPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarAnimationPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.AvatarAnimationPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.AvatarAnimationPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AvatarAnimationPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AvatarAnimationPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.AvatarAnimationPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AvatarAnimationPacket.AnimationListBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AvatarAnimationPacket.AnimationListBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AvatarAnimationPacketAnimationListBlock {
        /// C# member: `F:LibreMetaverse.Packets.AvatarAnimationPacket.AnimationListBlock.AnimID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AvatarAnimationPacket.AnimationListBlock.AnimID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub anim_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.AvatarAnimationPacket.AnimationListBlock.AnimSequenceID`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AvatarAnimationPacket.AnimationListBlock.AnimSequenceID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub anim_sequence_id: i32,
    }
    impl AvatarAnimationPacketAnimationListBlock {
        /// C# member: `M:LibreMetaverse.Packets.AvatarAnimationPacket.AnimationListBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarAnimationPacket.AnimationListBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarAnimationPacket.AnimationListBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarAnimationPacket.AnimationListBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarAnimationPacket.AnimationListBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarAnimationPacket.AnimationListBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarAnimationPacket.AnimationListBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarAnimationPacket.AnimationListBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarAnimationPacket.AnimationListBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarAnimationPacket.AnimationListBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarAnimationPacket.AnimationListBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AvatarAnimationPacket.AnimationListBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AvatarAnimationPacket.AnimationListBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AvatarAnimationPacket.AnimationListBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AvatarAnimationPacket.AnimationSourceListBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AvatarAnimationPacket.AnimationSourceListBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AvatarAnimationPacketAnimationSourceListBlock {
        /// C# member: `F:LibreMetaverse.Packets.AvatarAnimationPacket.AnimationSourceListBlock.ObjectID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AvatarAnimationPacket.AnimationSourceListBlock.ObjectID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_id: libremetaverse_types::UUID,
    }
    impl AvatarAnimationPacketAnimationSourceListBlock {
        /// C# member: `M:LibreMetaverse.Packets.AvatarAnimationPacket.AnimationSourceListBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarAnimationPacket.AnimationSourceListBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarAnimationPacket.AnimationSourceListBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarAnimationPacket.AnimationSourceListBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarAnimationPacket.AnimationSourceListBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarAnimationPacket.AnimationSourceListBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarAnimationPacket.AnimationSourceListBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarAnimationPacket.AnimationSourceListBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarAnimationPacket.AnimationSourceListBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarAnimationPacket.AnimationSourceListBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarAnimationPacket.AnimationSourceListBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AvatarAnimationPacket.AnimationSourceListBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AvatarAnimationPacket.AnimationSourceListBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AvatarAnimationPacket.AnimationSourceListBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AvatarAnimationPacket.PhysicalAvatarEventListBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AvatarAnimationPacket.PhysicalAvatarEventListBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AvatarAnimationPacketPhysicalAvatarEventListBlock {
        /// C# member: `F:LibreMetaverse.Packets.AvatarAnimationPacket.PhysicalAvatarEventListBlock.TypeData`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AvatarAnimationPacket.PhysicalAvatarEventListBlock.TypeData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub type_data: Vec<u8>,
    }
    impl AvatarAnimationPacketPhysicalAvatarEventListBlock {
        /// C# member: `M:LibreMetaverse.Packets.AvatarAnimationPacket.PhysicalAvatarEventListBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarAnimationPacket.PhysicalAvatarEventListBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarAnimationPacket.PhysicalAvatarEventListBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarAnimationPacket.PhysicalAvatarEventListBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarAnimationPacket.PhysicalAvatarEventListBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarAnimationPacket.PhysicalAvatarEventListBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarAnimationPacket.PhysicalAvatarEventListBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarAnimationPacket.PhysicalAvatarEventListBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarAnimationPacket.PhysicalAvatarEventListBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarAnimationPacket.PhysicalAvatarEventListBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarAnimationPacket.PhysicalAvatarEventListBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AvatarAnimationPacket.PhysicalAvatarEventListBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AvatarAnimationPacket.PhysicalAvatarEventListBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AvatarAnimationPacket.PhysicalAvatarEventListBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AvatarAnimationPacket.SenderBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AvatarAnimationPacket.SenderBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AvatarAnimationPacketSenderBlock {
        /// C# member: `F:LibreMetaverse.Packets.AvatarAnimationPacket.SenderBlock.ID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AvatarAnimationPacket.SenderBlock.ID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub id: libremetaverse_types::UUID,
    }
    impl AvatarAnimationPacketSenderBlock {
        /// C# member: `M:LibreMetaverse.Packets.AvatarAnimationPacket.SenderBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarAnimationPacket.SenderBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarAnimationPacket.SenderBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarAnimationPacket.SenderBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarAnimationPacket.SenderBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarAnimationPacket.SenderBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarAnimationPacket.SenderBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarAnimationPacket.SenderBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarAnimationPacket.SenderBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarAnimationPacket.SenderBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarAnimationPacket.SenderBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AvatarAnimationPacket.SenderBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AvatarAnimationPacket.SenderBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AvatarAnimationPacket.SenderBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AvatarAppearancePacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AvatarAppearancePacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AvatarAppearancePacket {
        /// C# member: `F:LibreMetaverse.Packets.AvatarAppearancePacket.AppearanceData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarAppearancePacket.AppearanceDataBlock[] LibreMetaverse.Packets.AvatarAppearancePacket.AppearanceData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub appearance_data:
            Vec<libremetaverse::packets::AvatarAppearancePacketAppearanceDataBlock>,
        /// C# member: `F:LibreMetaverse.Packets.AvatarAppearancePacket.AppearanceHover`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarAppearancePacket.AppearanceHoverBlock[] LibreMetaverse.Packets.AvatarAppearancePacket.AppearanceHover`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub appearance_hover:
            Vec<libremetaverse::packets::AvatarAppearancePacketAppearanceHoverBlock>,
        /// C# member: `F:LibreMetaverse.Packets.AvatarAppearancePacket.AttachmentBlock`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarAppearancePacket.AttachmentBlockBlock[] LibreMetaverse.Packets.AvatarAppearancePacket.AttachmentBlock`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub attachment_block:
            Vec<libremetaverse::packets::AvatarAppearancePacketAttachmentBlockBlock>,
        /// C# member: `F:LibreMetaverse.Packets.AvatarAppearancePacket.ObjectData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarAppearancePacket.ObjectDataBlock LibreMetaverse.Packets.AvatarAppearancePacket.ObjectData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_data: libremetaverse::packets::AvatarAppearancePacketObjectDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.AvatarAppearancePacket.Sender`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarAppearancePacket.SenderBlock LibreMetaverse.Packets.AvatarAppearancePacket.Sender`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub sender: libremetaverse::packets::AvatarAppearancePacketSenderBlock,
        /// C# member: `F:LibreMetaverse.Packets.AvatarAppearancePacket.VisualParam`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarAppearancePacket.VisualParamBlock[] LibreMetaverse.Packets.AvatarAppearancePacket.VisualParam`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub visual_param: Vec<libremetaverse::packets::AvatarAppearancePacketVisualParamBlock>,
    }
    impl AvatarAppearancePacket {
        /// C# member: `M:LibreMetaverse.Packets.AvatarAppearancePacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarAppearancePacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarAppearancePacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarAppearancePacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarAppearancePacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarAppearancePacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarAppearancePacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarAppearancePacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarAppearancePacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarAppearancePacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarAppearancePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarAppearancePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarAppearancePacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AvatarAppearancePacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarAppearancePacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AvatarAppearancePacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarAppearancePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AvatarAppearancePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarAppearancePacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.AvatarAppearancePacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarAppearancePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.AvatarAppearancePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.AvatarAppearancePacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AvatarAppearancePacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AvatarAppearancePacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.AvatarAppearancePacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AvatarAppearancePacket.AppearanceDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AvatarAppearancePacket.AppearanceDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AvatarAppearancePacketAppearanceDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.AvatarAppearancePacket.AppearanceDataBlock.AppearanceVersion`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.AvatarAppearancePacket.AppearanceDataBlock.AppearanceVersion`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub appearance_version: u8,
        /// C# member: `F:LibreMetaverse.Packets.AvatarAppearancePacket.AppearanceDataBlock.CofVersion`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AvatarAppearancePacket.AppearanceDataBlock.CofVersion`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub cof_version: i32,
        /// C# member: `F:LibreMetaverse.Packets.AvatarAppearancePacket.AppearanceDataBlock.Flags`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.AvatarAppearancePacket.AppearanceDataBlock.Flags`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub flags: u32,
    }
    impl AvatarAppearancePacketAppearanceDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.AvatarAppearancePacket.AppearanceDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarAppearancePacket.AppearanceDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarAppearancePacket.AppearanceDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarAppearancePacket.AppearanceDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarAppearancePacket.AppearanceDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarAppearancePacket.AppearanceDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarAppearancePacket.AppearanceDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarAppearancePacket.AppearanceDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarAppearancePacket.AppearanceDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarAppearancePacket.AppearanceDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarAppearancePacket.AppearanceDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AvatarAppearancePacket.AppearanceDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AvatarAppearancePacket.AppearanceDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AvatarAppearancePacket.AppearanceDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AvatarAppearancePacket.AppearanceHoverBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AvatarAppearancePacket.AppearanceHoverBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AvatarAppearancePacketAppearanceHoverBlock {
        /// C# member: `F:LibreMetaverse.Packets.AvatarAppearancePacket.AppearanceHoverBlock.HoverHeight`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Packets.AvatarAppearancePacket.AppearanceHoverBlock.HoverHeight`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub hover_height: libremetaverse_types::Vector3,
    }
    impl AvatarAppearancePacketAppearanceHoverBlock {
        /// C# member: `M:LibreMetaverse.Packets.AvatarAppearancePacket.AppearanceHoverBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarAppearancePacket.AppearanceHoverBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarAppearancePacket.AppearanceHoverBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarAppearancePacket.AppearanceHoverBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarAppearancePacket.AppearanceHoverBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarAppearancePacket.AppearanceHoverBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarAppearancePacket.AppearanceHoverBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarAppearancePacket.AppearanceHoverBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarAppearancePacket.AppearanceHoverBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarAppearancePacket.AppearanceHoverBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarAppearancePacket.AppearanceHoverBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AvatarAppearancePacket.AppearanceHoverBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AvatarAppearancePacket.AppearanceHoverBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AvatarAppearancePacket.AppearanceHoverBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AvatarAppearancePacket.AttachmentBlockBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AvatarAppearancePacket.AttachmentBlockBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AvatarAppearancePacketAttachmentBlockBlock {
        /// C# member: `F:LibreMetaverse.Packets.AvatarAppearancePacket.AttachmentBlockBlock.AttachmentPoint`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.AvatarAppearancePacket.AttachmentBlockBlock.AttachmentPoint`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub attachment_point: u8,
        /// C# member: `F:LibreMetaverse.Packets.AvatarAppearancePacket.AttachmentBlockBlock.ID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AvatarAppearancePacket.AttachmentBlockBlock.ID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub id: libremetaverse_types::UUID,
    }
    impl AvatarAppearancePacketAttachmentBlockBlock {
        /// C# member: `M:LibreMetaverse.Packets.AvatarAppearancePacket.AttachmentBlockBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarAppearancePacket.AttachmentBlockBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarAppearancePacket.AttachmentBlockBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarAppearancePacket.AttachmentBlockBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarAppearancePacket.AttachmentBlockBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarAppearancePacket.AttachmentBlockBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarAppearancePacket.AttachmentBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarAppearancePacket.AttachmentBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarAppearancePacket.AttachmentBlockBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarAppearancePacket.AttachmentBlockBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarAppearancePacket.AttachmentBlockBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AvatarAppearancePacket.AttachmentBlockBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AvatarAppearancePacket.AttachmentBlockBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AvatarAppearancePacket.AttachmentBlockBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AvatarAppearancePacket.ObjectDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AvatarAppearancePacket.ObjectDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AvatarAppearancePacketObjectDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.AvatarAppearancePacket.ObjectDataBlock.TextureEntry`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AvatarAppearancePacket.ObjectDataBlock.TextureEntry`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub texture_entry: Vec<u8>,
    }
    impl AvatarAppearancePacketObjectDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.AvatarAppearancePacket.ObjectDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarAppearancePacket.ObjectDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarAppearancePacket.ObjectDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarAppearancePacket.ObjectDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarAppearancePacket.ObjectDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarAppearancePacket.ObjectDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarAppearancePacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarAppearancePacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarAppearancePacket.ObjectDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarAppearancePacket.ObjectDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarAppearancePacket.ObjectDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AvatarAppearancePacket.ObjectDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AvatarAppearancePacket.ObjectDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AvatarAppearancePacket.ObjectDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AvatarAppearancePacket.SenderBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AvatarAppearancePacket.SenderBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AvatarAppearancePacketSenderBlock {
        /// C# member: `F:LibreMetaverse.Packets.AvatarAppearancePacket.SenderBlock.ID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AvatarAppearancePacket.SenderBlock.ID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.AvatarAppearancePacket.SenderBlock.IsTrial`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.AvatarAppearancePacket.SenderBlock.IsTrial`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub is_trial: bool,
    }
    impl AvatarAppearancePacketSenderBlock {
        /// C# member: `M:LibreMetaverse.Packets.AvatarAppearancePacket.SenderBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarAppearancePacket.SenderBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarAppearancePacket.SenderBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarAppearancePacket.SenderBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarAppearancePacket.SenderBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarAppearancePacket.SenderBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarAppearancePacket.SenderBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarAppearancePacket.SenderBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarAppearancePacket.SenderBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarAppearancePacket.SenderBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarAppearancePacket.SenderBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AvatarAppearancePacket.SenderBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AvatarAppearancePacket.SenderBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AvatarAppearancePacket.SenderBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AvatarAppearancePacket.VisualParamBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AvatarAppearancePacket.VisualParamBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AvatarAppearancePacketVisualParamBlock {
        /// C# member: `F:LibreMetaverse.Packets.AvatarAppearancePacket.VisualParamBlock.ParamValue`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.AvatarAppearancePacket.VisualParamBlock.ParamValue`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub param_value: u8,
    }
    impl AvatarAppearancePacketVisualParamBlock {
        /// C# member: `M:LibreMetaverse.Packets.AvatarAppearancePacket.VisualParamBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarAppearancePacket.VisualParamBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarAppearancePacket.VisualParamBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarAppearancePacket.VisualParamBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarAppearancePacket.VisualParamBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarAppearancePacket.VisualParamBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarAppearancePacket.VisualParamBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarAppearancePacket.VisualParamBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarAppearancePacket.VisualParamBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarAppearancePacket.VisualParamBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarAppearancePacket.VisualParamBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AvatarAppearancePacket.VisualParamBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AvatarAppearancePacket.VisualParamBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AvatarAppearancePacket.VisualParamBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AvatarClassifiedReplyPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AvatarClassifiedReplyPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AvatarClassifiedReplyPacket {
        /// C# member: `F:LibreMetaverse.Packets.AvatarClassifiedReplyPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarClassifiedReplyPacket.AgentDataBlock LibreMetaverse.Packets.AvatarClassifiedReplyPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::AvatarClassifiedReplyPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.AvatarClassifiedReplyPacket.Data`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarClassifiedReplyPacket.DataBlock[] LibreMetaverse.Packets.AvatarClassifiedReplyPacket.Data`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub data: Vec<libremetaverse::packets::AvatarClassifiedReplyPacketDataBlock>,
    }
    impl AvatarClassifiedReplyPacket {
        /// C# member: `M:LibreMetaverse.Packets.AvatarClassifiedReplyPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarClassifiedReplyPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarClassifiedReplyPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarClassifiedReplyPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarClassifiedReplyPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarClassifiedReplyPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarClassifiedReplyPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarClassifiedReplyPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarClassifiedReplyPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarClassifiedReplyPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarClassifiedReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarClassifiedReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarClassifiedReplyPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AvatarClassifiedReplyPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarClassifiedReplyPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AvatarClassifiedReplyPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarClassifiedReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AvatarClassifiedReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarClassifiedReplyPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.AvatarClassifiedReplyPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarClassifiedReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.AvatarClassifiedReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.AvatarClassifiedReplyPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AvatarClassifiedReplyPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AvatarClassifiedReplyPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.AvatarClassifiedReplyPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AvatarClassifiedReplyPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AvatarClassifiedReplyPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AvatarClassifiedReplyPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.AvatarClassifiedReplyPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AvatarClassifiedReplyPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.AvatarClassifiedReplyPacket.AgentDataBlock.TargetID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AvatarClassifiedReplyPacket.AgentDataBlock.TargetID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub target_id: libremetaverse_types::UUID,
    }
    impl AvatarClassifiedReplyPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.AvatarClassifiedReplyPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarClassifiedReplyPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarClassifiedReplyPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarClassifiedReplyPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarClassifiedReplyPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarClassifiedReplyPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarClassifiedReplyPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarClassifiedReplyPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarClassifiedReplyPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarClassifiedReplyPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarClassifiedReplyPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AvatarClassifiedReplyPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AvatarClassifiedReplyPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AvatarClassifiedReplyPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AvatarClassifiedReplyPacket.DataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AvatarClassifiedReplyPacket.DataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AvatarClassifiedReplyPacketDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.AvatarClassifiedReplyPacket.DataBlock.ClassifiedID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AvatarClassifiedReplyPacket.DataBlock.ClassifiedID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub classified_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.AvatarClassifiedReplyPacket.DataBlock.Name`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AvatarClassifiedReplyPacket.DataBlock.Name`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub name: Vec<u8>,
    }
    impl AvatarClassifiedReplyPacketDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.AvatarClassifiedReplyPacket.DataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarClassifiedReplyPacket.DataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarClassifiedReplyPacket.DataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarClassifiedReplyPacket.DataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarClassifiedReplyPacket.DataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarClassifiedReplyPacket.DataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarClassifiedReplyPacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarClassifiedReplyPacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarClassifiedReplyPacket.DataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarClassifiedReplyPacket.DataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarClassifiedReplyPacket.DataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AvatarClassifiedReplyPacket.DataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AvatarClassifiedReplyPacket.DataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AvatarClassifiedReplyPacket.DataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AvatarGroupsReplyPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AvatarGroupsReplyPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AvatarGroupsReplyPacket {
        /// C# member: `F:LibreMetaverse.Packets.AvatarGroupsReplyPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarGroupsReplyPacket.AgentDataBlock LibreMetaverse.Packets.AvatarGroupsReplyPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::AvatarGroupsReplyPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.AvatarGroupsReplyPacket.GroupData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarGroupsReplyPacket.GroupDataBlock[] LibreMetaverse.Packets.AvatarGroupsReplyPacket.GroupData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_data: Vec<libremetaverse::packets::AvatarGroupsReplyPacketGroupDataBlock>,
        /// C# member: `F:LibreMetaverse.Packets.AvatarGroupsReplyPacket.NewGroupData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarGroupsReplyPacket.NewGroupDataBlock LibreMetaverse.Packets.AvatarGroupsReplyPacket.NewGroupData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub new_group_data: libremetaverse::packets::AvatarGroupsReplyPacketNewGroupDataBlock,
    }
    impl AvatarGroupsReplyPacket {
        /// C# member: `M:LibreMetaverse.Packets.AvatarGroupsReplyPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarGroupsReplyPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarGroupsReplyPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarGroupsReplyPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarGroupsReplyPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarGroupsReplyPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarGroupsReplyPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarGroupsReplyPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarGroupsReplyPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarGroupsReplyPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarGroupsReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarGroupsReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarGroupsReplyPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AvatarGroupsReplyPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarGroupsReplyPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AvatarGroupsReplyPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarGroupsReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AvatarGroupsReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarGroupsReplyPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.AvatarGroupsReplyPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarGroupsReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.AvatarGroupsReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.AvatarGroupsReplyPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AvatarGroupsReplyPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AvatarGroupsReplyPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.AvatarGroupsReplyPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AvatarGroupsReplyPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AvatarGroupsReplyPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AvatarGroupsReplyPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.AvatarGroupsReplyPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AvatarGroupsReplyPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.AvatarGroupsReplyPacket.AgentDataBlock.AvatarID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AvatarGroupsReplyPacket.AgentDataBlock.AvatarID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub avatar_id: libremetaverse_types::UUID,
    }
    impl AvatarGroupsReplyPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.AvatarGroupsReplyPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarGroupsReplyPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarGroupsReplyPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarGroupsReplyPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarGroupsReplyPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarGroupsReplyPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarGroupsReplyPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarGroupsReplyPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarGroupsReplyPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarGroupsReplyPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarGroupsReplyPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AvatarGroupsReplyPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AvatarGroupsReplyPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AvatarGroupsReplyPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AvatarGroupsReplyPacket.GroupDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AvatarGroupsReplyPacket.GroupDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AvatarGroupsReplyPacketGroupDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.AvatarGroupsReplyPacket.GroupDataBlock.AcceptNotices`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.AvatarGroupsReplyPacket.GroupDataBlock.AcceptNotices`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub accept_notices: bool,
        /// C# member: `F:LibreMetaverse.Packets.AvatarGroupsReplyPacket.GroupDataBlock.GroupID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AvatarGroupsReplyPacket.GroupDataBlock.GroupID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.AvatarGroupsReplyPacket.GroupDataBlock.GroupInsigniaID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AvatarGroupsReplyPacket.GroupDataBlock.GroupInsigniaID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_insignia_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.AvatarGroupsReplyPacket.GroupDataBlock.GroupName`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AvatarGroupsReplyPacket.GroupDataBlock.GroupName`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_name: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.AvatarGroupsReplyPacket.GroupDataBlock.GroupPowers`.
        ///
        /// C# signature: `System.UInt64 LibreMetaverse.Packets.AvatarGroupsReplyPacket.GroupDataBlock.GroupPowers`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_powers: u64,
        /// C# member: `F:LibreMetaverse.Packets.AvatarGroupsReplyPacket.GroupDataBlock.GroupTitle`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AvatarGroupsReplyPacket.GroupDataBlock.GroupTitle`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_title: Vec<u8>,
    }
    impl AvatarGroupsReplyPacketGroupDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.AvatarGroupsReplyPacket.GroupDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarGroupsReplyPacket.GroupDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarGroupsReplyPacket.GroupDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarGroupsReplyPacket.GroupDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarGroupsReplyPacket.GroupDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarGroupsReplyPacket.GroupDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarGroupsReplyPacket.GroupDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarGroupsReplyPacket.GroupDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarGroupsReplyPacket.GroupDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarGroupsReplyPacket.GroupDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarGroupsReplyPacket.GroupDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AvatarGroupsReplyPacket.GroupDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AvatarGroupsReplyPacket.GroupDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AvatarGroupsReplyPacket.GroupDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AvatarGroupsReplyPacket.NewGroupDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AvatarGroupsReplyPacket.NewGroupDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AvatarGroupsReplyPacketNewGroupDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.AvatarGroupsReplyPacket.NewGroupDataBlock.ListInProfile`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.AvatarGroupsReplyPacket.NewGroupDataBlock.ListInProfile`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub list_in_profile: bool,
    }
    impl AvatarGroupsReplyPacketNewGroupDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.AvatarGroupsReplyPacket.NewGroupDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarGroupsReplyPacket.NewGroupDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarGroupsReplyPacket.NewGroupDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarGroupsReplyPacket.NewGroupDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarGroupsReplyPacket.NewGroupDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarGroupsReplyPacket.NewGroupDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarGroupsReplyPacket.NewGroupDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarGroupsReplyPacket.NewGroupDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarGroupsReplyPacket.NewGroupDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarGroupsReplyPacket.NewGroupDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarGroupsReplyPacket.NewGroupDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AvatarGroupsReplyPacket.NewGroupDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AvatarGroupsReplyPacket.NewGroupDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AvatarGroupsReplyPacket.NewGroupDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AvatarInterestsReplyPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AvatarInterestsReplyPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AvatarInterestsReplyPacket {
        /// C# member: `F:LibreMetaverse.Packets.AvatarInterestsReplyPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarInterestsReplyPacket.AgentDataBlock LibreMetaverse.Packets.AvatarInterestsReplyPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::AvatarInterestsReplyPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.AvatarInterestsReplyPacket.PropertiesData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarInterestsReplyPacket.PropertiesDataBlock LibreMetaverse.Packets.AvatarInterestsReplyPacket.PropertiesData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub properties_data: libremetaverse::packets::AvatarInterestsReplyPacketPropertiesDataBlock,
    }
    impl AvatarInterestsReplyPacket {
        /// C# member: `M:LibreMetaverse.Packets.AvatarInterestsReplyPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarInterestsReplyPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarInterestsReplyPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarInterestsReplyPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarInterestsReplyPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarInterestsReplyPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarInterestsReplyPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarInterestsReplyPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarInterestsReplyPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarInterestsReplyPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarInterestsReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarInterestsReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarInterestsReplyPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AvatarInterestsReplyPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarInterestsReplyPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AvatarInterestsReplyPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarInterestsReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AvatarInterestsReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarInterestsReplyPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.AvatarInterestsReplyPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarInterestsReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.AvatarInterestsReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.AvatarInterestsReplyPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AvatarInterestsReplyPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AvatarInterestsReplyPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.AvatarInterestsReplyPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AvatarInterestsReplyPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AvatarInterestsReplyPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AvatarInterestsReplyPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.AvatarInterestsReplyPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AvatarInterestsReplyPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.AvatarInterestsReplyPacket.AgentDataBlock.AvatarID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AvatarInterestsReplyPacket.AgentDataBlock.AvatarID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub avatar_id: libremetaverse_types::UUID,
    }
    impl AvatarInterestsReplyPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.AvatarInterestsReplyPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarInterestsReplyPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarInterestsReplyPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarInterestsReplyPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarInterestsReplyPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarInterestsReplyPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarInterestsReplyPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarInterestsReplyPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarInterestsReplyPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarInterestsReplyPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarInterestsReplyPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AvatarInterestsReplyPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AvatarInterestsReplyPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AvatarInterestsReplyPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AvatarInterestsReplyPacket.PropertiesDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AvatarInterestsReplyPacket.PropertiesDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AvatarInterestsReplyPacketPropertiesDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.AvatarInterestsReplyPacket.PropertiesDataBlock.LanguagesText`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AvatarInterestsReplyPacket.PropertiesDataBlock.LanguagesText`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub languages_text: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.AvatarInterestsReplyPacket.PropertiesDataBlock.SkillsMask`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.AvatarInterestsReplyPacket.PropertiesDataBlock.SkillsMask`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub skills_mask: u32,
        /// C# member: `F:LibreMetaverse.Packets.AvatarInterestsReplyPacket.PropertiesDataBlock.SkillsText`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AvatarInterestsReplyPacket.PropertiesDataBlock.SkillsText`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub skills_text: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.AvatarInterestsReplyPacket.PropertiesDataBlock.WantToMask`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.AvatarInterestsReplyPacket.PropertiesDataBlock.WantToMask`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub want_to_mask: u32,
        /// C# member: `F:LibreMetaverse.Packets.AvatarInterestsReplyPacket.PropertiesDataBlock.WantToText`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AvatarInterestsReplyPacket.PropertiesDataBlock.WantToText`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub want_to_text: Vec<u8>,
    }
    impl AvatarInterestsReplyPacketPropertiesDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.AvatarInterestsReplyPacket.PropertiesDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarInterestsReplyPacket.PropertiesDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarInterestsReplyPacket.PropertiesDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarInterestsReplyPacket.PropertiesDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarInterestsReplyPacket.PropertiesDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarInterestsReplyPacket.PropertiesDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarInterestsReplyPacket.PropertiesDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarInterestsReplyPacket.PropertiesDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarInterestsReplyPacket.PropertiesDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarInterestsReplyPacket.PropertiesDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarInterestsReplyPacket.PropertiesDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AvatarInterestsReplyPacket.PropertiesDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AvatarInterestsReplyPacket.PropertiesDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AvatarInterestsReplyPacket.PropertiesDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AvatarInterestsUpdatePacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AvatarInterestsUpdatePacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AvatarInterestsUpdatePacket {
        /// C# member: `F:LibreMetaverse.Packets.AvatarInterestsUpdatePacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarInterestsUpdatePacket.AgentDataBlock LibreMetaverse.Packets.AvatarInterestsUpdatePacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::AvatarInterestsUpdatePacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.AvatarInterestsUpdatePacket.PropertiesData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarInterestsUpdatePacket.PropertiesDataBlock LibreMetaverse.Packets.AvatarInterestsUpdatePacket.PropertiesData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub properties_data:
            libremetaverse::packets::AvatarInterestsUpdatePacketPropertiesDataBlock,
    }
    impl AvatarInterestsUpdatePacket {
        /// C# member: `M:LibreMetaverse.Packets.AvatarInterestsUpdatePacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarInterestsUpdatePacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarInterestsUpdatePacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarInterestsUpdatePacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarInterestsUpdatePacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarInterestsUpdatePacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarInterestsUpdatePacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarInterestsUpdatePacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarInterestsUpdatePacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarInterestsUpdatePacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarInterestsUpdatePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarInterestsUpdatePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarInterestsUpdatePacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AvatarInterestsUpdatePacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarInterestsUpdatePacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AvatarInterestsUpdatePacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarInterestsUpdatePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AvatarInterestsUpdatePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarInterestsUpdatePacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.AvatarInterestsUpdatePacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarInterestsUpdatePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.AvatarInterestsUpdatePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.AvatarInterestsUpdatePacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AvatarInterestsUpdatePacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AvatarInterestsUpdatePacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.AvatarInterestsUpdatePacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AvatarInterestsUpdatePacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AvatarInterestsUpdatePacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AvatarInterestsUpdatePacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.AvatarInterestsUpdatePacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AvatarInterestsUpdatePacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.AvatarInterestsUpdatePacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AvatarInterestsUpdatePacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl AvatarInterestsUpdatePacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.AvatarInterestsUpdatePacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarInterestsUpdatePacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarInterestsUpdatePacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarInterestsUpdatePacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarInterestsUpdatePacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarInterestsUpdatePacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarInterestsUpdatePacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarInterestsUpdatePacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarInterestsUpdatePacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarInterestsUpdatePacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarInterestsUpdatePacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AvatarInterestsUpdatePacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AvatarInterestsUpdatePacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AvatarInterestsUpdatePacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AvatarInterestsUpdatePacket.PropertiesDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AvatarInterestsUpdatePacket.PropertiesDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AvatarInterestsUpdatePacketPropertiesDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.AvatarInterestsUpdatePacket.PropertiesDataBlock.LanguagesText`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AvatarInterestsUpdatePacket.PropertiesDataBlock.LanguagesText`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub languages_text: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.AvatarInterestsUpdatePacket.PropertiesDataBlock.SkillsMask`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.AvatarInterestsUpdatePacket.PropertiesDataBlock.SkillsMask`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub skills_mask: u32,
        /// C# member: `F:LibreMetaverse.Packets.AvatarInterestsUpdatePacket.PropertiesDataBlock.SkillsText`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AvatarInterestsUpdatePacket.PropertiesDataBlock.SkillsText`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub skills_text: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.AvatarInterestsUpdatePacket.PropertiesDataBlock.WantToMask`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.AvatarInterestsUpdatePacket.PropertiesDataBlock.WantToMask`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub want_to_mask: u32,
        /// C# member: `F:LibreMetaverse.Packets.AvatarInterestsUpdatePacket.PropertiesDataBlock.WantToText`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AvatarInterestsUpdatePacket.PropertiesDataBlock.WantToText`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub want_to_text: Vec<u8>,
    }
    impl AvatarInterestsUpdatePacketPropertiesDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.AvatarInterestsUpdatePacket.PropertiesDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarInterestsUpdatePacket.PropertiesDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarInterestsUpdatePacket.PropertiesDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarInterestsUpdatePacket.PropertiesDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarInterestsUpdatePacket.PropertiesDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarInterestsUpdatePacket.PropertiesDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarInterestsUpdatePacket.PropertiesDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarInterestsUpdatePacket.PropertiesDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarInterestsUpdatePacket.PropertiesDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarInterestsUpdatePacket.PropertiesDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarInterestsUpdatePacket.PropertiesDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AvatarInterestsUpdatePacket.PropertiesDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AvatarInterestsUpdatePacket.PropertiesDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AvatarInterestsUpdatePacket.PropertiesDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AvatarNotesReplyPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AvatarNotesReplyPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AvatarNotesReplyPacket {
        /// C# member: `F:LibreMetaverse.Packets.AvatarNotesReplyPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarNotesReplyPacket.AgentDataBlock LibreMetaverse.Packets.AvatarNotesReplyPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::AvatarNotesReplyPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.AvatarNotesReplyPacket.Data`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarNotesReplyPacket.DataBlock LibreMetaverse.Packets.AvatarNotesReplyPacket.Data`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub data: libremetaverse::packets::AvatarNotesReplyPacketDataBlock,
    }
    impl AvatarNotesReplyPacket {
        /// C# member: `M:LibreMetaverse.Packets.AvatarNotesReplyPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarNotesReplyPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarNotesReplyPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarNotesReplyPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarNotesReplyPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarNotesReplyPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarNotesReplyPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarNotesReplyPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarNotesReplyPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarNotesReplyPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarNotesReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarNotesReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarNotesReplyPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AvatarNotesReplyPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarNotesReplyPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AvatarNotesReplyPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarNotesReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AvatarNotesReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarNotesReplyPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.AvatarNotesReplyPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarNotesReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.AvatarNotesReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.AvatarNotesReplyPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AvatarNotesReplyPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AvatarNotesReplyPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.AvatarNotesReplyPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AvatarNotesReplyPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AvatarNotesReplyPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AvatarNotesReplyPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.AvatarNotesReplyPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AvatarNotesReplyPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
    }
    impl AvatarNotesReplyPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.AvatarNotesReplyPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarNotesReplyPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarNotesReplyPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarNotesReplyPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarNotesReplyPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarNotesReplyPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarNotesReplyPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarNotesReplyPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarNotesReplyPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarNotesReplyPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarNotesReplyPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AvatarNotesReplyPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AvatarNotesReplyPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AvatarNotesReplyPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AvatarNotesReplyPacket.DataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AvatarNotesReplyPacket.DataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AvatarNotesReplyPacketDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.AvatarNotesReplyPacket.DataBlock.Notes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AvatarNotesReplyPacket.DataBlock.Notes`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub notes: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.AvatarNotesReplyPacket.DataBlock.TargetID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AvatarNotesReplyPacket.DataBlock.TargetID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub target_id: libremetaverse_types::UUID,
    }
    impl AvatarNotesReplyPacketDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.AvatarNotesReplyPacket.DataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarNotesReplyPacket.DataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarNotesReplyPacket.DataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarNotesReplyPacket.DataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarNotesReplyPacket.DataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarNotesReplyPacket.DataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarNotesReplyPacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarNotesReplyPacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarNotesReplyPacket.DataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarNotesReplyPacket.DataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarNotesReplyPacket.DataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AvatarNotesReplyPacket.DataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AvatarNotesReplyPacket.DataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AvatarNotesReplyPacket.DataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AvatarNotesUpdatePacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AvatarNotesUpdatePacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AvatarNotesUpdatePacket {
        /// C# member: `F:LibreMetaverse.Packets.AvatarNotesUpdatePacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarNotesUpdatePacket.AgentDataBlock LibreMetaverse.Packets.AvatarNotesUpdatePacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::AvatarNotesUpdatePacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.AvatarNotesUpdatePacket.Data`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarNotesUpdatePacket.DataBlock LibreMetaverse.Packets.AvatarNotesUpdatePacket.Data`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub data: libremetaverse::packets::AvatarNotesUpdatePacketDataBlock,
    }
    impl AvatarNotesUpdatePacket {
        /// C# member: `M:LibreMetaverse.Packets.AvatarNotesUpdatePacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarNotesUpdatePacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarNotesUpdatePacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarNotesUpdatePacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarNotesUpdatePacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarNotesUpdatePacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarNotesUpdatePacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarNotesUpdatePacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarNotesUpdatePacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarNotesUpdatePacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarNotesUpdatePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarNotesUpdatePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarNotesUpdatePacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AvatarNotesUpdatePacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarNotesUpdatePacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AvatarNotesUpdatePacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarNotesUpdatePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AvatarNotesUpdatePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarNotesUpdatePacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.AvatarNotesUpdatePacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarNotesUpdatePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.AvatarNotesUpdatePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.AvatarNotesUpdatePacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AvatarNotesUpdatePacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AvatarNotesUpdatePacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.AvatarNotesUpdatePacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AvatarNotesUpdatePacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AvatarNotesUpdatePacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AvatarNotesUpdatePacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.AvatarNotesUpdatePacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AvatarNotesUpdatePacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.AvatarNotesUpdatePacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AvatarNotesUpdatePacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl AvatarNotesUpdatePacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.AvatarNotesUpdatePacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarNotesUpdatePacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarNotesUpdatePacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarNotesUpdatePacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarNotesUpdatePacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarNotesUpdatePacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarNotesUpdatePacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarNotesUpdatePacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarNotesUpdatePacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarNotesUpdatePacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarNotesUpdatePacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AvatarNotesUpdatePacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AvatarNotesUpdatePacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AvatarNotesUpdatePacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AvatarNotesUpdatePacket.DataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AvatarNotesUpdatePacket.DataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AvatarNotesUpdatePacketDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.AvatarNotesUpdatePacket.DataBlock.Notes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AvatarNotesUpdatePacket.DataBlock.Notes`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub notes: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.AvatarNotesUpdatePacket.DataBlock.TargetID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AvatarNotesUpdatePacket.DataBlock.TargetID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub target_id: libremetaverse_types::UUID,
    }
    impl AvatarNotesUpdatePacketDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.AvatarNotesUpdatePacket.DataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarNotesUpdatePacket.DataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarNotesUpdatePacket.DataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarNotesUpdatePacket.DataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarNotesUpdatePacket.DataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarNotesUpdatePacket.DataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarNotesUpdatePacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarNotesUpdatePacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarNotesUpdatePacket.DataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarNotesUpdatePacket.DataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarNotesUpdatePacket.DataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AvatarNotesUpdatePacket.DataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AvatarNotesUpdatePacket.DataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AvatarNotesUpdatePacket.DataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AvatarPickerReplyPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AvatarPickerReplyPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AvatarPickerReplyPacket {
        /// C# member: `F:LibreMetaverse.Packets.AvatarPickerReplyPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarPickerReplyPacket.AgentDataBlock LibreMetaverse.Packets.AvatarPickerReplyPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::AvatarPickerReplyPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.AvatarPickerReplyPacket.Data`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarPickerReplyPacket.DataBlock[] LibreMetaverse.Packets.AvatarPickerReplyPacket.Data`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub data: Vec<libremetaverse::packets::AvatarPickerReplyPacketDataBlock>,
    }
    impl AvatarPickerReplyPacket {
        /// C# member: `M:LibreMetaverse.Packets.AvatarPickerReplyPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarPickerReplyPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPickerReplyPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarPickerReplyPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPickerReplyPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarPickerReplyPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPickerReplyPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarPickerReplyPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPickerReplyPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarPickerReplyPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPickerReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarPickerReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPickerReplyPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AvatarPickerReplyPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPickerReplyPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AvatarPickerReplyPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPickerReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AvatarPickerReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPickerReplyPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.AvatarPickerReplyPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPickerReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.AvatarPickerReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.AvatarPickerReplyPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AvatarPickerReplyPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AvatarPickerReplyPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.AvatarPickerReplyPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AvatarPickerReplyPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AvatarPickerReplyPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AvatarPickerReplyPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.AvatarPickerReplyPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AvatarPickerReplyPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.AvatarPickerReplyPacket.AgentDataBlock.QueryID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AvatarPickerReplyPacket.AgentDataBlock.QueryID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub query_id: libremetaverse_types::UUID,
    }
    impl AvatarPickerReplyPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.AvatarPickerReplyPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarPickerReplyPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPickerReplyPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarPickerReplyPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPickerReplyPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarPickerReplyPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPickerReplyPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarPickerReplyPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPickerReplyPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarPickerReplyPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPickerReplyPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AvatarPickerReplyPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AvatarPickerReplyPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AvatarPickerReplyPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AvatarPickerReplyPacket.DataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AvatarPickerReplyPacket.DataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AvatarPickerReplyPacketDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.AvatarPickerReplyPacket.DataBlock.AvatarID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AvatarPickerReplyPacket.DataBlock.AvatarID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub avatar_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.AvatarPickerReplyPacket.DataBlock.FirstName`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AvatarPickerReplyPacket.DataBlock.FirstName`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub first_name: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.AvatarPickerReplyPacket.DataBlock.LastName`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AvatarPickerReplyPacket.DataBlock.LastName`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub last_name: Vec<u8>,
    }
    impl AvatarPickerReplyPacketDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.AvatarPickerReplyPacket.DataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarPickerReplyPacket.DataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPickerReplyPacket.DataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarPickerReplyPacket.DataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPickerReplyPacket.DataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarPickerReplyPacket.DataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPickerReplyPacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarPickerReplyPacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPickerReplyPacket.DataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarPickerReplyPacket.DataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPickerReplyPacket.DataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AvatarPickerReplyPacket.DataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AvatarPickerReplyPacket.DataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AvatarPickerReplyPacket.DataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AvatarPickerRequestBackendPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AvatarPickerRequestBackendPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AvatarPickerRequestBackendPacket {
        /// C# member: `F:LibreMetaverse.Packets.AvatarPickerRequestBackendPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarPickerRequestBackendPacket.AgentDataBlock LibreMetaverse.Packets.AvatarPickerRequestBackendPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::AvatarPickerRequestBackendPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.AvatarPickerRequestBackendPacket.Data`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarPickerRequestBackendPacket.DataBlock LibreMetaverse.Packets.AvatarPickerRequestBackendPacket.Data`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub data: libremetaverse::packets::AvatarPickerRequestBackendPacketDataBlock,
    }
    impl AvatarPickerRequestBackendPacket {
        /// C# member: `M:LibreMetaverse.Packets.AvatarPickerRequestBackendPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarPickerRequestBackendPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPickerRequestBackendPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarPickerRequestBackendPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPickerRequestBackendPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarPickerRequestBackendPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPickerRequestBackendPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarPickerRequestBackendPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPickerRequestBackendPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarPickerRequestBackendPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPickerRequestBackendPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarPickerRequestBackendPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPickerRequestBackendPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AvatarPickerRequestBackendPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPickerRequestBackendPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AvatarPickerRequestBackendPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPickerRequestBackendPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AvatarPickerRequestBackendPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPickerRequestBackendPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.AvatarPickerRequestBackendPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPickerRequestBackendPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.AvatarPickerRequestBackendPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.AvatarPickerRequestBackendPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AvatarPickerRequestBackendPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AvatarPickerRequestBackendPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.AvatarPickerRequestBackendPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AvatarPickerRequestBackendPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AvatarPickerRequestBackendPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AvatarPickerRequestBackendPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.AvatarPickerRequestBackendPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AvatarPickerRequestBackendPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.AvatarPickerRequestBackendPacket.AgentDataBlock.GodLevel`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.AvatarPickerRequestBackendPacket.AgentDataBlock.GodLevel`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub god_level: u8,
        /// C# member: `F:LibreMetaverse.Packets.AvatarPickerRequestBackendPacket.AgentDataBlock.QueryID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AvatarPickerRequestBackendPacket.AgentDataBlock.QueryID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub query_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.AvatarPickerRequestBackendPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AvatarPickerRequestBackendPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl AvatarPickerRequestBackendPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.AvatarPickerRequestBackendPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarPickerRequestBackendPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPickerRequestBackendPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarPickerRequestBackendPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPickerRequestBackendPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarPickerRequestBackendPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPickerRequestBackendPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarPickerRequestBackendPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPickerRequestBackendPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarPickerRequestBackendPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPickerRequestBackendPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AvatarPickerRequestBackendPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AvatarPickerRequestBackendPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AvatarPickerRequestBackendPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AvatarPickerRequestBackendPacket.DataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AvatarPickerRequestBackendPacket.DataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AvatarPickerRequestBackendPacketDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.AvatarPickerRequestBackendPacket.DataBlock.Name`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AvatarPickerRequestBackendPacket.DataBlock.Name`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub name: Vec<u8>,
    }
    impl AvatarPickerRequestBackendPacketDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.AvatarPickerRequestBackendPacket.DataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarPickerRequestBackendPacket.DataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPickerRequestBackendPacket.DataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarPickerRequestBackendPacket.DataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPickerRequestBackendPacket.DataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarPickerRequestBackendPacket.DataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPickerRequestBackendPacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarPickerRequestBackendPacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPickerRequestBackendPacket.DataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarPickerRequestBackendPacket.DataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPickerRequestBackendPacket.DataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AvatarPickerRequestBackendPacket.DataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AvatarPickerRequestBackendPacket.DataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AvatarPickerRequestBackendPacket.DataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AvatarPickerRequestPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AvatarPickerRequestPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AvatarPickerRequestPacket {
        /// C# member: `F:LibreMetaverse.Packets.AvatarPickerRequestPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarPickerRequestPacket.AgentDataBlock LibreMetaverse.Packets.AvatarPickerRequestPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::AvatarPickerRequestPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.AvatarPickerRequestPacket.Data`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarPickerRequestPacket.DataBlock LibreMetaverse.Packets.AvatarPickerRequestPacket.Data`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub data: libremetaverse::packets::AvatarPickerRequestPacketDataBlock,
    }
    impl AvatarPickerRequestPacket {
        /// C# member: `M:LibreMetaverse.Packets.AvatarPickerRequestPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarPickerRequestPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPickerRequestPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarPickerRequestPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPickerRequestPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarPickerRequestPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPickerRequestPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarPickerRequestPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPickerRequestPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarPickerRequestPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPickerRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarPickerRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPickerRequestPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AvatarPickerRequestPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPickerRequestPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AvatarPickerRequestPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPickerRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AvatarPickerRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPickerRequestPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.AvatarPickerRequestPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPickerRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.AvatarPickerRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.AvatarPickerRequestPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AvatarPickerRequestPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AvatarPickerRequestPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.AvatarPickerRequestPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AvatarPickerRequestPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AvatarPickerRequestPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AvatarPickerRequestPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.AvatarPickerRequestPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AvatarPickerRequestPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.AvatarPickerRequestPacket.AgentDataBlock.QueryID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AvatarPickerRequestPacket.AgentDataBlock.QueryID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub query_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.AvatarPickerRequestPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AvatarPickerRequestPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl AvatarPickerRequestPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.AvatarPickerRequestPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarPickerRequestPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPickerRequestPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarPickerRequestPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPickerRequestPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarPickerRequestPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPickerRequestPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarPickerRequestPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPickerRequestPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarPickerRequestPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPickerRequestPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AvatarPickerRequestPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AvatarPickerRequestPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AvatarPickerRequestPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AvatarPickerRequestPacket.DataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AvatarPickerRequestPacket.DataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AvatarPickerRequestPacketDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.AvatarPickerRequestPacket.DataBlock.Name`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AvatarPickerRequestPacket.DataBlock.Name`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub name: Vec<u8>,
    }
    impl AvatarPickerRequestPacketDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.AvatarPickerRequestPacket.DataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarPickerRequestPacket.DataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPickerRequestPacket.DataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarPickerRequestPacket.DataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPickerRequestPacket.DataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarPickerRequestPacket.DataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPickerRequestPacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarPickerRequestPacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPickerRequestPacket.DataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarPickerRequestPacket.DataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPickerRequestPacket.DataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AvatarPickerRequestPacket.DataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AvatarPickerRequestPacket.DataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AvatarPickerRequestPacket.DataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AvatarPicksReplyPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AvatarPicksReplyPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AvatarPicksReplyPacket {
        /// C# member: `F:LibreMetaverse.Packets.AvatarPicksReplyPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarPicksReplyPacket.AgentDataBlock LibreMetaverse.Packets.AvatarPicksReplyPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::AvatarPicksReplyPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.AvatarPicksReplyPacket.Data`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarPicksReplyPacket.DataBlock[] LibreMetaverse.Packets.AvatarPicksReplyPacket.Data`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub data: Vec<libremetaverse::packets::AvatarPicksReplyPacketDataBlock>,
    }
    impl AvatarPicksReplyPacket {
        /// C# member: `M:LibreMetaverse.Packets.AvatarPicksReplyPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarPicksReplyPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPicksReplyPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarPicksReplyPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPicksReplyPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarPicksReplyPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPicksReplyPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarPicksReplyPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPicksReplyPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarPicksReplyPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPicksReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarPicksReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPicksReplyPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AvatarPicksReplyPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPicksReplyPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AvatarPicksReplyPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPicksReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AvatarPicksReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPicksReplyPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.AvatarPicksReplyPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPicksReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.AvatarPicksReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.AvatarPicksReplyPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AvatarPicksReplyPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AvatarPicksReplyPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.AvatarPicksReplyPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AvatarPicksReplyPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AvatarPicksReplyPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AvatarPicksReplyPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.AvatarPicksReplyPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AvatarPicksReplyPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.AvatarPicksReplyPacket.AgentDataBlock.TargetID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AvatarPicksReplyPacket.AgentDataBlock.TargetID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub target_id: libremetaverse_types::UUID,
    }
    impl AvatarPicksReplyPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.AvatarPicksReplyPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarPicksReplyPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPicksReplyPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarPicksReplyPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPicksReplyPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarPicksReplyPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPicksReplyPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarPicksReplyPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPicksReplyPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarPicksReplyPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPicksReplyPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AvatarPicksReplyPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AvatarPicksReplyPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AvatarPicksReplyPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AvatarPicksReplyPacket.DataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AvatarPicksReplyPacket.DataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AvatarPicksReplyPacketDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.AvatarPicksReplyPacket.DataBlock.PickID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AvatarPicksReplyPacket.DataBlock.PickID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub pick_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.AvatarPicksReplyPacket.DataBlock.PickName`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AvatarPicksReplyPacket.DataBlock.PickName`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub pick_name: Vec<u8>,
    }
    impl AvatarPicksReplyPacketDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.AvatarPicksReplyPacket.DataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarPicksReplyPacket.DataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPicksReplyPacket.DataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarPicksReplyPacket.DataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPicksReplyPacket.DataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarPicksReplyPacket.DataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPicksReplyPacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarPicksReplyPacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPicksReplyPacket.DataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarPicksReplyPacket.DataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPicksReplyPacket.DataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AvatarPicksReplyPacket.DataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AvatarPicksReplyPacket.DataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AvatarPicksReplyPacket.DataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AvatarPropertiesReplyPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AvatarPropertiesReplyPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AvatarPropertiesReplyPacket {
        /// C# member: `F:LibreMetaverse.Packets.AvatarPropertiesReplyPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarPropertiesReplyPacket.AgentDataBlock LibreMetaverse.Packets.AvatarPropertiesReplyPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::AvatarPropertiesReplyPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.AvatarPropertiesReplyPacket.PropertiesData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarPropertiesReplyPacket.PropertiesDataBlock LibreMetaverse.Packets.AvatarPropertiesReplyPacket.PropertiesData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub properties_data:
            libremetaverse::packets::AvatarPropertiesReplyPacketPropertiesDataBlock,
    }
    impl AvatarPropertiesReplyPacket {
        /// C# member: `M:LibreMetaverse.Packets.AvatarPropertiesReplyPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarPropertiesReplyPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPropertiesReplyPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarPropertiesReplyPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPropertiesReplyPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarPropertiesReplyPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPropertiesReplyPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarPropertiesReplyPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPropertiesReplyPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarPropertiesReplyPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPropertiesReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarPropertiesReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPropertiesReplyPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AvatarPropertiesReplyPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPropertiesReplyPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AvatarPropertiesReplyPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPropertiesReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AvatarPropertiesReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPropertiesReplyPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.AvatarPropertiesReplyPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPropertiesReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.AvatarPropertiesReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.AvatarPropertiesReplyPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AvatarPropertiesReplyPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AvatarPropertiesReplyPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.AvatarPropertiesReplyPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AvatarPropertiesReplyPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AvatarPropertiesReplyPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AvatarPropertiesReplyPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.AvatarPropertiesReplyPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AvatarPropertiesReplyPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.AvatarPropertiesReplyPacket.AgentDataBlock.AvatarID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AvatarPropertiesReplyPacket.AgentDataBlock.AvatarID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub avatar_id: libremetaverse_types::UUID,
    }
    impl AvatarPropertiesReplyPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.AvatarPropertiesReplyPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarPropertiesReplyPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPropertiesReplyPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarPropertiesReplyPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPropertiesReplyPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarPropertiesReplyPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPropertiesReplyPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarPropertiesReplyPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPropertiesReplyPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarPropertiesReplyPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPropertiesReplyPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AvatarPropertiesReplyPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AvatarPropertiesReplyPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AvatarPropertiesReplyPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AvatarPropertiesReplyPacket.PropertiesDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AvatarPropertiesReplyPacket.PropertiesDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AvatarPropertiesReplyPacketPropertiesDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.AvatarPropertiesReplyPacket.PropertiesDataBlock.AboutText`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AvatarPropertiesReplyPacket.PropertiesDataBlock.AboutText`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub about_text: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.AvatarPropertiesReplyPacket.PropertiesDataBlock.BornOn`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AvatarPropertiesReplyPacket.PropertiesDataBlock.BornOn`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub born_on: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.AvatarPropertiesReplyPacket.PropertiesDataBlock.CharterMember`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AvatarPropertiesReplyPacket.PropertiesDataBlock.CharterMember`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub charter_member: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.AvatarPropertiesReplyPacket.PropertiesDataBlock.FLAboutText`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AvatarPropertiesReplyPacket.PropertiesDataBlock.FLAboutText`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub fl_about_text: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.AvatarPropertiesReplyPacket.PropertiesDataBlock.FLImageID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AvatarPropertiesReplyPacket.PropertiesDataBlock.FLImageID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub fl_image_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.AvatarPropertiesReplyPacket.PropertiesDataBlock.Flags`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.AvatarPropertiesReplyPacket.PropertiesDataBlock.Flags`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub flags: u32,
        /// C# member: `F:LibreMetaverse.Packets.AvatarPropertiesReplyPacket.PropertiesDataBlock.ImageID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AvatarPropertiesReplyPacket.PropertiesDataBlock.ImageID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub image_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.AvatarPropertiesReplyPacket.PropertiesDataBlock.PartnerID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AvatarPropertiesReplyPacket.PropertiesDataBlock.PartnerID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub partner_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.AvatarPropertiesReplyPacket.PropertiesDataBlock.ProfileURL`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AvatarPropertiesReplyPacket.PropertiesDataBlock.ProfileURL`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub profile_url: Vec<u8>,
    }
    impl AvatarPropertiesReplyPacketPropertiesDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.AvatarPropertiesReplyPacket.PropertiesDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarPropertiesReplyPacket.PropertiesDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPropertiesReplyPacket.PropertiesDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarPropertiesReplyPacket.PropertiesDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPropertiesReplyPacket.PropertiesDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarPropertiesReplyPacket.PropertiesDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPropertiesReplyPacket.PropertiesDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarPropertiesReplyPacket.PropertiesDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPropertiesReplyPacket.PropertiesDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarPropertiesReplyPacket.PropertiesDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPropertiesReplyPacket.PropertiesDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AvatarPropertiesReplyPacket.PropertiesDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AvatarPropertiesReplyPacket.PropertiesDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AvatarPropertiesReplyPacket.PropertiesDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AvatarPropertiesRequestBackendPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AvatarPropertiesRequestBackendPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AvatarPropertiesRequestBackendPacket {
        /// C# member: `F:LibreMetaverse.Packets.AvatarPropertiesRequestBackendPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarPropertiesRequestBackendPacket.AgentDataBlock LibreMetaverse.Packets.AvatarPropertiesRequestBackendPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::AvatarPropertiesRequestBackendPacketAgentDataBlock,
    }
    impl AvatarPropertiesRequestBackendPacket {
        /// C# member: `M:LibreMetaverse.Packets.AvatarPropertiesRequestBackendPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarPropertiesRequestBackendPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPropertiesRequestBackendPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarPropertiesRequestBackendPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPropertiesRequestBackendPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarPropertiesRequestBackendPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPropertiesRequestBackendPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarPropertiesRequestBackendPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPropertiesRequestBackendPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarPropertiesRequestBackendPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPropertiesRequestBackendPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarPropertiesRequestBackendPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPropertiesRequestBackendPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AvatarPropertiesRequestBackendPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPropertiesRequestBackendPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AvatarPropertiesRequestBackendPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPropertiesRequestBackendPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AvatarPropertiesRequestBackendPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPropertiesRequestBackendPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.AvatarPropertiesRequestBackendPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPropertiesRequestBackendPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.AvatarPropertiesRequestBackendPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.AvatarPropertiesRequestBackendPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AvatarPropertiesRequestBackendPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AvatarPropertiesRequestBackendPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.AvatarPropertiesRequestBackendPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AvatarPropertiesRequestBackendPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AvatarPropertiesRequestBackendPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AvatarPropertiesRequestBackendPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.AvatarPropertiesRequestBackendPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AvatarPropertiesRequestBackendPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.AvatarPropertiesRequestBackendPacket.AgentDataBlock.AvatarID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AvatarPropertiesRequestBackendPacket.AgentDataBlock.AvatarID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub avatar_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.AvatarPropertiesRequestBackendPacket.AgentDataBlock.GodLevel`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.AvatarPropertiesRequestBackendPacket.AgentDataBlock.GodLevel`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub god_level: u8,
        /// C# member: `F:LibreMetaverse.Packets.AvatarPropertiesRequestBackendPacket.AgentDataBlock.WebProfilesDisabled`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.AvatarPropertiesRequestBackendPacket.AgentDataBlock.WebProfilesDisabled`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub web_profiles_disabled: bool,
    }
    impl AvatarPropertiesRequestBackendPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.AvatarPropertiesRequestBackendPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarPropertiesRequestBackendPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPropertiesRequestBackendPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarPropertiesRequestBackendPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPropertiesRequestBackendPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarPropertiesRequestBackendPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPropertiesRequestBackendPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarPropertiesRequestBackendPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPropertiesRequestBackendPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarPropertiesRequestBackendPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPropertiesRequestBackendPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AvatarPropertiesRequestBackendPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AvatarPropertiesRequestBackendPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AvatarPropertiesRequestBackendPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AvatarPropertiesRequestPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AvatarPropertiesRequestPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AvatarPropertiesRequestPacket {
        /// C# member: `F:LibreMetaverse.Packets.AvatarPropertiesRequestPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarPropertiesRequestPacket.AgentDataBlock LibreMetaverse.Packets.AvatarPropertiesRequestPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::AvatarPropertiesRequestPacketAgentDataBlock,
    }
    impl AvatarPropertiesRequestPacket {
        /// C# member: `M:LibreMetaverse.Packets.AvatarPropertiesRequestPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarPropertiesRequestPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPropertiesRequestPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarPropertiesRequestPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPropertiesRequestPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarPropertiesRequestPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPropertiesRequestPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarPropertiesRequestPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPropertiesRequestPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarPropertiesRequestPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPropertiesRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarPropertiesRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPropertiesRequestPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AvatarPropertiesRequestPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPropertiesRequestPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AvatarPropertiesRequestPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPropertiesRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AvatarPropertiesRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPropertiesRequestPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.AvatarPropertiesRequestPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPropertiesRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.AvatarPropertiesRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.AvatarPropertiesRequestPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AvatarPropertiesRequestPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AvatarPropertiesRequestPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.AvatarPropertiesRequestPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AvatarPropertiesRequestPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AvatarPropertiesRequestPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AvatarPropertiesRequestPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.AvatarPropertiesRequestPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AvatarPropertiesRequestPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.AvatarPropertiesRequestPacket.AgentDataBlock.AvatarID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AvatarPropertiesRequestPacket.AgentDataBlock.AvatarID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub avatar_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.AvatarPropertiesRequestPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AvatarPropertiesRequestPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl AvatarPropertiesRequestPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.AvatarPropertiesRequestPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarPropertiesRequestPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPropertiesRequestPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarPropertiesRequestPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPropertiesRequestPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarPropertiesRequestPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPropertiesRequestPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarPropertiesRequestPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPropertiesRequestPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarPropertiesRequestPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPropertiesRequestPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AvatarPropertiesRequestPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AvatarPropertiesRequestPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AvatarPropertiesRequestPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AvatarPropertiesUpdatePacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AvatarPropertiesUpdatePacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AvatarPropertiesUpdatePacket {
        /// C# member: `F:LibreMetaverse.Packets.AvatarPropertiesUpdatePacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarPropertiesUpdatePacket.AgentDataBlock LibreMetaverse.Packets.AvatarPropertiesUpdatePacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::AvatarPropertiesUpdatePacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.AvatarPropertiesUpdatePacket.PropertiesData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarPropertiesUpdatePacket.PropertiesDataBlock LibreMetaverse.Packets.AvatarPropertiesUpdatePacket.PropertiesData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub properties_data:
            libremetaverse::packets::AvatarPropertiesUpdatePacketPropertiesDataBlock,
    }
    impl AvatarPropertiesUpdatePacket {
        /// C# member: `M:LibreMetaverse.Packets.AvatarPropertiesUpdatePacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarPropertiesUpdatePacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPropertiesUpdatePacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarPropertiesUpdatePacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPropertiesUpdatePacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarPropertiesUpdatePacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPropertiesUpdatePacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarPropertiesUpdatePacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPropertiesUpdatePacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarPropertiesUpdatePacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPropertiesUpdatePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarPropertiesUpdatePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPropertiesUpdatePacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AvatarPropertiesUpdatePacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPropertiesUpdatePacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AvatarPropertiesUpdatePacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPropertiesUpdatePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AvatarPropertiesUpdatePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPropertiesUpdatePacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.AvatarPropertiesUpdatePacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPropertiesUpdatePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.AvatarPropertiesUpdatePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.AvatarPropertiesUpdatePacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AvatarPropertiesUpdatePacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AvatarPropertiesUpdatePacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.AvatarPropertiesUpdatePacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AvatarPropertiesUpdatePacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AvatarPropertiesUpdatePacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AvatarPropertiesUpdatePacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.AvatarPropertiesUpdatePacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AvatarPropertiesUpdatePacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.AvatarPropertiesUpdatePacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AvatarPropertiesUpdatePacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl AvatarPropertiesUpdatePacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.AvatarPropertiesUpdatePacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarPropertiesUpdatePacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPropertiesUpdatePacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarPropertiesUpdatePacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPropertiesUpdatePacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarPropertiesUpdatePacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPropertiesUpdatePacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarPropertiesUpdatePacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPropertiesUpdatePacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarPropertiesUpdatePacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPropertiesUpdatePacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AvatarPropertiesUpdatePacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AvatarPropertiesUpdatePacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AvatarPropertiesUpdatePacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AvatarPropertiesUpdatePacket.PropertiesDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AvatarPropertiesUpdatePacket.PropertiesDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AvatarPropertiesUpdatePacketPropertiesDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.AvatarPropertiesUpdatePacket.PropertiesDataBlock.AboutText`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AvatarPropertiesUpdatePacket.PropertiesDataBlock.AboutText`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub about_text: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.AvatarPropertiesUpdatePacket.PropertiesDataBlock.AllowPublish`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.AvatarPropertiesUpdatePacket.PropertiesDataBlock.AllowPublish`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub allow_publish: bool,
        /// C# member: `F:LibreMetaverse.Packets.AvatarPropertiesUpdatePacket.PropertiesDataBlock.FLAboutText`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AvatarPropertiesUpdatePacket.PropertiesDataBlock.FLAboutText`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub fl_about_text: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.AvatarPropertiesUpdatePacket.PropertiesDataBlock.FLImageID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AvatarPropertiesUpdatePacket.PropertiesDataBlock.FLImageID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub fl_image_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.AvatarPropertiesUpdatePacket.PropertiesDataBlock.ImageID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AvatarPropertiesUpdatePacket.PropertiesDataBlock.ImageID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub image_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.AvatarPropertiesUpdatePacket.PropertiesDataBlock.MaturePublish`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.AvatarPropertiesUpdatePacket.PropertiesDataBlock.MaturePublish`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub mature_publish: bool,
        /// C# member: `F:LibreMetaverse.Packets.AvatarPropertiesUpdatePacket.PropertiesDataBlock.ProfileURL`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AvatarPropertiesUpdatePacket.PropertiesDataBlock.ProfileURL`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub profile_url: Vec<u8>,
    }
    impl AvatarPropertiesUpdatePacketPropertiesDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.AvatarPropertiesUpdatePacket.PropertiesDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarPropertiesUpdatePacket.PropertiesDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPropertiesUpdatePacket.PropertiesDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarPropertiesUpdatePacket.PropertiesDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPropertiesUpdatePacket.PropertiesDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarPropertiesUpdatePacket.PropertiesDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPropertiesUpdatePacket.PropertiesDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarPropertiesUpdatePacket.PropertiesDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPropertiesUpdatePacket.PropertiesDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarPropertiesUpdatePacket.PropertiesDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarPropertiesUpdatePacket.PropertiesDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AvatarPropertiesUpdatePacket.PropertiesDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AvatarPropertiesUpdatePacket.PropertiesDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AvatarPropertiesUpdatePacket.PropertiesDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AvatarSitResponsePacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AvatarSitResponsePacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AvatarSitResponsePacket {
        /// C# member: `F:LibreMetaverse.Packets.AvatarSitResponsePacket.SitObject`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarSitResponsePacket.SitObjectBlock LibreMetaverse.Packets.AvatarSitResponsePacket.SitObject`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub sit_object: libremetaverse::packets::AvatarSitResponsePacketSitObjectBlock,
        /// C# member: `F:LibreMetaverse.Packets.AvatarSitResponsePacket.SitTransform`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarSitResponsePacket.SitTransformBlock LibreMetaverse.Packets.AvatarSitResponsePacket.SitTransform`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub sit_transform: libremetaverse::packets::AvatarSitResponsePacketSitTransformBlock,
    }
    impl AvatarSitResponsePacket {
        /// C# member: `M:LibreMetaverse.Packets.AvatarSitResponsePacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarSitResponsePacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarSitResponsePacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarSitResponsePacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarSitResponsePacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarSitResponsePacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarSitResponsePacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarSitResponsePacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarSitResponsePacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarSitResponsePacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarSitResponsePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarSitResponsePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarSitResponsePacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AvatarSitResponsePacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarSitResponsePacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AvatarSitResponsePacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarSitResponsePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AvatarSitResponsePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarSitResponsePacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.AvatarSitResponsePacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarSitResponsePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.AvatarSitResponsePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.AvatarSitResponsePacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AvatarSitResponsePacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AvatarSitResponsePacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.AvatarSitResponsePacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AvatarSitResponsePacket.SitObjectBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AvatarSitResponsePacket.SitObjectBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AvatarSitResponsePacketSitObjectBlock {
        /// C# member: `F:LibreMetaverse.Packets.AvatarSitResponsePacket.SitObjectBlock.ID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AvatarSitResponsePacket.SitObjectBlock.ID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub id: libremetaverse_types::UUID,
    }
    impl AvatarSitResponsePacketSitObjectBlock {
        /// C# member: `M:LibreMetaverse.Packets.AvatarSitResponsePacket.SitObjectBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarSitResponsePacket.SitObjectBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarSitResponsePacket.SitObjectBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarSitResponsePacket.SitObjectBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarSitResponsePacket.SitObjectBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarSitResponsePacket.SitObjectBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarSitResponsePacket.SitObjectBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarSitResponsePacket.SitObjectBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarSitResponsePacket.SitObjectBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarSitResponsePacket.SitObjectBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarSitResponsePacket.SitObjectBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AvatarSitResponsePacket.SitObjectBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AvatarSitResponsePacket.SitObjectBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AvatarSitResponsePacket.SitObjectBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AvatarSitResponsePacket.SitTransformBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AvatarSitResponsePacket.SitTransformBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AvatarSitResponsePacketSitTransformBlock {
        /// C# member: `F:LibreMetaverse.Packets.AvatarSitResponsePacket.SitTransformBlock.AutoPilot`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.AvatarSitResponsePacket.SitTransformBlock.AutoPilot`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub auto_pilot: bool,
        /// C# member: `F:LibreMetaverse.Packets.AvatarSitResponsePacket.SitTransformBlock.CameraAtOffset`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Packets.AvatarSitResponsePacket.SitTransformBlock.CameraAtOffset`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub camera_at_offset: libremetaverse_types::Vector3,
        /// C# member: `F:LibreMetaverse.Packets.AvatarSitResponsePacket.SitTransformBlock.CameraEyeOffset`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Packets.AvatarSitResponsePacket.SitTransformBlock.CameraEyeOffset`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub camera_eye_offset: libremetaverse_types::Vector3,
        /// C# member: `F:LibreMetaverse.Packets.AvatarSitResponsePacket.SitTransformBlock.ForceMouselook`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.AvatarSitResponsePacket.SitTransformBlock.ForceMouselook`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub force_mouselook: bool,
        /// C# member: `F:LibreMetaverse.Packets.AvatarSitResponsePacket.SitTransformBlock.SitPosition`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Packets.AvatarSitResponsePacket.SitTransformBlock.SitPosition`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub sit_position: libremetaverse_types::Vector3,
        /// C# member: `F:LibreMetaverse.Packets.AvatarSitResponsePacket.SitTransformBlock.SitRotation`.
        ///
        /// C# signature: `LibreMetaverse.Quaternion LibreMetaverse.Packets.AvatarSitResponsePacket.SitTransformBlock.SitRotation`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub sit_rotation: libremetaverse_types::Quaternion,
    }
    impl AvatarSitResponsePacketSitTransformBlock {
        /// C# member: `M:LibreMetaverse.Packets.AvatarSitResponsePacket.SitTransformBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarSitResponsePacket.SitTransformBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarSitResponsePacket.SitTransformBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarSitResponsePacket.SitTransformBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarSitResponsePacket.SitTransformBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarSitResponsePacket.SitTransformBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarSitResponsePacket.SitTransformBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarSitResponsePacket.SitTransformBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarSitResponsePacket.SitTransformBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarSitResponsePacket.SitTransformBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarSitResponsePacket.SitTransformBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AvatarSitResponsePacket.SitTransformBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AvatarSitResponsePacket.SitTransformBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AvatarSitResponsePacket.SitTransformBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AvatarTextureUpdatePacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AvatarTextureUpdatePacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AvatarTextureUpdatePacket {
        /// C# member: `F:LibreMetaverse.Packets.AvatarTextureUpdatePacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarTextureUpdatePacket.AgentDataBlock LibreMetaverse.Packets.AvatarTextureUpdatePacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::AvatarTextureUpdatePacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.AvatarTextureUpdatePacket.TextureData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarTextureUpdatePacket.TextureDataBlock[] LibreMetaverse.Packets.AvatarTextureUpdatePacket.TextureData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub texture_data: Vec<libremetaverse::packets::AvatarTextureUpdatePacketTextureDataBlock>,
        /// C# member: `F:LibreMetaverse.Packets.AvatarTextureUpdatePacket.WearableData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarTextureUpdatePacket.WearableDataBlock[] LibreMetaverse.Packets.AvatarTextureUpdatePacket.WearableData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub wearable_data: Vec<libremetaverse::packets::AvatarTextureUpdatePacketWearableDataBlock>,
    }
    impl AvatarTextureUpdatePacket {
        /// C# member: `M:LibreMetaverse.Packets.AvatarTextureUpdatePacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarTextureUpdatePacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarTextureUpdatePacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarTextureUpdatePacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarTextureUpdatePacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarTextureUpdatePacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarTextureUpdatePacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarTextureUpdatePacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarTextureUpdatePacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarTextureUpdatePacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarTextureUpdatePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarTextureUpdatePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarTextureUpdatePacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AvatarTextureUpdatePacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarTextureUpdatePacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AvatarTextureUpdatePacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarTextureUpdatePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AvatarTextureUpdatePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarTextureUpdatePacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.AvatarTextureUpdatePacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarTextureUpdatePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.AvatarTextureUpdatePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.AvatarTextureUpdatePacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AvatarTextureUpdatePacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AvatarTextureUpdatePacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.AvatarTextureUpdatePacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AvatarTextureUpdatePacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AvatarTextureUpdatePacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AvatarTextureUpdatePacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.AvatarTextureUpdatePacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AvatarTextureUpdatePacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.AvatarTextureUpdatePacket.AgentDataBlock.TexturesChanged`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.AvatarTextureUpdatePacket.AgentDataBlock.TexturesChanged`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub textures_changed: bool,
    }
    impl AvatarTextureUpdatePacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.AvatarTextureUpdatePacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarTextureUpdatePacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarTextureUpdatePacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarTextureUpdatePacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarTextureUpdatePacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarTextureUpdatePacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarTextureUpdatePacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarTextureUpdatePacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarTextureUpdatePacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarTextureUpdatePacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarTextureUpdatePacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AvatarTextureUpdatePacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AvatarTextureUpdatePacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AvatarTextureUpdatePacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AvatarTextureUpdatePacket.TextureDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AvatarTextureUpdatePacket.TextureDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AvatarTextureUpdatePacketTextureDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.AvatarTextureUpdatePacket.TextureDataBlock.TextureID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AvatarTextureUpdatePacket.TextureDataBlock.TextureID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub texture_id: libremetaverse_types::UUID,
    }
    impl AvatarTextureUpdatePacketTextureDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.AvatarTextureUpdatePacket.TextureDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarTextureUpdatePacket.TextureDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarTextureUpdatePacket.TextureDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarTextureUpdatePacket.TextureDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarTextureUpdatePacket.TextureDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarTextureUpdatePacket.TextureDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarTextureUpdatePacket.TextureDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarTextureUpdatePacket.TextureDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarTextureUpdatePacket.TextureDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarTextureUpdatePacket.TextureDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarTextureUpdatePacket.TextureDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AvatarTextureUpdatePacket.TextureDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AvatarTextureUpdatePacket.TextureDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AvatarTextureUpdatePacket.TextureDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.AvatarTextureUpdatePacket.WearableDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.AvatarTextureUpdatePacket.WearableDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct AvatarTextureUpdatePacketWearableDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.AvatarTextureUpdatePacket.WearableDataBlock.CacheID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.AvatarTextureUpdatePacket.WearableDataBlock.CacheID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub cache_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.AvatarTextureUpdatePacket.WearableDataBlock.HostName`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.AvatarTextureUpdatePacket.WearableDataBlock.HostName`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub host_name: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.AvatarTextureUpdatePacket.WearableDataBlock.TextureIndex`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.AvatarTextureUpdatePacket.WearableDataBlock.TextureIndex`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub texture_index: u8,
    }
    impl AvatarTextureUpdatePacketWearableDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.AvatarTextureUpdatePacket.WearableDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarTextureUpdatePacket.WearableDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarTextureUpdatePacket.WearableDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.AvatarTextureUpdatePacket.WearableDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarTextureUpdatePacket.WearableDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarTextureUpdatePacket.WearableDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarTextureUpdatePacket.WearableDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarTextureUpdatePacket.WearableDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarTextureUpdatePacket.WearableDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.AvatarTextureUpdatePacket.WearableDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.AvatarTextureUpdatePacket.WearableDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.AvatarTextureUpdatePacket.WearableDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.AvatarTextureUpdatePacket.WearableDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.AvatarTextureUpdatePacket.WearableDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.BulkUpdateInventoryPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.BulkUpdateInventoryPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct BulkUpdateInventoryPacket {
        /// C# member: `F:LibreMetaverse.Packets.BulkUpdateInventoryPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.BulkUpdateInventoryPacket.AgentDataBlock LibreMetaverse.Packets.BulkUpdateInventoryPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::BulkUpdateInventoryPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.BulkUpdateInventoryPacket.FolderData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.BulkUpdateInventoryPacket.FolderDataBlock[] LibreMetaverse.Packets.BulkUpdateInventoryPacket.FolderData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub folder_data: Vec<libremetaverse::packets::BulkUpdateInventoryPacketFolderDataBlock>,
        /// C# member: `F:LibreMetaverse.Packets.BulkUpdateInventoryPacket.ItemData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.BulkUpdateInventoryPacket.ItemDataBlock[] LibreMetaverse.Packets.BulkUpdateInventoryPacket.ItemData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub item_data: Vec<libremetaverse::packets::BulkUpdateInventoryPacketItemDataBlock>,
    }
    impl BulkUpdateInventoryPacket {
        /// C# member: `M:LibreMetaverse.Packets.BulkUpdateInventoryPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.BulkUpdateInventoryPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.BulkUpdateInventoryPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.BulkUpdateInventoryPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.BulkUpdateInventoryPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.BulkUpdateInventoryPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.BulkUpdateInventoryPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.BulkUpdateInventoryPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.BulkUpdateInventoryPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.BulkUpdateInventoryPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.BulkUpdateInventoryPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.BulkUpdateInventoryPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.BulkUpdateInventoryPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.BulkUpdateInventoryPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.BulkUpdateInventoryPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.BulkUpdateInventoryPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.BulkUpdateInventoryPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.BulkUpdateInventoryPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.BulkUpdateInventoryPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.BulkUpdateInventoryPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.BulkUpdateInventoryPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.BulkUpdateInventoryPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.BulkUpdateInventoryPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.BulkUpdateInventoryPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.BulkUpdateInventoryPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.BulkUpdateInventoryPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.BulkUpdateInventoryPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.BulkUpdateInventoryPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct BulkUpdateInventoryPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.BulkUpdateInventoryPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.BulkUpdateInventoryPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.BulkUpdateInventoryPacket.AgentDataBlock.TransactionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.BulkUpdateInventoryPacket.AgentDataBlock.TransactionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub transaction_id: libremetaverse_types::UUID,
    }
    impl BulkUpdateInventoryPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.BulkUpdateInventoryPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.BulkUpdateInventoryPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.BulkUpdateInventoryPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.BulkUpdateInventoryPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.BulkUpdateInventoryPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.BulkUpdateInventoryPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.BulkUpdateInventoryPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.BulkUpdateInventoryPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.BulkUpdateInventoryPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.BulkUpdateInventoryPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.BulkUpdateInventoryPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.BulkUpdateInventoryPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.BulkUpdateInventoryPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.BulkUpdateInventoryPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.BulkUpdateInventoryPacket.FolderDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.BulkUpdateInventoryPacket.FolderDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct BulkUpdateInventoryPacketFolderDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.BulkUpdateInventoryPacket.FolderDataBlock.FolderID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.BulkUpdateInventoryPacket.FolderDataBlock.FolderID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub folder_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.BulkUpdateInventoryPacket.FolderDataBlock.Name`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.BulkUpdateInventoryPacket.FolderDataBlock.Name`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub name: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.BulkUpdateInventoryPacket.FolderDataBlock.ParentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.BulkUpdateInventoryPacket.FolderDataBlock.ParentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub parent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.BulkUpdateInventoryPacket.FolderDataBlock.Type`.
        ///
        /// C# signature: `System.SByte LibreMetaverse.Packets.BulkUpdateInventoryPacket.FolderDataBlock.Type`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub type_: i8,
    }
    impl BulkUpdateInventoryPacketFolderDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.BulkUpdateInventoryPacket.FolderDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.BulkUpdateInventoryPacket.FolderDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.BulkUpdateInventoryPacket.FolderDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.BulkUpdateInventoryPacket.FolderDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.BulkUpdateInventoryPacket.FolderDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.BulkUpdateInventoryPacket.FolderDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.BulkUpdateInventoryPacket.FolderDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.BulkUpdateInventoryPacket.FolderDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.BulkUpdateInventoryPacket.FolderDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.BulkUpdateInventoryPacket.FolderDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.BulkUpdateInventoryPacket.FolderDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.BulkUpdateInventoryPacket.FolderDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.BulkUpdateInventoryPacket.FolderDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.BulkUpdateInventoryPacket.FolderDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.BulkUpdateInventoryPacket.ItemDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.BulkUpdateInventoryPacket.ItemDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct BulkUpdateInventoryPacketItemDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.BulkUpdateInventoryPacket.ItemDataBlock.AssetID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.BulkUpdateInventoryPacket.ItemDataBlock.AssetID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub asset_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.BulkUpdateInventoryPacket.ItemDataBlock.BaseMask`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.BulkUpdateInventoryPacket.ItemDataBlock.BaseMask`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub base_mask: u32,
        /// C# member: `F:LibreMetaverse.Packets.BulkUpdateInventoryPacket.ItemDataBlock.CRC`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.BulkUpdateInventoryPacket.ItemDataBlock.CRC`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub crc: u32,
        /// C# member: `F:LibreMetaverse.Packets.BulkUpdateInventoryPacket.ItemDataBlock.CallbackID`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.BulkUpdateInventoryPacket.ItemDataBlock.CallbackID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub callback_id: u32,
        /// C# member: `F:LibreMetaverse.Packets.BulkUpdateInventoryPacket.ItemDataBlock.CreationDate`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.BulkUpdateInventoryPacket.ItemDataBlock.CreationDate`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub creation_date: i32,
        /// C# member: `F:LibreMetaverse.Packets.BulkUpdateInventoryPacket.ItemDataBlock.CreatorID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.BulkUpdateInventoryPacket.ItemDataBlock.CreatorID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub creator_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.BulkUpdateInventoryPacket.ItemDataBlock.Description`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.BulkUpdateInventoryPacket.ItemDataBlock.Description`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub description: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.BulkUpdateInventoryPacket.ItemDataBlock.EveryoneMask`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.BulkUpdateInventoryPacket.ItemDataBlock.EveryoneMask`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub everyone_mask: u32,
        /// C# member: `F:LibreMetaverse.Packets.BulkUpdateInventoryPacket.ItemDataBlock.Flags`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.BulkUpdateInventoryPacket.ItemDataBlock.Flags`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub flags: u32,
        /// C# member: `F:LibreMetaverse.Packets.BulkUpdateInventoryPacket.ItemDataBlock.FolderID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.BulkUpdateInventoryPacket.ItemDataBlock.FolderID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub folder_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.BulkUpdateInventoryPacket.ItemDataBlock.GroupID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.BulkUpdateInventoryPacket.ItemDataBlock.GroupID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.BulkUpdateInventoryPacket.ItemDataBlock.GroupMask`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.BulkUpdateInventoryPacket.ItemDataBlock.GroupMask`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_mask: u32,
        /// C# member: `F:LibreMetaverse.Packets.BulkUpdateInventoryPacket.ItemDataBlock.GroupOwned`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.BulkUpdateInventoryPacket.ItemDataBlock.GroupOwned`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_owned: bool,
        /// C# member: `F:LibreMetaverse.Packets.BulkUpdateInventoryPacket.ItemDataBlock.InvType`.
        ///
        /// C# signature: `System.SByte LibreMetaverse.Packets.BulkUpdateInventoryPacket.ItemDataBlock.InvType`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub inv_type: i8,
        /// C# member: `F:LibreMetaverse.Packets.BulkUpdateInventoryPacket.ItemDataBlock.ItemID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.BulkUpdateInventoryPacket.ItemDataBlock.ItemID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub item_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.BulkUpdateInventoryPacket.ItemDataBlock.Name`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.BulkUpdateInventoryPacket.ItemDataBlock.Name`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub name: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.BulkUpdateInventoryPacket.ItemDataBlock.NextOwnerMask`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.BulkUpdateInventoryPacket.ItemDataBlock.NextOwnerMask`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub next_owner_mask: u32,
        /// C# member: `F:LibreMetaverse.Packets.BulkUpdateInventoryPacket.ItemDataBlock.OwnerID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.BulkUpdateInventoryPacket.ItemDataBlock.OwnerID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub owner_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.BulkUpdateInventoryPacket.ItemDataBlock.OwnerMask`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.BulkUpdateInventoryPacket.ItemDataBlock.OwnerMask`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub owner_mask: u32,
        /// C# member: `F:LibreMetaverse.Packets.BulkUpdateInventoryPacket.ItemDataBlock.SalePrice`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.BulkUpdateInventoryPacket.ItemDataBlock.SalePrice`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub sale_price: i32,
        /// C# member: `F:LibreMetaverse.Packets.BulkUpdateInventoryPacket.ItemDataBlock.SaleType`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.BulkUpdateInventoryPacket.ItemDataBlock.SaleType`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub sale_type: u8,
        /// C# member: `F:LibreMetaverse.Packets.BulkUpdateInventoryPacket.ItemDataBlock.Type`.
        ///
        /// C# signature: `System.SByte LibreMetaverse.Packets.BulkUpdateInventoryPacket.ItemDataBlock.Type`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub type_: i8,
    }
    impl BulkUpdateInventoryPacketItemDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.BulkUpdateInventoryPacket.ItemDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.BulkUpdateInventoryPacket.ItemDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.BulkUpdateInventoryPacket.ItemDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.BulkUpdateInventoryPacket.ItemDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.BulkUpdateInventoryPacket.ItemDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.BulkUpdateInventoryPacket.ItemDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.BulkUpdateInventoryPacket.ItemDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.BulkUpdateInventoryPacket.ItemDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.BulkUpdateInventoryPacket.ItemDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.BulkUpdateInventoryPacket.ItemDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.BulkUpdateInventoryPacket.ItemDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.BulkUpdateInventoryPacket.ItemDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.BulkUpdateInventoryPacket.ItemDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.BulkUpdateInventoryPacket.ItemDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.BuyObjectInventoryPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.BuyObjectInventoryPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct BuyObjectInventoryPacket {
        /// C# member: `F:LibreMetaverse.Packets.BuyObjectInventoryPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.BuyObjectInventoryPacket.AgentDataBlock LibreMetaverse.Packets.BuyObjectInventoryPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::BuyObjectInventoryPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.BuyObjectInventoryPacket.Data`.
        ///
        /// C# signature: `LibreMetaverse.Packets.BuyObjectInventoryPacket.DataBlock LibreMetaverse.Packets.BuyObjectInventoryPacket.Data`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub data: libremetaverse::packets::BuyObjectInventoryPacketDataBlock,
    }
    impl BuyObjectInventoryPacket {
        /// C# member: `M:LibreMetaverse.Packets.BuyObjectInventoryPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.BuyObjectInventoryPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.BuyObjectInventoryPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.BuyObjectInventoryPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.BuyObjectInventoryPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.BuyObjectInventoryPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.BuyObjectInventoryPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.BuyObjectInventoryPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.BuyObjectInventoryPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.BuyObjectInventoryPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.BuyObjectInventoryPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.BuyObjectInventoryPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.BuyObjectInventoryPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.BuyObjectInventoryPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.BuyObjectInventoryPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.BuyObjectInventoryPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.BuyObjectInventoryPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.BuyObjectInventoryPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.BuyObjectInventoryPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.BuyObjectInventoryPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.BuyObjectInventoryPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.BuyObjectInventoryPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.BuyObjectInventoryPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.BuyObjectInventoryPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.BuyObjectInventoryPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.BuyObjectInventoryPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.BuyObjectInventoryPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.BuyObjectInventoryPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct BuyObjectInventoryPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.BuyObjectInventoryPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.BuyObjectInventoryPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.BuyObjectInventoryPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.BuyObjectInventoryPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl BuyObjectInventoryPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.BuyObjectInventoryPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.BuyObjectInventoryPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.BuyObjectInventoryPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.BuyObjectInventoryPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.BuyObjectInventoryPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.BuyObjectInventoryPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.BuyObjectInventoryPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.BuyObjectInventoryPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.BuyObjectInventoryPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.BuyObjectInventoryPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.BuyObjectInventoryPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.BuyObjectInventoryPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.BuyObjectInventoryPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.BuyObjectInventoryPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.BuyObjectInventoryPacket.DataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.BuyObjectInventoryPacket.DataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct BuyObjectInventoryPacketDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.BuyObjectInventoryPacket.DataBlock.FolderID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.BuyObjectInventoryPacket.DataBlock.FolderID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub folder_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.BuyObjectInventoryPacket.DataBlock.ItemID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.BuyObjectInventoryPacket.DataBlock.ItemID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub item_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.BuyObjectInventoryPacket.DataBlock.ObjectID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.BuyObjectInventoryPacket.DataBlock.ObjectID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_id: libremetaverse_types::UUID,
    }
    impl BuyObjectInventoryPacketDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.BuyObjectInventoryPacket.DataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.BuyObjectInventoryPacket.DataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.BuyObjectInventoryPacket.DataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.BuyObjectInventoryPacket.DataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.BuyObjectInventoryPacket.DataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.BuyObjectInventoryPacket.DataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.BuyObjectInventoryPacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.BuyObjectInventoryPacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.BuyObjectInventoryPacket.DataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.BuyObjectInventoryPacket.DataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.BuyObjectInventoryPacket.DataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.BuyObjectInventoryPacket.DataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.BuyObjectInventoryPacket.DataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.BuyObjectInventoryPacket.DataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.CameraConstraintPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.CameraConstraintPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct CameraConstraintPacket {
        /// C# member: `F:LibreMetaverse.Packets.CameraConstraintPacket.CameraCollidePlane`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CameraConstraintPacket.CameraCollidePlaneBlock LibreMetaverse.Packets.CameraConstraintPacket.CameraCollidePlane`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub camera_collide_plane:
            libremetaverse::packets::CameraConstraintPacketCameraCollidePlaneBlock,
    }
    impl CameraConstraintPacket {
        /// C# member: `M:LibreMetaverse.Packets.CameraConstraintPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CameraConstraintPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.CameraConstraintPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CameraConstraintPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CameraConstraintPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CameraConstraintPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CameraConstraintPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CameraConstraintPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.CameraConstraintPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CameraConstraintPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.CameraConstraintPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CameraConstraintPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.CameraConstraintPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.CameraConstraintPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.CameraConstraintPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.CameraConstraintPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.CameraConstraintPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.CameraConstraintPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.CameraConstraintPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.CameraConstraintPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.CameraConstraintPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.CameraConstraintPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.CameraConstraintPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.CameraConstraintPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.CameraConstraintPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.CameraConstraintPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.CameraConstraintPacket.CameraCollidePlaneBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.CameraConstraintPacket.CameraCollidePlaneBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct CameraConstraintPacketCameraCollidePlaneBlock {
        /// C# member: `F:LibreMetaverse.Packets.CameraConstraintPacket.CameraCollidePlaneBlock.Plane`.
        ///
        /// C# signature: `LibreMetaverse.Vector4 LibreMetaverse.Packets.CameraConstraintPacket.CameraCollidePlaneBlock.Plane`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub plane: libremetaverse_types::Vector4,
    }
    impl CameraConstraintPacketCameraCollidePlaneBlock {
        /// C# member: `M:LibreMetaverse.Packets.CameraConstraintPacket.CameraCollidePlaneBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CameraConstraintPacket.CameraCollidePlaneBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.CameraConstraintPacket.CameraCollidePlaneBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CameraConstraintPacket.CameraCollidePlaneBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CameraConstraintPacket.CameraCollidePlaneBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CameraConstraintPacket.CameraCollidePlaneBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CameraConstraintPacket.CameraCollidePlaneBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CameraConstraintPacket.CameraCollidePlaneBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.CameraConstraintPacket.CameraCollidePlaneBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CameraConstraintPacket.CameraCollidePlaneBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CameraConstraintPacket.CameraCollidePlaneBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.CameraConstraintPacket.CameraCollidePlaneBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.CameraConstraintPacket.CameraCollidePlaneBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.CameraConstraintPacket.CameraCollidePlaneBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.CancelAuctionPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.CancelAuctionPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct CancelAuctionPacket {
        /// C# member: `F:LibreMetaverse.Packets.CancelAuctionPacket.ParcelData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CancelAuctionPacket.ParcelDataBlock[] LibreMetaverse.Packets.CancelAuctionPacket.ParcelData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub parcel_data: Vec<libremetaverse::packets::CancelAuctionPacketParcelDataBlock>,
    }
    impl CancelAuctionPacket {
        /// C# member: `M:LibreMetaverse.Packets.CancelAuctionPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CancelAuctionPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.CancelAuctionPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CancelAuctionPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CancelAuctionPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CancelAuctionPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CancelAuctionPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CancelAuctionPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.CancelAuctionPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CancelAuctionPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.CancelAuctionPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CancelAuctionPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.CancelAuctionPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.CancelAuctionPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.CancelAuctionPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.CancelAuctionPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.CancelAuctionPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.CancelAuctionPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.CancelAuctionPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.CancelAuctionPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.CancelAuctionPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.CancelAuctionPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.CancelAuctionPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.CancelAuctionPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.CancelAuctionPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.CancelAuctionPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.CancelAuctionPacket.ParcelDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.CancelAuctionPacket.ParcelDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct CancelAuctionPacketParcelDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.CancelAuctionPacket.ParcelDataBlock.ParcelID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.CancelAuctionPacket.ParcelDataBlock.ParcelID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub parcel_id: libremetaverse_types::UUID,
    }
    impl CancelAuctionPacketParcelDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.CancelAuctionPacket.ParcelDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CancelAuctionPacket.ParcelDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.CancelAuctionPacket.ParcelDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CancelAuctionPacket.ParcelDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CancelAuctionPacket.ParcelDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CancelAuctionPacket.ParcelDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CancelAuctionPacket.ParcelDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CancelAuctionPacket.ParcelDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.CancelAuctionPacket.ParcelDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CancelAuctionPacket.ParcelDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CancelAuctionPacket.ParcelDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.CancelAuctionPacket.ParcelDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.CancelAuctionPacket.ParcelDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.CancelAuctionPacket.ParcelDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ChangeInventoryItemFlagsPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ChangeInventoryItemFlagsPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ChangeInventoryItemFlagsPacket {
        /// C# member: `F:LibreMetaverse.Packets.ChangeInventoryItemFlagsPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ChangeInventoryItemFlagsPacket.AgentDataBlock LibreMetaverse.Packets.ChangeInventoryItemFlagsPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::ChangeInventoryItemFlagsPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.ChangeInventoryItemFlagsPacket.InventoryData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ChangeInventoryItemFlagsPacket.InventoryDataBlock[] LibreMetaverse.Packets.ChangeInventoryItemFlagsPacket.InventoryData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub inventory_data:
            Vec<libremetaverse::packets::ChangeInventoryItemFlagsPacketInventoryDataBlock>,
    }
    impl ChangeInventoryItemFlagsPacket {
        /// C# member: `M:LibreMetaverse.Packets.ChangeInventoryItemFlagsPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ChangeInventoryItemFlagsPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ChangeInventoryItemFlagsPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ChangeInventoryItemFlagsPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChangeInventoryItemFlagsPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ChangeInventoryItemFlagsPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChangeInventoryItemFlagsPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ChangeInventoryItemFlagsPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ChangeInventoryItemFlagsPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ChangeInventoryItemFlagsPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ChangeInventoryItemFlagsPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ChangeInventoryItemFlagsPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChangeInventoryItemFlagsPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ChangeInventoryItemFlagsPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChangeInventoryItemFlagsPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ChangeInventoryItemFlagsPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChangeInventoryItemFlagsPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ChangeInventoryItemFlagsPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ChangeInventoryItemFlagsPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ChangeInventoryItemFlagsPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChangeInventoryItemFlagsPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ChangeInventoryItemFlagsPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ChangeInventoryItemFlagsPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ChangeInventoryItemFlagsPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ChangeInventoryItemFlagsPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ChangeInventoryItemFlagsPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ChangeInventoryItemFlagsPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ChangeInventoryItemFlagsPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ChangeInventoryItemFlagsPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ChangeInventoryItemFlagsPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ChangeInventoryItemFlagsPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ChangeInventoryItemFlagsPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ChangeInventoryItemFlagsPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl ChangeInventoryItemFlagsPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ChangeInventoryItemFlagsPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ChangeInventoryItemFlagsPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ChangeInventoryItemFlagsPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ChangeInventoryItemFlagsPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChangeInventoryItemFlagsPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ChangeInventoryItemFlagsPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChangeInventoryItemFlagsPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ChangeInventoryItemFlagsPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChangeInventoryItemFlagsPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ChangeInventoryItemFlagsPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChangeInventoryItemFlagsPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ChangeInventoryItemFlagsPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ChangeInventoryItemFlagsPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ChangeInventoryItemFlagsPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ChangeInventoryItemFlagsPacket.InventoryDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ChangeInventoryItemFlagsPacket.InventoryDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ChangeInventoryItemFlagsPacketInventoryDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ChangeInventoryItemFlagsPacket.InventoryDataBlock.Flags`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ChangeInventoryItemFlagsPacket.InventoryDataBlock.Flags`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub flags: u32,
        /// C# member: `F:LibreMetaverse.Packets.ChangeInventoryItemFlagsPacket.InventoryDataBlock.ItemID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ChangeInventoryItemFlagsPacket.InventoryDataBlock.ItemID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub item_id: libremetaverse_types::UUID,
    }
    impl ChangeInventoryItemFlagsPacketInventoryDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ChangeInventoryItemFlagsPacket.InventoryDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ChangeInventoryItemFlagsPacket.InventoryDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ChangeInventoryItemFlagsPacket.InventoryDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ChangeInventoryItemFlagsPacket.InventoryDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChangeInventoryItemFlagsPacket.InventoryDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ChangeInventoryItemFlagsPacket.InventoryDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChangeInventoryItemFlagsPacket.InventoryDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ChangeInventoryItemFlagsPacket.InventoryDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChangeInventoryItemFlagsPacket.InventoryDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ChangeInventoryItemFlagsPacket.InventoryDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChangeInventoryItemFlagsPacket.InventoryDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ChangeInventoryItemFlagsPacket.InventoryDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ChangeInventoryItemFlagsPacket.InventoryDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ChangeInventoryItemFlagsPacket.InventoryDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ChangeUserRightsPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ChangeUserRightsPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ChangeUserRightsPacket {
        /// C# member: `F:LibreMetaverse.Packets.ChangeUserRightsPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ChangeUserRightsPacket.AgentDataBlock LibreMetaverse.Packets.ChangeUserRightsPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::ChangeUserRightsPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.ChangeUserRightsPacket.Rights`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ChangeUserRightsPacket.RightsBlock[] LibreMetaverse.Packets.ChangeUserRightsPacket.Rights`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub rights: Vec<libremetaverse::packets::ChangeUserRightsPacketRightsBlock>,
    }
    impl ChangeUserRightsPacket {
        /// C# member: `M:LibreMetaverse.Packets.ChangeUserRightsPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ChangeUserRightsPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ChangeUserRightsPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ChangeUserRightsPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChangeUserRightsPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ChangeUserRightsPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChangeUserRightsPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ChangeUserRightsPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ChangeUserRightsPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ChangeUserRightsPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ChangeUserRightsPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ChangeUserRightsPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChangeUserRightsPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ChangeUserRightsPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChangeUserRightsPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ChangeUserRightsPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChangeUserRightsPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ChangeUserRightsPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ChangeUserRightsPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ChangeUserRightsPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChangeUserRightsPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ChangeUserRightsPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ChangeUserRightsPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ChangeUserRightsPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ChangeUserRightsPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ChangeUserRightsPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ChangeUserRightsPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ChangeUserRightsPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ChangeUserRightsPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ChangeUserRightsPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ChangeUserRightsPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
    }
    impl ChangeUserRightsPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ChangeUserRightsPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ChangeUserRightsPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ChangeUserRightsPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ChangeUserRightsPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChangeUserRightsPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ChangeUserRightsPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChangeUserRightsPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ChangeUserRightsPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChangeUserRightsPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ChangeUserRightsPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChangeUserRightsPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ChangeUserRightsPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ChangeUserRightsPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ChangeUserRightsPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ChangeUserRightsPacket.RightsBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ChangeUserRightsPacket.RightsBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ChangeUserRightsPacketRightsBlock {
        /// C# member: `F:LibreMetaverse.Packets.ChangeUserRightsPacket.RightsBlock.AgentRelated`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ChangeUserRightsPacket.RightsBlock.AgentRelated`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_related: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ChangeUserRightsPacket.RightsBlock.RelatedRights`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ChangeUserRightsPacket.RightsBlock.RelatedRights`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub related_rights: i32,
    }
    impl ChangeUserRightsPacketRightsBlock {
        /// C# member: `M:LibreMetaverse.Packets.ChangeUserRightsPacket.RightsBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ChangeUserRightsPacket.RightsBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ChangeUserRightsPacket.RightsBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ChangeUserRightsPacket.RightsBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChangeUserRightsPacket.RightsBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ChangeUserRightsPacket.RightsBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChangeUserRightsPacket.RightsBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ChangeUserRightsPacket.RightsBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChangeUserRightsPacket.RightsBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ChangeUserRightsPacket.RightsBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChangeUserRightsPacket.RightsBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ChangeUserRightsPacket.RightsBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ChangeUserRightsPacket.RightsBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ChangeUserRightsPacket.RightsBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ChatFromSimulatorPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ChatFromSimulatorPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ChatFromSimulatorPacket {
        /// C# member: `F:LibreMetaverse.Packets.ChatFromSimulatorPacket.ChatData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ChatFromSimulatorPacket.ChatDataBlock LibreMetaverse.Packets.ChatFromSimulatorPacket.ChatData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub chat_data: libremetaverse::packets::ChatFromSimulatorPacketChatDataBlock,
    }
    impl ChatFromSimulatorPacket {
        /// C# member: `M:LibreMetaverse.Packets.ChatFromSimulatorPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ChatFromSimulatorPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ChatFromSimulatorPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ChatFromSimulatorPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChatFromSimulatorPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ChatFromSimulatorPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChatFromSimulatorPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ChatFromSimulatorPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ChatFromSimulatorPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ChatFromSimulatorPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ChatFromSimulatorPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ChatFromSimulatorPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChatFromSimulatorPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ChatFromSimulatorPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChatFromSimulatorPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ChatFromSimulatorPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChatFromSimulatorPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ChatFromSimulatorPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ChatFromSimulatorPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ChatFromSimulatorPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChatFromSimulatorPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ChatFromSimulatorPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ChatFromSimulatorPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ChatFromSimulatorPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ChatFromSimulatorPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ChatFromSimulatorPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ChatFromSimulatorPacket.ChatDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ChatFromSimulatorPacket.ChatDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ChatFromSimulatorPacketChatDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ChatFromSimulatorPacket.ChatDataBlock.Audible`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.ChatFromSimulatorPacket.ChatDataBlock.Audible`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub audible: u8,
        /// C# member: `F:LibreMetaverse.Packets.ChatFromSimulatorPacket.ChatDataBlock.ChatType`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.ChatFromSimulatorPacket.ChatDataBlock.ChatType`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub chat_type: u8,
        /// C# member: `F:LibreMetaverse.Packets.ChatFromSimulatorPacket.ChatDataBlock.FromName`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ChatFromSimulatorPacket.ChatDataBlock.FromName`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub from_name: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.ChatFromSimulatorPacket.ChatDataBlock.Message`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ChatFromSimulatorPacket.ChatDataBlock.Message`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub message: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.ChatFromSimulatorPacket.ChatDataBlock.OwnerID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ChatFromSimulatorPacket.ChatDataBlock.OwnerID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub owner_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ChatFromSimulatorPacket.ChatDataBlock.Position`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Packets.ChatFromSimulatorPacket.ChatDataBlock.Position`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub position: libremetaverse_types::Vector3,
        /// C# member: `F:LibreMetaverse.Packets.ChatFromSimulatorPacket.ChatDataBlock.SourceID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ChatFromSimulatorPacket.ChatDataBlock.SourceID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub source_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ChatFromSimulatorPacket.ChatDataBlock.SourceType`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.ChatFromSimulatorPacket.ChatDataBlock.SourceType`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub source_type: u8,
    }
    impl ChatFromSimulatorPacketChatDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ChatFromSimulatorPacket.ChatDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ChatFromSimulatorPacket.ChatDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ChatFromSimulatorPacket.ChatDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ChatFromSimulatorPacket.ChatDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChatFromSimulatorPacket.ChatDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ChatFromSimulatorPacket.ChatDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChatFromSimulatorPacket.ChatDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ChatFromSimulatorPacket.ChatDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChatFromSimulatorPacket.ChatDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ChatFromSimulatorPacket.ChatDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChatFromSimulatorPacket.ChatDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ChatFromSimulatorPacket.ChatDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ChatFromSimulatorPacket.ChatDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ChatFromSimulatorPacket.ChatDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ChatFromViewerPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ChatFromViewerPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ChatFromViewerPacket {
        /// C# member: `F:LibreMetaverse.Packets.ChatFromViewerPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ChatFromViewerPacket.AgentDataBlock LibreMetaverse.Packets.ChatFromViewerPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::ChatFromViewerPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.ChatFromViewerPacket.ChatData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ChatFromViewerPacket.ChatDataBlock LibreMetaverse.Packets.ChatFromViewerPacket.ChatData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub chat_data: libremetaverse::packets::ChatFromViewerPacketChatDataBlock,
    }
    impl ChatFromViewerPacket {
        /// C# member: `M:LibreMetaverse.Packets.ChatFromViewerPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ChatFromViewerPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ChatFromViewerPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ChatFromViewerPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChatFromViewerPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ChatFromViewerPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChatFromViewerPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ChatFromViewerPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ChatFromViewerPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ChatFromViewerPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ChatFromViewerPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ChatFromViewerPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChatFromViewerPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ChatFromViewerPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChatFromViewerPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ChatFromViewerPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChatFromViewerPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ChatFromViewerPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ChatFromViewerPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ChatFromViewerPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChatFromViewerPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ChatFromViewerPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ChatFromViewerPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ChatFromViewerPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ChatFromViewerPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ChatFromViewerPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ChatFromViewerPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ChatFromViewerPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ChatFromViewerPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ChatFromViewerPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ChatFromViewerPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ChatFromViewerPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ChatFromViewerPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl ChatFromViewerPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ChatFromViewerPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ChatFromViewerPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ChatFromViewerPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ChatFromViewerPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChatFromViewerPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ChatFromViewerPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChatFromViewerPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ChatFromViewerPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChatFromViewerPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ChatFromViewerPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChatFromViewerPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ChatFromViewerPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ChatFromViewerPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ChatFromViewerPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ChatFromViewerPacket.ChatDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ChatFromViewerPacket.ChatDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ChatFromViewerPacketChatDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ChatFromViewerPacket.ChatDataBlock.Channel`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ChatFromViewerPacket.ChatDataBlock.Channel`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub channel: i32,
        /// C# member: `F:LibreMetaverse.Packets.ChatFromViewerPacket.ChatDataBlock.Message`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ChatFromViewerPacket.ChatDataBlock.Message`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub message: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.ChatFromViewerPacket.ChatDataBlock.Type`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.ChatFromViewerPacket.ChatDataBlock.Type`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub type_: u8,
    }
    impl ChatFromViewerPacketChatDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ChatFromViewerPacket.ChatDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ChatFromViewerPacket.ChatDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ChatFromViewerPacket.ChatDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ChatFromViewerPacket.ChatDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChatFromViewerPacket.ChatDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ChatFromViewerPacket.ChatDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChatFromViewerPacket.ChatDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ChatFromViewerPacket.ChatDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChatFromViewerPacket.ChatDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ChatFromViewerPacket.ChatDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChatFromViewerPacket.ChatDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ChatFromViewerPacket.ChatDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ChatFromViewerPacket.ChatDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ChatFromViewerPacket.ChatDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ChatPassPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ChatPassPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ChatPassPacket {
        /// C# member: `F:LibreMetaverse.Packets.ChatPassPacket.ChatData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ChatPassPacket.ChatDataBlock LibreMetaverse.Packets.ChatPassPacket.ChatData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub chat_data: libremetaverse::packets::ChatPassPacketChatDataBlock,
    }
    impl ChatPassPacket {
        /// C# member: `M:LibreMetaverse.Packets.ChatPassPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ChatPassPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ChatPassPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ChatPassPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChatPassPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ChatPassPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChatPassPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ChatPassPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ChatPassPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ChatPassPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ChatPassPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ChatPassPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChatPassPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ChatPassPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChatPassPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ChatPassPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChatPassPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ChatPassPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ChatPassPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ChatPassPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChatPassPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ChatPassPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ChatPassPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ChatPassPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ChatPassPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ChatPassPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ChatPassPacket.ChatDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ChatPassPacket.ChatDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ChatPassPacketChatDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ChatPassPacket.ChatDataBlock.Channel`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ChatPassPacket.ChatDataBlock.Channel`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub channel: i32,
        /// C# member: `F:LibreMetaverse.Packets.ChatPassPacket.ChatDataBlock.ID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ChatPassPacket.ChatDataBlock.ID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ChatPassPacket.ChatDataBlock.Message`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ChatPassPacket.ChatDataBlock.Message`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub message: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.ChatPassPacket.ChatDataBlock.Name`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ChatPassPacket.ChatDataBlock.Name`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub name: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.ChatPassPacket.ChatDataBlock.OwnerID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ChatPassPacket.ChatDataBlock.OwnerID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub owner_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ChatPassPacket.ChatDataBlock.Position`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Packets.ChatPassPacket.ChatDataBlock.Position`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub position: libremetaverse_types::Vector3,
        /// C# member: `F:LibreMetaverse.Packets.ChatPassPacket.ChatDataBlock.Radius`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.ChatPassPacket.ChatDataBlock.Radius`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub radius: f32,
        /// C# member: `F:LibreMetaverse.Packets.ChatPassPacket.ChatDataBlock.SimAccess`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.ChatPassPacket.ChatDataBlock.SimAccess`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub sim_access: u8,
        /// C# member: `F:LibreMetaverse.Packets.ChatPassPacket.ChatDataBlock.SourceType`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.ChatPassPacket.ChatDataBlock.SourceType`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub source_type: u8,
        /// C# member: `F:LibreMetaverse.Packets.ChatPassPacket.ChatDataBlock.Type`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.ChatPassPacket.ChatDataBlock.Type`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub type_: u8,
    }
    impl ChatPassPacketChatDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ChatPassPacket.ChatDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ChatPassPacket.ChatDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ChatPassPacket.ChatDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ChatPassPacket.ChatDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChatPassPacket.ChatDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ChatPassPacket.ChatDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChatPassPacket.ChatDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ChatPassPacket.ChatDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChatPassPacket.ChatDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ChatPassPacket.ChatDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChatPassPacket.ChatDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ChatPassPacket.ChatDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ChatPassPacket.ChatDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ChatPassPacket.ChatDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.CheckParcelAuctionsPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.CheckParcelAuctionsPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct CheckParcelAuctionsPacket {
        /// C# member: `F:LibreMetaverse.Packets.CheckParcelAuctionsPacket.RegionData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CheckParcelAuctionsPacket.RegionDataBlock[] LibreMetaverse.Packets.CheckParcelAuctionsPacket.RegionData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub region_data: Vec<libremetaverse::packets::CheckParcelAuctionsPacketRegionDataBlock>,
    }
    impl CheckParcelAuctionsPacket {
        /// C# member: `M:LibreMetaverse.Packets.CheckParcelAuctionsPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CheckParcelAuctionsPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.CheckParcelAuctionsPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CheckParcelAuctionsPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CheckParcelAuctionsPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CheckParcelAuctionsPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CheckParcelAuctionsPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CheckParcelAuctionsPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.CheckParcelAuctionsPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CheckParcelAuctionsPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.CheckParcelAuctionsPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CheckParcelAuctionsPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.CheckParcelAuctionsPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.CheckParcelAuctionsPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.CheckParcelAuctionsPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.CheckParcelAuctionsPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.CheckParcelAuctionsPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.CheckParcelAuctionsPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.CheckParcelAuctionsPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.CheckParcelAuctionsPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.CheckParcelAuctionsPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.CheckParcelAuctionsPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.CheckParcelAuctionsPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.CheckParcelAuctionsPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.CheckParcelAuctionsPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.CheckParcelAuctionsPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.CheckParcelAuctionsPacket.RegionDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.CheckParcelAuctionsPacket.RegionDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct CheckParcelAuctionsPacketRegionDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.CheckParcelAuctionsPacket.RegionDataBlock.RegionHandle`.
        ///
        /// C# signature: `System.UInt64 LibreMetaverse.Packets.CheckParcelAuctionsPacket.RegionDataBlock.RegionHandle`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub region_handle: u64,
    }
    impl CheckParcelAuctionsPacketRegionDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.CheckParcelAuctionsPacket.RegionDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CheckParcelAuctionsPacket.RegionDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.CheckParcelAuctionsPacket.RegionDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CheckParcelAuctionsPacket.RegionDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CheckParcelAuctionsPacket.RegionDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CheckParcelAuctionsPacket.RegionDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CheckParcelAuctionsPacket.RegionDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CheckParcelAuctionsPacket.RegionDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.CheckParcelAuctionsPacket.RegionDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CheckParcelAuctionsPacket.RegionDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CheckParcelAuctionsPacket.RegionDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.CheckParcelAuctionsPacket.RegionDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.CheckParcelAuctionsPacket.RegionDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.CheckParcelAuctionsPacket.RegionDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.CheckParcelSalesPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.CheckParcelSalesPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct CheckParcelSalesPacket {
        /// C# member: `F:LibreMetaverse.Packets.CheckParcelSalesPacket.RegionData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CheckParcelSalesPacket.RegionDataBlock[] LibreMetaverse.Packets.CheckParcelSalesPacket.RegionData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub region_data: Vec<libremetaverse::packets::CheckParcelSalesPacketRegionDataBlock>,
    }
    impl CheckParcelSalesPacket {
        /// C# member: `M:LibreMetaverse.Packets.CheckParcelSalesPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CheckParcelSalesPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.CheckParcelSalesPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CheckParcelSalesPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CheckParcelSalesPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CheckParcelSalesPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CheckParcelSalesPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CheckParcelSalesPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.CheckParcelSalesPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CheckParcelSalesPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.CheckParcelSalesPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CheckParcelSalesPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.CheckParcelSalesPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.CheckParcelSalesPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.CheckParcelSalesPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.CheckParcelSalesPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.CheckParcelSalesPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.CheckParcelSalesPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.CheckParcelSalesPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.CheckParcelSalesPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.CheckParcelSalesPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.CheckParcelSalesPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.CheckParcelSalesPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.CheckParcelSalesPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.CheckParcelSalesPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.CheckParcelSalesPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.CheckParcelSalesPacket.RegionDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.CheckParcelSalesPacket.RegionDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct CheckParcelSalesPacketRegionDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.CheckParcelSalesPacket.RegionDataBlock.RegionHandle`.
        ///
        /// C# signature: `System.UInt64 LibreMetaverse.Packets.CheckParcelSalesPacket.RegionDataBlock.RegionHandle`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub region_handle: u64,
    }
    impl CheckParcelSalesPacketRegionDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.CheckParcelSalesPacket.RegionDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CheckParcelSalesPacket.RegionDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.CheckParcelSalesPacket.RegionDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CheckParcelSalesPacket.RegionDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CheckParcelSalesPacket.RegionDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CheckParcelSalesPacket.RegionDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CheckParcelSalesPacket.RegionDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CheckParcelSalesPacket.RegionDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.CheckParcelSalesPacket.RegionDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CheckParcelSalesPacket.RegionDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CheckParcelSalesPacket.RegionDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.CheckParcelSalesPacket.RegionDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.CheckParcelSalesPacket.RegionDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.CheckParcelSalesPacket.RegionDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ChildAgentAlivePacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ChildAgentAlivePacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ChildAgentAlivePacket {
        /// C# member: `F:LibreMetaverse.Packets.ChildAgentAlivePacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ChildAgentAlivePacket.AgentDataBlock LibreMetaverse.Packets.ChildAgentAlivePacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::ChildAgentAlivePacketAgentDataBlock,
    }
    impl ChildAgentAlivePacket {
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentAlivePacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ChildAgentAlivePacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentAlivePacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ChildAgentAlivePacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentAlivePacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ChildAgentAlivePacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentAlivePacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ChildAgentAlivePacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentAlivePacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ChildAgentAlivePacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentAlivePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ChildAgentAlivePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentAlivePacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ChildAgentAlivePacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentAlivePacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ChildAgentAlivePacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentAlivePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ChildAgentAlivePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentAlivePacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ChildAgentAlivePacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentAlivePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ChildAgentAlivePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ChildAgentAlivePacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ChildAgentAlivePacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ChildAgentAlivePacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ChildAgentAlivePacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ChildAgentAlivePacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ChildAgentAlivePacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ChildAgentAlivePacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ChildAgentAlivePacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ChildAgentAlivePacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ChildAgentAlivePacket.AgentDataBlock.RegionHandle`.
        ///
        /// C# signature: `System.UInt64 LibreMetaverse.Packets.ChildAgentAlivePacket.AgentDataBlock.RegionHandle`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub region_handle: u64,
        /// C# member: `F:LibreMetaverse.Packets.ChildAgentAlivePacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ChildAgentAlivePacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ChildAgentAlivePacket.AgentDataBlock.ViewerCircuitCode`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ChildAgentAlivePacket.AgentDataBlock.ViewerCircuitCode`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub viewer_circuit_code: u32,
    }
    impl ChildAgentAlivePacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentAlivePacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ChildAgentAlivePacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentAlivePacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ChildAgentAlivePacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentAlivePacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ChildAgentAlivePacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentAlivePacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ChildAgentAlivePacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentAlivePacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ChildAgentAlivePacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentAlivePacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ChildAgentAlivePacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ChildAgentAlivePacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ChildAgentAlivePacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ChildAgentDyingPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ChildAgentDyingPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ChildAgentDyingPacket {
        /// C# member: `F:LibreMetaverse.Packets.ChildAgentDyingPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ChildAgentDyingPacket.AgentDataBlock LibreMetaverse.Packets.ChildAgentDyingPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::ChildAgentDyingPacketAgentDataBlock,
    }
    impl ChildAgentDyingPacket {
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentDyingPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ChildAgentDyingPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentDyingPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ChildAgentDyingPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentDyingPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ChildAgentDyingPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentDyingPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ChildAgentDyingPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentDyingPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ChildAgentDyingPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentDyingPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ChildAgentDyingPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentDyingPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ChildAgentDyingPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentDyingPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ChildAgentDyingPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentDyingPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ChildAgentDyingPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentDyingPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ChildAgentDyingPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentDyingPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ChildAgentDyingPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ChildAgentDyingPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ChildAgentDyingPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ChildAgentDyingPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ChildAgentDyingPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ChildAgentDyingPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ChildAgentDyingPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ChildAgentDyingPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ChildAgentDyingPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ChildAgentDyingPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ChildAgentDyingPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ChildAgentDyingPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl ChildAgentDyingPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentDyingPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ChildAgentDyingPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentDyingPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ChildAgentDyingPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentDyingPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ChildAgentDyingPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentDyingPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ChildAgentDyingPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentDyingPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ChildAgentDyingPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentDyingPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ChildAgentDyingPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ChildAgentDyingPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ChildAgentDyingPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ChildAgentPositionUpdatePacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ChildAgentPositionUpdatePacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ChildAgentPositionUpdatePacket {
        /// C# member: `F:LibreMetaverse.Packets.ChildAgentPositionUpdatePacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ChildAgentPositionUpdatePacket.AgentDataBlock LibreMetaverse.Packets.ChildAgentPositionUpdatePacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::ChildAgentPositionUpdatePacketAgentDataBlock,
    }
    impl ChildAgentPositionUpdatePacket {
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentPositionUpdatePacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ChildAgentPositionUpdatePacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentPositionUpdatePacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ChildAgentPositionUpdatePacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentPositionUpdatePacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ChildAgentPositionUpdatePacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentPositionUpdatePacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ChildAgentPositionUpdatePacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentPositionUpdatePacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ChildAgentPositionUpdatePacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentPositionUpdatePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ChildAgentPositionUpdatePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentPositionUpdatePacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ChildAgentPositionUpdatePacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentPositionUpdatePacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ChildAgentPositionUpdatePacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentPositionUpdatePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ChildAgentPositionUpdatePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentPositionUpdatePacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ChildAgentPositionUpdatePacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentPositionUpdatePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ChildAgentPositionUpdatePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ChildAgentPositionUpdatePacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ChildAgentPositionUpdatePacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ChildAgentPositionUpdatePacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ChildAgentPositionUpdatePacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ChildAgentPositionUpdatePacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ChildAgentPositionUpdatePacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ChildAgentPositionUpdatePacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ChildAgentPositionUpdatePacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ChildAgentPositionUpdatePacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ChildAgentPositionUpdatePacket.AgentDataBlock.AgentPos`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Packets.ChildAgentPositionUpdatePacket.AgentDataBlock.AgentPos`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_pos: libremetaverse_types::Vector3,
        /// C# member: `F:LibreMetaverse.Packets.ChildAgentPositionUpdatePacket.AgentDataBlock.AgentVel`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Packets.ChildAgentPositionUpdatePacket.AgentDataBlock.AgentVel`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_vel: libremetaverse_types::Vector3,
        /// C# member: `F:LibreMetaverse.Packets.ChildAgentPositionUpdatePacket.AgentDataBlock.AtAxis`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Packets.ChildAgentPositionUpdatePacket.AgentDataBlock.AtAxis`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub at_axis: libremetaverse_types::Vector3,
        /// C# member: `F:LibreMetaverse.Packets.ChildAgentPositionUpdatePacket.AgentDataBlock.Center`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Packets.ChildAgentPositionUpdatePacket.AgentDataBlock.Center`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub center: libremetaverse_types::Vector3,
        /// C# member: `F:LibreMetaverse.Packets.ChildAgentPositionUpdatePacket.AgentDataBlock.ChangedGrid`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ChildAgentPositionUpdatePacket.AgentDataBlock.ChangedGrid`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub changed_grid: bool,
        /// C# member: `F:LibreMetaverse.Packets.ChildAgentPositionUpdatePacket.AgentDataBlock.LeftAxis`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Packets.ChildAgentPositionUpdatePacket.AgentDataBlock.LeftAxis`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub left_axis: libremetaverse_types::Vector3,
        /// C# member: `F:LibreMetaverse.Packets.ChildAgentPositionUpdatePacket.AgentDataBlock.RegionHandle`.
        ///
        /// C# signature: `System.UInt64 LibreMetaverse.Packets.ChildAgentPositionUpdatePacket.AgentDataBlock.RegionHandle`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub region_handle: u64,
        /// C# member: `F:LibreMetaverse.Packets.ChildAgentPositionUpdatePacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ChildAgentPositionUpdatePacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ChildAgentPositionUpdatePacket.AgentDataBlock.Size`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Packets.ChildAgentPositionUpdatePacket.AgentDataBlock.Size`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub size: libremetaverse_types::Vector3,
        /// C# member: `F:LibreMetaverse.Packets.ChildAgentPositionUpdatePacket.AgentDataBlock.UpAxis`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Packets.ChildAgentPositionUpdatePacket.AgentDataBlock.UpAxis`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub up_axis: libremetaverse_types::Vector3,
        /// C# member: `F:LibreMetaverse.Packets.ChildAgentPositionUpdatePacket.AgentDataBlock.ViewerCircuitCode`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ChildAgentPositionUpdatePacket.AgentDataBlock.ViewerCircuitCode`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub viewer_circuit_code: u32,
    }
    impl ChildAgentPositionUpdatePacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentPositionUpdatePacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ChildAgentPositionUpdatePacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentPositionUpdatePacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ChildAgentPositionUpdatePacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentPositionUpdatePacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ChildAgentPositionUpdatePacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentPositionUpdatePacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ChildAgentPositionUpdatePacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentPositionUpdatePacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ChildAgentPositionUpdatePacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentPositionUpdatePacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ChildAgentPositionUpdatePacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ChildAgentPositionUpdatePacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ChildAgentPositionUpdatePacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ChildAgentUnknownPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ChildAgentUnknownPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ChildAgentUnknownPacket {
        /// C# member: `F:LibreMetaverse.Packets.ChildAgentUnknownPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ChildAgentUnknownPacket.AgentDataBlock LibreMetaverse.Packets.ChildAgentUnknownPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::ChildAgentUnknownPacketAgentDataBlock,
    }
    impl ChildAgentUnknownPacket {
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentUnknownPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ChildAgentUnknownPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentUnknownPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ChildAgentUnknownPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentUnknownPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ChildAgentUnknownPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentUnknownPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ChildAgentUnknownPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentUnknownPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ChildAgentUnknownPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentUnknownPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ChildAgentUnknownPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentUnknownPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ChildAgentUnknownPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentUnknownPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ChildAgentUnknownPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentUnknownPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ChildAgentUnknownPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentUnknownPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ChildAgentUnknownPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentUnknownPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ChildAgentUnknownPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ChildAgentUnknownPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ChildAgentUnknownPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ChildAgentUnknownPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ChildAgentUnknownPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ChildAgentUnknownPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ChildAgentUnknownPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ChildAgentUnknownPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ChildAgentUnknownPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ChildAgentUnknownPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ChildAgentUnknownPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ChildAgentUnknownPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl ChildAgentUnknownPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentUnknownPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ChildAgentUnknownPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentUnknownPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ChildAgentUnknownPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentUnknownPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ChildAgentUnknownPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentUnknownPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ChildAgentUnknownPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentUnknownPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ChildAgentUnknownPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentUnknownPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ChildAgentUnknownPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ChildAgentUnknownPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ChildAgentUnknownPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ChildAgentUpdatePacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ChildAgentUpdatePacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ChildAgentUpdatePacket {
        /// C# member: `F:LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentAccess`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentAccessBlock[] LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentAccess`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_access: Vec<libremetaverse::packets::ChildAgentUpdatePacketAgentAccessBlock>,
        /// C# member: `F:LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentDataBlock LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::ChildAgentUpdatePacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentInfo`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentInfoBlock[] LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentInfo`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_info: Vec<libremetaverse::packets::ChildAgentUpdatePacketAgentInfoBlock>,
        /// C# member: `F:LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentInventoryHost`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentInventoryHostBlock[] LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentInventoryHost`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_inventory_host:
            Vec<libremetaverse::packets::ChildAgentUpdatePacketAgentInventoryHostBlock>,
        /// C# member: `F:LibreMetaverse.Packets.ChildAgentUpdatePacket.AnimationData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ChildAgentUpdatePacket.AnimationDataBlock[] LibreMetaverse.Packets.ChildAgentUpdatePacket.AnimationData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub animation_data: Vec<libremetaverse::packets::ChildAgentUpdatePacketAnimationDataBlock>,
        /// C# member: `F:LibreMetaverse.Packets.ChildAgentUpdatePacket.GranterBlock`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ChildAgentUpdatePacket.GranterBlockBlock[] LibreMetaverse.Packets.ChildAgentUpdatePacket.GranterBlock`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub granter_block: Vec<libremetaverse::packets::ChildAgentUpdatePacketGranterBlockBlock>,
        /// C# member: `F:LibreMetaverse.Packets.ChildAgentUpdatePacket.GroupData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ChildAgentUpdatePacket.GroupDataBlock[] LibreMetaverse.Packets.ChildAgentUpdatePacket.GroupData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_data: Vec<libremetaverse::packets::ChildAgentUpdatePacketGroupDataBlock>,
        /// C# member: `F:LibreMetaverse.Packets.ChildAgentUpdatePacket.NVPairData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ChildAgentUpdatePacket.NVPairDataBlock[] LibreMetaverse.Packets.ChildAgentUpdatePacket.NVPairData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub nv_pair_data: Vec<libremetaverse::packets::ChildAgentUpdatePacketNVPairDataBlock>,
        /// C# member: `F:LibreMetaverse.Packets.ChildAgentUpdatePacket.VisualParam`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ChildAgentUpdatePacket.VisualParamBlock[] LibreMetaverse.Packets.ChildAgentUpdatePacket.VisualParam`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub visual_param: Vec<libremetaverse::packets::ChildAgentUpdatePacketVisualParamBlock>,
    }
    impl ChildAgentUpdatePacket {
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentUpdatePacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ChildAgentUpdatePacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentUpdatePacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ChildAgentUpdatePacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentUpdatePacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ChildAgentUpdatePacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentUpdatePacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ChildAgentUpdatePacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentUpdatePacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ChildAgentUpdatePacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentUpdatePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ChildAgentUpdatePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentUpdatePacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ChildAgentUpdatePacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentUpdatePacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ChildAgentUpdatePacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentUpdatePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ChildAgentUpdatePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentUpdatePacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ChildAgentUpdatePacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentUpdatePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ChildAgentUpdatePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ChildAgentUpdatePacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ChildAgentUpdatePacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ChildAgentUpdatePacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ChildAgentUpdatePacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentAccessBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentAccessBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ChildAgentUpdatePacketAgentAccessBlock {
        /// C# member: `F:LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentAccessBlock.AgentLegacyAccess`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentAccessBlock.AgentLegacyAccess`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_legacy_access: u8,
        /// C# member: `F:LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentAccessBlock.AgentMaxAccess`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentAccessBlock.AgentMaxAccess`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_max_access: u8,
    }
    impl ChildAgentUpdatePacketAgentAccessBlock {
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentAccessBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentAccessBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentAccessBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentAccessBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentAccessBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentAccessBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentAccessBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentAccessBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentAccessBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentAccessBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentAccessBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentAccessBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentAccessBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentAccessBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ChildAgentUpdatePacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentDataBlock.ActiveGroupID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentDataBlock.ActiveGroupID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub active_group_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentDataBlock.AgentAccess`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentDataBlock.AgentAccess`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_access: u8,
        /// C# member: `F:LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentDataBlock.AgentPos`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentDataBlock.AgentPos`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_pos: libremetaverse_types::Vector3,
        /// C# member: `F:LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentDataBlock.AgentTextures`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentDataBlock.AgentTextures`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_textures: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentDataBlock.AgentVel`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentDataBlock.AgentVel`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_vel: libremetaverse_types::Vector3,
        /// C# member: `F:LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentDataBlock.AlwaysRun`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentDataBlock.AlwaysRun`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub always_run: bool,
        /// C# member: `F:LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentDataBlock.Aspect`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentDataBlock.Aspect`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub aspect: f32,
        /// C# member: `F:LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentDataBlock.AtAxis`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentDataBlock.AtAxis`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub at_axis: libremetaverse_types::Vector3,
        /// C# member: `F:LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentDataBlock.BodyRotation`.
        ///
        /// C# signature: `LibreMetaverse.Quaternion LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentDataBlock.BodyRotation`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub body_rotation: libremetaverse_types::Quaternion,
        /// C# member: `F:LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentDataBlock.Center`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentDataBlock.Center`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub center: libremetaverse_types::Vector3,
        /// C# member: `F:LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentDataBlock.ChangedGrid`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentDataBlock.ChangedGrid`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub changed_grid: bool,
        /// C# member: `F:LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentDataBlock.ControlFlags`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentDataBlock.ControlFlags`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub control_flags: u32,
        /// C# member: `F:LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentDataBlock.EnergyLevel`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentDataBlock.EnergyLevel`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub energy_level: f32,
        /// C# member: `F:LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentDataBlock.Far`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentDataBlock.Far`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub far: f32,
        /// C# member: `F:LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentDataBlock.GodLevel`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentDataBlock.GodLevel`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub god_level: u8,
        /// C# member: `F:LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentDataBlock.HeadRotation`.
        ///
        /// C# signature: `LibreMetaverse.Quaternion LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentDataBlock.HeadRotation`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub head_rotation: libremetaverse_types::Quaternion,
        /// C# member: `F:LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentDataBlock.LeftAxis`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentDataBlock.LeftAxis`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub left_axis: libremetaverse_types::Vector3,
        /// C# member: `F:LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentDataBlock.LocomotionState`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentDataBlock.LocomotionState`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub locomotion_state: u32,
        /// C# member: `F:LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentDataBlock.PreyAgent`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentDataBlock.PreyAgent`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub prey_agent: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentDataBlock.RegionHandle`.
        ///
        /// C# signature: `System.UInt64 LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentDataBlock.RegionHandle`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub region_handle: u64,
        /// C# member: `F:LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentDataBlock.Size`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentDataBlock.Size`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub size: libremetaverse_types::Vector3,
        /// C# member: `F:LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentDataBlock.Throttles`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentDataBlock.Throttles`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub throttles: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentDataBlock.UpAxis`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentDataBlock.UpAxis`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub up_axis: libremetaverse_types::Vector3,
        /// C# member: `F:LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentDataBlock.ViewerCircuitCode`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentDataBlock.ViewerCircuitCode`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub viewer_circuit_code: u32,
    }
    impl ChildAgentUpdatePacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentInfoBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentInfoBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ChildAgentUpdatePacketAgentInfoBlock {
        /// C# member: `F:LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentInfoBlock.Flags`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentInfoBlock.Flags`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub flags: u32,
    }
    impl ChildAgentUpdatePacketAgentInfoBlock {
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentInfoBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentInfoBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentInfoBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentInfoBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentInfoBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentInfoBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentInfoBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentInfoBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentInfoBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentInfoBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentInfoBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentInfoBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentInfoBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentInfoBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentInventoryHostBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentInventoryHostBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ChildAgentUpdatePacketAgentInventoryHostBlock {
        /// C# member: `F:LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentInventoryHostBlock.InventoryHost`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentInventoryHostBlock.InventoryHost`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub inventory_host: Vec<u8>,
    }
    impl ChildAgentUpdatePacketAgentInventoryHostBlock {
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentInventoryHostBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentInventoryHostBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentInventoryHostBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentInventoryHostBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentInventoryHostBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentInventoryHostBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentInventoryHostBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentInventoryHostBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentInventoryHostBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentInventoryHostBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentInventoryHostBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentInventoryHostBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentInventoryHostBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ChildAgentUpdatePacket.AgentInventoryHostBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ChildAgentUpdatePacket.AnimationDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ChildAgentUpdatePacket.AnimationDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ChildAgentUpdatePacketAnimationDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ChildAgentUpdatePacket.AnimationDataBlock.Animation`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ChildAgentUpdatePacket.AnimationDataBlock.Animation`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub animation: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ChildAgentUpdatePacket.AnimationDataBlock.ObjectID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ChildAgentUpdatePacket.AnimationDataBlock.ObjectID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_id: libremetaverse_types::UUID,
    }
    impl ChildAgentUpdatePacketAnimationDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentUpdatePacket.AnimationDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ChildAgentUpdatePacket.AnimationDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentUpdatePacket.AnimationDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ChildAgentUpdatePacket.AnimationDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentUpdatePacket.AnimationDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ChildAgentUpdatePacket.AnimationDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentUpdatePacket.AnimationDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ChildAgentUpdatePacket.AnimationDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentUpdatePacket.AnimationDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ChildAgentUpdatePacket.AnimationDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentUpdatePacket.AnimationDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ChildAgentUpdatePacket.AnimationDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ChildAgentUpdatePacket.AnimationDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ChildAgentUpdatePacket.AnimationDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ChildAgentUpdatePacket.GranterBlockBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ChildAgentUpdatePacket.GranterBlockBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ChildAgentUpdatePacketGranterBlockBlock {
        /// C# member: `F:LibreMetaverse.Packets.ChildAgentUpdatePacket.GranterBlockBlock.GranterID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ChildAgentUpdatePacket.GranterBlockBlock.GranterID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub granter_id: libremetaverse_types::UUID,
    }
    impl ChildAgentUpdatePacketGranterBlockBlock {
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentUpdatePacket.GranterBlockBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ChildAgentUpdatePacket.GranterBlockBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentUpdatePacket.GranterBlockBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ChildAgentUpdatePacket.GranterBlockBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentUpdatePacket.GranterBlockBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ChildAgentUpdatePacket.GranterBlockBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentUpdatePacket.GranterBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ChildAgentUpdatePacket.GranterBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentUpdatePacket.GranterBlockBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ChildAgentUpdatePacket.GranterBlockBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentUpdatePacket.GranterBlockBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ChildAgentUpdatePacket.GranterBlockBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ChildAgentUpdatePacket.GranterBlockBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ChildAgentUpdatePacket.GranterBlockBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ChildAgentUpdatePacket.GroupDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ChildAgentUpdatePacket.GroupDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ChildAgentUpdatePacketGroupDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ChildAgentUpdatePacket.GroupDataBlock.AcceptNotices`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ChildAgentUpdatePacket.GroupDataBlock.AcceptNotices`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub accept_notices: bool,
        /// C# member: `F:LibreMetaverse.Packets.ChildAgentUpdatePacket.GroupDataBlock.GroupID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ChildAgentUpdatePacket.GroupDataBlock.GroupID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ChildAgentUpdatePacket.GroupDataBlock.GroupPowers`.
        ///
        /// C# signature: `System.UInt64 LibreMetaverse.Packets.ChildAgentUpdatePacket.GroupDataBlock.GroupPowers`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_powers: u64,
    }
    impl ChildAgentUpdatePacketGroupDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentUpdatePacket.GroupDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ChildAgentUpdatePacket.GroupDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentUpdatePacket.GroupDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ChildAgentUpdatePacket.GroupDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentUpdatePacket.GroupDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ChildAgentUpdatePacket.GroupDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentUpdatePacket.GroupDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ChildAgentUpdatePacket.GroupDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentUpdatePacket.GroupDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ChildAgentUpdatePacket.GroupDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentUpdatePacket.GroupDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ChildAgentUpdatePacket.GroupDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ChildAgentUpdatePacket.GroupDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ChildAgentUpdatePacket.GroupDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ChildAgentUpdatePacket.NVPairDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ChildAgentUpdatePacket.NVPairDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ChildAgentUpdatePacketNVPairDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ChildAgentUpdatePacket.NVPairDataBlock.NVPairs`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ChildAgentUpdatePacket.NVPairDataBlock.NVPairs`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub nv_pairs: Vec<u8>,
    }
    impl ChildAgentUpdatePacketNVPairDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentUpdatePacket.NVPairDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ChildAgentUpdatePacket.NVPairDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentUpdatePacket.NVPairDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ChildAgentUpdatePacket.NVPairDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentUpdatePacket.NVPairDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ChildAgentUpdatePacket.NVPairDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentUpdatePacket.NVPairDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ChildAgentUpdatePacket.NVPairDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentUpdatePacket.NVPairDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ChildAgentUpdatePacket.NVPairDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentUpdatePacket.NVPairDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ChildAgentUpdatePacket.NVPairDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ChildAgentUpdatePacket.NVPairDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ChildAgentUpdatePacket.NVPairDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ChildAgentUpdatePacket.VisualParamBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ChildAgentUpdatePacket.VisualParamBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ChildAgentUpdatePacketVisualParamBlock {
        /// C# member: `F:LibreMetaverse.Packets.ChildAgentUpdatePacket.VisualParamBlock.ParamValue`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.ChildAgentUpdatePacket.VisualParamBlock.ParamValue`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub param_value: u8,
    }
    impl ChildAgentUpdatePacketVisualParamBlock {
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentUpdatePacket.VisualParamBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ChildAgentUpdatePacket.VisualParamBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentUpdatePacket.VisualParamBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ChildAgentUpdatePacket.VisualParamBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentUpdatePacket.VisualParamBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ChildAgentUpdatePacket.VisualParamBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentUpdatePacket.VisualParamBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ChildAgentUpdatePacket.VisualParamBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentUpdatePacket.VisualParamBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ChildAgentUpdatePacket.VisualParamBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ChildAgentUpdatePacket.VisualParamBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ChildAgentUpdatePacket.VisualParamBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ChildAgentUpdatePacket.VisualParamBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ChildAgentUpdatePacket.VisualParamBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ClassifiedDeletePacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ClassifiedDeletePacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ClassifiedDeletePacket {
        /// C# member: `F:LibreMetaverse.Packets.ClassifiedDeletePacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ClassifiedDeletePacket.AgentDataBlock LibreMetaverse.Packets.ClassifiedDeletePacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::ClassifiedDeletePacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.ClassifiedDeletePacket.Data`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ClassifiedDeletePacket.DataBlock LibreMetaverse.Packets.ClassifiedDeletePacket.Data`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub data: libremetaverse::packets::ClassifiedDeletePacketDataBlock,
    }
    impl ClassifiedDeletePacket {
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedDeletePacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ClassifiedDeletePacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedDeletePacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ClassifiedDeletePacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedDeletePacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ClassifiedDeletePacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedDeletePacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ClassifiedDeletePacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedDeletePacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ClassifiedDeletePacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedDeletePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ClassifiedDeletePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedDeletePacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ClassifiedDeletePacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedDeletePacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ClassifiedDeletePacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedDeletePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ClassifiedDeletePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedDeletePacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ClassifiedDeletePacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedDeletePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ClassifiedDeletePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ClassifiedDeletePacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ClassifiedDeletePacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ClassifiedDeletePacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ClassifiedDeletePacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ClassifiedDeletePacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ClassifiedDeletePacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ClassifiedDeletePacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ClassifiedDeletePacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ClassifiedDeletePacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ClassifiedDeletePacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ClassifiedDeletePacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl ClassifiedDeletePacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedDeletePacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ClassifiedDeletePacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedDeletePacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ClassifiedDeletePacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedDeletePacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ClassifiedDeletePacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedDeletePacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ClassifiedDeletePacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedDeletePacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ClassifiedDeletePacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedDeletePacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ClassifiedDeletePacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ClassifiedDeletePacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ClassifiedDeletePacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ClassifiedDeletePacket.DataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ClassifiedDeletePacket.DataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ClassifiedDeletePacketDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ClassifiedDeletePacket.DataBlock.ClassifiedID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ClassifiedDeletePacket.DataBlock.ClassifiedID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub classified_id: libremetaverse_types::UUID,
    }
    impl ClassifiedDeletePacketDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedDeletePacket.DataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ClassifiedDeletePacket.DataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedDeletePacket.DataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ClassifiedDeletePacket.DataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedDeletePacket.DataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ClassifiedDeletePacket.DataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedDeletePacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ClassifiedDeletePacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedDeletePacket.DataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ClassifiedDeletePacket.DataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedDeletePacket.DataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ClassifiedDeletePacket.DataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ClassifiedDeletePacket.DataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ClassifiedDeletePacket.DataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ClassifiedGodDeletePacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ClassifiedGodDeletePacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ClassifiedGodDeletePacket {
        /// C# member: `F:LibreMetaverse.Packets.ClassifiedGodDeletePacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ClassifiedGodDeletePacket.AgentDataBlock LibreMetaverse.Packets.ClassifiedGodDeletePacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::ClassifiedGodDeletePacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.ClassifiedGodDeletePacket.Data`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ClassifiedGodDeletePacket.DataBlock LibreMetaverse.Packets.ClassifiedGodDeletePacket.Data`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub data: libremetaverse::packets::ClassifiedGodDeletePacketDataBlock,
    }
    impl ClassifiedGodDeletePacket {
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedGodDeletePacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ClassifiedGodDeletePacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedGodDeletePacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ClassifiedGodDeletePacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedGodDeletePacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ClassifiedGodDeletePacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedGodDeletePacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ClassifiedGodDeletePacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedGodDeletePacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ClassifiedGodDeletePacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedGodDeletePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ClassifiedGodDeletePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedGodDeletePacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ClassifiedGodDeletePacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedGodDeletePacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ClassifiedGodDeletePacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedGodDeletePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ClassifiedGodDeletePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedGodDeletePacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ClassifiedGodDeletePacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedGodDeletePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ClassifiedGodDeletePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ClassifiedGodDeletePacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ClassifiedGodDeletePacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ClassifiedGodDeletePacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ClassifiedGodDeletePacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ClassifiedGodDeletePacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ClassifiedGodDeletePacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ClassifiedGodDeletePacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ClassifiedGodDeletePacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ClassifiedGodDeletePacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ClassifiedGodDeletePacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ClassifiedGodDeletePacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl ClassifiedGodDeletePacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedGodDeletePacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ClassifiedGodDeletePacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedGodDeletePacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ClassifiedGodDeletePacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedGodDeletePacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ClassifiedGodDeletePacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedGodDeletePacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ClassifiedGodDeletePacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedGodDeletePacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ClassifiedGodDeletePacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedGodDeletePacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ClassifiedGodDeletePacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ClassifiedGodDeletePacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ClassifiedGodDeletePacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ClassifiedGodDeletePacket.DataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ClassifiedGodDeletePacket.DataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ClassifiedGodDeletePacketDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ClassifiedGodDeletePacket.DataBlock.ClassifiedID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ClassifiedGodDeletePacket.DataBlock.ClassifiedID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub classified_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ClassifiedGodDeletePacket.DataBlock.QueryID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ClassifiedGodDeletePacket.DataBlock.QueryID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub query_id: libremetaverse_types::UUID,
    }
    impl ClassifiedGodDeletePacketDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedGodDeletePacket.DataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ClassifiedGodDeletePacket.DataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedGodDeletePacket.DataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ClassifiedGodDeletePacket.DataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedGodDeletePacket.DataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ClassifiedGodDeletePacket.DataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedGodDeletePacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ClassifiedGodDeletePacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedGodDeletePacket.DataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ClassifiedGodDeletePacket.DataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedGodDeletePacket.DataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ClassifiedGodDeletePacket.DataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ClassifiedGodDeletePacket.DataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ClassifiedGodDeletePacket.DataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ClassifiedInfoReplyPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ClassifiedInfoReplyPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ClassifiedInfoReplyPacket {
        /// C# member: `F:LibreMetaverse.Packets.ClassifiedInfoReplyPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ClassifiedInfoReplyPacket.AgentDataBlock LibreMetaverse.Packets.ClassifiedInfoReplyPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::ClassifiedInfoReplyPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.ClassifiedInfoReplyPacket.Data`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ClassifiedInfoReplyPacket.DataBlock LibreMetaverse.Packets.ClassifiedInfoReplyPacket.Data`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub data: libremetaverse::packets::ClassifiedInfoReplyPacketDataBlock,
    }
    impl ClassifiedInfoReplyPacket {
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedInfoReplyPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ClassifiedInfoReplyPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedInfoReplyPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ClassifiedInfoReplyPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedInfoReplyPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ClassifiedInfoReplyPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedInfoReplyPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ClassifiedInfoReplyPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedInfoReplyPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ClassifiedInfoReplyPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedInfoReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ClassifiedInfoReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedInfoReplyPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ClassifiedInfoReplyPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedInfoReplyPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ClassifiedInfoReplyPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedInfoReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ClassifiedInfoReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedInfoReplyPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ClassifiedInfoReplyPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedInfoReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ClassifiedInfoReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ClassifiedInfoReplyPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ClassifiedInfoReplyPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ClassifiedInfoReplyPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ClassifiedInfoReplyPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ClassifiedInfoReplyPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ClassifiedInfoReplyPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ClassifiedInfoReplyPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ClassifiedInfoReplyPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ClassifiedInfoReplyPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
    }
    impl ClassifiedInfoReplyPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedInfoReplyPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ClassifiedInfoReplyPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedInfoReplyPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ClassifiedInfoReplyPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedInfoReplyPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ClassifiedInfoReplyPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedInfoReplyPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ClassifiedInfoReplyPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedInfoReplyPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ClassifiedInfoReplyPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedInfoReplyPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ClassifiedInfoReplyPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ClassifiedInfoReplyPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ClassifiedInfoReplyPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ClassifiedInfoReplyPacket.DataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ClassifiedInfoReplyPacket.DataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ClassifiedInfoReplyPacketDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ClassifiedInfoReplyPacket.DataBlock.Category`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ClassifiedInfoReplyPacket.DataBlock.Category`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub category: u32,
        /// C# member: `F:LibreMetaverse.Packets.ClassifiedInfoReplyPacket.DataBlock.ClassifiedFlags`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.ClassifiedInfoReplyPacket.DataBlock.ClassifiedFlags`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub classified_flags: u8,
        /// C# member: `F:LibreMetaverse.Packets.ClassifiedInfoReplyPacket.DataBlock.ClassifiedID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ClassifiedInfoReplyPacket.DataBlock.ClassifiedID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub classified_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ClassifiedInfoReplyPacket.DataBlock.CreationDate`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ClassifiedInfoReplyPacket.DataBlock.CreationDate`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub creation_date: u32,
        /// C# member: `F:LibreMetaverse.Packets.ClassifiedInfoReplyPacket.DataBlock.CreatorID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ClassifiedInfoReplyPacket.DataBlock.CreatorID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub creator_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ClassifiedInfoReplyPacket.DataBlock.Desc`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ClassifiedInfoReplyPacket.DataBlock.Desc`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub desc: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.ClassifiedInfoReplyPacket.DataBlock.ExpirationDate`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ClassifiedInfoReplyPacket.DataBlock.ExpirationDate`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub expiration_date: u32,
        /// C# member: `F:LibreMetaverse.Packets.ClassifiedInfoReplyPacket.DataBlock.Name`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ClassifiedInfoReplyPacket.DataBlock.Name`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub name: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.ClassifiedInfoReplyPacket.DataBlock.ParcelID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ClassifiedInfoReplyPacket.DataBlock.ParcelID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub parcel_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ClassifiedInfoReplyPacket.DataBlock.ParcelName`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ClassifiedInfoReplyPacket.DataBlock.ParcelName`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub parcel_name: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.ClassifiedInfoReplyPacket.DataBlock.ParentEstate`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ClassifiedInfoReplyPacket.DataBlock.ParentEstate`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub parent_estate: u32,
        /// C# member: `F:LibreMetaverse.Packets.ClassifiedInfoReplyPacket.DataBlock.PosGlobal`.
        ///
        /// C# signature: `LibreMetaverse.Vector3d LibreMetaverse.Packets.ClassifiedInfoReplyPacket.DataBlock.PosGlobal`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub pos_global: libremetaverse_types::Vector3d,
        /// C# member: `F:LibreMetaverse.Packets.ClassifiedInfoReplyPacket.DataBlock.PriceForListing`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ClassifiedInfoReplyPacket.DataBlock.PriceForListing`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub price_for_listing: i32,
        /// C# member: `F:LibreMetaverse.Packets.ClassifiedInfoReplyPacket.DataBlock.SimName`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ClassifiedInfoReplyPacket.DataBlock.SimName`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub sim_name: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.ClassifiedInfoReplyPacket.DataBlock.SnapshotID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ClassifiedInfoReplyPacket.DataBlock.SnapshotID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub snapshot_id: libremetaverse_types::UUID,
    }
    impl ClassifiedInfoReplyPacketDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedInfoReplyPacket.DataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ClassifiedInfoReplyPacket.DataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedInfoReplyPacket.DataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ClassifiedInfoReplyPacket.DataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedInfoReplyPacket.DataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ClassifiedInfoReplyPacket.DataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedInfoReplyPacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ClassifiedInfoReplyPacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedInfoReplyPacket.DataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ClassifiedInfoReplyPacket.DataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedInfoReplyPacket.DataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ClassifiedInfoReplyPacket.DataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ClassifiedInfoReplyPacket.DataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ClassifiedInfoReplyPacket.DataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ClassifiedInfoRequestPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ClassifiedInfoRequestPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ClassifiedInfoRequestPacket {
        /// C# member: `F:LibreMetaverse.Packets.ClassifiedInfoRequestPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ClassifiedInfoRequestPacket.AgentDataBlock LibreMetaverse.Packets.ClassifiedInfoRequestPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::ClassifiedInfoRequestPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.ClassifiedInfoRequestPacket.Data`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ClassifiedInfoRequestPacket.DataBlock LibreMetaverse.Packets.ClassifiedInfoRequestPacket.Data`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub data: libremetaverse::packets::ClassifiedInfoRequestPacketDataBlock,
    }
    impl ClassifiedInfoRequestPacket {
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedInfoRequestPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ClassifiedInfoRequestPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedInfoRequestPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ClassifiedInfoRequestPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedInfoRequestPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ClassifiedInfoRequestPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedInfoRequestPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ClassifiedInfoRequestPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedInfoRequestPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ClassifiedInfoRequestPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedInfoRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ClassifiedInfoRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedInfoRequestPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ClassifiedInfoRequestPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedInfoRequestPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ClassifiedInfoRequestPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedInfoRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ClassifiedInfoRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedInfoRequestPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ClassifiedInfoRequestPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedInfoRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ClassifiedInfoRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ClassifiedInfoRequestPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ClassifiedInfoRequestPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ClassifiedInfoRequestPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ClassifiedInfoRequestPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ClassifiedInfoRequestPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ClassifiedInfoRequestPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ClassifiedInfoRequestPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ClassifiedInfoRequestPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ClassifiedInfoRequestPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ClassifiedInfoRequestPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ClassifiedInfoRequestPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl ClassifiedInfoRequestPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedInfoRequestPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ClassifiedInfoRequestPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedInfoRequestPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ClassifiedInfoRequestPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedInfoRequestPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ClassifiedInfoRequestPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedInfoRequestPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ClassifiedInfoRequestPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedInfoRequestPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ClassifiedInfoRequestPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedInfoRequestPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ClassifiedInfoRequestPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ClassifiedInfoRequestPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ClassifiedInfoRequestPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ClassifiedInfoRequestPacket.DataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ClassifiedInfoRequestPacket.DataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ClassifiedInfoRequestPacketDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ClassifiedInfoRequestPacket.DataBlock.ClassifiedID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ClassifiedInfoRequestPacket.DataBlock.ClassifiedID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub classified_id: libremetaverse_types::UUID,
    }
    impl ClassifiedInfoRequestPacketDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedInfoRequestPacket.DataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ClassifiedInfoRequestPacket.DataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedInfoRequestPacket.DataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ClassifiedInfoRequestPacket.DataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedInfoRequestPacket.DataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ClassifiedInfoRequestPacket.DataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedInfoRequestPacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ClassifiedInfoRequestPacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedInfoRequestPacket.DataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ClassifiedInfoRequestPacket.DataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedInfoRequestPacket.DataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ClassifiedInfoRequestPacket.DataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ClassifiedInfoRequestPacket.DataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ClassifiedInfoRequestPacket.DataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ClassifiedInfoUpdatePacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ClassifiedInfoUpdatePacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ClassifiedInfoUpdatePacket {
        /// C# member: `F:LibreMetaverse.Packets.ClassifiedInfoUpdatePacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ClassifiedInfoUpdatePacket.AgentDataBlock LibreMetaverse.Packets.ClassifiedInfoUpdatePacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::ClassifiedInfoUpdatePacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.ClassifiedInfoUpdatePacket.Data`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ClassifiedInfoUpdatePacket.DataBlock LibreMetaverse.Packets.ClassifiedInfoUpdatePacket.Data`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub data: libremetaverse::packets::ClassifiedInfoUpdatePacketDataBlock,
    }
    impl ClassifiedInfoUpdatePacket {
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedInfoUpdatePacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ClassifiedInfoUpdatePacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedInfoUpdatePacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ClassifiedInfoUpdatePacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedInfoUpdatePacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ClassifiedInfoUpdatePacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedInfoUpdatePacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ClassifiedInfoUpdatePacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedInfoUpdatePacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ClassifiedInfoUpdatePacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedInfoUpdatePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ClassifiedInfoUpdatePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedInfoUpdatePacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ClassifiedInfoUpdatePacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedInfoUpdatePacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ClassifiedInfoUpdatePacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedInfoUpdatePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ClassifiedInfoUpdatePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedInfoUpdatePacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ClassifiedInfoUpdatePacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedInfoUpdatePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ClassifiedInfoUpdatePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ClassifiedInfoUpdatePacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ClassifiedInfoUpdatePacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ClassifiedInfoUpdatePacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ClassifiedInfoUpdatePacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ClassifiedInfoUpdatePacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ClassifiedInfoUpdatePacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ClassifiedInfoUpdatePacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ClassifiedInfoUpdatePacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ClassifiedInfoUpdatePacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ClassifiedInfoUpdatePacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ClassifiedInfoUpdatePacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl ClassifiedInfoUpdatePacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedInfoUpdatePacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ClassifiedInfoUpdatePacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedInfoUpdatePacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ClassifiedInfoUpdatePacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedInfoUpdatePacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ClassifiedInfoUpdatePacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedInfoUpdatePacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ClassifiedInfoUpdatePacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedInfoUpdatePacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ClassifiedInfoUpdatePacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedInfoUpdatePacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ClassifiedInfoUpdatePacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ClassifiedInfoUpdatePacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ClassifiedInfoUpdatePacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ClassifiedInfoUpdatePacket.DataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ClassifiedInfoUpdatePacket.DataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ClassifiedInfoUpdatePacketDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ClassifiedInfoUpdatePacket.DataBlock.Category`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ClassifiedInfoUpdatePacket.DataBlock.Category`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub category: u32,
        /// C# member: `F:LibreMetaverse.Packets.ClassifiedInfoUpdatePacket.DataBlock.ClassifiedFlags`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.ClassifiedInfoUpdatePacket.DataBlock.ClassifiedFlags`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub classified_flags: u8,
        /// C# member: `F:LibreMetaverse.Packets.ClassifiedInfoUpdatePacket.DataBlock.ClassifiedID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ClassifiedInfoUpdatePacket.DataBlock.ClassifiedID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub classified_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ClassifiedInfoUpdatePacket.DataBlock.Desc`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ClassifiedInfoUpdatePacket.DataBlock.Desc`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub desc: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.ClassifiedInfoUpdatePacket.DataBlock.Name`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ClassifiedInfoUpdatePacket.DataBlock.Name`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub name: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.ClassifiedInfoUpdatePacket.DataBlock.ParcelID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ClassifiedInfoUpdatePacket.DataBlock.ParcelID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub parcel_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ClassifiedInfoUpdatePacket.DataBlock.ParentEstate`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ClassifiedInfoUpdatePacket.DataBlock.ParentEstate`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub parent_estate: u32,
        /// C# member: `F:LibreMetaverse.Packets.ClassifiedInfoUpdatePacket.DataBlock.PosGlobal`.
        ///
        /// C# signature: `LibreMetaverse.Vector3d LibreMetaverse.Packets.ClassifiedInfoUpdatePacket.DataBlock.PosGlobal`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub pos_global: libremetaverse_types::Vector3d,
        /// C# member: `F:LibreMetaverse.Packets.ClassifiedInfoUpdatePacket.DataBlock.PriceForListing`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ClassifiedInfoUpdatePacket.DataBlock.PriceForListing`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub price_for_listing: i32,
        /// C# member: `F:LibreMetaverse.Packets.ClassifiedInfoUpdatePacket.DataBlock.SnapshotID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ClassifiedInfoUpdatePacket.DataBlock.SnapshotID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub snapshot_id: libremetaverse_types::UUID,
    }
    impl ClassifiedInfoUpdatePacketDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedInfoUpdatePacket.DataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ClassifiedInfoUpdatePacket.DataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedInfoUpdatePacket.DataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ClassifiedInfoUpdatePacket.DataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedInfoUpdatePacket.DataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ClassifiedInfoUpdatePacket.DataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedInfoUpdatePacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ClassifiedInfoUpdatePacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedInfoUpdatePacket.DataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ClassifiedInfoUpdatePacket.DataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ClassifiedInfoUpdatePacket.DataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ClassifiedInfoUpdatePacket.DataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ClassifiedInfoUpdatePacket.DataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ClassifiedInfoUpdatePacket.DataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ClearFollowCamPropertiesPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ClearFollowCamPropertiesPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ClearFollowCamPropertiesPacket {
        /// C# member: `F:LibreMetaverse.Packets.ClearFollowCamPropertiesPacket.ObjectData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ClearFollowCamPropertiesPacket.ObjectDataBlock LibreMetaverse.Packets.ClearFollowCamPropertiesPacket.ObjectData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_data: libremetaverse::packets::ClearFollowCamPropertiesPacketObjectDataBlock,
    }
    impl ClearFollowCamPropertiesPacket {
        /// C# member: `M:LibreMetaverse.Packets.ClearFollowCamPropertiesPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ClearFollowCamPropertiesPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ClearFollowCamPropertiesPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ClearFollowCamPropertiesPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ClearFollowCamPropertiesPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ClearFollowCamPropertiesPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ClearFollowCamPropertiesPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ClearFollowCamPropertiesPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ClearFollowCamPropertiesPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ClearFollowCamPropertiesPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ClearFollowCamPropertiesPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ClearFollowCamPropertiesPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ClearFollowCamPropertiesPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ClearFollowCamPropertiesPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ClearFollowCamPropertiesPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ClearFollowCamPropertiesPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ClearFollowCamPropertiesPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ClearFollowCamPropertiesPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ClearFollowCamPropertiesPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ClearFollowCamPropertiesPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ClearFollowCamPropertiesPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ClearFollowCamPropertiesPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ClearFollowCamPropertiesPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ClearFollowCamPropertiesPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ClearFollowCamPropertiesPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ClearFollowCamPropertiesPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ClearFollowCamPropertiesPacket.ObjectDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ClearFollowCamPropertiesPacket.ObjectDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ClearFollowCamPropertiesPacketObjectDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ClearFollowCamPropertiesPacket.ObjectDataBlock.ObjectID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ClearFollowCamPropertiesPacket.ObjectDataBlock.ObjectID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_id: libremetaverse_types::UUID,
    }
    impl ClearFollowCamPropertiesPacketObjectDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ClearFollowCamPropertiesPacket.ObjectDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ClearFollowCamPropertiesPacket.ObjectDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ClearFollowCamPropertiesPacket.ObjectDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ClearFollowCamPropertiesPacket.ObjectDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ClearFollowCamPropertiesPacket.ObjectDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ClearFollowCamPropertiesPacket.ObjectDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ClearFollowCamPropertiesPacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ClearFollowCamPropertiesPacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ClearFollowCamPropertiesPacket.ObjectDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ClearFollowCamPropertiesPacket.ObjectDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ClearFollowCamPropertiesPacket.ObjectDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ClearFollowCamPropertiesPacket.ObjectDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ClearFollowCamPropertiesPacket.ObjectDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ClearFollowCamPropertiesPacket.ObjectDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.CloseCircuitPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.CloseCircuitPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct CloseCircuitPacket;
    impl CloseCircuitPacket {
        /// C# member: `M:LibreMetaverse.Packets.CloseCircuitPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CloseCircuitPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.CloseCircuitPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CloseCircuitPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CloseCircuitPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CloseCircuitPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CloseCircuitPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CloseCircuitPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.CloseCircuitPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CloseCircuitPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.CloseCircuitPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CloseCircuitPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.CloseCircuitPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.CloseCircuitPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.CloseCircuitPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.CloseCircuitPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.CloseCircuitPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.CloseCircuitPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.CloseCircuitPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.CloseCircuitPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.CloseCircuitPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.CloseCircuitPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.CloseCircuitPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.CloseCircuitPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.CloseCircuitPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.CloseCircuitPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.CoarseLocationUpdatePacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.CoarseLocationUpdatePacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct CoarseLocationUpdatePacket {
        /// C# member: `F:LibreMetaverse.Packets.CoarseLocationUpdatePacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CoarseLocationUpdatePacket.AgentDataBlock[] LibreMetaverse.Packets.CoarseLocationUpdatePacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: Vec<libremetaverse::packets::CoarseLocationUpdatePacketAgentDataBlock>,
        /// C# member: `F:LibreMetaverse.Packets.CoarseLocationUpdatePacket.Index`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CoarseLocationUpdatePacket.IndexBlock LibreMetaverse.Packets.CoarseLocationUpdatePacket.Index`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub index: libremetaverse::packets::CoarseLocationUpdatePacketIndexBlock,
        /// C# member: `F:LibreMetaverse.Packets.CoarseLocationUpdatePacket.Location`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CoarseLocationUpdatePacket.LocationBlock[] LibreMetaverse.Packets.CoarseLocationUpdatePacket.Location`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub location: Vec<libremetaverse::packets::CoarseLocationUpdatePacketLocationBlock>,
    }
    impl CoarseLocationUpdatePacket {
        /// C# member: `M:LibreMetaverse.Packets.CoarseLocationUpdatePacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CoarseLocationUpdatePacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.CoarseLocationUpdatePacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CoarseLocationUpdatePacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CoarseLocationUpdatePacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CoarseLocationUpdatePacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CoarseLocationUpdatePacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CoarseLocationUpdatePacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.CoarseLocationUpdatePacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CoarseLocationUpdatePacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.CoarseLocationUpdatePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CoarseLocationUpdatePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.CoarseLocationUpdatePacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.CoarseLocationUpdatePacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.CoarseLocationUpdatePacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.CoarseLocationUpdatePacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.CoarseLocationUpdatePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.CoarseLocationUpdatePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.CoarseLocationUpdatePacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.CoarseLocationUpdatePacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.CoarseLocationUpdatePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.CoarseLocationUpdatePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.CoarseLocationUpdatePacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.CoarseLocationUpdatePacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.CoarseLocationUpdatePacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.CoarseLocationUpdatePacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.CoarseLocationUpdatePacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.CoarseLocationUpdatePacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct CoarseLocationUpdatePacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.CoarseLocationUpdatePacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.CoarseLocationUpdatePacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
    }
    impl CoarseLocationUpdatePacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.CoarseLocationUpdatePacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CoarseLocationUpdatePacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.CoarseLocationUpdatePacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CoarseLocationUpdatePacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CoarseLocationUpdatePacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CoarseLocationUpdatePacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CoarseLocationUpdatePacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CoarseLocationUpdatePacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.CoarseLocationUpdatePacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CoarseLocationUpdatePacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CoarseLocationUpdatePacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.CoarseLocationUpdatePacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.CoarseLocationUpdatePacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.CoarseLocationUpdatePacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.CoarseLocationUpdatePacket.IndexBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.CoarseLocationUpdatePacket.IndexBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct CoarseLocationUpdatePacketIndexBlock {
        /// C# member: `F:LibreMetaverse.Packets.CoarseLocationUpdatePacket.IndexBlock.Prey`.
        ///
        /// C# signature: `System.Int16 LibreMetaverse.Packets.CoarseLocationUpdatePacket.IndexBlock.Prey`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub prey: i16,
        /// C# member: `F:LibreMetaverse.Packets.CoarseLocationUpdatePacket.IndexBlock.You`.
        ///
        /// C# signature: `System.Int16 LibreMetaverse.Packets.CoarseLocationUpdatePacket.IndexBlock.You`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub you: i16,
    }
    impl CoarseLocationUpdatePacketIndexBlock {
        /// C# member: `M:LibreMetaverse.Packets.CoarseLocationUpdatePacket.IndexBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CoarseLocationUpdatePacket.IndexBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.CoarseLocationUpdatePacket.IndexBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CoarseLocationUpdatePacket.IndexBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CoarseLocationUpdatePacket.IndexBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CoarseLocationUpdatePacket.IndexBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CoarseLocationUpdatePacket.IndexBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CoarseLocationUpdatePacket.IndexBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.CoarseLocationUpdatePacket.IndexBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CoarseLocationUpdatePacket.IndexBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CoarseLocationUpdatePacket.IndexBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.CoarseLocationUpdatePacket.IndexBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.CoarseLocationUpdatePacket.IndexBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.CoarseLocationUpdatePacket.IndexBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.CoarseLocationUpdatePacket.LocationBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.CoarseLocationUpdatePacket.LocationBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct CoarseLocationUpdatePacketLocationBlock {
        /// C# member: `F:LibreMetaverse.Packets.CoarseLocationUpdatePacket.LocationBlock.X`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.CoarseLocationUpdatePacket.LocationBlock.X`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub x: u8,
        /// C# member: `F:LibreMetaverse.Packets.CoarseLocationUpdatePacket.LocationBlock.Y`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.CoarseLocationUpdatePacket.LocationBlock.Y`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub y: u8,
        /// C# member: `F:LibreMetaverse.Packets.CoarseLocationUpdatePacket.LocationBlock.Z`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.CoarseLocationUpdatePacket.LocationBlock.Z`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub z: u8,
    }
    impl CoarseLocationUpdatePacketLocationBlock {
        /// C# member: `M:LibreMetaverse.Packets.CoarseLocationUpdatePacket.LocationBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CoarseLocationUpdatePacket.LocationBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.CoarseLocationUpdatePacket.LocationBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CoarseLocationUpdatePacket.LocationBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CoarseLocationUpdatePacket.LocationBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CoarseLocationUpdatePacket.LocationBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CoarseLocationUpdatePacket.LocationBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CoarseLocationUpdatePacket.LocationBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.CoarseLocationUpdatePacket.LocationBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CoarseLocationUpdatePacket.LocationBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CoarseLocationUpdatePacket.LocationBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.CoarseLocationUpdatePacket.LocationBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.CoarseLocationUpdatePacket.LocationBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.CoarseLocationUpdatePacket.LocationBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.CompleteAgentMovementPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.CompleteAgentMovementPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct CompleteAgentMovementPacket {
        /// C# member: `F:LibreMetaverse.Packets.CompleteAgentMovementPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CompleteAgentMovementPacket.AgentDataBlock LibreMetaverse.Packets.CompleteAgentMovementPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::CompleteAgentMovementPacketAgentDataBlock,
    }
    impl CompleteAgentMovementPacket {
        /// C# member: `M:LibreMetaverse.Packets.CompleteAgentMovementPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CompleteAgentMovementPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.CompleteAgentMovementPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CompleteAgentMovementPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CompleteAgentMovementPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CompleteAgentMovementPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CompleteAgentMovementPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CompleteAgentMovementPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.CompleteAgentMovementPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CompleteAgentMovementPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.CompleteAgentMovementPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CompleteAgentMovementPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.CompleteAgentMovementPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.CompleteAgentMovementPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.CompleteAgentMovementPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.CompleteAgentMovementPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.CompleteAgentMovementPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.CompleteAgentMovementPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.CompleteAgentMovementPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.CompleteAgentMovementPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.CompleteAgentMovementPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.CompleteAgentMovementPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.CompleteAgentMovementPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.CompleteAgentMovementPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.CompleteAgentMovementPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.CompleteAgentMovementPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.CompleteAgentMovementPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.CompleteAgentMovementPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct CompleteAgentMovementPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.CompleteAgentMovementPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.CompleteAgentMovementPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.CompleteAgentMovementPacket.AgentDataBlock.CircuitCode`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.CompleteAgentMovementPacket.AgentDataBlock.CircuitCode`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub circuit_code: u32,
        /// C# member: `F:LibreMetaverse.Packets.CompleteAgentMovementPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.CompleteAgentMovementPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl CompleteAgentMovementPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.CompleteAgentMovementPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CompleteAgentMovementPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.CompleteAgentMovementPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CompleteAgentMovementPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CompleteAgentMovementPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CompleteAgentMovementPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CompleteAgentMovementPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CompleteAgentMovementPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.CompleteAgentMovementPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CompleteAgentMovementPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CompleteAgentMovementPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.CompleteAgentMovementPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.CompleteAgentMovementPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.CompleteAgentMovementPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.CompleteAuctionPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.CompleteAuctionPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct CompleteAuctionPacket {
        /// C# member: `F:LibreMetaverse.Packets.CompleteAuctionPacket.ParcelData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CompleteAuctionPacket.ParcelDataBlock[] LibreMetaverse.Packets.CompleteAuctionPacket.ParcelData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub parcel_data: Vec<libremetaverse::packets::CompleteAuctionPacketParcelDataBlock>,
    }
    impl CompleteAuctionPacket {
        /// C# member: `M:LibreMetaverse.Packets.CompleteAuctionPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CompleteAuctionPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.CompleteAuctionPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CompleteAuctionPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CompleteAuctionPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CompleteAuctionPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CompleteAuctionPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CompleteAuctionPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.CompleteAuctionPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CompleteAuctionPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.CompleteAuctionPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CompleteAuctionPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.CompleteAuctionPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.CompleteAuctionPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.CompleteAuctionPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.CompleteAuctionPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.CompleteAuctionPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.CompleteAuctionPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.CompleteAuctionPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.CompleteAuctionPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.CompleteAuctionPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.CompleteAuctionPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.CompleteAuctionPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.CompleteAuctionPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.CompleteAuctionPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.CompleteAuctionPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.CompleteAuctionPacket.ParcelDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.CompleteAuctionPacket.ParcelDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct CompleteAuctionPacketParcelDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.CompleteAuctionPacket.ParcelDataBlock.ParcelID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.CompleteAuctionPacket.ParcelDataBlock.ParcelID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub parcel_id: libremetaverse_types::UUID,
    }
    impl CompleteAuctionPacketParcelDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.CompleteAuctionPacket.ParcelDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CompleteAuctionPacket.ParcelDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.CompleteAuctionPacket.ParcelDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CompleteAuctionPacket.ParcelDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CompleteAuctionPacket.ParcelDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CompleteAuctionPacket.ParcelDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CompleteAuctionPacket.ParcelDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CompleteAuctionPacket.ParcelDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.CompleteAuctionPacket.ParcelDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CompleteAuctionPacket.ParcelDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CompleteAuctionPacket.ParcelDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.CompleteAuctionPacket.ParcelDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.CompleteAuctionPacket.ParcelDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.CompleteAuctionPacket.ParcelDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.CompletePingCheckPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.CompletePingCheckPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct CompletePingCheckPacket {
        /// C# member: `F:LibreMetaverse.Packets.CompletePingCheckPacket.PingID`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CompletePingCheckPacket.PingIDBlock LibreMetaverse.Packets.CompletePingCheckPacket.PingID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub ping_id: libremetaverse::packets::CompletePingCheckPacketPingIDBlock,
    }
    impl CompletePingCheckPacket {
        /// C# member: `M:LibreMetaverse.Packets.CompletePingCheckPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CompletePingCheckPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.CompletePingCheckPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CompletePingCheckPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CompletePingCheckPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CompletePingCheckPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CompletePingCheckPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CompletePingCheckPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.CompletePingCheckPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CompletePingCheckPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.CompletePingCheckPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CompletePingCheckPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.CompletePingCheckPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.CompletePingCheckPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.CompletePingCheckPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.CompletePingCheckPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.CompletePingCheckPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.CompletePingCheckPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.CompletePingCheckPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.CompletePingCheckPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.CompletePingCheckPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.CompletePingCheckPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.CompletePingCheckPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.CompletePingCheckPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.CompletePingCheckPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.CompletePingCheckPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.CompletePingCheckPacket.PingIDBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.CompletePingCheckPacket.PingIDBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct CompletePingCheckPacketPingIDBlock {
        /// C# member: `F:LibreMetaverse.Packets.CompletePingCheckPacket.PingIDBlock.PingID`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.CompletePingCheckPacket.PingIDBlock.PingID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub ping_id: u8,
    }
    impl CompletePingCheckPacketPingIDBlock {
        /// C# member: `M:LibreMetaverse.Packets.CompletePingCheckPacket.PingIDBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CompletePingCheckPacket.PingIDBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.CompletePingCheckPacket.PingIDBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CompletePingCheckPacket.PingIDBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CompletePingCheckPacket.PingIDBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CompletePingCheckPacket.PingIDBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CompletePingCheckPacket.PingIDBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CompletePingCheckPacket.PingIDBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.CompletePingCheckPacket.PingIDBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CompletePingCheckPacket.PingIDBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CompletePingCheckPacket.PingIDBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.CompletePingCheckPacket.PingIDBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.CompletePingCheckPacket.PingIDBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.CompletePingCheckPacket.PingIDBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ConfirmAuctionStartPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ConfirmAuctionStartPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ConfirmAuctionStartPacket {
        /// C# member: `F:LibreMetaverse.Packets.ConfirmAuctionStartPacket.AuctionData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ConfirmAuctionStartPacket.AuctionDataBlock LibreMetaverse.Packets.ConfirmAuctionStartPacket.AuctionData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub auction_data: libremetaverse::packets::ConfirmAuctionStartPacketAuctionDataBlock,
    }
    impl ConfirmAuctionStartPacket {
        /// C# member: `M:LibreMetaverse.Packets.ConfirmAuctionStartPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ConfirmAuctionStartPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ConfirmAuctionStartPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ConfirmAuctionStartPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ConfirmAuctionStartPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ConfirmAuctionStartPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ConfirmAuctionStartPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ConfirmAuctionStartPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ConfirmAuctionStartPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ConfirmAuctionStartPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ConfirmAuctionStartPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ConfirmAuctionStartPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ConfirmAuctionStartPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ConfirmAuctionStartPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ConfirmAuctionStartPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ConfirmAuctionStartPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ConfirmAuctionStartPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ConfirmAuctionStartPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ConfirmAuctionStartPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ConfirmAuctionStartPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ConfirmAuctionStartPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ConfirmAuctionStartPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ConfirmAuctionStartPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ConfirmAuctionStartPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ConfirmAuctionStartPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ConfirmAuctionStartPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ConfirmAuctionStartPacket.AuctionDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ConfirmAuctionStartPacket.AuctionDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ConfirmAuctionStartPacketAuctionDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ConfirmAuctionStartPacket.AuctionDataBlock.AuctionID`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ConfirmAuctionStartPacket.AuctionDataBlock.AuctionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub auction_id: u32,
        /// C# member: `F:LibreMetaverse.Packets.ConfirmAuctionStartPacket.AuctionDataBlock.ParcelID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ConfirmAuctionStartPacket.AuctionDataBlock.ParcelID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub parcel_id: libremetaverse_types::UUID,
    }
    impl ConfirmAuctionStartPacketAuctionDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ConfirmAuctionStartPacket.AuctionDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ConfirmAuctionStartPacket.AuctionDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ConfirmAuctionStartPacket.AuctionDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ConfirmAuctionStartPacket.AuctionDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ConfirmAuctionStartPacket.AuctionDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ConfirmAuctionStartPacket.AuctionDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ConfirmAuctionStartPacket.AuctionDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ConfirmAuctionStartPacket.AuctionDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ConfirmAuctionStartPacket.AuctionDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ConfirmAuctionStartPacket.AuctionDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ConfirmAuctionStartPacket.AuctionDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ConfirmAuctionStartPacket.AuctionDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ConfirmAuctionStartPacket.AuctionDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ConfirmAuctionStartPacket.AuctionDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ConfirmEnableSimulatorPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ConfirmEnableSimulatorPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ConfirmEnableSimulatorPacket {
        /// C# member: `F:LibreMetaverse.Packets.ConfirmEnableSimulatorPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ConfirmEnableSimulatorPacket.AgentDataBlock LibreMetaverse.Packets.ConfirmEnableSimulatorPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::ConfirmEnableSimulatorPacketAgentDataBlock,
    }
    impl ConfirmEnableSimulatorPacket {
        /// C# member: `M:LibreMetaverse.Packets.ConfirmEnableSimulatorPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ConfirmEnableSimulatorPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ConfirmEnableSimulatorPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ConfirmEnableSimulatorPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ConfirmEnableSimulatorPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ConfirmEnableSimulatorPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ConfirmEnableSimulatorPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ConfirmEnableSimulatorPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ConfirmEnableSimulatorPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ConfirmEnableSimulatorPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ConfirmEnableSimulatorPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ConfirmEnableSimulatorPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ConfirmEnableSimulatorPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ConfirmEnableSimulatorPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ConfirmEnableSimulatorPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ConfirmEnableSimulatorPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ConfirmEnableSimulatorPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ConfirmEnableSimulatorPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ConfirmEnableSimulatorPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ConfirmEnableSimulatorPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ConfirmEnableSimulatorPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ConfirmEnableSimulatorPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ConfirmEnableSimulatorPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ConfirmEnableSimulatorPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ConfirmEnableSimulatorPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ConfirmEnableSimulatorPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ConfirmEnableSimulatorPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ConfirmEnableSimulatorPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ConfirmEnableSimulatorPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ConfirmEnableSimulatorPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ConfirmEnableSimulatorPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ConfirmEnableSimulatorPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ConfirmEnableSimulatorPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl ConfirmEnableSimulatorPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ConfirmEnableSimulatorPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ConfirmEnableSimulatorPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ConfirmEnableSimulatorPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ConfirmEnableSimulatorPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ConfirmEnableSimulatorPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ConfirmEnableSimulatorPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ConfirmEnableSimulatorPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ConfirmEnableSimulatorPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ConfirmEnableSimulatorPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ConfirmEnableSimulatorPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ConfirmEnableSimulatorPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ConfirmEnableSimulatorPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ConfirmEnableSimulatorPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ConfirmEnableSimulatorPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ConfirmXferPacketPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ConfirmXferPacketPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ConfirmXferPacketPacket {
        /// C# member: `F:LibreMetaverse.Packets.ConfirmXferPacketPacket.XferID`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ConfirmXferPacketPacket.XferIDBlock LibreMetaverse.Packets.ConfirmXferPacketPacket.XferID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub xfer_id: libremetaverse::packets::ConfirmXferPacketPacketXferIDBlock,
    }
    impl ConfirmXferPacketPacket {
        /// C# member: `M:LibreMetaverse.Packets.ConfirmXferPacketPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ConfirmXferPacketPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ConfirmXferPacketPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ConfirmXferPacketPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ConfirmXferPacketPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ConfirmXferPacketPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ConfirmXferPacketPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ConfirmXferPacketPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ConfirmXferPacketPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ConfirmXferPacketPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ConfirmXferPacketPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ConfirmXferPacketPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ConfirmXferPacketPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ConfirmXferPacketPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ConfirmXferPacketPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ConfirmXferPacketPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ConfirmXferPacketPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ConfirmXferPacketPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ConfirmXferPacketPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ConfirmXferPacketPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ConfirmXferPacketPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ConfirmXferPacketPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ConfirmXferPacketPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ConfirmXferPacketPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ConfirmXferPacketPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ConfirmXferPacketPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ConfirmXferPacketPacket.XferIDBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ConfirmXferPacketPacket.XferIDBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ConfirmXferPacketPacketXferIDBlock {
        /// C# member: `F:LibreMetaverse.Packets.ConfirmXferPacketPacket.XferIDBlock.ID`.
        ///
        /// C# signature: `System.UInt64 LibreMetaverse.Packets.ConfirmXferPacketPacket.XferIDBlock.ID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub id: u64,
        /// C# member: `F:LibreMetaverse.Packets.ConfirmXferPacketPacket.XferIDBlock.Packet`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ConfirmXferPacketPacket.XferIDBlock.Packet`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub packet: u32,
    }
    impl ConfirmXferPacketPacketXferIDBlock {
        /// C# member: `M:LibreMetaverse.Packets.ConfirmXferPacketPacket.XferIDBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ConfirmXferPacketPacket.XferIDBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ConfirmXferPacketPacket.XferIDBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ConfirmXferPacketPacket.XferIDBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ConfirmXferPacketPacket.XferIDBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ConfirmXferPacketPacket.XferIDBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ConfirmXferPacketPacket.XferIDBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ConfirmXferPacketPacket.XferIDBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ConfirmXferPacketPacket.XferIDBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ConfirmXferPacketPacket.XferIDBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ConfirmXferPacketPacket.XferIDBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ConfirmXferPacketPacket.XferIDBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ConfirmXferPacketPacket.XferIDBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ConfirmXferPacketPacket.XferIDBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.CopyInventoryFromNotecardPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.CopyInventoryFromNotecardPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct CopyInventoryFromNotecardPacket {
        /// C# member: `F:LibreMetaverse.Packets.CopyInventoryFromNotecardPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CopyInventoryFromNotecardPacket.AgentDataBlock LibreMetaverse.Packets.CopyInventoryFromNotecardPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::CopyInventoryFromNotecardPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.CopyInventoryFromNotecardPacket.InventoryData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CopyInventoryFromNotecardPacket.InventoryDataBlock[] LibreMetaverse.Packets.CopyInventoryFromNotecardPacket.InventoryData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub inventory_data:
            Vec<libremetaverse::packets::CopyInventoryFromNotecardPacketInventoryDataBlock>,
        /// C# member: `F:LibreMetaverse.Packets.CopyInventoryFromNotecardPacket.NotecardData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CopyInventoryFromNotecardPacket.NotecardDataBlock LibreMetaverse.Packets.CopyInventoryFromNotecardPacket.NotecardData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub notecard_data:
            libremetaverse::packets::CopyInventoryFromNotecardPacketNotecardDataBlock,
    }
    impl CopyInventoryFromNotecardPacket {
        /// C# member: `M:LibreMetaverse.Packets.CopyInventoryFromNotecardPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CopyInventoryFromNotecardPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.CopyInventoryFromNotecardPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CopyInventoryFromNotecardPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CopyInventoryFromNotecardPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CopyInventoryFromNotecardPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CopyInventoryFromNotecardPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CopyInventoryFromNotecardPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.CopyInventoryFromNotecardPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CopyInventoryFromNotecardPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.CopyInventoryFromNotecardPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CopyInventoryFromNotecardPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.CopyInventoryFromNotecardPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.CopyInventoryFromNotecardPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.CopyInventoryFromNotecardPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.CopyInventoryFromNotecardPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.CopyInventoryFromNotecardPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.CopyInventoryFromNotecardPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.CopyInventoryFromNotecardPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.CopyInventoryFromNotecardPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.CopyInventoryFromNotecardPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.CopyInventoryFromNotecardPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.CopyInventoryFromNotecardPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.CopyInventoryFromNotecardPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.CopyInventoryFromNotecardPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.CopyInventoryFromNotecardPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.CopyInventoryFromNotecardPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.CopyInventoryFromNotecardPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct CopyInventoryFromNotecardPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.CopyInventoryFromNotecardPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.CopyInventoryFromNotecardPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.CopyInventoryFromNotecardPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.CopyInventoryFromNotecardPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl CopyInventoryFromNotecardPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.CopyInventoryFromNotecardPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CopyInventoryFromNotecardPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.CopyInventoryFromNotecardPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CopyInventoryFromNotecardPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CopyInventoryFromNotecardPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CopyInventoryFromNotecardPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CopyInventoryFromNotecardPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CopyInventoryFromNotecardPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.CopyInventoryFromNotecardPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CopyInventoryFromNotecardPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CopyInventoryFromNotecardPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.CopyInventoryFromNotecardPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.CopyInventoryFromNotecardPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.CopyInventoryFromNotecardPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.CopyInventoryFromNotecardPacket.InventoryDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.CopyInventoryFromNotecardPacket.InventoryDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct CopyInventoryFromNotecardPacketInventoryDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.CopyInventoryFromNotecardPacket.InventoryDataBlock.FolderID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.CopyInventoryFromNotecardPacket.InventoryDataBlock.FolderID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub folder_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.CopyInventoryFromNotecardPacket.InventoryDataBlock.ItemID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.CopyInventoryFromNotecardPacket.InventoryDataBlock.ItemID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub item_id: libremetaverse_types::UUID,
    }
    impl CopyInventoryFromNotecardPacketInventoryDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.CopyInventoryFromNotecardPacket.InventoryDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CopyInventoryFromNotecardPacket.InventoryDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.CopyInventoryFromNotecardPacket.InventoryDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CopyInventoryFromNotecardPacket.InventoryDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CopyInventoryFromNotecardPacket.InventoryDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CopyInventoryFromNotecardPacket.InventoryDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CopyInventoryFromNotecardPacket.InventoryDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CopyInventoryFromNotecardPacket.InventoryDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.CopyInventoryFromNotecardPacket.InventoryDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CopyInventoryFromNotecardPacket.InventoryDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CopyInventoryFromNotecardPacket.InventoryDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.CopyInventoryFromNotecardPacket.InventoryDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.CopyInventoryFromNotecardPacket.InventoryDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.CopyInventoryFromNotecardPacket.InventoryDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.CopyInventoryFromNotecardPacket.NotecardDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.CopyInventoryFromNotecardPacket.NotecardDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct CopyInventoryFromNotecardPacketNotecardDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.CopyInventoryFromNotecardPacket.NotecardDataBlock.NotecardItemID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.CopyInventoryFromNotecardPacket.NotecardDataBlock.NotecardItemID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub notecard_item_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.CopyInventoryFromNotecardPacket.NotecardDataBlock.ObjectID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.CopyInventoryFromNotecardPacket.NotecardDataBlock.ObjectID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_id: libremetaverse_types::UUID,
    }
    impl CopyInventoryFromNotecardPacketNotecardDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.CopyInventoryFromNotecardPacket.NotecardDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CopyInventoryFromNotecardPacket.NotecardDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.CopyInventoryFromNotecardPacket.NotecardDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CopyInventoryFromNotecardPacket.NotecardDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CopyInventoryFromNotecardPacket.NotecardDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CopyInventoryFromNotecardPacket.NotecardDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CopyInventoryFromNotecardPacket.NotecardDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CopyInventoryFromNotecardPacket.NotecardDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.CopyInventoryFromNotecardPacket.NotecardDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CopyInventoryFromNotecardPacket.NotecardDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CopyInventoryFromNotecardPacket.NotecardDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.CopyInventoryFromNotecardPacket.NotecardDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.CopyInventoryFromNotecardPacket.NotecardDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.CopyInventoryFromNotecardPacket.NotecardDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.CopyInventoryItemPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.CopyInventoryItemPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct CopyInventoryItemPacket {
        /// C# member: `F:LibreMetaverse.Packets.CopyInventoryItemPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CopyInventoryItemPacket.AgentDataBlock LibreMetaverse.Packets.CopyInventoryItemPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::CopyInventoryItemPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.CopyInventoryItemPacket.InventoryData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CopyInventoryItemPacket.InventoryDataBlock[] LibreMetaverse.Packets.CopyInventoryItemPacket.InventoryData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub inventory_data: Vec<libremetaverse::packets::CopyInventoryItemPacketInventoryDataBlock>,
    }
    impl CopyInventoryItemPacket {
        /// C# member: `M:LibreMetaverse.Packets.CopyInventoryItemPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CopyInventoryItemPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.CopyInventoryItemPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CopyInventoryItemPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CopyInventoryItemPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CopyInventoryItemPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CopyInventoryItemPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CopyInventoryItemPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.CopyInventoryItemPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CopyInventoryItemPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.CopyInventoryItemPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CopyInventoryItemPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.CopyInventoryItemPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.CopyInventoryItemPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.CopyInventoryItemPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.CopyInventoryItemPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.CopyInventoryItemPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.CopyInventoryItemPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.CopyInventoryItemPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.CopyInventoryItemPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.CopyInventoryItemPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.CopyInventoryItemPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.CopyInventoryItemPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.CopyInventoryItemPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.CopyInventoryItemPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.CopyInventoryItemPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.CopyInventoryItemPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.CopyInventoryItemPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct CopyInventoryItemPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.CopyInventoryItemPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.CopyInventoryItemPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.CopyInventoryItemPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.CopyInventoryItemPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl CopyInventoryItemPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.CopyInventoryItemPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CopyInventoryItemPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.CopyInventoryItemPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CopyInventoryItemPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CopyInventoryItemPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CopyInventoryItemPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CopyInventoryItemPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CopyInventoryItemPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.CopyInventoryItemPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CopyInventoryItemPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CopyInventoryItemPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.CopyInventoryItemPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.CopyInventoryItemPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.CopyInventoryItemPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.CopyInventoryItemPacket.InventoryDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.CopyInventoryItemPacket.InventoryDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct CopyInventoryItemPacketInventoryDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.CopyInventoryItemPacket.InventoryDataBlock.CallbackID`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.CopyInventoryItemPacket.InventoryDataBlock.CallbackID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub callback_id: u32,
        /// C# member: `F:LibreMetaverse.Packets.CopyInventoryItemPacket.InventoryDataBlock.NewFolderID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.CopyInventoryItemPacket.InventoryDataBlock.NewFolderID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub new_folder_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.CopyInventoryItemPacket.InventoryDataBlock.NewName`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.CopyInventoryItemPacket.InventoryDataBlock.NewName`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub new_name: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.CopyInventoryItemPacket.InventoryDataBlock.OldAgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.CopyInventoryItemPacket.InventoryDataBlock.OldAgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub old_agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.CopyInventoryItemPacket.InventoryDataBlock.OldItemID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.CopyInventoryItemPacket.InventoryDataBlock.OldItemID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub old_item_id: libremetaverse_types::UUID,
    }
    impl CopyInventoryItemPacketInventoryDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.CopyInventoryItemPacket.InventoryDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CopyInventoryItemPacket.InventoryDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.CopyInventoryItemPacket.InventoryDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CopyInventoryItemPacket.InventoryDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CopyInventoryItemPacket.InventoryDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CopyInventoryItemPacket.InventoryDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CopyInventoryItemPacket.InventoryDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CopyInventoryItemPacket.InventoryDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.CopyInventoryItemPacket.InventoryDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CopyInventoryItemPacket.InventoryDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CopyInventoryItemPacket.InventoryDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.CopyInventoryItemPacket.InventoryDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.CopyInventoryItemPacket.InventoryDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.CopyInventoryItemPacket.InventoryDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.CreateGroupReplyPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.CreateGroupReplyPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct CreateGroupReplyPacket {
        /// C# member: `F:LibreMetaverse.Packets.CreateGroupReplyPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CreateGroupReplyPacket.AgentDataBlock LibreMetaverse.Packets.CreateGroupReplyPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::CreateGroupReplyPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.CreateGroupReplyPacket.ReplyData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CreateGroupReplyPacket.ReplyDataBlock LibreMetaverse.Packets.CreateGroupReplyPacket.ReplyData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub reply_data: libremetaverse::packets::CreateGroupReplyPacketReplyDataBlock,
    }
    impl CreateGroupReplyPacket {
        /// C# member: `M:LibreMetaverse.Packets.CreateGroupReplyPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CreateGroupReplyPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateGroupReplyPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CreateGroupReplyPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateGroupReplyPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CreateGroupReplyPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateGroupReplyPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CreateGroupReplyPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateGroupReplyPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CreateGroupReplyPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateGroupReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CreateGroupReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateGroupReplyPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.CreateGroupReplyPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateGroupReplyPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.CreateGroupReplyPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateGroupReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.CreateGroupReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateGroupReplyPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.CreateGroupReplyPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateGroupReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.CreateGroupReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.CreateGroupReplyPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.CreateGroupReplyPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.CreateGroupReplyPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.CreateGroupReplyPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.CreateGroupReplyPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.CreateGroupReplyPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct CreateGroupReplyPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.CreateGroupReplyPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.CreateGroupReplyPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
    }
    impl CreateGroupReplyPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.CreateGroupReplyPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CreateGroupReplyPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateGroupReplyPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CreateGroupReplyPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateGroupReplyPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CreateGroupReplyPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateGroupReplyPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CreateGroupReplyPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateGroupReplyPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CreateGroupReplyPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateGroupReplyPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.CreateGroupReplyPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.CreateGroupReplyPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.CreateGroupReplyPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.CreateGroupReplyPacket.ReplyDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.CreateGroupReplyPacket.ReplyDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct CreateGroupReplyPacketReplyDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.CreateGroupReplyPacket.ReplyDataBlock.GroupID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.CreateGroupReplyPacket.ReplyDataBlock.GroupID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.CreateGroupReplyPacket.ReplyDataBlock.Message`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.CreateGroupReplyPacket.ReplyDataBlock.Message`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub message: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.CreateGroupReplyPacket.ReplyDataBlock.Success`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.CreateGroupReplyPacket.ReplyDataBlock.Success`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub success: bool,
    }
    impl CreateGroupReplyPacketReplyDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.CreateGroupReplyPacket.ReplyDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CreateGroupReplyPacket.ReplyDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateGroupReplyPacket.ReplyDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CreateGroupReplyPacket.ReplyDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateGroupReplyPacket.ReplyDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CreateGroupReplyPacket.ReplyDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateGroupReplyPacket.ReplyDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CreateGroupReplyPacket.ReplyDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateGroupReplyPacket.ReplyDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CreateGroupReplyPacket.ReplyDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateGroupReplyPacket.ReplyDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.CreateGroupReplyPacket.ReplyDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.CreateGroupReplyPacket.ReplyDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.CreateGroupReplyPacket.ReplyDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.CreateGroupRequestExtendedPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.CreateGroupRequestExtendedPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct CreateGroupRequestExtendedPacket {
        /// C# member: `F:LibreMetaverse.Packets.CreateGroupRequestExtendedPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CreateGroupRequestExtendedPacket.AgentDataBlock LibreMetaverse.Packets.CreateGroupRequestExtendedPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::CreateGroupRequestExtendedPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.CreateGroupRequestExtendedPacket.GroupData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CreateGroupRequestExtendedPacket.GroupDataBlock LibreMetaverse.Packets.CreateGroupRequestExtendedPacket.GroupData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_data: libremetaverse::packets::CreateGroupRequestExtendedPacketGroupDataBlock,
    }
    impl CreateGroupRequestExtendedPacket {
        /// C# member: `M:LibreMetaverse.Packets.CreateGroupRequestExtendedPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CreateGroupRequestExtendedPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateGroupRequestExtendedPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CreateGroupRequestExtendedPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateGroupRequestExtendedPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CreateGroupRequestExtendedPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateGroupRequestExtendedPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CreateGroupRequestExtendedPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateGroupRequestExtendedPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CreateGroupRequestExtendedPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateGroupRequestExtendedPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CreateGroupRequestExtendedPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateGroupRequestExtendedPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.CreateGroupRequestExtendedPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateGroupRequestExtendedPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.CreateGroupRequestExtendedPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateGroupRequestExtendedPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.CreateGroupRequestExtendedPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateGroupRequestExtendedPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.CreateGroupRequestExtendedPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateGroupRequestExtendedPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.CreateGroupRequestExtendedPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.CreateGroupRequestExtendedPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.CreateGroupRequestExtendedPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.CreateGroupRequestExtendedPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.CreateGroupRequestExtendedPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.CreateGroupRequestExtendedPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.CreateGroupRequestExtendedPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct CreateGroupRequestExtendedPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.CreateGroupRequestExtendedPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.CreateGroupRequestExtendedPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.CreateGroupRequestExtendedPacket.AgentDataBlock.GroupLimit`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.CreateGroupRequestExtendedPacket.AgentDataBlock.GroupLimit`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_limit: i32,
        /// C# member: `F:LibreMetaverse.Packets.CreateGroupRequestExtendedPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.CreateGroupRequestExtendedPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl CreateGroupRequestExtendedPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.CreateGroupRequestExtendedPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CreateGroupRequestExtendedPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateGroupRequestExtendedPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CreateGroupRequestExtendedPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateGroupRequestExtendedPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CreateGroupRequestExtendedPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateGroupRequestExtendedPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CreateGroupRequestExtendedPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateGroupRequestExtendedPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CreateGroupRequestExtendedPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateGroupRequestExtendedPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.CreateGroupRequestExtendedPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.CreateGroupRequestExtendedPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.CreateGroupRequestExtendedPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.CreateGroupRequestExtendedPacket.GroupDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.CreateGroupRequestExtendedPacket.GroupDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct CreateGroupRequestExtendedPacketGroupDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.CreateGroupRequestExtendedPacket.GroupDataBlock.AllowPublish`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.CreateGroupRequestExtendedPacket.GroupDataBlock.AllowPublish`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub allow_publish: bool,
        /// C# member: `F:LibreMetaverse.Packets.CreateGroupRequestExtendedPacket.GroupDataBlock.Charter`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.CreateGroupRequestExtendedPacket.GroupDataBlock.Charter`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub charter: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.CreateGroupRequestExtendedPacket.GroupDataBlock.InsigniaID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.CreateGroupRequestExtendedPacket.GroupDataBlock.InsigniaID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub insignia_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.CreateGroupRequestExtendedPacket.GroupDataBlock.MaturePublish`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.CreateGroupRequestExtendedPacket.GroupDataBlock.MaturePublish`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub mature_publish: bool,
        /// C# member: `F:LibreMetaverse.Packets.CreateGroupRequestExtendedPacket.GroupDataBlock.MembershipFee`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.CreateGroupRequestExtendedPacket.GroupDataBlock.MembershipFee`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub membership_fee: i32,
        /// C# member: `F:LibreMetaverse.Packets.CreateGroupRequestExtendedPacket.GroupDataBlock.Name`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.CreateGroupRequestExtendedPacket.GroupDataBlock.Name`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub name: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.CreateGroupRequestExtendedPacket.GroupDataBlock.OpenEnrollment`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.CreateGroupRequestExtendedPacket.GroupDataBlock.OpenEnrollment`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub open_enrollment: bool,
        /// C# member: `F:LibreMetaverse.Packets.CreateGroupRequestExtendedPacket.GroupDataBlock.ShowInList`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.CreateGroupRequestExtendedPacket.GroupDataBlock.ShowInList`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub show_in_list: bool,
    }
    impl CreateGroupRequestExtendedPacketGroupDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.CreateGroupRequestExtendedPacket.GroupDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CreateGroupRequestExtendedPacket.GroupDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateGroupRequestExtendedPacket.GroupDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CreateGroupRequestExtendedPacket.GroupDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateGroupRequestExtendedPacket.GroupDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CreateGroupRequestExtendedPacket.GroupDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateGroupRequestExtendedPacket.GroupDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CreateGroupRequestExtendedPacket.GroupDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateGroupRequestExtendedPacket.GroupDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CreateGroupRequestExtendedPacket.GroupDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateGroupRequestExtendedPacket.GroupDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.CreateGroupRequestExtendedPacket.GroupDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.CreateGroupRequestExtendedPacket.GroupDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.CreateGroupRequestExtendedPacket.GroupDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.CreateGroupRequestPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.CreateGroupRequestPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct CreateGroupRequestPacket {
        /// C# member: `F:LibreMetaverse.Packets.CreateGroupRequestPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CreateGroupRequestPacket.AgentDataBlock LibreMetaverse.Packets.CreateGroupRequestPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::CreateGroupRequestPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.CreateGroupRequestPacket.GroupData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CreateGroupRequestPacket.GroupDataBlock LibreMetaverse.Packets.CreateGroupRequestPacket.GroupData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_data: libremetaverse::packets::CreateGroupRequestPacketGroupDataBlock,
    }
    impl CreateGroupRequestPacket {
        /// C# member: `M:LibreMetaverse.Packets.CreateGroupRequestPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CreateGroupRequestPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateGroupRequestPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CreateGroupRequestPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateGroupRequestPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CreateGroupRequestPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateGroupRequestPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CreateGroupRequestPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateGroupRequestPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CreateGroupRequestPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateGroupRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CreateGroupRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateGroupRequestPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.CreateGroupRequestPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateGroupRequestPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.CreateGroupRequestPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateGroupRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.CreateGroupRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateGroupRequestPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.CreateGroupRequestPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateGroupRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.CreateGroupRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.CreateGroupRequestPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.CreateGroupRequestPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.CreateGroupRequestPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.CreateGroupRequestPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.CreateGroupRequestPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.CreateGroupRequestPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct CreateGroupRequestPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.CreateGroupRequestPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.CreateGroupRequestPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.CreateGroupRequestPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.CreateGroupRequestPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl CreateGroupRequestPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.CreateGroupRequestPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CreateGroupRequestPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateGroupRequestPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CreateGroupRequestPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateGroupRequestPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CreateGroupRequestPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateGroupRequestPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CreateGroupRequestPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateGroupRequestPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CreateGroupRequestPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateGroupRequestPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.CreateGroupRequestPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.CreateGroupRequestPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.CreateGroupRequestPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.CreateGroupRequestPacket.GroupDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.CreateGroupRequestPacket.GroupDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct CreateGroupRequestPacketGroupDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.CreateGroupRequestPacket.GroupDataBlock.AllowPublish`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.CreateGroupRequestPacket.GroupDataBlock.AllowPublish`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub allow_publish: bool,
        /// C# member: `F:LibreMetaverse.Packets.CreateGroupRequestPacket.GroupDataBlock.Charter`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.CreateGroupRequestPacket.GroupDataBlock.Charter`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub charter: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.CreateGroupRequestPacket.GroupDataBlock.InsigniaID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.CreateGroupRequestPacket.GroupDataBlock.InsigniaID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub insignia_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.CreateGroupRequestPacket.GroupDataBlock.MaturePublish`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.CreateGroupRequestPacket.GroupDataBlock.MaturePublish`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub mature_publish: bool,
        /// C# member: `F:LibreMetaverse.Packets.CreateGroupRequestPacket.GroupDataBlock.MembershipFee`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.CreateGroupRequestPacket.GroupDataBlock.MembershipFee`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub membership_fee: i32,
        /// C# member: `F:LibreMetaverse.Packets.CreateGroupRequestPacket.GroupDataBlock.Name`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.CreateGroupRequestPacket.GroupDataBlock.Name`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub name: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.CreateGroupRequestPacket.GroupDataBlock.OpenEnrollment`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.CreateGroupRequestPacket.GroupDataBlock.OpenEnrollment`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub open_enrollment: bool,
        /// C# member: `F:LibreMetaverse.Packets.CreateGroupRequestPacket.GroupDataBlock.ShowInList`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.CreateGroupRequestPacket.GroupDataBlock.ShowInList`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub show_in_list: bool,
    }
    impl CreateGroupRequestPacketGroupDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.CreateGroupRequestPacket.GroupDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CreateGroupRequestPacket.GroupDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateGroupRequestPacket.GroupDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CreateGroupRequestPacket.GroupDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateGroupRequestPacket.GroupDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CreateGroupRequestPacket.GroupDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateGroupRequestPacket.GroupDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CreateGroupRequestPacket.GroupDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateGroupRequestPacket.GroupDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CreateGroupRequestPacket.GroupDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateGroupRequestPacket.GroupDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.CreateGroupRequestPacket.GroupDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.CreateGroupRequestPacket.GroupDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.CreateGroupRequestPacket.GroupDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.CreateInventoryFolderPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.CreateInventoryFolderPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct CreateInventoryFolderPacket {
        /// C# member: `F:LibreMetaverse.Packets.CreateInventoryFolderPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CreateInventoryFolderPacket.AgentDataBlock LibreMetaverse.Packets.CreateInventoryFolderPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::CreateInventoryFolderPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.CreateInventoryFolderPacket.FolderData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CreateInventoryFolderPacket.FolderDataBlock LibreMetaverse.Packets.CreateInventoryFolderPacket.FolderData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub folder_data: libremetaverse::packets::CreateInventoryFolderPacketFolderDataBlock,
    }
    impl CreateInventoryFolderPacket {
        /// C# member: `M:LibreMetaverse.Packets.CreateInventoryFolderPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CreateInventoryFolderPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateInventoryFolderPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CreateInventoryFolderPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateInventoryFolderPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CreateInventoryFolderPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateInventoryFolderPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CreateInventoryFolderPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateInventoryFolderPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CreateInventoryFolderPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateInventoryFolderPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CreateInventoryFolderPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateInventoryFolderPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.CreateInventoryFolderPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateInventoryFolderPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.CreateInventoryFolderPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateInventoryFolderPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.CreateInventoryFolderPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateInventoryFolderPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.CreateInventoryFolderPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateInventoryFolderPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.CreateInventoryFolderPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.CreateInventoryFolderPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.CreateInventoryFolderPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.CreateInventoryFolderPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.CreateInventoryFolderPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.CreateInventoryFolderPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.CreateInventoryFolderPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct CreateInventoryFolderPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.CreateInventoryFolderPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.CreateInventoryFolderPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.CreateInventoryFolderPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.CreateInventoryFolderPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl CreateInventoryFolderPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.CreateInventoryFolderPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CreateInventoryFolderPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateInventoryFolderPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CreateInventoryFolderPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateInventoryFolderPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CreateInventoryFolderPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateInventoryFolderPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CreateInventoryFolderPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateInventoryFolderPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CreateInventoryFolderPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateInventoryFolderPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.CreateInventoryFolderPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.CreateInventoryFolderPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.CreateInventoryFolderPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.CreateInventoryFolderPacket.FolderDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.CreateInventoryFolderPacket.FolderDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct CreateInventoryFolderPacketFolderDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.CreateInventoryFolderPacket.FolderDataBlock.FolderID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.CreateInventoryFolderPacket.FolderDataBlock.FolderID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub folder_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.CreateInventoryFolderPacket.FolderDataBlock.Name`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.CreateInventoryFolderPacket.FolderDataBlock.Name`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub name: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.CreateInventoryFolderPacket.FolderDataBlock.ParentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.CreateInventoryFolderPacket.FolderDataBlock.ParentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub parent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.CreateInventoryFolderPacket.FolderDataBlock.Type`.
        ///
        /// C# signature: `System.SByte LibreMetaverse.Packets.CreateInventoryFolderPacket.FolderDataBlock.Type`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub type_: i8,
    }
    impl CreateInventoryFolderPacketFolderDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.CreateInventoryFolderPacket.FolderDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CreateInventoryFolderPacket.FolderDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateInventoryFolderPacket.FolderDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CreateInventoryFolderPacket.FolderDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateInventoryFolderPacket.FolderDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CreateInventoryFolderPacket.FolderDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateInventoryFolderPacket.FolderDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CreateInventoryFolderPacket.FolderDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateInventoryFolderPacket.FolderDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CreateInventoryFolderPacket.FolderDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateInventoryFolderPacket.FolderDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.CreateInventoryFolderPacket.FolderDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.CreateInventoryFolderPacket.FolderDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.CreateInventoryFolderPacket.FolderDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.CreateInventoryItemPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.CreateInventoryItemPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct CreateInventoryItemPacket {
        /// C# member: `F:LibreMetaverse.Packets.CreateInventoryItemPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CreateInventoryItemPacket.AgentDataBlock LibreMetaverse.Packets.CreateInventoryItemPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::CreateInventoryItemPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.CreateInventoryItemPacket.InventoryBlock`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CreateInventoryItemPacket.InventoryBlockBlock LibreMetaverse.Packets.CreateInventoryItemPacket.InventoryBlock`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub inventory_block: libremetaverse::packets::CreateInventoryItemPacketInventoryBlockBlock,
    }
    impl CreateInventoryItemPacket {
        /// C# member: `M:LibreMetaverse.Packets.CreateInventoryItemPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CreateInventoryItemPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateInventoryItemPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CreateInventoryItemPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateInventoryItemPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CreateInventoryItemPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateInventoryItemPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CreateInventoryItemPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateInventoryItemPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CreateInventoryItemPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateInventoryItemPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CreateInventoryItemPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateInventoryItemPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.CreateInventoryItemPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateInventoryItemPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.CreateInventoryItemPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateInventoryItemPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.CreateInventoryItemPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateInventoryItemPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.CreateInventoryItemPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateInventoryItemPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.CreateInventoryItemPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.CreateInventoryItemPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.CreateInventoryItemPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.CreateInventoryItemPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.CreateInventoryItemPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.CreateInventoryItemPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.CreateInventoryItemPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct CreateInventoryItemPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.CreateInventoryItemPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.CreateInventoryItemPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.CreateInventoryItemPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.CreateInventoryItemPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl CreateInventoryItemPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.CreateInventoryItemPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CreateInventoryItemPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateInventoryItemPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CreateInventoryItemPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateInventoryItemPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CreateInventoryItemPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateInventoryItemPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CreateInventoryItemPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateInventoryItemPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CreateInventoryItemPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateInventoryItemPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.CreateInventoryItemPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.CreateInventoryItemPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.CreateInventoryItemPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.CreateInventoryItemPacket.InventoryBlockBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.CreateInventoryItemPacket.InventoryBlockBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct CreateInventoryItemPacketInventoryBlockBlock {
        /// C# member: `F:LibreMetaverse.Packets.CreateInventoryItemPacket.InventoryBlockBlock.CallbackID`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.CreateInventoryItemPacket.InventoryBlockBlock.CallbackID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub callback_id: u32,
        /// C# member: `F:LibreMetaverse.Packets.CreateInventoryItemPacket.InventoryBlockBlock.Description`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.CreateInventoryItemPacket.InventoryBlockBlock.Description`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub description: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.CreateInventoryItemPacket.InventoryBlockBlock.FolderID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.CreateInventoryItemPacket.InventoryBlockBlock.FolderID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub folder_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.CreateInventoryItemPacket.InventoryBlockBlock.InvType`.
        ///
        /// C# signature: `System.SByte LibreMetaverse.Packets.CreateInventoryItemPacket.InventoryBlockBlock.InvType`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub inv_type: i8,
        /// C# member: `F:LibreMetaverse.Packets.CreateInventoryItemPacket.InventoryBlockBlock.Name`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.CreateInventoryItemPacket.InventoryBlockBlock.Name`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub name: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.CreateInventoryItemPacket.InventoryBlockBlock.NextOwnerMask`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.CreateInventoryItemPacket.InventoryBlockBlock.NextOwnerMask`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub next_owner_mask: u32,
        /// C# member: `F:LibreMetaverse.Packets.CreateInventoryItemPacket.InventoryBlockBlock.TransactionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.CreateInventoryItemPacket.InventoryBlockBlock.TransactionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub transaction_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.CreateInventoryItemPacket.InventoryBlockBlock.Type`.
        ///
        /// C# signature: `System.SByte LibreMetaverse.Packets.CreateInventoryItemPacket.InventoryBlockBlock.Type`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub type_: i8,
        /// C# member: `F:LibreMetaverse.Packets.CreateInventoryItemPacket.InventoryBlockBlock.WearableType`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.CreateInventoryItemPacket.InventoryBlockBlock.WearableType`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub wearable_type: u8,
    }
    impl CreateInventoryItemPacketInventoryBlockBlock {
        /// C# member: `M:LibreMetaverse.Packets.CreateInventoryItemPacket.InventoryBlockBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CreateInventoryItemPacket.InventoryBlockBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateInventoryItemPacket.InventoryBlockBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CreateInventoryItemPacket.InventoryBlockBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateInventoryItemPacket.InventoryBlockBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CreateInventoryItemPacket.InventoryBlockBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateInventoryItemPacket.InventoryBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CreateInventoryItemPacket.InventoryBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateInventoryItemPacket.InventoryBlockBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CreateInventoryItemPacket.InventoryBlockBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateInventoryItemPacket.InventoryBlockBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.CreateInventoryItemPacket.InventoryBlockBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.CreateInventoryItemPacket.InventoryBlockBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.CreateInventoryItemPacket.InventoryBlockBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.CreateLandmarkForEventPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.CreateLandmarkForEventPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct CreateLandmarkForEventPacket {
        /// C# member: `F:LibreMetaverse.Packets.CreateLandmarkForEventPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CreateLandmarkForEventPacket.AgentDataBlock LibreMetaverse.Packets.CreateLandmarkForEventPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::CreateLandmarkForEventPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.CreateLandmarkForEventPacket.EventData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CreateLandmarkForEventPacket.EventDataBlock LibreMetaverse.Packets.CreateLandmarkForEventPacket.EventData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub event_data: libremetaverse::packets::CreateLandmarkForEventPacketEventDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.CreateLandmarkForEventPacket.InventoryBlock`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CreateLandmarkForEventPacket.InventoryBlockBlock LibreMetaverse.Packets.CreateLandmarkForEventPacket.InventoryBlock`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub inventory_block:
            libremetaverse::packets::CreateLandmarkForEventPacketInventoryBlockBlock,
    }
    impl CreateLandmarkForEventPacket {
        /// C# member: `M:LibreMetaverse.Packets.CreateLandmarkForEventPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CreateLandmarkForEventPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateLandmarkForEventPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CreateLandmarkForEventPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateLandmarkForEventPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CreateLandmarkForEventPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateLandmarkForEventPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CreateLandmarkForEventPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateLandmarkForEventPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CreateLandmarkForEventPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateLandmarkForEventPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CreateLandmarkForEventPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateLandmarkForEventPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.CreateLandmarkForEventPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateLandmarkForEventPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.CreateLandmarkForEventPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateLandmarkForEventPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.CreateLandmarkForEventPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateLandmarkForEventPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.CreateLandmarkForEventPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateLandmarkForEventPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.CreateLandmarkForEventPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.CreateLandmarkForEventPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.CreateLandmarkForEventPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.CreateLandmarkForEventPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.CreateLandmarkForEventPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.CreateLandmarkForEventPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.CreateLandmarkForEventPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct CreateLandmarkForEventPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.CreateLandmarkForEventPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.CreateLandmarkForEventPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.CreateLandmarkForEventPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.CreateLandmarkForEventPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl CreateLandmarkForEventPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.CreateLandmarkForEventPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CreateLandmarkForEventPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateLandmarkForEventPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CreateLandmarkForEventPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateLandmarkForEventPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CreateLandmarkForEventPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateLandmarkForEventPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CreateLandmarkForEventPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateLandmarkForEventPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CreateLandmarkForEventPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateLandmarkForEventPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.CreateLandmarkForEventPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.CreateLandmarkForEventPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.CreateLandmarkForEventPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.CreateLandmarkForEventPacket.EventDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.CreateLandmarkForEventPacket.EventDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct CreateLandmarkForEventPacketEventDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.CreateLandmarkForEventPacket.EventDataBlock.EventID`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.CreateLandmarkForEventPacket.EventDataBlock.EventID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub event_id: u32,
    }
    impl CreateLandmarkForEventPacketEventDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.CreateLandmarkForEventPacket.EventDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CreateLandmarkForEventPacket.EventDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateLandmarkForEventPacket.EventDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CreateLandmarkForEventPacket.EventDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateLandmarkForEventPacket.EventDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CreateLandmarkForEventPacket.EventDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateLandmarkForEventPacket.EventDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CreateLandmarkForEventPacket.EventDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateLandmarkForEventPacket.EventDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CreateLandmarkForEventPacket.EventDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateLandmarkForEventPacket.EventDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.CreateLandmarkForEventPacket.EventDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.CreateLandmarkForEventPacket.EventDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.CreateLandmarkForEventPacket.EventDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.CreateLandmarkForEventPacket.InventoryBlockBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.CreateLandmarkForEventPacket.InventoryBlockBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct CreateLandmarkForEventPacketInventoryBlockBlock {
        /// C# member: `F:LibreMetaverse.Packets.CreateLandmarkForEventPacket.InventoryBlockBlock.FolderID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.CreateLandmarkForEventPacket.InventoryBlockBlock.FolderID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub folder_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.CreateLandmarkForEventPacket.InventoryBlockBlock.Name`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.CreateLandmarkForEventPacket.InventoryBlockBlock.Name`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub name: Vec<u8>,
    }
    impl CreateLandmarkForEventPacketInventoryBlockBlock {
        /// C# member: `M:LibreMetaverse.Packets.CreateLandmarkForEventPacket.InventoryBlockBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CreateLandmarkForEventPacket.InventoryBlockBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateLandmarkForEventPacket.InventoryBlockBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CreateLandmarkForEventPacket.InventoryBlockBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateLandmarkForEventPacket.InventoryBlockBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CreateLandmarkForEventPacket.InventoryBlockBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateLandmarkForEventPacket.InventoryBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CreateLandmarkForEventPacket.InventoryBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateLandmarkForEventPacket.InventoryBlockBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CreateLandmarkForEventPacket.InventoryBlockBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateLandmarkForEventPacket.InventoryBlockBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.CreateLandmarkForEventPacket.InventoryBlockBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.CreateLandmarkForEventPacket.InventoryBlockBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.CreateLandmarkForEventPacket.InventoryBlockBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.CreateNewOutfitAttachmentsPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.CreateNewOutfitAttachmentsPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct CreateNewOutfitAttachmentsPacket {
        /// C# member: `F:LibreMetaverse.Packets.CreateNewOutfitAttachmentsPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CreateNewOutfitAttachmentsPacket.AgentDataBlock LibreMetaverse.Packets.CreateNewOutfitAttachmentsPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::CreateNewOutfitAttachmentsPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.CreateNewOutfitAttachmentsPacket.HeaderData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CreateNewOutfitAttachmentsPacket.HeaderDataBlock LibreMetaverse.Packets.CreateNewOutfitAttachmentsPacket.HeaderData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub header_data: libremetaverse::packets::CreateNewOutfitAttachmentsPacketHeaderDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.CreateNewOutfitAttachmentsPacket.ObjectData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CreateNewOutfitAttachmentsPacket.ObjectDataBlock[] LibreMetaverse.Packets.CreateNewOutfitAttachmentsPacket.ObjectData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_data:
            Vec<libremetaverse::packets::CreateNewOutfitAttachmentsPacketObjectDataBlock>,
    }
    impl CreateNewOutfitAttachmentsPacket {
        /// C# member: `M:LibreMetaverse.Packets.CreateNewOutfitAttachmentsPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CreateNewOutfitAttachmentsPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateNewOutfitAttachmentsPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CreateNewOutfitAttachmentsPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateNewOutfitAttachmentsPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CreateNewOutfitAttachmentsPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateNewOutfitAttachmentsPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CreateNewOutfitAttachmentsPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateNewOutfitAttachmentsPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CreateNewOutfitAttachmentsPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateNewOutfitAttachmentsPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CreateNewOutfitAttachmentsPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateNewOutfitAttachmentsPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.CreateNewOutfitAttachmentsPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateNewOutfitAttachmentsPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.CreateNewOutfitAttachmentsPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateNewOutfitAttachmentsPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.CreateNewOutfitAttachmentsPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateNewOutfitAttachmentsPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.CreateNewOutfitAttachmentsPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateNewOutfitAttachmentsPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.CreateNewOutfitAttachmentsPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.CreateNewOutfitAttachmentsPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.CreateNewOutfitAttachmentsPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.CreateNewOutfitAttachmentsPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.CreateNewOutfitAttachmentsPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.CreateNewOutfitAttachmentsPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.CreateNewOutfitAttachmentsPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct CreateNewOutfitAttachmentsPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.CreateNewOutfitAttachmentsPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.CreateNewOutfitAttachmentsPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.CreateNewOutfitAttachmentsPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.CreateNewOutfitAttachmentsPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl CreateNewOutfitAttachmentsPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.CreateNewOutfitAttachmentsPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CreateNewOutfitAttachmentsPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateNewOutfitAttachmentsPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CreateNewOutfitAttachmentsPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateNewOutfitAttachmentsPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CreateNewOutfitAttachmentsPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateNewOutfitAttachmentsPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CreateNewOutfitAttachmentsPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateNewOutfitAttachmentsPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CreateNewOutfitAttachmentsPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateNewOutfitAttachmentsPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.CreateNewOutfitAttachmentsPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.CreateNewOutfitAttachmentsPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.CreateNewOutfitAttachmentsPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.CreateNewOutfitAttachmentsPacket.HeaderDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.CreateNewOutfitAttachmentsPacket.HeaderDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct CreateNewOutfitAttachmentsPacketHeaderDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.CreateNewOutfitAttachmentsPacket.HeaderDataBlock.NewFolderID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.CreateNewOutfitAttachmentsPacket.HeaderDataBlock.NewFolderID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub new_folder_id: libremetaverse_types::UUID,
    }
    impl CreateNewOutfitAttachmentsPacketHeaderDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.CreateNewOutfitAttachmentsPacket.HeaderDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CreateNewOutfitAttachmentsPacket.HeaderDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateNewOutfitAttachmentsPacket.HeaderDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CreateNewOutfitAttachmentsPacket.HeaderDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateNewOutfitAttachmentsPacket.HeaderDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CreateNewOutfitAttachmentsPacket.HeaderDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateNewOutfitAttachmentsPacket.HeaderDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CreateNewOutfitAttachmentsPacket.HeaderDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateNewOutfitAttachmentsPacket.HeaderDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CreateNewOutfitAttachmentsPacket.HeaderDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateNewOutfitAttachmentsPacket.HeaderDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.CreateNewOutfitAttachmentsPacket.HeaderDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.CreateNewOutfitAttachmentsPacket.HeaderDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.CreateNewOutfitAttachmentsPacket.HeaderDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.CreateNewOutfitAttachmentsPacket.ObjectDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.CreateNewOutfitAttachmentsPacket.ObjectDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct CreateNewOutfitAttachmentsPacketObjectDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.CreateNewOutfitAttachmentsPacket.ObjectDataBlock.OldFolderID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.CreateNewOutfitAttachmentsPacket.ObjectDataBlock.OldFolderID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub old_folder_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.CreateNewOutfitAttachmentsPacket.ObjectDataBlock.OldItemID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.CreateNewOutfitAttachmentsPacket.ObjectDataBlock.OldItemID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub old_item_id: libremetaverse_types::UUID,
    }
    impl CreateNewOutfitAttachmentsPacketObjectDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.CreateNewOutfitAttachmentsPacket.ObjectDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CreateNewOutfitAttachmentsPacket.ObjectDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateNewOutfitAttachmentsPacket.ObjectDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CreateNewOutfitAttachmentsPacket.ObjectDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateNewOutfitAttachmentsPacket.ObjectDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CreateNewOutfitAttachmentsPacket.ObjectDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateNewOutfitAttachmentsPacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CreateNewOutfitAttachmentsPacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateNewOutfitAttachmentsPacket.ObjectDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CreateNewOutfitAttachmentsPacket.ObjectDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateNewOutfitAttachmentsPacket.ObjectDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.CreateNewOutfitAttachmentsPacket.ObjectDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.CreateNewOutfitAttachmentsPacket.ObjectDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.CreateNewOutfitAttachmentsPacket.ObjectDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.CreateTrustedCircuitPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.CreateTrustedCircuitPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct CreateTrustedCircuitPacket {
        /// C# member: `F:LibreMetaverse.Packets.CreateTrustedCircuitPacket.DataBlock`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CreateTrustedCircuitPacket.DataBlockBlock LibreMetaverse.Packets.CreateTrustedCircuitPacket.DataBlock`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub data_block: libremetaverse::packets::CreateTrustedCircuitPacketDataBlockBlock,
    }
    impl CreateTrustedCircuitPacket {
        /// C# member: `M:LibreMetaverse.Packets.CreateTrustedCircuitPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CreateTrustedCircuitPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateTrustedCircuitPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CreateTrustedCircuitPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateTrustedCircuitPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CreateTrustedCircuitPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateTrustedCircuitPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CreateTrustedCircuitPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateTrustedCircuitPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CreateTrustedCircuitPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateTrustedCircuitPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CreateTrustedCircuitPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateTrustedCircuitPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.CreateTrustedCircuitPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateTrustedCircuitPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.CreateTrustedCircuitPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateTrustedCircuitPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.CreateTrustedCircuitPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateTrustedCircuitPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.CreateTrustedCircuitPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateTrustedCircuitPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.CreateTrustedCircuitPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.CreateTrustedCircuitPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.CreateTrustedCircuitPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.CreateTrustedCircuitPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.CreateTrustedCircuitPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.CreateTrustedCircuitPacket.DataBlockBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.CreateTrustedCircuitPacket.DataBlockBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct CreateTrustedCircuitPacketDataBlockBlock {
        /// C# member: `F:LibreMetaverse.Packets.CreateTrustedCircuitPacket.DataBlockBlock.Digest`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.CreateTrustedCircuitPacket.DataBlockBlock.Digest`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub digest: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.CreateTrustedCircuitPacket.DataBlockBlock.EndPointID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.CreateTrustedCircuitPacket.DataBlockBlock.EndPointID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub end_point_id: libremetaverse_types::UUID,
    }
    impl CreateTrustedCircuitPacketDataBlockBlock {
        /// C# member: `M:LibreMetaverse.Packets.CreateTrustedCircuitPacket.DataBlockBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CreateTrustedCircuitPacket.DataBlockBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateTrustedCircuitPacket.DataBlockBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CreateTrustedCircuitPacket.DataBlockBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateTrustedCircuitPacket.DataBlockBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CreateTrustedCircuitPacket.DataBlockBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateTrustedCircuitPacket.DataBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CreateTrustedCircuitPacket.DataBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateTrustedCircuitPacket.DataBlockBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CreateTrustedCircuitPacket.DataBlockBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CreateTrustedCircuitPacket.DataBlockBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.CreateTrustedCircuitPacket.DataBlockBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.CreateTrustedCircuitPacket.DataBlockBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.CreateTrustedCircuitPacket.DataBlockBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.CrossedRegionPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.CrossedRegionPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct CrossedRegionPacket {
        /// C# member: `F:LibreMetaverse.Packets.CrossedRegionPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CrossedRegionPacket.AgentDataBlock LibreMetaverse.Packets.CrossedRegionPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::CrossedRegionPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.CrossedRegionPacket.Info`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CrossedRegionPacket.InfoBlock LibreMetaverse.Packets.CrossedRegionPacket.Info`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub info: libremetaverse::packets::CrossedRegionPacketInfoBlock,
        /// C# member: `F:LibreMetaverse.Packets.CrossedRegionPacket.RegionData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CrossedRegionPacket.RegionDataBlock LibreMetaverse.Packets.CrossedRegionPacket.RegionData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub region_data: libremetaverse::packets::CrossedRegionPacketRegionDataBlock,
    }
    impl CrossedRegionPacket {
        /// C# member: `M:LibreMetaverse.Packets.CrossedRegionPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CrossedRegionPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.CrossedRegionPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CrossedRegionPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CrossedRegionPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CrossedRegionPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CrossedRegionPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CrossedRegionPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.CrossedRegionPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CrossedRegionPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.CrossedRegionPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CrossedRegionPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.CrossedRegionPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.CrossedRegionPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.CrossedRegionPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.CrossedRegionPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.CrossedRegionPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.CrossedRegionPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.CrossedRegionPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.CrossedRegionPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.CrossedRegionPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.CrossedRegionPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.CrossedRegionPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.CrossedRegionPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.CrossedRegionPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.CrossedRegionPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.CrossedRegionPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.CrossedRegionPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct CrossedRegionPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.CrossedRegionPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.CrossedRegionPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.CrossedRegionPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.CrossedRegionPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl CrossedRegionPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.CrossedRegionPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CrossedRegionPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.CrossedRegionPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CrossedRegionPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CrossedRegionPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CrossedRegionPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CrossedRegionPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CrossedRegionPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.CrossedRegionPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CrossedRegionPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CrossedRegionPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.CrossedRegionPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.CrossedRegionPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.CrossedRegionPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.CrossedRegionPacket.InfoBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.CrossedRegionPacket.InfoBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct CrossedRegionPacketInfoBlock {
        /// C# member: `F:LibreMetaverse.Packets.CrossedRegionPacket.InfoBlock.LookAt`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Packets.CrossedRegionPacket.InfoBlock.LookAt`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub look_at: libremetaverse_types::Vector3,
        /// C# member: `F:LibreMetaverse.Packets.CrossedRegionPacket.InfoBlock.Position`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Packets.CrossedRegionPacket.InfoBlock.Position`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub position: libremetaverse_types::Vector3,
    }
    impl CrossedRegionPacketInfoBlock {
        /// C# member: `M:LibreMetaverse.Packets.CrossedRegionPacket.InfoBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CrossedRegionPacket.InfoBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.CrossedRegionPacket.InfoBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CrossedRegionPacket.InfoBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CrossedRegionPacket.InfoBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CrossedRegionPacket.InfoBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CrossedRegionPacket.InfoBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CrossedRegionPacket.InfoBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.CrossedRegionPacket.InfoBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CrossedRegionPacket.InfoBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CrossedRegionPacket.InfoBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.CrossedRegionPacket.InfoBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.CrossedRegionPacket.InfoBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.CrossedRegionPacket.InfoBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.CrossedRegionPacket.RegionDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.CrossedRegionPacket.RegionDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct CrossedRegionPacketRegionDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.CrossedRegionPacket.RegionDataBlock.RegionHandle`.
        ///
        /// C# signature: `System.UInt64 LibreMetaverse.Packets.CrossedRegionPacket.RegionDataBlock.RegionHandle`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub region_handle: u64,
        /// C# member: `F:LibreMetaverse.Packets.CrossedRegionPacket.RegionDataBlock.SeedCapability`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.CrossedRegionPacket.RegionDataBlock.SeedCapability`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub seed_capability: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.CrossedRegionPacket.RegionDataBlock.SimIP`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.CrossedRegionPacket.RegionDataBlock.SimIP`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub sim_ip: u32,
        /// C# member: `F:LibreMetaverse.Packets.CrossedRegionPacket.RegionDataBlock.SimPort`.
        ///
        /// C# signature: `System.UInt16 LibreMetaverse.Packets.CrossedRegionPacket.RegionDataBlock.SimPort`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub sim_port: u16,
    }
    impl CrossedRegionPacketRegionDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.CrossedRegionPacket.RegionDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CrossedRegionPacket.RegionDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.CrossedRegionPacket.RegionDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.CrossedRegionPacket.RegionDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CrossedRegionPacket.RegionDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CrossedRegionPacket.RegionDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CrossedRegionPacket.RegionDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CrossedRegionPacket.RegionDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.CrossedRegionPacket.RegionDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.CrossedRegionPacket.RegionDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.CrossedRegionPacket.RegionDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.CrossedRegionPacket.RegionDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.CrossedRegionPacket.RegionDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.CrossedRegionPacket.RegionDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.DataHomeLocationReplyPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.DataHomeLocationReplyPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct DataHomeLocationReplyPacket {
        /// C# member: `F:LibreMetaverse.Packets.DataHomeLocationReplyPacket.Info`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DataHomeLocationReplyPacket.InfoBlock LibreMetaverse.Packets.DataHomeLocationReplyPacket.Info`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub info: libremetaverse::packets::DataHomeLocationReplyPacketInfoBlock,
    }
    impl DataHomeLocationReplyPacket {
        /// C# member: `M:LibreMetaverse.Packets.DataHomeLocationReplyPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DataHomeLocationReplyPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.DataHomeLocationReplyPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DataHomeLocationReplyPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DataHomeLocationReplyPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DataHomeLocationReplyPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DataHomeLocationReplyPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DataHomeLocationReplyPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.DataHomeLocationReplyPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DataHomeLocationReplyPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.DataHomeLocationReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DataHomeLocationReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.DataHomeLocationReplyPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.DataHomeLocationReplyPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.DataHomeLocationReplyPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.DataHomeLocationReplyPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.DataHomeLocationReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.DataHomeLocationReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.DataHomeLocationReplyPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.DataHomeLocationReplyPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.DataHomeLocationReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.DataHomeLocationReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.DataHomeLocationReplyPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.DataHomeLocationReplyPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.DataHomeLocationReplyPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.DataHomeLocationReplyPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.DataHomeLocationReplyPacket.InfoBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.DataHomeLocationReplyPacket.InfoBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct DataHomeLocationReplyPacketInfoBlock {
        /// C# member: `F:LibreMetaverse.Packets.DataHomeLocationReplyPacket.InfoBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.DataHomeLocationReplyPacket.InfoBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.DataHomeLocationReplyPacket.InfoBlock.LookAt`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Packets.DataHomeLocationReplyPacket.InfoBlock.LookAt`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub look_at: libremetaverse_types::Vector3,
        /// C# member: `F:LibreMetaverse.Packets.DataHomeLocationReplyPacket.InfoBlock.Position`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Packets.DataHomeLocationReplyPacket.InfoBlock.Position`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub position: libremetaverse_types::Vector3,
        /// C# member: `F:LibreMetaverse.Packets.DataHomeLocationReplyPacket.InfoBlock.RegionHandle`.
        ///
        /// C# signature: `System.UInt64 LibreMetaverse.Packets.DataHomeLocationReplyPacket.InfoBlock.RegionHandle`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub region_handle: u64,
    }
    impl DataHomeLocationReplyPacketInfoBlock {
        /// C# member: `M:LibreMetaverse.Packets.DataHomeLocationReplyPacket.InfoBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DataHomeLocationReplyPacket.InfoBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.DataHomeLocationReplyPacket.InfoBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DataHomeLocationReplyPacket.InfoBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DataHomeLocationReplyPacket.InfoBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DataHomeLocationReplyPacket.InfoBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DataHomeLocationReplyPacket.InfoBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DataHomeLocationReplyPacket.InfoBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.DataHomeLocationReplyPacket.InfoBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DataHomeLocationReplyPacket.InfoBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DataHomeLocationReplyPacket.InfoBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.DataHomeLocationReplyPacket.InfoBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.DataHomeLocationReplyPacket.InfoBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.DataHomeLocationReplyPacket.InfoBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.DataHomeLocationRequestPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.DataHomeLocationRequestPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct DataHomeLocationRequestPacket {
        /// C# member: `F:LibreMetaverse.Packets.DataHomeLocationRequestPacket.AgentInfo`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DataHomeLocationRequestPacket.AgentInfoBlock LibreMetaverse.Packets.DataHomeLocationRequestPacket.AgentInfo`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_info: libremetaverse::packets::DataHomeLocationRequestPacketAgentInfoBlock,
        /// C# member: `F:LibreMetaverse.Packets.DataHomeLocationRequestPacket.Info`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DataHomeLocationRequestPacket.InfoBlock LibreMetaverse.Packets.DataHomeLocationRequestPacket.Info`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub info: libremetaverse::packets::DataHomeLocationRequestPacketInfoBlock,
    }
    impl DataHomeLocationRequestPacket {
        /// C# member: `M:LibreMetaverse.Packets.DataHomeLocationRequestPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DataHomeLocationRequestPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.DataHomeLocationRequestPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DataHomeLocationRequestPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DataHomeLocationRequestPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DataHomeLocationRequestPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DataHomeLocationRequestPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DataHomeLocationRequestPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.DataHomeLocationRequestPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DataHomeLocationRequestPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.DataHomeLocationRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DataHomeLocationRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.DataHomeLocationRequestPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.DataHomeLocationRequestPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.DataHomeLocationRequestPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.DataHomeLocationRequestPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.DataHomeLocationRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.DataHomeLocationRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.DataHomeLocationRequestPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.DataHomeLocationRequestPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.DataHomeLocationRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.DataHomeLocationRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.DataHomeLocationRequestPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.DataHomeLocationRequestPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.DataHomeLocationRequestPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.DataHomeLocationRequestPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.DataHomeLocationRequestPacket.AgentInfoBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.DataHomeLocationRequestPacket.AgentInfoBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct DataHomeLocationRequestPacketAgentInfoBlock {
        /// C# member: `F:LibreMetaverse.Packets.DataHomeLocationRequestPacket.AgentInfoBlock.AgentEffectiveMaturity`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.DataHomeLocationRequestPacket.AgentInfoBlock.AgentEffectiveMaturity`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_effective_maturity: u32,
    }
    impl DataHomeLocationRequestPacketAgentInfoBlock {
        /// C# member: `M:LibreMetaverse.Packets.DataHomeLocationRequestPacket.AgentInfoBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DataHomeLocationRequestPacket.AgentInfoBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.DataHomeLocationRequestPacket.AgentInfoBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DataHomeLocationRequestPacket.AgentInfoBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DataHomeLocationRequestPacket.AgentInfoBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DataHomeLocationRequestPacket.AgentInfoBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DataHomeLocationRequestPacket.AgentInfoBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DataHomeLocationRequestPacket.AgentInfoBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.DataHomeLocationRequestPacket.AgentInfoBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DataHomeLocationRequestPacket.AgentInfoBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DataHomeLocationRequestPacket.AgentInfoBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.DataHomeLocationRequestPacket.AgentInfoBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.DataHomeLocationRequestPacket.AgentInfoBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.DataHomeLocationRequestPacket.AgentInfoBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.DataHomeLocationRequestPacket.InfoBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.DataHomeLocationRequestPacket.InfoBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct DataHomeLocationRequestPacketInfoBlock {
        /// C# member: `F:LibreMetaverse.Packets.DataHomeLocationRequestPacket.InfoBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.DataHomeLocationRequestPacket.InfoBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.DataHomeLocationRequestPacket.InfoBlock.KickedFromEstateID`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.DataHomeLocationRequestPacket.InfoBlock.KickedFromEstateID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub kicked_from_estate_id: u32,
    }
    impl DataHomeLocationRequestPacketInfoBlock {
        /// C# member: `M:LibreMetaverse.Packets.DataHomeLocationRequestPacket.InfoBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DataHomeLocationRequestPacket.InfoBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.DataHomeLocationRequestPacket.InfoBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DataHomeLocationRequestPacket.InfoBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DataHomeLocationRequestPacket.InfoBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DataHomeLocationRequestPacket.InfoBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DataHomeLocationRequestPacket.InfoBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DataHomeLocationRequestPacket.InfoBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.DataHomeLocationRequestPacket.InfoBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DataHomeLocationRequestPacket.InfoBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DataHomeLocationRequestPacket.InfoBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.DataHomeLocationRequestPacket.InfoBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.DataHomeLocationRequestPacket.InfoBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.DataHomeLocationRequestPacket.InfoBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.DataServerLogoutPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.DataServerLogoutPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct DataServerLogoutPacket {
        /// C# member: `F:LibreMetaverse.Packets.DataServerLogoutPacket.UserData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DataServerLogoutPacket.UserDataBlock LibreMetaverse.Packets.DataServerLogoutPacket.UserData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub user_data: libremetaverse::packets::DataServerLogoutPacketUserDataBlock,
    }
    impl DataServerLogoutPacket {
        /// C# member: `M:LibreMetaverse.Packets.DataServerLogoutPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DataServerLogoutPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.DataServerLogoutPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DataServerLogoutPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DataServerLogoutPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DataServerLogoutPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DataServerLogoutPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DataServerLogoutPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.DataServerLogoutPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DataServerLogoutPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.DataServerLogoutPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DataServerLogoutPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.DataServerLogoutPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.DataServerLogoutPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.DataServerLogoutPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.DataServerLogoutPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.DataServerLogoutPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.DataServerLogoutPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.DataServerLogoutPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.DataServerLogoutPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.DataServerLogoutPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.DataServerLogoutPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.DataServerLogoutPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.DataServerLogoutPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.DataServerLogoutPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.DataServerLogoutPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.DataServerLogoutPacket.UserDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.DataServerLogoutPacket.UserDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct DataServerLogoutPacketUserDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.DataServerLogoutPacket.UserDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.DataServerLogoutPacket.UserDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.DataServerLogoutPacket.UserDataBlock.Disconnect`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.DataServerLogoutPacket.UserDataBlock.Disconnect`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub disconnect: bool,
        /// C# member: `F:LibreMetaverse.Packets.DataServerLogoutPacket.UserDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.DataServerLogoutPacket.UserDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.DataServerLogoutPacket.UserDataBlock.ViewerIP`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.DataServerLogoutPacket.UserDataBlock.ViewerIP`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub viewer_ip: u32,
    }
    impl DataServerLogoutPacketUserDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.DataServerLogoutPacket.UserDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DataServerLogoutPacket.UserDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.DataServerLogoutPacket.UserDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DataServerLogoutPacket.UserDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DataServerLogoutPacket.UserDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DataServerLogoutPacket.UserDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DataServerLogoutPacket.UserDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DataServerLogoutPacket.UserDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.DataServerLogoutPacket.UserDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DataServerLogoutPacket.UserDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DataServerLogoutPacket.UserDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.DataServerLogoutPacket.UserDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.DataServerLogoutPacket.UserDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.DataServerLogoutPacket.UserDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.DeRezAckPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.DeRezAckPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct DeRezAckPacket {
        /// C# member: `F:LibreMetaverse.Packets.DeRezAckPacket.TransactionData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DeRezAckPacket.TransactionDataBlock LibreMetaverse.Packets.DeRezAckPacket.TransactionData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub transaction_data: libremetaverse::packets::DeRezAckPacketTransactionDataBlock,
    }
    impl DeRezAckPacket {
        /// C# member: `M:LibreMetaverse.Packets.DeRezAckPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DeRezAckPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.DeRezAckPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DeRezAckPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DeRezAckPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DeRezAckPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DeRezAckPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DeRezAckPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.DeRezAckPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DeRezAckPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.DeRezAckPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DeRezAckPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.DeRezAckPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.DeRezAckPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.DeRezAckPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.DeRezAckPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.DeRezAckPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.DeRezAckPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.DeRezAckPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.DeRezAckPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.DeRezAckPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.DeRezAckPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.DeRezAckPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.DeRezAckPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.DeRezAckPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.DeRezAckPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.DeRezAckPacket.TransactionDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.DeRezAckPacket.TransactionDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct DeRezAckPacketTransactionDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.DeRezAckPacket.TransactionDataBlock.Success`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.DeRezAckPacket.TransactionDataBlock.Success`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub success: bool,
        /// C# member: `F:LibreMetaverse.Packets.DeRezAckPacket.TransactionDataBlock.TransactionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.DeRezAckPacket.TransactionDataBlock.TransactionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub transaction_id: libremetaverse_types::UUID,
    }
    impl DeRezAckPacketTransactionDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.DeRezAckPacket.TransactionDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DeRezAckPacket.TransactionDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.DeRezAckPacket.TransactionDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DeRezAckPacket.TransactionDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DeRezAckPacket.TransactionDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DeRezAckPacket.TransactionDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DeRezAckPacket.TransactionDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DeRezAckPacket.TransactionDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.DeRezAckPacket.TransactionDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DeRezAckPacket.TransactionDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DeRezAckPacket.TransactionDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.DeRezAckPacket.TransactionDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.DeRezAckPacket.TransactionDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.DeRezAckPacket.TransactionDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.DeRezObjectPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.DeRezObjectPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct DeRezObjectPacket {
        /// C# member: `F:LibreMetaverse.Packets.DeRezObjectPacket.AgentBlock`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DeRezObjectPacket.AgentBlockBlock LibreMetaverse.Packets.DeRezObjectPacket.AgentBlock`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_block: libremetaverse::packets::DeRezObjectPacketAgentBlockBlock,
        /// C# member: `F:LibreMetaverse.Packets.DeRezObjectPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DeRezObjectPacket.AgentDataBlock LibreMetaverse.Packets.DeRezObjectPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::DeRezObjectPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.DeRezObjectPacket.ObjectData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DeRezObjectPacket.ObjectDataBlock[] LibreMetaverse.Packets.DeRezObjectPacket.ObjectData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_data: Vec<libremetaverse::packets::DeRezObjectPacketObjectDataBlock>,
    }
    impl DeRezObjectPacket {
        /// C# member: `M:LibreMetaverse.Packets.DeRezObjectPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DeRezObjectPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.DeRezObjectPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DeRezObjectPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DeRezObjectPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DeRezObjectPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DeRezObjectPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DeRezObjectPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.DeRezObjectPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DeRezObjectPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.DeRezObjectPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DeRezObjectPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.DeRezObjectPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.DeRezObjectPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.DeRezObjectPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.DeRezObjectPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.DeRezObjectPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.DeRezObjectPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.DeRezObjectPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.DeRezObjectPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.DeRezObjectPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.DeRezObjectPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.DeRezObjectPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.DeRezObjectPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.DeRezObjectPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.DeRezObjectPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.DeRezObjectPacket.AgentBlockBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.DeRezObjectPacket.AgentBlockBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct DeRezObjectPacketAgentBlockBlock {
        /// C# member: `F:LibreMetaverse.Packets.DeRezObjectPacket.AgentBlockBlock.Destination`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.DeRezObjectPacket.AgentBlockBlock.Destination`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub destination: u8,
        /// C# member: `F:LibreMetaverse.Packets.DeRezObjectPacket.AgentBlockBlock.DestinationID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.DeRezObjectPacket.AgentBlockBlock.DestinationID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub destination_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.DeRezObjectPacket.AgentBlockBlock.GroupID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.DeRezObjectPacket.AgentBlockBlock.GroupID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.DeRezObjectPacket.AgentBlockBlock.PacketCount`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.DeRezObjectPacket.AgentBlockBlock.PacketCount`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub packet_count: u8,
        /// C# member: `F:LibreMetaverse.Packets.DeRezObjectPacket.AgentBlockBlock.PacketNumber`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.DeRezObjectPacket.AgentBlockBlock.PacketNumber`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub packet_number: u8,
        /// C# member: `F:LibreMetaverse.Packets.DeRezObjectPacket.AgentBlockBlock.TransactionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.DeRezObjectPacket.AgentBlockBlock.TransactionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub transaction_id: libremetaverse_types::UUID,
    }
    impl DeRezObjectPacketAgentBlockBlock {
        /// C# member: `M:LibreMetaverse.Packets.DeRezObjectPacket.AgentBlockBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DeRezObjectPacket.AgentBlockBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.DeRezObjectPacket.AgentBlockBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DeRezObjectPacket.AgentBlockBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DeRezObjectPacket.AgentBlockBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DeRezObjectPacket.AgentBlockBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DeRezObjectPacket.AgentBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DeRezObjectPacket.AgentBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.DeRezObjectPacket.AgentBlockBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DeRezObjectPacket.AgentBlockBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DeRezObjectPacket.AgentBlockBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.DeRezObjectPacket.AgentBlockBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.DeRezObjectPacket.AgentBlockBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.DeRezObjectPacket.AgentBlockBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.DeRezObjectPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.DeRezObjectPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct DeRezObjectPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.DeRezObjectPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.DeRezObjectPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.DeRezObjectPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.DeRezObjectPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl DeRezObjectPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.DeRezObjectPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DeRezObjectPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.DeRezObjectPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DeRezObjectPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DeRezObjectPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DeRezObjectPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DeRezObjectPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DeRezObjectPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.DeRezObjectPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DeRezObjectPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DeRezObjectPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.DeRezObjectPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.DeRezObjectPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.DeRezObjectPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.DeRezObjectPacket.ObjectDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.DeRezObjectPacket.ObjectDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct DeRezObjectPacketObjectDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.DeRezObjectPacket.ObjectDataBlock.ObjectLocalID`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.DeRezObjectPacket.ObjectDataBlock.ObjectLocalID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_local_id: u32,
    }
    impl DeRezObjectPacketObjectDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.DeRezObjectPacket.ObjectDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DeRezObjectPacket.ObjectDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.DeRezObjectPacket.ObjectDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DeRezObjectPacket.ObjectDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DeRezObjectPacket.ObjectDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DeRezObjectPacket.ObjectDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DeRezObjectPacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DeRezObjectPacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.DeRezObjectPacket.ObjectDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DeRezObjectPacket.ObjectDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DeRezObjectPacket.ObjectDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.DeRezObjectPacket.ObjectDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.DeRezObjectPacket.ObjectDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.DeRezObjectPacket.ObjectDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.DeactivateGesturesPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.DeactivateGesturesPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct DeactivateGesturesPacket {
        /// C# member: `F:LibreMetaverse.Packets.DeactivateGesturesPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DeactivateGesturesPacket.AgentDataBlock LibreMetaverse.Packets.DeactivateGesturesPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::DeactivateGesturesPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.DeactivateGesturesPacket.Data`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DeactivateGesturesPacket.DataBlock[] LibreMetaverse.Packets.DeactivateGesturesPacket.Data`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub data: Vec<libremetaverse::packets::DeactivateGesturesPacketDataBlock>,
    }
    impl DeactivateGesturesPacket {
        /// C# member: `M:LibreMetaverse.Packets.DeactivateGesturesPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DeactivateGesturesPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.DeactivateGesturesPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DeactivateGesturesPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DeactivateGesturesPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DeactivateGesturesPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DeactivateGesturesPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DeactivateGesturesPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.DeactivateGesturesPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DeactivateGesturesPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.DeactivateGesturesPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DeactivateGesturesPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.DeactivateGesturesPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.DeactivateGesturesPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.DeactivateGesturesPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.DeactivateGesturesPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.DeactivateGesturesPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.DeactivateGesturesPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.DeactivateGesturesPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.DeactivateGesturesPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.DeactivateGesturesPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.DeactivateGesturesPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.DeactivateGesturesPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.DeactivateGesturesPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.DeactivateGesturesPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.DeactivateGesturesPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.DeactivateGesturesPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.DeactivateGesturesPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct DeactivateGesturesPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.DeactivateGesturesPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.DeactivateGesturesPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.DeactivateGesturesPacket.AgentDataBlock.Flags`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.DeactivateGesturesPacket.AgentDataBlock.Flags`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub flags: u32,
        /// C# member: `F:LibreMetaverse.Packets.DeactivateGesturesPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.DeactivateGesturesPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl DeactivateGesturesPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.DeactivateGesturesPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DeactivateGesturesPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.DeactivateGesturesPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DeactivateGesturesPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DeactivateGesturesPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DeactivateGesturesPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DeactivateGesturesPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DeactivateGesturesPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.DeactivateGesturesPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DeactivateGesturesPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DeactivateGesturesPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.DeactivateGesturesPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.DeactivateGesturesPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.DeactivateGesturesPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.DeactivateGesturesPacket.DataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.DeactivateGesturesPacket.DataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct DeactivateGesturesPacketDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.DeactivateGesturesPacket.DataBlock.GestureFlags`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.DeactivateGesturesPacket.DataBlock.GestureFlags`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub gesture_flags: u32,
        /// C# member: `F:LibreMetaverse.Packets.DeactivateGesturesPacket.DataBlock.ItemID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.DeactivateGesturesPacket.DataBlock.ItemID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub item_id: libremetaverse_types::UUID,
    }
    impl DeactivateGesturesPacketDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.DeactivateGesturesPacket.DataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DeactivateGesturesPacket.DataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.DeactivateGesturesPacket.DataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DeactivateGesturesPacket.DataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DeactivateGesturesPacket.DataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DeactivateGesturesPacket.DataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DeactivateGesturesPacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DeactivateGesturesPacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.DeactivateGesturesPacket.DataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DeactivateGesturesPacket.DataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DeactivateGesturesPacket.DataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.DeactivateGesturesPacket.DataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.DeactivateGesturesPacket.DataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.DeactivateGesturesPacket.DataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.DeclineCallingCardPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.DeclineCallingCardPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct DeclineCallingCardPacket {
        /// C# member: `F:LibreMetaverse.Packets.DeclineCallingCardPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DeclineCallingCardPacket.AgentDataBlock LibreMetaverse.Packets.DeclineCallingCardPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::DeclineCallingCardPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.DeclineCallingCardPacket.TransactionBlock`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DeclineCallingCardPacket.TransactionBlockBlock LibreMetaverse.Packets.DeclineCallingCardPacket.TransactionBlock`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub transaction_block:
            libremetaverse::packets::DeclineCallingCardPacketTransactionBlockBlock,
    }
    impl DeclineCallingCardPacket {
        /// C# member: `M:LibreMetaverse.Packets.DeclineCallingCardPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DeclineCallingCardPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.DeclineCallingCardPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DeclineCallingCardPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DeclineCallingCardPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DeclineCallingCardPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DeclineCallingCardPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DeclineCallingCardPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.DeclineCallingCardPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DeclineCallingCardPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.DeclineCallingCardPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DeclineCallingCardPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.DeclineCallingCardPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.DeclineCallingCardPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.DeclineCallingCardPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.DeclineCallingCardPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.DeclineCallingCardPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.DeclineCallingCardPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.DeclineCallingCardPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.DeclineCallingCardPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.DeclineCallingCardPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.DeclineCallingCardPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.DeclineCallingCardPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.DeclineCallingCardPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.DeclineCallingCardPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.DeclineCallingCardPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.DeclineCallingCardPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.DeclineCallingCardPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct DeclineCallingCardPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.DeclineCallingCardPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.DeclineCallingCardPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.DeclineCallingCardPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.DeclineCallingCardPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl DeclineCallingCardPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.DeclineCallingCardPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DeclineCallingCardPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.DeclineCallingCardPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DeclineCallingCardPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DeclineCallingCardPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DeclineCallingCardPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DeclineCallingCardPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DeclineCallingCardPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.DeclineCallingCardPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DeclineCallingCardPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DeclineCallingCardPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.DeclineCallingCardPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.DeclineCallingCardPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.DeclineCallingCardPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.DeclineCallingCardPacket.TransactionBlockBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.DeclineCallingCardPacket.TransactionBlockBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct DeclineCallingCardPacketTransactionBlockBlock {
        /// C# member: `F:LibreMetaverse.Packets.DeclineCallingCardPacket.TransactionBlockBlock.TransactionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.DeclineCallingCardPacket.TransactionBlockBlock.TransactionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub transaction_id: libremetaverse_types::UUID,
    }
    impl DeclineCallingCardPacketTransactionBlockBlock {
        /// C# member: `M:LibreMetaverse.Packets.DeclineCallingCardPacket.TransactionBlockBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DeclineCallingCardPacket.TransactionBlockBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.DeclineCallingCardPacket.TransactionBlockBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DeclineCallingCardPacket.TransactionBlockBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DeclineCallingCardPacket.TransactionBlockBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DeclineCallingCardPacket.TransactionBlockBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DeclineCallingCardPacket.TransactionBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DeclineCallingCardPacket.TransactionBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.DeclineCallingCardPacket.TransactionBlockBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DeclineCallingCardPacket.TransactionBlockBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DeclineCallingCardPacket.TransactionBlockBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.DeclineCallingCardPacket.TransactionBlockBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.DeclineCallingCardPacket.TransactionBlockBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.DeclineCallingCardPacket.TransactionBlockBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.DeclineFriendshipPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.DeclineFriendshipPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct DeclineFriendshipPacket {
        /// C# member: `F:LibreMetaverse.Packets.DeclineFriendshipPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DeclineFriendshipPacket.AgentDataBlock LibreMetaverse.Packets.DeclineFriendshipPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::DeclineFriendshipPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.DeclineFriendshipPacket.TransactionBlock`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DeclineFriendshipPacket.TransactionBlockBlock LibreMetaverse.Packets.DeclineFriendshipPacket.TransactionBlock`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub transaction_block:
            libremetaverse::packets::DeclineFriendshipPacketTransactionBlockBlock,
    }
    impl DeclineFriendshipPacket {
        /// C# member: `M:LibreMetaverse.Packets.DeclineFriendshipPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DeclineFriendshipPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.DeclineFriendshipPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DeclineFriendshipPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DeclineFriendshipPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DeclineFriendshipPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DeclineFriendshipPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DeclineFriendshipPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.DeclineFriendshipPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DeclineFriendshipPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.DeclineFriendshipPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DeclineFriendshipPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.DeclineFriendshipPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.DeclineFriendshipPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.DeclineFriendshipPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.DeclineFriendshipPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.DeclineFriendshipPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.DeclineFriendshipPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.DeclineFriendshipPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.DeclineFriendshipPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.DeclineFriendshipPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.DeclineFriendshipPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.DeclineFriendshipPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.DeclineFriendshipPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.DeclineFriendshipPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.DeclineFriendshipPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.DeclineFriendshipPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.DeclineFriendshipPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct DeclineFriendshipPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.DeclineFriendshipPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.DeclineFriendshipPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.DeclineFriendshipPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.DeclineFriendshipPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl DeclineFriendshipPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.DeclineFriendshipPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DeclineFriendshipPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.DeclineFriendshipPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DeclineFriendshipPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DeclineFriendshipPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DeclineFriendshipPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DeclineFriendshipPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DeclineFriendshipPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.DeclineFriendshipPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DeclineFriendshipPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DeclineFriendshipPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.DeclineFriendshipPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.DeclineFriendshipPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.DeclineFriendshipPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.DeclineFriendshipPacket.TransactionBlockBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.DeclineFriendshipPacket.TransactionBlockBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct DeclineFriendshipPacketTransactionBlockBlock {
        /// C# member: `F:LibreMetaverse.Packets.DeclineFriendshipPacket.TransactionBlockBlock.TransactionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.DeclineFriendshipPacket.TransactionBlockBlock.TransactionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub transaction_id: libremetaverse_types::UUID,
    }
    impl DeclineFriendshipPacketTransactionBlockBlock {
        /// C# member: `M:LibreMetaverse.Packets.DeclineFriendshipPacket.TransactionBlockBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DeclineFriendshipPacket.TransactionBlockBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.DeclineFriendshipPacket.TransactionBlockBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DeclineFriendshipPacket.TransactionBlockBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DeclineFriendshipPacket.TransactionBlockBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DeclineFriendshipPacket.TransactionBlockBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DeclineFriendshipPacket.TransactionBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DeclineFriendshipPacket.TransactionBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.DeclineFriendshipPacket.TransactionBlockBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DeclineFriendshipPacket.TransactionBlockBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DeclineFriendshipPacket.TransactionBlockBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.DeclineFriendshipPacket.TransactionBlockBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.DeclineFriendshipPacket.TransactionBlockBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.DeclineFriendshipPacket.TransactionBlockBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.DenyTrustedCircuitPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.DenyTrustedCircuitPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct DenyTrustedCircuitPacket {
        /// C# member: `F:LibreMetaverse.Packets.DenyTrustedCircuitPacket.DataBlock`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DenyTrustedCircuitPacket.DataBlockBlock LibreMetaverse.Packets.DenyTrustedCircuitPacket.DataBlock`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub data_block: libremetaverse::packets::DenyTrustedCircuitPacketDataBlockBlock,
    }
    impl DenyTrustedCircuitPacket {
        /// C# member: `M:LibreMetaverse.Packets.DenyTrustedCircuitPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DenyTrustedCircuitPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.DenyTrustedCircuitPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DenyTrustedCircuitPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DenyTrustedCircuitPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DenyTrustedCircuitPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DenyTrustedCircuitPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DenyTrustedCircuitPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.DenyTrustedCircuitPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DenyTrustedCircuitPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.DenyTrustedCircuitPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DenyTrustedCircuitPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.DenyTrustedCircuitPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.DenyTrustedCircuitPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.DenyTrustedCircuitPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.DenyTrustedCircuitPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.DenyTrustedCircuitPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.DenyTrustedCircuitPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.DenyTrustedCircuitPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.DenyTrustedCircuitPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.DenyTrustedCircuitPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.DenyTrustedCircuitPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.DenyTrustedCircuitPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.DenyTrustedCircuitPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.DenyTrustedCircuitPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.DenyTrustedCircuitPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.DenyTrustedCircuitPacket.DataBlockBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.DenyTrustedCircuitPacket.DataBlockBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct DenyTrustedCircuitPacketDataBlockBlock {
        /// C# member: `F:LibreMetaverse.Packets.DenyTrustedCircuitPacket.DataBlockBlock.EndPointID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.DenyTrustedCircuitPacket.DataBlockBlock.EndPointID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub end_point_id: libremetaverse_types::UUID,
    }
    impl DenyTrustedCircuitPacketDataBlockBlock {
        /// C# member: `M:LibreMetaverse.Packets.DenyTrustedCircuitPacket.DataBlockBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DenyTrustedCircuitPacket.DataBlockBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.DenyTrustedCircuitPacket.DataBlockBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DenyTrustedCircuitPacket.DataBlockBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DenyTrustedCircuitPacket.DataBlockBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DenyTrustedCircuitPacket.DataBlockBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DenyTrustedCircuitPacket.DataBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DenyTrustedCircuitPacket.DataBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.DenyTrustedCircuitPacket.DataBlockBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DenyTrustedCircuitPacket.DataBlockBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DenyTrustedCircuitPacket.DataBlockBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.DenyTrustedCircuitPacket.DataBlockBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.DenyTrustedCircuitPacket.DataBlockBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.DenyTrustedCircuitPacket.DataBlockBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.DerezContainerPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.DerezContainerPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct DerezContainerPacket {
        /// C# member: `F:LibreMetaverse.Packets.DerezContainerPacket.Data`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DerezContainerPacket.DataBlock LibreMetaverse.Packets.DerezContainerPacket.Data`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub data: libremetaverse::packets::DerezContainerPacketDataBlock,
    }
    impl DerezContainerPacket {
        /// C# member: `M:LibreMetaverse.Packets.DerezContainerPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DerezContainerPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.DerezContainerPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DerezContainerPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DerezContainerPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DerezContainerPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DerezContainerPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DerezContainerPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.DerezContainerPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DerezContainerPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.DerezContainerPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DerezContainerPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.DerezContainerPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.DerezContainerPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.DerezContainerPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.DerezContainerPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.DerezContainerPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.DerezContainerPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.DerezContainerPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.DerezContainerPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.DerezContainerPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.DerezContainerPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.DerezContainerPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.DerezContainerPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.DerezContainerPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.DerezContainerPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.DerezContainerPacket.DataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.DerezContainerPacket.DataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct DerezContainerPacketDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.DerezContainerPacket.DataBlock.Delete`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.DerezContainerPacket.DataBlock.Delete`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub delete: bool,
        /// C# member: `F:LibreMetaverse.Packets.DerezContainerPacket.DataBlock.ObjectID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.DerezContainerPacket.DataBlock.ObjectID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_id: libremetaverse_types::UUID,
    }
    impl DerezContainerPacketDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.DerezContainerPacket.DataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DerezContainerPacket.DataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.DerezContainerPacket.DataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DerezContainerPacket.DataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DerezContainerPacket.DataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DerezContainerPacket.DataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DerezContainerPacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DerezContainerPacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.DerezContainerPacket.DataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DerezContainerPacket.DataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DerezContainerPacket.DataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.DerezContainerPacket.DataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.DerezContainerPacket.DataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.DerezContainerPacket.DataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.DetachAttachmentIntoInvPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.DetachAttachmentIntoInvPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct DetachAttachmentIntoInvPacket {
        /// C# member: `F:LibreMetaverse.Packets.DetachAttachmentIntoInvPacket.ObjectData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DetachAttachmentIntoInvPacket.ObjectDataBlock LibreMetaverse.Packets.DetachAttachmentIntoInvPacket.ObjectData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_data: libremetaverse::packets::DetachAttachmentIntoInvPacketObjectDataBlock,
    }
    impl DetachAttachmentIntoInvPacket {
        /// C# member: `M:LibreMetaverse.Packets.DetachAttachmentIntoInvPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DetachAttachmentIntoInvPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.DetachAttachmentIntoInvPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DetachAttachmentIntoInvPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DetachAttachmentIntoInvPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DetachAttachmentIntoInvPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DetachAttachmentIntoInvPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DetachAttachmentIntoInvPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.DetachAttachmentIntoInvPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DetachAttachmentIntoInvPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.DetachAttachmentIntoInvPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DetachAttachmentIntoInvPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.DetachAttachmentIntoInvPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.DetachAttachmentIntoInvPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.DetachAttachmentIntoInvPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.DetachAttachmentIntoInvPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.DetachAttachmentIntoInvPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.DetachAttachmentIntoInvPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.DetachAttachmentIntoInvPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.DetachAttachmentIntoInvPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.DetachAttachmentIntoInvPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.DetachAttachmentIntoInvPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.DetachAttachmentIntoInvPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.DetachAttachmentIntoInvPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.DetachAttachmentIntoInvPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.DetachAttachmentIntoInvPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.DetachAttachmentIntoInvPacket.ObjectDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.DetachAttachmentIntoInvPacket.ObjectDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct DetachAttachmentIntoInvPacketObjectDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.DetachAttachmentIntoInvPacket.ObjectDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.DetachAttachmentIntoInvPacket.ObjectDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.DetachAttachmentIntoInvPacket.ObjectDataBlock.ItemID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.DetachAttachmentIntoInvPacket.ObjectDataBlock.ItemID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub item_id: libremetaverse_types::UUID,
    }
    impl DetachAttachmentIntoInvPacketObjectDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.DetachAttachmentIntoInvPacket.ObjectDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DetachAttachmentIntoInvPacket.ObjectDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.DetachAttachmentIntoInvPacket.ObjectDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DetachAttachmentIntoInvPacket.ObjectDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DetachAttachmentIntoInvPacket.ObjectDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DetachAttachmentIntoInvPacket.ObjectDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DetachAttachmentIntoInvPacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DetachAttachmentIntoInvPacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.DetachAttachmentIntoInvPacket.ObjectDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DetachAttachmentIntoInvPacket.ObjectDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DetachAttachmentIntoInvPacket.ObjectDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.DetachAttachmentIntoInvPacket.ObjectDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.DetachAttachmentIntoInvPacket.ObjectDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.DetachAttachmentIntoInvPacket.ObjectDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.DirClassifiedQueryBackendPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.DirClassifiedQueryBackendPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct DirClassifiedQueryBackendPacket {
        /// C# member: `F:LibreMetaverse.Packets.DirClassifiedQueryBackendPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirClassifiedQueryBackendPacket.AgentDataBlock LibreMetaverse.Packets.DirClassifiedQueryBackendPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::DirClassifiedQueryBackendPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.DirClassifiedQueryBackendPacket.QueryData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirClassifiedQueryBackendPacket.QueryDataBlock LibreMetaverse.Packets.DirClassifiedQueryBackendPacket.QueryData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub query_data: libremetaverse::packets::DirClassifiedQueryBackendPacketQueryDataBlock,
    }
    impl DirClassifiedQueryBackendPacket {
        /// C# member: `M:LibreMetaverse.Packets.DirClassifiedQueryBackendPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirClassifiedQueryBackendPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.DirClassifiedQueryBackendPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirClassifiedQueryBackendPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirClassifiedQueryBackendPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirClassifiedQueryBackendPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirClassifiedQueryBackendPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirClassifiedQueryBackendPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.DirClassifiedQueryBackendPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirClassifiedQueryBackendPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.DirClassifiedQueryBackendPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirClassifiedQueryBackendPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirClassifiedQueryBackendPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.DirClassifiedQueryBackendPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirClassifiedQueryBackendPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.DirClassifiedQueryBackendPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirClassifiedQueryBackendPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.DirClassifiedQueryBackendPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.DirClassifiedQueryBackendPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.DirClassifiedQueryBackendPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirClassifiedQueryBackendPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.DirClassifiedQueryBackendPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.DirClassifiedQueryBackendPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.DirClassifiedQueryBackendPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.DirClassifiedQueryBackendPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.DirClassifiedQueryBackendPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.DirClassifiedQueryBackendPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.DirClassifiedQueryBackendPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct DirClassifiedQueryBackendPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.DirClassifiedQueryBackendPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.DirClassifiedQueryBackendPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
    }
    impl DirClassifiedQueryBackendPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.DirClassifiedQueryBackendPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirClassifiedQueryBackendPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.DirClassifiedQueryBackendPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirClassifiedQueryBackendPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirClassifiedQueryBackendPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirClassifiedQueryBackendPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirClassifiedQueryBackendPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirClassifiedQueryBackendPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirClassifiedQueryBackendPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirClassifiedQueryBackendPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirClassifiedQueryBackendPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.DirClassifiedQueryBackendPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.DirClassifiedQueryBackendPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.DirClassifiedQueryBackendPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.DirClassifiedQueryBackendPacket.QueryDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.DirClassifiedQueryBackendPacket.QueryDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct DirClassifiedQueryBackendPacketQueryDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.DirClassifiedQueryBackendPacket.QueryDataBlock.Category`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.DirClassifiedQueryBackendPacket.QueryDataBlock.Category`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub category: u32,
        /// C# member: `F:LibreMetaverse.Packets.DirClassifiedQueryBackendPacket.QueryDataBlock.EstateID`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.DirClassifiedQueryBackendPacket.QueryDataBlock.EstateID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub estate_id: u32,
        /// C# member: `F:LibreMetaverse.Packets.DirClassifiedQueryBackendPacket.QueryDataBlock.Godlike`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.DirClassifiedQueryBackendPacket.QueryDataBlock.Godlike`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub godlike: bool,
        /// C# member: `F:LibreMetaverse.Packets.DirClassifiedQueryBackendPacket.QueryDataBlock.QueryFlags`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.DirClassifiedQueryBackendPacket.QueryDataBlock.QueryFlags`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub query_flags: u32,
        /// C# member: `F:LibreMetaverse.Packets.DirClassifiedQueryBackendPacket.QueryDataBlock.QueryID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.DirClassifiedQueryBackendPacket.QueryDataBlock.QueryID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub query_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.DirClassifiedQueryBackendPacket.QueryDataBlock.QueryStart`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.DirClassifiedQueryBackendPacket.QueryDataBlock.QueryStart`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub query_start: i32,
        /// C# member: `F:LibreMetaverse.Packets.DirClassifiedQueryBackendPacket.QueryDataBlock.QueryText`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.DirClassifiedQueryBackendPacket.QueryDataBlock.QueryText`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub query_text: Vec<u8>,
    }
    impl DirClassifiedQueryBackendPacketQueryDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.DirClassifiedQueryBackendPacket.QueryDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirClassifiedQueryBackendPacket.QueryDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.DirClassifiedQueryBackendPacket.QueryDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirClassifiedQueryBackendPacket.QueryDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirClassifiedQueryBackendPacket.QueryDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirClassifiedQueryBackendPacket.QueryDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirClassifiedQueryBackendPacket.QueryDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirClassifiedQueryBackendPacket.QueryDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirClassifiedQueryBackendPacket.QueryDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirClassifiedQueryBackendPacket.QueryDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirClassifiedQueryBackendPacket.QueryDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.DirClassifiedQueryBackendPacket.QueryDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.DirClassifiedQueryBackendPacket.QueryDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.DirClassifiedQueryBackendPacket.QueryDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.DirClassifiedQueryPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.DirClassifiedQueryPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct DirClassifiedQueryPacket {
        /// C# member: `F:LibreMetaverse.Packets.DirClassifiedQueryPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirClassifiedQueryPacket.AgentDataBlock LibreMetaverse.Packets.DirClassifiedQueryPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::DirClassifiedQueryPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.DirClassifiedQueryPacket.QueryData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirClassifiedQueryPacket.QueryDataBlock LibreMetaverse.Packets.DirClassifiedQueryPacket.QueryData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub query_data: libremetaverse::packets::DirClassifiedQueryPacketQueryDataBlock,
    }
    impl DirClassifiedQueryPacket {
        /// C# member: `M:LibreMetaverse.Packets.DirClassifiedQueryPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirClassifiedQueryPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.DirClassifiedQueryPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirClassifiedQueryPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirClassifiedQueryPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirClassifiedQueryPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirClassifiedQueryPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirClassifiedQueryPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.DirClassifiedQueryPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirClassifiedQueryPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.DirClassifiedQueryPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirClassifiedQueryPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirClassifiedQueryPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.DirClassifiedQueryPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirClassifiedQueryPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.DirClassifiedQueryPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirClassifiedQueryPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.DirClassifiedQueryPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.DirClassifiedQueryPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.DirClassifiedQueryPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirClassifiedQueryPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.DirClassifiedQueryPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.DirClassifiedQueryPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.DirClassifiedQueryPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.DirClassifiedQueryPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.DirClassifiedQueryPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.DirClassifiedQueryPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.DirClassifiedQueryPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct DirClassifiedQueryPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.DirClassifiedQueryPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.DirClassifiedQueryPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.DirClassifiedQueryPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.DirClassifiedQueryPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl DirClassifiedQueryPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.DirClassifiedQueryPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirClassifiedQueryPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.DirClassifiedQueryPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirClassifiedQueryPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirClassifiedQueryPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirClassifiedQueryPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirClassifiedQueryPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirClassifiedQueryPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirClassifiedQueryPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirClassifiedQueryPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirClassifiedQueryPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.DirClassifiedQueryPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.DirClassifiedQueryPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.DirClassifiedQueryPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.DirClassifiedQueryPacket.QueryDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.DirClassifiedQueryPacket.QueryDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct DirClassifiedQueryPacketQueryDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.DirClassifiedQueryPacket.QueryDataBlock.Category`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.DirClassifiedQueryPacket.QueryDataBlock.Category`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub category: u32,
        /// C# member: `F:LibreMetaverse.Packets.DirClassifiedQueryPacket.QueryDataBlock.QueryFlags`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.DirClassifiedQueryPacket.QueryDataBlock.QueryFlags`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub query_flags: u32,
        /// C# member: `F:LibreMetaverse.Packets.DirClassifiedQueryPacket.QueryDataBlock.QueryID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.DirClassifiedQueryPacket.QueryDataBlock.QueryID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub query_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.DirClassifiedQueryPacket.QueryDataBlock.QueryStart`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.DirClassifiedQueryPacket.QueryDataBlock.QueryStart`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub query_start: i32,
        /// C# member: `F:LibreMetaverse.Packets.DirClassifiedQueryPacket.QueryDataBlock.QueryText`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.DirClassifiedQueryPacket.QueryDataBlock.QueryText`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub query_text: Vec<u8>,
    }
    impl DirClassifiedQueryPacketQueryDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.DirClassifiedQueryPacket.QueryDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirClassifiedQueryPacket.QueryDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.DirClassifiedQueryPacket.QueryDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirClassifiedQueryPacket.QueryDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirClassifiedQueryPacket.QueryDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirClassifiedQueryPacket.QueryDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirClassifiedQueryPacket.QueryDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirClassifiedQueryPacket.QueryDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirClassifiedQueryPacket.QueryDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirClassifiedQueryPacket.QueryDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirClassifiedQueryPacket.QueryDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.DirClassifiedQueryPacket.QueryDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.DirClassifiedQueryPacket.QueryDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.DirClassifiedQueryPacket.QueryDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.DirClassifiedReplyPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.DirClassifiedReplyPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct DirClassifiedReplyPacket {
        /// C# member: `F:LibreMetaverse.Packets.DirClassifiedReplyPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirClassifiedReplyPacket.AgentDataBlock LibreMetaverse.Packets.DirClassifiedReplyPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::DirClassifiedReplyPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.DirClassifiedReplyPacket.QueryData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirClassifiedReplyPacket.QueryDataBlock LibreMetaverse.Packets.DirClassifiedReplyPacket.QueryData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub query_data: libremetaverse::packets::DirClassifiedReplyPacketQueryDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.DirClassifiedReplyPacket.QueryReplies`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirClassifiedReplyPacket.QueryRepliesBlock[] LibreMetaverse.Packets.DirClassifiedReplyPacket.QueryReplies`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub query_replies: Vec<libremetaverse::packets::DirClassifiedReplyPacketQueryRepliesBlock>,
        /// C# member: `F:LibreMetaverse.Packets.DirClassifiedReplyPacket.StatusData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirClassifiedReplyPacket.StatusDataBlock[] LibreMetaverse.Packets.DirClassifiedReplyPacket.StatusData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub status_data: Vec<libremetaverse::packets::DirClassifiedReplyPacketStatusDataBlock>,
    }
    impl DirClassifiedReplyPacket {
        /// C# member: `M:LibreMetaverse.Packets.DirClassifiedReplyPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirClassifiedReplyPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.DirClassifiedReplyPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirClassifiedReplyPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirClassifiedReplyPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirClassifiedReplyPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirClassifiedReplyPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirClassifiedReplyPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.DirClassifiedReplyPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirClassifiedReplyPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.DirClassifiedReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirClassifiedReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirClassifiedReplyPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.DirClassifiedReplyPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirClassifiedReplyPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.DirClassifiedReplyPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirClassifiedReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.DirClassifiedReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.DirClassifiedReplyPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.DirClassifiedReplyPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirClassifiedReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.DirClassifiedReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.DirClassifiedReplyPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.DirClassifiedReplyPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.DirClassifiedReplyPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.DirClassifiedReplyPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.DirClassifiedReplyPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.DirClassifiedReplyPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct DirClassifiedReplyPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.DirClassifiedReplyPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.DirClassifiedReplyPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
    }
    impl DirClassifiedReplyPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.DirClassifiedReplyPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirClassifiedReplyPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.DirClassifiedReplyPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirClassifiedReplyPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirClassifiedReplyPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirClassifiedReplyPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirClassifiedReplyPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirClassifiedReplyPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirClassifiedReplyPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirClassifiedReplyPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirClassifiedReplyPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.DirClassifiedReplyPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.DirClassifiedReplyPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.DirClassifiedReplyPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.DirClassifiedReplyPacket.QueryDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.DirClassifiedReplyPacket.QueryDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct DirClassifiedReplyPacketQueryDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.DirClassifiedReplyPacket.QueryDataBlock.QueryID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.DirClassifiedReplyPacket.QueryDataBlock.QueryID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub query_id: libremetaverse_types::UUID,
    }
    impl DirClassifiedReplyPacketQueryDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.DirClassifiedReplyPacket.QueryDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirClassifiedReplyPacket.QueryDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.DirClassifiedReplyPacket.QueryDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirClassifiedReplyPacket.QueryDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirClassifiedReplyPacket.QueryDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirClassifiedReplyPacket.QueryDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirClassifiedReplyPacket.QueryDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirClassifiedReplyPacket.QueryDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirClassifiedReplyPacket.QueryDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirClassifiedReplyPacket.QueryDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirClassifiedReplyPacket.QueryDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.DirClassifiedReplyPacket.QueryDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.DirClassifiedReplyPacket.QueryDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.DirClassifiedReplyPacket.QueryDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.DirClassifiedReplyPacket.QueryRepliesBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.DirClassifiedReplyPacket.QueryRepliesBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct DirClassifiedReplyPacketQueryRepliesBlock {
        /// C# member: `F:LibreMetaverse.Packets.DirClassifiedReplyPacket.QueryRepliesBlock.ClassifiedFlags`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.DirClassifiedReplyPacket.QueryRepliesBlock.ClassifiedFlags`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub classified_flags: u8,
        /// C# member: `F:LibreMetaverse.Packets.DirClassifiedReplyPacket.QueryRepliesBlock.ClassifiedID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.DirClassifiedReplyPacket.QueryRepliesBlock.ClassifiedID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub classified_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.DirClassifiedReplyPacket.QueryRepliesBlock.CreationDate`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.DirClassifiedReplyPacket.QueryRepliesBlock.CreationDate`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub creation_date: u32,
        /// C# member: `F:LibreMetaverse.Packets.DirClassifiedReplyPacket.QueryRepliesBlock.ExpirationDate`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.DirClassifiedReplyPacket.QueryRepliesBlock.ExpirationDate`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub expiration_date: u32,
        /// C# member: `F:LibreMetaverse.Packets.DirClassifiedReplyPacket.QueryRepliesBlock.Name`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.DirClassifiedReplyPacket.QueryRepliesBlock.Name`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub name: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.DirClassifiedReplyPacket.QueryRepliesBlock.PriceForListing`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.DirClassifiedReplyPacket.QueryRepliesBlock.PriceForListing`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub price_for_listing: i32,
    }
    impl DirClassifiedReplyPacketQueryRepliesBlock {
        /// C# member: `M:LibreMetaverse.Packets.DirClassifiedReplyPacket.QueryRepliesBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirClassifiedReplyPacket.QueryRepliesBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.DirClassifiedReplyPacket.QueryRepliesBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirClassifiedReplyPacket.QueryRepliesBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirClassifiedReplyPacket.QueryRepliesBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirClassifiedReplyPacket.QueryRepliesBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirClassifiedReplyPacket.QueryRepliesBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirClassifiedReplyPacket.QueryRepliesBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirClassifiedReplyPacket.QueryRepliesBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirClassifiedReplyPacket.QueryRepliesBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirClassifiedReplyPacket.QueryRepliesBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.DirClassifiedReplyPacket.QueryRepliesBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.DirClassifiedReplyPacket.QueryRepliesBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.DirClassifiedReplyPacket.QueryRepliesBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.DirClassifiedReplyPacket.StatusDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.DirClassifiedReplyPacket.StatusDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct DirClassifiedReplyPacketStatusDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.DirClassifiedReplyPacket.StatusDataBlock.Status`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.DirClassifiedReplyPacket.StatusDataBlock.Status`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub status: u32,
    }
    impl DirClassifiedReplyPacketStatusDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.DirClassifiedReplyPacket.StatusDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirClassifiedReplyPacket.StatusDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.DirClassifiedReplyPacket.StatusDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirClassifiedReplyPacket.StatusDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirClassifiedReplyPacket.StatusDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirClassifiedReplyPacket.StatusDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirClassifiedReplyPacket.StatusDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirClassifiedReplyPacket.StatusDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirClassifiedReplyPacket.StatusDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirClassifiedReplyPacket.StatusDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirClassifiedReplyPacket.StatusDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.DirClassifiedReplyPacket.StatusDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.DirClassifiedReplyPacket.StatusDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.DirClassifiedReplyPacket.StatusDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.DirEventsReplyPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.DirEventsReplyPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct DirEventsReplyPacket {
        /// C# member: `F:LibreMetaverse.Packets.DirEventsReplyPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirEventsReplyPacket.AgentDataBlock LibreMetaverse.Packets.DirEventsReplyPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::DirEventsReplyPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.DirEventsReplyPacket.QueryData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirEventsReplyPacket.QueryDataBlock LibreMetaverse.Packets.DirEventsReplyPacket.QueryData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub query_data: libremetaverse::packets::DirEventsReplyPacketQueryDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.DirEventsReplyPacket.QueryReplies`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirEventsReplyPacket.QueryRepliesBlock[] LibreMetaverse.Packets.DirEventsReplyPacket.QueryReplies`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub query_replies: Vec<libremetaverse::packets::DirEventsReplyPacketQueryRepliesBlock>,
        /// C# member: `F:LibreMetaverse.Packets.DirEventsReplyPacket.StatusData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirEventsReplyPacket.StatusDataBlock[] LibreMetaverse.Packets.DirEventsReplyPacket.StatusData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub status_data: Vec<libremetaverse::packets::DirEventsReplyPacketStatusDataBlock>,
    }
    impl DirEventsReplyPacket {
        /// C# member: `M:LibreMetaverse.Packets.DirEventsReplyPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirEventsReplyPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.DirEventsReplyPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirEventsReplyPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirEventsReplyPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirEventsReplyPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirEventsReplyPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirEventsReplyPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.DirEventsReplyPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirEventsReplyPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.DirEventsReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirEventsReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirEventsReplyPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.DirEventsReplyPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirEventsReplyPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.DirEventsReplyPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirEventsReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.DirEventsReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.DirEventsReplyPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.DirEventsReplyPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirEventsReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.DirEventsReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.DirEventsReplyPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.DirEventsReplyPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.DirEventsReplyPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.DirEventsReplyPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.DirEventsReplyPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.DirEventsReplyPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct DirEventsReplyPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.DirEventsReplyPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.DirEventsReplyPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
    }
    impl DirEventsReplyPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.DirEventsReplyPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirEventsReplyPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.DirEventsReplyPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirEventsReplyPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirEventsReplyPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirEventsReplyPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirEventsReplyPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirEventsReplyPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirEventsReplyPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirEventsReplyPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirEventsReplyPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.DirEventsReplyPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.DirEventsReplyPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.DirEventsReplyPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.DirEventsReplyPacket.QueryDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.DirEventsReplyPacket.QueryDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct DirEventsReplyPacketQueryDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.DirEventsReplyPacket.QueryDataBlock.QueryID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.DirEventsReplyPacket.QueryDataBlock.QueryID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub query_id: libremetaverse_types::UUID,
    }
    impl DirEventsReplyPacketQueryDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.DirEventsReplyPacket.QueryDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirEventsReplyPacket.QueryDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.DirEventsReplyPacket.QueryDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirEventsReplyPacket.QueryDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirEventsReplyPacket.QueryDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirEventsReplyPacket.QueryDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirEventsReplyPacket.QueryDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirEventsReplyPacket.QueryDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirEventsReplyPacket.QueryDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirEventsReplyPacket.QueryDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirEventsReplyPacket.QueryDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.DirEventsReplyPacket.QueryDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.DirEventsReplyPacket.QueryDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.DirEventsReplyPacket.QueryDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.DirEventsReplyPacket.QueryRepliesBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.DirEventsReplyPacket.QueryRepliesBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct DirEventsReplyPacketQueryRepliesBlock {
        /// C# member: `F:LibreMetaverse.Packets.DirEventsReplyPacket.QueryRepliesBlock.Date`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.DirEventsReplyPacket.QueryRepliesBlock.Date`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub date: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.DirEventsReplyPacket.QueryRepliesBlock.EventFlags`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.DirEventsReplyPacket.QueryRepliesBlock.EventFlags`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub event_flags: u32,
        /// C# member: `F:LibreMetaverse.Packets.DirEventsReplyPacket.QueryRepliesBlock.EventID`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.DirEventsReplyPacket.QueryRepliesBlock.EventID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub event_id: u32,
        /// C# member: `F:LibreMetaverse.Packets.DirEventsReplyPacket.QueryRepliesBlock.Name`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.DirEventsReplyPacket.QueryRepliesBlock.Name`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub name: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.DirEventsReplyPacket.QueryRepliesBlock.OwnerID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.DirEventsReplyPacket.QueryRepliesBlock.OwnerID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub owner_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.DirEventsReplyPacket.QueryRepliesBlock.UnixTime`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.DirEventsReplyPacket.QueryRepliesBlock.UnixTime`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub unix_time: u32,
    }
    impl DirEventsReplyPacketQueryRepliesBlock {
        /// C# member: `M:LibreMetaverse.Packets.DirEventsReplyPacket.QueryRepliesBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirEventsReplyPacket.QueryRepliesBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.DirEventsReplyPacket.QueryRepliesBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirEventsReplyPacket.QueryRepliesBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirEventsReplyPacket.QueryRepliesBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirEventsReplyPacket.QueryRepliesBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirEventsReplyPacket.QueryRepliesBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirEventsReplyPacket.QueryRepliesBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirEventsReplyPacket.QueryRepliesBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirEventsReplyPacket.QueryRepliesBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirEventsReplyPacket.QueryRepliesBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.DirEventsReplyPacket.QueryRepliesBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.DirEventsReplyPacket.QueryRepliesBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.DirEventsReplyPacket.QueryRepliesBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.DirEventsReplyPacket.StatusDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.DirEventsReplyPacket.StatusDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct DirEventsReplyPacketStatusDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.DirEventsReplyPacket.StatusDataBlock.Status`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.DirEventsReplyPacket.StatusDataBlock.Status`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub status: u32,
    }
    impl DirEventsReplyPacketStatusDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.DirEventsReplyPacket.StatusDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirEventsReplyPacket.StatusDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.DirEventsReplyPacket.StatusDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirEventsReplyPacket.StatusDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirEventsReplyPacket.StatusDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirEventsReplyPacket.StatusDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirEventsReplyPacket.StatusDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirEventsReplyPacket.StatusDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirEventsReplyPacket.StatusDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirEventsReplyPacket.StatusDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirEventsReplyPacket.StatusDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.DirEventsReplyPacket.StatusDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.DirEventsReplyPacket.StatusDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.DirEventsReplyPacket.StatusDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.DirFindQueryBackendPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.DirFindQueryBackendPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct DirFindQueryBackendPacket {
        /// C# member: `F:LibreMetaverse.Packets.DirFindQueryBackendPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirFindQueryBackendPacket.AgentDataBlock LibreMetaverse.Packets.DirFindQueryBackendPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::DirFindQueryBackendPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.DirFindQueryBackendPacket.QueryData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirFindQueryBackendPacket.QueryDataBlock LibreMetaverse.Packets.DirFindQueryBackendPacket.QueryData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub query_data: libremetaverse::packets::DirFindQueryBackendPacketQueryDataBlock,
    }
    impl DirFindQueryBackendPacket {
        /// C# member: `M:LibreMetaverse.Packets.DirFindQueryBackendPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirFindQueryBackendPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.DirFindQueryBackendPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirFindQueryBackendPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirFindQueryBackendPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirFindQueryBackendPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirFindQueryBackendPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirFindQueryBackendPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.DirFindQueryBackendPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirFindQueryBackendPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.DirFindQueryBackendPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirFindQueryBackendPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirFindQueryBackendPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.DirFindQueryBackendPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirFindQueryBackendPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.DirFindQueryBackendPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirFindQueryBackendPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.DirFindQueryBackendPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.DirFindQueryBackendPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.DirFindQueryBackendPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirFindQueryBackendPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.DirFindQueryBackendPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.DirFindQueryBackendPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.DirFindQueryBackendPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.DirFindQueryBackendPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.DirFindQueryBackendPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.DirFindQueryBackendPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.DirFindQueryBackendPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct DirFindQueryBackendPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.DirFindQueryBackendPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.DirFindQueryBackendPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
    }
    impl DirFindQueryBackendPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.DirFindQueryBackendPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirFindQueryBackendPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.DirFindQueryBackendPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirFindQueryBackendPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirFindQueryBackendPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirFindQueryBackendPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirFindQueryBackendPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirFindQueryBackendPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirFindQueryBackendPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirFindQueryBackendPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirFindQueryBackendPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.DirFindQueryBackendPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.DirFindQueryBackendPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.DirFindQueryBackendPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.DirFindQueryBackendPacket.QueryDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.DirFindQueryBackendPacket.QueryDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct DirFindQueryBackendPacketQueryDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.DirFindQueryBackendPacket.QueryDataBlock.EstateID`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.DirFindQueryBackendPacket.QueryDataBlock.EstateID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub estate_id: u32,
        /// C# member: `F:LibreMetaverse.Packets.DirFindQueryBackendPacket.QueryDataBlock.Godlike`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.DirFindQueryBackendPacket.QueryDataBlock.Godlike`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub godlike: bool,
        /// C# member: `F:LibreMetaverse.Packets.DirFindQueryBackendPacket.QueryDataBlock.QueryFlags`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.DirFindQueryBackendPacket.QueryDataBlock.QueryFlags`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub query_flags: u32,
        /// C# member: `F:LibreMetaverse.Packets.DirFindQueryBackendPacket.QueryDataBlock.QueryID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.DirFindQueryBackendPacket.QueryDataBlock.QueryID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub query_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.DirFindQueryBackendPacket.QueryDataBlock.QueryStart`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.DirFindQueryBackendPacket.QueryDataBlock.QueryStart`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub query_start: i32,
        /// C# member: `F:LibreMetaverse.Packets.DirFindQueryBackendPacket.QueryDataBlock.QueryText`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.DirFindQueryBackendPacket.QueryDataBlock.QueryText`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub query_text: Vec<u8>,
    }
    impl DirFindQueryBackendPacketQueryDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.DirFindQueryBackendPacket.QueryDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirFindQueryBackendPacket.QueryDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.DirFindQueryBackendPacket.QueryDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirFindQueryBackendPacket.QueryDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirFindQueryBackendPacket.QueryDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirFindQueryBackendPacket.QueryDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirFindQueryBackendPacket.QueryDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirFindQueryBackendPacket.QueryDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirFindQueryBackendPacket.QueryDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirFindQueryBackendPacket.QueryDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirFindQueryBackendPacket.QueryDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.DirFindQueryBackendPacket.QueryDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.DirFindQueryBackendPacket.QueryDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.DirFindQueryBackendPacket.QueryDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.DirFindQueryPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.DirFindQueryPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct DirFindQueryPacket {
        /// C# member: `F:LibreMetaverse.Packets.DirFindQueryPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirFindQueryPacket.AgentDataBlock LibreMetaverse.Packets.DirFindQueryPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::DirFindQueryPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.DirFindQueryPacket.QueryData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirFindQueryPacket.QueryDataBlock LibreMetaverse.Packets.DirFindQueryPacket.QueryData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub query_data: libremetaverse::packets::DirFindQueryPacketQueryDataBlock,
    }
    impl DirFindQueryPacket {
        /// C# member: `M:LibreMetaverse.Packets.DirFindQueryPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirFindQueryPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.DirFindQueryPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirFindQueryPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirFindQueryPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirFindQueryPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirFindQueryPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirFindQueryPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.DirFindQueryPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirFindQueryPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.DirFindQueryPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirFindQueryPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirFindQueryPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.DirFindQueryPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirFindQueryPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.DirFindQueryPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirFindQueryPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.DirFindQueryPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.DirFindQueryPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.DirFindQueryPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirFindQueryPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.DirFindQueryPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.DirFindQueryPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.DirFindQueryPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.DirFindQueryPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.DirFindQueryPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.DirFindQueryPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.DirFindQueryPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct DirFindQueryPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.DirFindQueryPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.DirFindQueryPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.DirFindQueryPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.DirFindQueryPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl DirFindQueryPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.DirFindQueryPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirFindQueryPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.DirFindQueryPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirFindQueryPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirFindQueryPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirFindQueryPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirFindQueryPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirFindQueryPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirFindQueryPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirFindQueryPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirFindQueryPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.DirFindQueryPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.DirFindQueryPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.DirFindQueryPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.DirFindQueryPacket.QueryDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.DirFindQueryPacket.QueryDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct DirFindQueryPacketQueryDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.DirFindQueryPacket.QueryDataBlock.QueryFlags`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.DirFindQueryPacket.QueryDataBlock.QueryFlags`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub query_flags: u32,
        /// C# member: `F:LibreMetaverse.Packets.DirFindQueryPacket.QueryDataBlock.QueryID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.DirFindQueryPacket.QueryDataBlock.QueryID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub query_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.DirFindQueryPacket.QueryDataBlock.QueryStart`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.DirFindQueryPacket.QueryDataBlock.QueryStart`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub query_start: i32,
        /// C# member: `F:LibreMetaverse.Packets.DirFindQueryPacket.QueryDataBlock.QueryText`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.DirFindQueryPacket.QueryDataBlock.QueryText`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub query_text: Vec<u8>,
    }
    impl DirFindQueryPacketQueryDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.DirFindQueryPacket.QueryDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirFindQueryPacket.QueryDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.DirFindQueryPacket.QueryDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirFindQueryPacket.QueryDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirFindQueryPacket.QueryDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirFindQueryPacket.QueryDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirFindQueryPacket.QueryDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirFindQueryPacket.QueryDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirFindQueryPacket.QueryDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirFindQueryPacket.QueryDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirFindQueryPacket.QueryDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.DirFindQueryPacket.QueryDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.DirFindQueryPacket.QueryDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.DirFindQueryPacket.QueryDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.DirGroupsReplyPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.DirGroupsReplyPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct DirGroupsReplyPacket {
        /// C# member: `F:LibreMetaverse.Packets.DirGroupsReplyPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirGroupsReplyPacket.AgentDataBlock LibreMetaverse.Packets.DirGroupsReplyPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::DirGroupsReplyPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.DirGroupsReplyPacket.QueryData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirGroupsReplyPacket.QueryDataBlock LibreMetaverse.Packets.DirGroupsReplyPacket.QueryData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub query_data: libremetaverse::packets::DirGroupsReplyPacketQueryDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.DirGroupsReplyPacket.QueryReplies`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirGroupsReplyPacket.QueryRepliesBlock[] LibreMetaverse.Packets.DirGroupsReplyPacket.QueryReplies`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub query_replies: Vec<libremetaverse::packets::DirGroupsReplyPacketQueryRepliesBlock>,
    }
    impl DirGroupsReplyPacket {
        /// C# member: `M:LibreMetaverse.Packets.DirGroupsReplyPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirGroupsReplyPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.DirGroupsReplyPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirGroupsReplyPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirGroupsReplyPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirGroupsReplyPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirGroupsReplyPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirGroupsReplyPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.DirGroupsReplyPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirGroupsReplyPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.DirGroupsReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirGroupsReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirGroupsReplyPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.DirGroupsReplyPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirGroupsReplyPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.DirGroupsReplyPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirGroupsReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.DirGroupsReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.DirGroupsReplyPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.DirGroupsReplyPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirGroupsReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.DirGroupsReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.DirGroupsReplyPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.DirGroupsReplyPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.DirGroupsReplyPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.DirGroupsReplyPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.DirGroupsReplyPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.DirGroupsReplyPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct DirGroupsReplyPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.DirGroupsReplyPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.DirGroupsReplyPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
    }
    impl DirGroupsReplyPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.DirGroupsReplyPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirGroupsReplyPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.DirGroupsReplyPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirGroupsReplyPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirGroupsReplyPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirGroupsReplyPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirGroupsReplyPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirGroupsReplyPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirGroupsReplyPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirGroupsReplyPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirGroupsReplyPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.DirGroupsReplyPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.DirGroupsReplyPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.DirGroupsReplyPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.DirGroupsReplyPacket.QueryDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.DirGroupsReplyPacket.QueryDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct DirGroupsReplyPacketQueryDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.DirGroupsReplyPacket.QueryDataBlock.QueryID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.DirGroupsReplyPacket.QueryDataBlock.QueryID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub query_id: libremetaverse_types::UUID,
    }
    impl DirGroupsReplyPacketQueryDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.DirGroupsReplyPacket.QueryDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirGroupsReplyPacket.QueryDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.DirGroupsReplyPacket.QueryDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirGroupsReplyPacket.QueryDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirGroupsReplyPacket.QueryDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirGroupsReplyPacket.QueryDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirGroupsReplyPacket.QueryDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirGroupsReplyPacket.QueryDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirGroupsReplyPacket.QueryDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirGroupsReplyPacket.QueryDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirGroupsReplyPacket.QueryDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.DirGroupsReplyPacket.QueryDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.DirGroupsReplyPacket.QueryDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.DirGroupsReplyPacket.QueryDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.DirGroupsReplyPacket.QueryRepliesBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.DirGroupsReplyPacket.QueryRepliesBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct DirGroupsReplyPacketQueryRepliesBlock {
        /// C# member: `F:LibreMetaverse.Packets.DirGroupsReplyPacket.QueryRepliesBlock.GroupID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.DirGroupsReplyPacket.QueryRepliesBlock.GroupID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.DirGroupsReplyPacket.QueryRepliesBlock.GroupName`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.DirGroupsReplyPacket.QueryRepliesBlock.GroupName`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_name: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.DirGroupsReplyPacket.QueryRepliesBlock.Members`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.DirGroupsReplyPacket.QueryRepliesBlock.Members`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub members: i32,
        /// C# member: `F:LibreMetaverse.Packets.DirGroupsReplyPacket.QueryRepliesBlock.SearchOrder`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.DirGroupsReplyPacket.QueryRepliesBlock.SearchOrder`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub search_order: f32,
    }
    impl DirGroupsReplyPacketQueryRepliesBlock {
        /// C# member: `M:LibreMetaverse.Packets.DirGroupsReplyPacket.QueryRepliesBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirGroupsReplyPacket.QueryRepliesBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.DirGroupsReplyPacket.QueryRepliesBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirGroupsReplyPacket.QueryRepliesBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirGroupsReplyPacket.QueryRepliesBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirGroupsReplyPacket.QueryRepliesBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirGroupsReplyPacket.QueryRepliesBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirGroupsReplyPacket.QueryRepliesBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirGroupsReplyPacket.QueryRepliesBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirGroupsReplyPacket.QueryRepliesBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirGroupsReplyPacket.QueryRepliesBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.DirGroupsReplyPacket.QueryRepliesBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.DirGroupsReplyPacket.QueryRepliesBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.DirGroupsReplyPacket.QueryRepliesBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.DirLandQueryBackendPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.DirLandQueryBackendPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct DirLandQueryBackendPacket {
        /// C# member: `F:LibreMetaverse.Packets.DirLandQueryBackendPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirLandQueryBackendPacket.AgentDataBlock LibreMetaverse.Packets.DirLandQueryBackendPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::DirLandQueryBackendPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.DirLandQueryBackendPacket.QueryData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirLandQueryBackendPacket.QueryDataBlock LibreMetaverse.Packets.DirLandQueryBackendPacket.QueryData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub query_data: libremetaverse::packets::DirLandQueryBackendPacketQueryDataBlock,
    }
    impl DirLandQueryBackendPacket {
        /// C# member: `M:LibreMetaverse.Packets.DirLandQueryBackendPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirLandQueryBackendPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.DirLandQueryBackendPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirLandQueryBackendPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirLandQueryBackendPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirLandQueryBackendPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirLandQueryBackendPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirLandQueryBackendPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.DirLandQueryBackendPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirLandQueryBackendPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.DirLandQueryBackendPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirLandQueryBackendPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirLandQueryBackendPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.DirLandQueryBackendPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirLandQueryBackendPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.DirLandQueryBackendPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirLandQueryBackendPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.DirLandQueryBackendPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.DirLandQueryBackendPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.DirLandQueryBackendPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirLandQueryBackendPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.DirLandQueryBackendPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.DirLandQueryBackendPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.DirLandQueryBackendPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.DirLandQueryBackendPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.DirLandQueryBackendPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.DirLandQueryBackendPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.DirLandQueryBackendPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct DirLandQueryBackendPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.DirLandQueryBackendPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.DirLandQueryBackendPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
    }
    impl DirLandQueryBackendPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.DirLandQueryBackendPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirLandQueryBackendPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.DirLandQueryBackendPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirLandQueryBackendPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirLandQueryBackendPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirLandQueryBackendPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirLandQueryBackendPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirLandQueryBackendPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirLandQueryBackendPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirLandQueryBackendPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirLandQueryBackendPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.DirLandQueryBackendPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.DirLandQueryBackendPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.DirLandQueryBackendPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.DirLandQueryBackendPacket.QueryDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.DirLandQueryBackendPacket.QueryDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct DirLandQueryBackendPacketQueryDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.DirLandQueryBackendPacket.QueryDataBlock.Area`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.DirLandQueryBackendPacket.QueryDataBlock.Area`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub area: i32,
        /// C# member: `F:LibreMetaverse.Packets.DirLandQueryBackendPacket.QueryDataBlock.EstateID`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.DirLandQueryBackendPacket.QueryDataBlock.EstateID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub estate_id: u32,
        /// C# member: `F:LibreMetaverse.Packets.DirLandQueryBackendPacket.QueryDataBlock.Godlike`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.DirLandQueryBackendPacket.QueryDataBlock.Godlike`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub godlike: bool,
        /// C# member: `F:LibreMetaverse.Packets.DirLandQueryBackendPacket.QueryDataBlock.Price`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.DirLandQueryBackendPacket.QueryDataBlock.Price`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub price: i32,
        /// C# member: `F:LibreMetaverse.Packets.DirLandQueryBackendPacket.QueryDataBlock.QueryFlags`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.DirLandQueryBackendPacket.QueryDataBlock.QueryFlags`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub query_flags: u32,
        /// C# member: `F:LibreMetaverse.Packets.DirLandQueryBackendPacket.QueryDataBlock.QueryID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.DirLandQueryBackendPacket.QueryDataBlock.QueryID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub query_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.DirLandQueryBackendPacket.QueryDataBlock.QueryStart`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.DirLandQueryBackendPacket.QueryDataBlock.QueryStart`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub query_start: i32,
        /// C# member: `F:LibreMetaverse.Packets.DirLandQueryBackendPacket.QueryDataBlock.SearchType`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.DirLandQueryBackendPacket.QueryDataBlock.SearchType`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub search_type: u32,
    }
    impl DirLandQueryBackendPacketQueryDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.DirLandQueryBackendPacket.QueryDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirLandQueryBackendPacket.QueryDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.DirLandQueryBackendPacket.QueryDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirLandQueryBackendPacket.QueryDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirLandQueryBackendPacket.QueryDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirLandQueryBackendPacket.QueryDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirLandQueryBackendPacket.QueryDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirLandQueryBackendPacket.QueryDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirLandQueryBackendPacket.QueryDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirLandQueryBackendPacket.QueryDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirLandQueryBackendPacket.QueryDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.DirLandQueryBackendPacket.QueryDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.DirLandQueryBackendPacket.QueryDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.DirLandQueryBackendPacket.QueryDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.DirLandQueryPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.DirLandQueryPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct DirLandQueryPacket {
        /// C# member: `F:LibreMetaverse.Packets.DirLandQueryPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirLandQueryPacket.AgentDataBlock LibreMetaverse.Packets.DirLandQueryPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::DirLandQueryPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.DirLandQueryPacket.QueryData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirLandQueryPacket.QueryDataBlock LibreMetaverse.Packets.DirLandQueryPacket.QueryData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub query_data: libremetaverse::packets::DirLandQueryPacketQueryDataBlock,
    }
    impl DirLandQueryPacket {
        /// C# member: `M:LibreMetaverse.Packets.DirLandQueryPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirLandQueryPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.DirLandQueryPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirLandQueryPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirLandQueryPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirLandQueryPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirLandQueryPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirLandQueryPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.DirLandQueryPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirLandQueryPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.DirLandQueryPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirLandQueryPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirLandQueryPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.DirLandQueryPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirLandQueryPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.DirLandQueryPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirLandQueryPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.DirLandQueryPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.DirLandQueryPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.DirLandQueryPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirLandQueryPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.DirLandQueryPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.DirLandQueryPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.DirLandQueryPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.DirLandQueryPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.DirLandQueryPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.DirLandQueryPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.DirLandQueryPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct DirLandQueryPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.DirLandQueryPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.DirLandQueryPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.DirLandQueryPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.DirLandQueryPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl DirLandQueryPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.DirLandQueryPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirLandQueryPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.DirLandQueryPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirLandQueryPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirLandQueryPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirLandQueryPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirLandQueryPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirLandQueryPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirLandQueryPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirLandQueryPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirLandQueryPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.DirLandQueryPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.DirLandQueryPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.DirLandQueryPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.DirLandQueryPacket.QueryDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.DirLandQueryPacket.QueryDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct DirLandQueryPacketQueryDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.DirLandQueryPacket.QueryDataBlock.Area`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.DirLandQueryPacket.QueryDataBlock.Area`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub area: i32,
        /// C# member: `F:LibreMetaverse.Packets.DirLandQueryPacket.QueryDataBlock.Price`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.DirLandQueryPacket.QueryDataBlock.Price`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub price: i32,
        /// C# member: `F:LibreMetaverse.Packets.DirLandQueryPacket.QueryDataBlock.QueryFlags`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.DirLandQueryPacket.QueryDataBlock.QueryFlags`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub query_flags: u32,
        /// C# member: `F:LibreMetaverse.Packets.DirLandQueryPacket.QueryDataBlock.QueryID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.DirLandQueryPacket.QueryDataBlock.QueryID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub query_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.DirLandQueryPacket.QueryDataBlock.QueryStart`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.DirLandQueryPacket.QueryDataBlock.QueryStart`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub query_start: i32,
        /// C# member: `F:LibreMetaverse.Packets.DirLandQueryPacket.QueryDataBlock.SearchType`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.DirLandQueryPacket.QueryDataBlock.SearchType`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub search_type: u32,
    }
    impl DirLandQueryPacketQueryDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.DirLandQueryPacket.QueryDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirLandQueryPacket.QueryDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.DirLandQueryPacket.QueryDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirLandQueryPacket.QueryDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirLandQueryPacket.QueryDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirLandQueryPacket.QueryDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirLandQueryPacket.QueryDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirLandQueryPacket.QueryDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirLandQueryPacket.QueryDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirLandQueryPacket.QueryDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirLandQueryPacket.QueryDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.DirLandQueryPacket.QueryDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.DirLandQueryPacket.QueryDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.DirLandQueryPacket.QueryDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.DirLandReplyPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.DirLandReplyPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct DirLandReplyPacket {
        /// C# member: `F:LibreMetaverse.Packets.DirLandReplyPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirLandReplyPacket.AgentDataBlock LibreMetaverse.Packets.DirLandReplyPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::DirLandReplyPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.DirLandReplyPacket.QueryData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirLandReplyPacket.QueryDataBlock LibreMetaverse.Packets.DirLandReplyPacket.QueryData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub query_data: libremetaverse::packets::DirLandReplyPacketQueryDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.DirLandReplyPacket.QueryReplies`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirLandReplyPacket.QueryRepliesBlock[] LibreMetaverse.Packets.DirLandReplyPacket.QueryReplies`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub query_replies: Vec<libremetaverse::packets::DirLandReplyPacketQueryRepliesBlock>,
    }
    impl DirLandReplyPacket {
        /// C# member: `M:LibreMetaverse.Packets.DirLandReplyPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirLandReplyPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.DirLandReplyPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirLandReplyPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirLandReplyPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirLandReplyPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirLandReplyPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirLandReplyPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.DirLandReplyPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirLandReplyPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.DirLandReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirLandReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirLandReplyPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.DirLandReplyPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirLandReplyPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.DirLandReplyPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirLandReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.DirLandReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.DirLandReplyPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.DirLandReplyPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirLandReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.DirLandReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.DirLandReplyPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.DirLandReplyPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.DirLandReplyPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.DirLandReplyPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.DirLandReplyPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.DirLandReplyPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct DirLandReplyPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.DirLandReplyPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.DirLandReplyPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
    }
    impl DirLandReplyPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.DirLandReplyPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirLandReplyPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.DirLandReplyPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirLandReplyPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirLandReplyPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirLandReplyPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirLandReplyPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirLandReplyPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirLandReplyPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirLandReplyPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirLandReplyPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.DirLandReplyPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.DirLandReplyPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.DirLandReplyPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.DirLandReplyPacket.QueryDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.DirLandReplyPacket.QueryDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct DirLandReplyPacketQueryDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.DirLandReplyPacket.QueryDataBlock.QueryID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.DirLandReplyPacket.QueryDataBlock.QueryID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub query_id: libremetaverse_types::UUID,
    }
    impl DirLandReplyPacketQueryDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.DirLandReplyPacket.QueryDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirLandReplyPacket.QueryDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.DirLandReplyPacket.QueryDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirLandReplyPacket.QueryDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirLandReplyPacket.QueryDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirLandReplyPacket.QueryDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirLandReplyPacket.QueryDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirLandReplyPacket.QueryDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirLandReplyPacket.QueryDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirLandReplyPacket.QueryDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirLandReplyPacket.QueryDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.DirLandReplyPacket.QueryDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.DirLandReplyPacket.QueryDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.DirLandReplyPacket.QueryDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.DirLandReplyPacket.QueryRepliesBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.DirLandReplyPacket.QueryRepliesBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct DirLandReplyPacketQueryRepliesBlock {
        /// C# member: `F:LibreMetaverse.Packets.DirLandReplyPacket.QueryRepliesBlock.ActualArea`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.DirLandReplyPacket.QueryRepliesBlock.ActualArea`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub actual_area: i32,
        /// C# member: `F:LibreMetaverse.Packets.DirLandReplyPacket.QueryRepliesBlock.Auction`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.DirLandReplyPacket.QueryRepliesBlock.Auction`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub auction: bool,
        /// C# member: `F:LibreMetaverse.Packets.DirLandReplyPacket.QueryRepliesBlock.ForSale`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.DirLandReplyPacket.QueryRepliesBlock.ForSale`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub for_sale: bool,
        /// C# member: `F:LibreMetaverse.Packets.DirLandReplyPacket.QueryRepliesBlock.Name`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.DirLandReplyPacket.QueryRepliesBlock.Name`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub name: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.DirLandReplyPacket.QueryRepliesBlock.ParcelID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.DirLandReplyPacket.QueryRepliesBlock.ParcelID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub parcel_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.DirLandReplyPacket.QueryRepliesBlock.SalePrice`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.DirLandReplyPacket.QueryRepliesBlock.SalePrice`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub sale_price: i32,
    }
    impl DirLandReplyPacketQueryRepliesBlock {
        /// C# member: `M:LibreMetaverse.Packets.DirLandReplyPacket.QueryRepliesBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirLandReplyPacket.QueryRepliesBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.DirLandReplyPacket.QueryRepliesBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirLandReplyPacket.QueryRepliesBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirLandReplyPacket.QueryRepliesBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirLandReplyPacket.QueryRepliesBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirLandReplyPacket.QueryRepliesBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirLandReplyPacket.QueryRepliesBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirLandReplyPacket.QueryRepliesBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirLandReplyPacket.QueryRepliesBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirLandReplyPacket.QueryRepliesBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.DirLandReplyPacket.QueryRepliesBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.DirLandReplyPacket.QueryRepliesBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.DirLandReplyPacket.QueryRepliesBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.DirPeopleReplyPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.DirPeopleReplyPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct DirPeopleReplyPacket {
        /// C# member: `F:LibreMetaverse.Packets.DirPeopleReplyPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirPeopleReplyPacket.AgentDataBlock LibreMetaverse.Packets.DirPeopleReplyPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::DirPeopleReplyPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.DirPeopleReplyPacket.QueryData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirPeopleReplyPacket.QueryDataBlock LibreMetaverse.Packets.DirPeopleReplyPacket.QueryData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub query_data: libremetaverse::packets::DirPeopleReplyPacketQueryDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.DirPeopleReplyPacket.QueryReplies`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirPeopleReplyPacket.QueryRepliesBlock[] LibreMetaverse.Packets.DirPeopleReplyPacket.QueryReplies`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub query_replies: Vec<libremetaverse::packets::DirPeopleReplyPacketQueryRepliesBlock>,
    }
    impl DirPeopleReplyPacket {
        /// C# member: `M:LibreMetaverse.Packets.DirPeopleReplyPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirPeopleReplyPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPeopleReplyPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirPeopleReplyPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPeopleReplyPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirPeopleReplyPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPeopleReplyPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirPeopleReplyPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPeopleReplyPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirPeopleReplyPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPeopleReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirPeopleReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPeopleReplyPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.DirPeopleReplyPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPeopleReplyPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.DirPeopleReplyPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPeopleReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.DirPeopleReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPeopleReplyPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.DirPeopleReplyPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPeopleReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.DirPeopleReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.DirPeopleReplyPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.DirPeopleReplyPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.DirPeopleReplyPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.DirPeopleReplyPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.DirPeopleReplyPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.DirPeopleReplyPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct DirPeopleReplyPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.DirPeopleReplyPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.DirPeopleReplyPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
    }
    impl DirPeopleReplyPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.DirPeopleReplyPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirPeopleReplyPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPeopleReplyPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirPeopleReplyPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPeopleReplyPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirPeopleReplyPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPeopleReplyPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirPeopleReplyPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPeopleReplyPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirPeopleReplyPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPeopleReplyPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.DirPeopleReplyPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.DirPeopleReplyPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.DirPeopleReplyPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.DirPeopleReplyPacket.QueryDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.DirPeopleReplyPacket.QueryDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct DirPeopleReplyPacketQueryDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.DirPeopleReplyPacket.QueryDataBlock.QueryID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.DirPeopleReplyPacket.QueryDataBlock.QueryID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub query_id: libremetaverse_types::UUID,
    }
    impl DirPeopleReplyPacketQueryDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.DirPeopleReplyPacket.QueryDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirPeopleReplyPacket.QueryDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPeopleReplyPacket.QueryDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirPeopleReplyPacket.QueryDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPeopleReplyPacket.QueryDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirPeopleReplyPacket.QueryDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPeopleReplyPacket.QueryDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirPeopleReplyPacket.QueryDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPeopleReplyPacket.QueryDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirPeopleReplyPacket.QueryDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPeopleReplyPacket.QueryDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.DirPeopleReplyPacket.QueryDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.DirPeopleReplyPacket.QueryDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.DirPeopleReplyPacket.QueryDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.DirPeopleReplyPacket.QueryRepliesBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.DirPeopleReplyPacket.QueryRepliesBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct DirPeopleReplyPacketQueryRepliesBlock {
        /// C# member: `F:LibreMetaverse.Packets.DirPeopleReplyPacket.QueryRepliesBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.DirPeopleReplyPacket.QueryRepliesBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.DirPeopleReplyPacket.QueryRepliesBlock.FirstName`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.DirPeopleReplyPacket.QueryRepliesBlock.FirstName`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub first_name: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.DirPeopleReplyPacket.QueryRepliesBlock.Group`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.DirPeopleReplyPacket.QueryRepliesBlock.Group`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.DirPeopleReplyPacket.QueryRepliesBlock.LastName`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.DirPeopleReplyPacket.QueryRepliesBlock.LastName`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub last_name: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.DirPeopleReplyPacket.QueryRepliesBlock.Online`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.DirPeopleReplyPacket.QueryRepliesBlock.Online`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub online: bool,
        /// C# member: `F:LibreMetaverse.Packets.DirPeopleReplyPacket.QueryRepliesBlock.Reputation`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.DirPeopleReplyPacket.QueryRepliesBlock.Reputation`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub reputation: i32,
    }
    impl DirPeopleReplyPacketQueryRepliesBlock {
        /// C# member: `M:LibreMetaverse.Packets.DirPeopleReplyPacket.QueryRepliesBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirPeopleReplyPacket.QueryRepliesBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPeopleReplyPacket.QueryRepliesBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirPeopleReplyPacket.QueryRepliesBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPeopleReplyPacket.QueryRepliesBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirPeopleReplyPacket.QueryRepliesBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPeopleReplyPacket.QueryRepliesBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirPeopleReplyPacket.QueryRepliesBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPeopleReplyPacket.QueryRepliesBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirPeopleReplyPacket.QueryRepliesBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPeopleReplyPacket.QueryRepliesBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.DirPeopleReplyPacket.QueryRepliesBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.DirPeopleReplyPacket.QueryRepliesBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.DirPeopleReplyPacket.QueryRepliesBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.DirPlacesQueryBackendPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.DirPlacesQueryBackendPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct DirPlacesQueryBackendPacket {
        /// C# member: `F:LibreMetaverse.Packets.DirPlacesQueryBackendPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirPlacesQueryBackendPacket.AgentDataBlock LibreMetaverse.Packets.DirPlacesQueryBackendPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::DirPlacesQueryBackendPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.DirPlacesQueryBackendPacket.QueryData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirPlacesQueryBackendPacket.QueryDataBlock LibreMetaverse.Packets.DirPlacesQueryBackendPacket.QueryData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub query_data: libremetaverse::packets::DirPlacesQueryBackendPacketQueryDataBlock,
    }
    impl DirPlacesQueryBackendPacket {
        /// C# member: `M:LibreMetaverse.Packets.DirPlacesQueryBackendPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirPlacesQueryBackendPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPlacesQueryBackendPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirPlacesQueryBackendPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPlacesQueryBackendPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirPlacesQueryBackendPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPlacesQueryBackendPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirPlacesQueryBackendPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPlacesQueryBackendPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirPlacesQueryBackendPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPlacesQueryBackendPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirPlacesQueryBackendPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPlacesQueryBackendPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.DirPlacesQueryBackendPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPlacesQueryBackendPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.DirPlacesQueryBackendPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPlacesQueryBackendPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.DirPlacesQueryBackendPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPlacesQueryBackendPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.DirPlacesQueryBackendPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPlacesQueryBackendPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.DirPlacesQueryBackendPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.DirPlacesQueryBackendPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.DirPlacesQueryBackendPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.DirPlacesQueryBackendPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.DirPlacesQueryBackendPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.DirPlacesQueryBackendPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.DirPlacesQueryBackendPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct DirPlacesQueryBackendPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.DirPlacesQueryBackendPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.DirPlacesQueryBackendPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
    }
    impl DirPlacesQueryBackendPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.DirPlacesQueryBackendPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirPlacesQueryBackendPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPlacesQueryBackendPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirPlacesQueryBackendPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPlacesQueryBackendPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirPlacesQueryBackendPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPlacesQueryBackendPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirPlacesQueryBackendPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPlacesQueryBackendPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirPlacesQueryBackendPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPlacesQueryBackendPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.DirPlacesQueryBackendPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.DirPlacesQueryBackendPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.DirPlacesQueryBackendPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.DirPlacesQueryBackendPacket.QueryDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.DirPlacesQueryBackendPacket.QueryDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct DirPlacesQueryBackendPacketQueryDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.DirPlacesQueryBackendPacket.QueryDataBlock.Category`.
        ///
        /// C# signature: `System.SByte LibreMetaverse.Packets.DirPlacesQueryBackendPacket.QueryDataBlock.Category`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub category: i8,
        /// C# member: `F:LibreMetaverse.Packets.DirPlacesQueryBackendPacket.QueryDataBlock.EstateID`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.DirPlacesQueryBackendPacket.QueryDataBlock.EstateID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub estate_id: u32,
        /// C# member: `F:LibreMetaverse.Packets.DirPlacesQueryBackendPacket.QueryDataBlock.Godlike`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.DirPlacesQueryBackendPacket.QueryDataBlock.Godlike`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub godlike: bool,
        /// C# member: `F:LibreMetaverse.Packets.DirPlacesQueryBackendPacket.QueryDataBlock.QueryFlags`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.DirPlacesQueryBackendPacket.QueryDataBlock.QueryFlags`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub query_flags: u32,
        /// C# member: `F:LibreMetaverse.Packets.DirPlacesQueryBackendPacket.QueryDataBlock.QueryID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.DirPlacesQueryBackendPacket.QueryDataBlock.QueryID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub query_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.DirPlacesQueryBackendPacket.QueryDataBlock.QueryStart`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.DirPlacesQueryBackendPacket.QueryDataBlock.QueryStart`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub query_start: i32,
        /// C# member: `F:LibreMetaverse.Packets.DirPlacesQueryBackendPacket.QueryDataBlock.QueryText`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.DirPlacesQueryBackendPacket.QueryDataBlock.QueryText`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub query_text: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.DirPlacesQueryBackendPacket.QueryDataBlock.SimName`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.DirPlacesQueryBackendPacket.QueryDataBlock.SimName`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub sim_name: Vec<u8>,
    }
    impl DirPlacesQueryBackendPacketQueryDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.DirPlacesQueryBackendPacket.QueryDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirPlacesQueryBackendPacket.QueryDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPlacesQueryBackendPacket.QueryDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirPlacesQueryBackendPacket.QueryDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPlacesQueryBackendPacket.QueryDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirPlacesQueryBackendPacket.QueryDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPlacesQueryBackendPacket.QueryDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirPlacesQueryBackendPacket.QueryDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPlacesQueryBackendPacket.QueryDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirPlacesQueryBackendPacket.QueryDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPlacesQueryBackendPacket.QueryDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.DirPlacesQueryBackendPacket.QueryDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.DirPlacesQueryBackendPacket.QueryDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.DirPlacesQueryBackendPacket.QueryDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.DirPlacesQueryPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.DirPlacesQueryPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct DirPlacesQueryPacket {
        /// C# member: `F:LibreMetaverse.Packets.DirPlacesQueryPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirPlacesQueryPacket.AgentDataBlock LibreMetaverse.Packets.DirPlacesQueryPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::DirPlacesQueryPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.DirPlacesQueryPacket.QueryData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirPlacesQueryPacket.QueryDataBlock LibreMetaverse.Packets.DirPlacesQueryPacket.QueryData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub query_data: libremetaverse::packets::DirPlacesQueryPacketQueryDataBlock,
    }
    impl DirPlacesQueryPacket {
        /// C# member: `M:LibreMetaverse.Packets.DirPlacesQueryPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirPlacesQueryPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPlacesQueryPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirPlacesQueryPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPlacesQueryPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirPlacesQueryPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPlacesQueryPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirPlacesQueryPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPlacesQueryPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirPlacesQueryPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPlacesQueryPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirPlacesQueryPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPlacesQueryPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.DirPlacesQueryPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPlacesQueryPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.DirPlacesQueryPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPlacesQueryPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.DirPlacesQueryPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPlacesQueryPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.DirPlacesQueryPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPlacesQueryPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.DirPlacesQueryPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.DirPlacesQueryPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.DirPlacesQueryPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.DirPlacesQueryPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.DirPlacesQueryPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.DirPlacesQueryPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.DirPlacesQueryPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct DirPlacesQueryPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.DirPlacesQueryPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.DirPlacesQueryPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.DirPlacesQueryPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.DirPlacesQueryPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl DirPlacesQueryPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.DirPlacesQueryPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirPlacesQueryPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPlacesQueryPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirPlacesQueryPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPlacesQueryPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirPlacesQueryPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPlacesQueryPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirPlacesQueryPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPlacesQueryPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirPlacesQueryPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPlacesQueryPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.DirPlacesQueryPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.DirPlacesQueryPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.DirPlacesQueryPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.DirPlacesQueryPacket.QueryDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.DirPlacesQueryPacket.QueryDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct DirPlacesQueryPacketQueryDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.DirPlacesQueryPacket.QueryDataBlock.Category`.
        ///
        /// C# signature: `System.SByte LibreMetaverse.Packets.DirPlacesQueryPacket.QueryDataBlock.Category`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub category: i8,
        /// C# member: `F:LibreMetaverse.Packets.DirPlacesQueryPacket.QueryDataBlock.QueryFlags`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.DirPlacesQueryPacket.QueryDataBlock.QueryFlags`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub query_flags: u32,
        /// C# member: `F:LibreMetaverse.Packets.DirPlacesQueryPacket.QueryDataBlock.QueryID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.DirPlacesQueryPacket.QueryDataBlock.QueryID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub query_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.DirPlacesQueryPacket.QueryDataBlock.QueryStart`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.DirPlacesQueryPacket.QueryDataBlock.QueryStart`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub query_start: i32,
        /// C# member: `F:LibreMetaverse.Packets.DirPlacesQueryPacket.QueryDataBlock.QueryText`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.DirPlacesQueryPacket.QueryDataBlock.QueryText`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub query_text: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.DirPlacesQueryPacket.QueryDataBlock.SimName`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.DirPlacesQueryPacket.QueryDataBlock.SimName`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub sim_name: Vec<u8>,
    }
    impl DirPlacesQueryPacketQueryDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.DirPlacesQueryPacket.QueryDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirPlacesQueryPacket.QueryDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPlacesQueryPacket.QueryDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirPlacesQueryPacket.QueryDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPlacesQueryPacket.QueryDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirPlacesQueryPacket.QueryDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPlacesQueryPacket.QueryDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirPlacesQueryPacket.QueryDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPlacesQueryPacket.QueryDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirPlacesQueryPacket.QueryDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPlacesQueryPacket.QueryDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.DirPlacesQueryPacket.QueryDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.DirPlacesQueryPacket.QueryDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.DirPlacesQueryPacket.QueryDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.DirPlacesReplyPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.DirPlacesReplyPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct DirPlacesReplyPacket {
        /// Rust composition for C# base type `LibreMetaverse.Packets.Packet`.
        pub base: libremetaverse::packets::Packet,
        /// C# member: `F:LibreMetaverse.Packets.DirPlacesReplyPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirPlacesReplyPacket.AgentDataBlock LibreMetaverse.Packets.DirPlacesReplyPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::DirPlacesReplyPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.DirPlacesReplyPacket.QueryData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirPlacesReplyPacket.QueryDataBlock[] LibreMetaverse.Packets.DirPlacesReplyPacket.QueryData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub query_data: Vec<libremetaverse::packets::DirPlacesReplyPacketQueryDataBlock>,
        /// C# member: `F:LibreMetaverse.Packets.DirPlacesReplyPacket.QueryReplies`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirPlacesReplyPacket.QueryRepliesBlock[] LibreMetaverse.Packets.DirPlacesReplyPacket.QueryReplies`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub query_replies: Vec<libremetaverse::packets::DirPlacesReplyPacketQueryRepliesBlock>,
        /// C# member: `F:LibreMetaverse.Packets.DirPlacesReplyPacket.StatusData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirPlacesReplyPacket.StatusDataBlock[] LibreMetaverse.Packets.DirPlacesReplyPacket.StatusData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub status_data: Vec<libremetaverse::packets::DirPlacesReplyPacketStatusDataBlock>,
    }
    impl DirPlacesReplyPacket {
        /// C# member: `M:LibreMetaverse.Packets.DirPlacesReplyPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirPlacesReplyPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPlacesReplyPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirPlacesReplyPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPlacesReplyPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirPlacesReplyPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPlacesReplyPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirPlacesReplyPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPlacesReplyPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirPlacesReplyPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPlacesReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirPlacesReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPlacesReplyPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.DirPlacesReplyPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPlacesReplyPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.DirPlacesReplyPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPlacesReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.DirPlacesReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPlacesReplyPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.DirPlacesReplyPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPlacesReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.DirPlacesReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.DirPlacesReplyPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.DirPlacesReplyPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.DirPlacesReplyPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.DirPlacesReplyPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.DirPlacesReplyPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.DirPlacesReplyPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct DirPlacesReplyPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.DirPlacesReplyPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.DirPlacesReplyPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
    }
    impl DirPlacesReplyPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.DirPlacesReplyPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirPlacesReplyPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPlacesReplyPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirPlacesReplyPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPlacesReplyPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirPlacesReplyPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPlacesReplyPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirPlacesReplyPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPlacesReplyPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirPlacesReplyPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPlacesReplyPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.DirPlacesReplyPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.DirPlacesReplyPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.DirPlacesReplyPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.DirPlacesReplyPacket.QueryDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.DirPlacesReplyPacket.QueryDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct DirPlacesReplyPacketQueryDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.DirPlacesReplyPacket.QueryDataBlock.QueryID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.DirPlacesReplyPacket.QueryDataBlock.QueryID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub query_id: libremetaverse_types::UUID,
    }
    impl DirPlacesReplyPacketQueryDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.DirPlacesReplyPacket.QueryDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirPlacesReplyPacket.QueryDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPlacesReplyPacket.QueryDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirPlacesReplyPacket.QueryDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPlacesReplyPacket.QueryDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirPlacesReplyPacket.QueryDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPlacesReplyPacket.QueryDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirPlacesReplyPacket.QueryDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPlacesReplyPacket.QueryDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirPlacesReplyPacket.QueryDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPlacesReplyPacket.QueryDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.DirPlacesReplyPacket.QueryDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.DirPlacesReplyPacket.QueryDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.DirPlacesReplyPacket.QueryDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.DirPlacesReplyPacket.QueryRepliesBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.DirPlacesReplyPacket.QueryRepliesBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct DirPlacesReplyPacketQueryRepliesBlock {
        /// C# member: `F:LibreMetaverse.Packets.DirPlacesReplyPacket.QueryRepliesBlock.Auction`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.DirPlacesReplyPacket.QueryRepliesBlock.Auction`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub auction: bool,
        /// C# member: `F:LibreMetaverse.Packets.DirPlacesReplyPacket.QueryRepliesBlock.Dwell`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.DirPlacesReplyPacket.QueryRepliesBlock.Dwell`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub dwell: f32,
        /// C# member: `F:LibreMetaverse.Packets.DirPlacesReplyPacket.QueryRepliesBlock.ForSale`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.DirPlacesReplyPacket.QueryRepliesBlock.ForSale`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub for_sale: bool,
        /// C# member: `F:LibreMetaverse.Packets.DirPlacesReplyPacket.QueryRepliesBlock.Name`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.DirPlacesReplyPacket.QueryRepliesBlock.Name`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub name: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.DirPlacesReplyPacket.QueryRepliesBlock.ParcelID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.DirPlacesReplyPacket.QueryRepliesBlock.ParcelID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub parcel_id: libremetaverse_types::UUID,
    }
    impl DirPlacesReplyPacketQueryRepliesBlock {
        /// C# member: `M:LibreMetaverse.Packets.DirPlacesReplyPacket.QueryRepliesBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirPlacesReplyPacket.QueryRepliesBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPlacesReplyPacket.QueryRepliesBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirPlacesReplyPacket.QueryRepliesBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPlacesReplyPacket.QueryRepliesBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirPlacesReplyPacket.QueryRepliesBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPlacesReplyPacket.QueryRepliesBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirPlacesReplyPacket.QueryRepliesBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPlacesReplyPacket.QueryRepliesBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirPlacesReplyPacket.QueryRepliesBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPlacesReplyPacket.QueryRepliesBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.DirPlacesReplyPacket.QueryRepliesBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.DirPlacesReplyPacket.QueryRepliesBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.DirPlacesReplyPacket.QueryRepliesBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.DirPlacesReplyPacket.StatusDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.DirPlacesReplyPacket.StatusDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct DirPlacesReplyPacketStatusDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.DirPlacesReplyPacket.StatusDataBlock.Status`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.DirPlacesReplyPacket.StatusDataBlock.Status`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub status: u32,
    }
    impl DirPlacesReplyPacketStatusDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.DirPlacesReplyPacket.StatusDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirPlacesReplyPacket.StatusDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPlacesReplyPacket.StatusDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirPlacesReplyPacket.StatusDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPlacesReplyPacket.StatusDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirPlacesReplyPacket.StatusDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPlacesReplyPacket.StatusDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirPlacesReplyPacket.StatusDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPlacesReplyPacket.StatusDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirPlacesReplyPacket.StatusDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPlacesReplyPacket.StatusDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.DirPlacesReplyPacket.StatusDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.DirPlacesReplyPacket.StatusDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.DirPlacesReplyPacket.StatusDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.DirPopularQueryBackendPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.DirPopularQueryBackendPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct DirPopularQueryBackendPacket {
        /// C# member: `F:LibreMetaverse.Packets.DirPopularQueryBackendPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirPopularQueryBackendPacket.AgentDataBlock LibreMetaverse.Packets.DirPopularQueryBackendPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::DirPopularQueryBackendPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.DirPopularQueryBackendPacket.QueryData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirPopularQueryBackendPacket.QueryDataBlock LibreMetaverse.Packets.DirPopularQueryBackendPacket.QueryData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub query_data: libremetaverse::packets::DirPopularQueryBackendPacketQueryDataBlock,
    }
    impl DirPopularQueryBackendPacket {
        /// C# member: `M:LibreMetaverse.Packets.DirPopularQueryBackendPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirPopularQueryBackendPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPopularQueryBackendPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirPopularQueryBackendPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPopularQueryBackendPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirPopularQueryBackendPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPopularQueryBackendPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirPopularQueryBackendPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPopularQueryBackendPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirPopularQueryBackendPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPopularQueryBackendPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirPopularQueryBackendPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPopularQueryBackendPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.DirPopularQueryBackendPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPopularQueryBackendPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.DirPopularQueryBackendPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPopularQueryBackendPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.DirPopularQueryBackendPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPopularQueryBackendPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.DirPopularQueryBackendPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPopularQueryBackendPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.DirPopularQueryBackendPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.DirPopularQueryBackendPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.DirPopularQueryBackendPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.DirPopularQueryBackendPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.DirPopularQueryBackendPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.DirPopularQueryBackendPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.DirPopularQueryBackendPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct DirPopularQueryBackendPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.DirPopularQueryBackendPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.DirPopularQueryBackendPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
    }
    impl DirPopularQueryBackendPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.DirPopularQueryBackendPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirPopularQueryBackendPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPopularQueryBackendPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirPopularQueryBackendPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPopularQueryBackendPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirPopularQueryBackendPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPopularQueryBackendPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirPopularQueryBackendPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPopularQueryBackendPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirPopularQueryBackendPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPopularQueryBackendPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.DirPopularQueryBackendPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.DirPopularQueryBackendPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.DirPopularQueryBackendPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.DirPopularQueryBackendPacket.QueryDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.DirPopularQueryBackendPacket.QueryDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct DirPopularQueryBackendPacketQueryDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.DirPopularQueryBackendPacket.QueryDataBlock.EstateID`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.DirPopularQueryBackendPacket.QueryDataBlock.EstateID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub estate_id: u32,
        /// C# member: `F:LibreMetaverse.Packets.DirPopularQueryBackendPacket.QueryDataBlock.Godlike`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.DirPopularQueryBackendPacket.QueryDataBlock.Godlike`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub godlike: bool,
        /// C# member: `F:LibreMetaverse.Packets.DirPopularQueryBackendPacket.QueryDataBlock.QueryFlags`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.DirPopularQueryBackendPacket.QueryDataBlock.QueryFlags`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub query_flags: u32,
        /// C# member: `F:LibreMetaverse.Packets.DirPopularQueryBackendPacket.QueryDataBlock.QueryID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.DirPopularQueryBackendPacket.QueryDataBlock.QueryID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub query_id: libremetaverse_types::UUID,
    }
    impl DirPopularQueryBackendPacketQueryDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.DirPopularQueryBackendPacket.QueryDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirPopularQueryBackendPacket.QueryDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPopularQueryBackendPacket.QueryDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirPopularQueryBackendPacket.QueryDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPopularQueryBackendPacket.QueryDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirPopularQueryBackendPacket.QueryDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPopularQueryBackendPacket.QueryDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirPopularQueryBackendPacket.QueryDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPopularQueryBackendPacket.QueryDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirPopularQueryBackendPacket.QueryDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPopularQueryBackendPacket.QueryDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.DirPopularQueryBackendPacket.QueryDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.DirPopularQueryBackendPacket.QueryDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.DirPopularQueryBackendPacket.QueryDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.DirPopularQueryPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.DirPopularQueryPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct DirPopularQueryPacket {
        /// C# member: `F:LibreMetaverse.Packets.DirPopularQueryPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirPopularQueryPacket.AgentDataBlock LibreMetaverse.Packets.DirPopularQueryPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::DirPopularQueryPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.DirPopularQueryPacket.QueryData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirPopularQueryPacket.QueryDataBlock LibreMetaverse.Packets.DirPopularQueryPacket.QueryData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub query_data: libremetaverse::packets::DirPopularQueryPacketQueryDataBlock,
    }
    impl DirPopularQueryPacket {
        /// C# member: `M:LibreMetaverse.Packets.DirPopularQueryPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirPopularQueryPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPopularQueryPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirPopularQueryPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPopularQueryPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirPopularQueryPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPopularQueryPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirPopularQueryPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPopularQueryPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirPopularQueryPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPopularQueryPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirPopularQueryPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPopularQueryPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.DirPopularQueryPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPopularQueryPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.DirPopularQueryPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPopularQueryPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.DirPopularQueryPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPopularQueryPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.DirPopularQueryPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPopularQueryPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.DirPopularQueryPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.DirPopularQueryPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.DirPopularQueryPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.DirPopularQueryPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.DirPopularQueryPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.DirPopularQueryPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.DirPopularQueryPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct DirPopularQueryPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.DirPopularQueryPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.DirPopularQueryPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.DirPopularQueryPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.DirPopularQueryPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl DirPopularQueryPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.DirPopularQueryPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirPopularQueryPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPopularQueryPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirPopularQueryPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPopularQueryPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirPopularQueryPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPopularQueryPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirPopularQueryPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPopularQueryPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirPopularQueryPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPopularQueryPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.DirPopularQueryPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.DirPopularQueryPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.DirPopularQueryPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.DirPopularQueryPacket.QueryDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.DirPopularQueryPacket.QueryDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct DirPopularQueryPacketQueryDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.DirPopularQueryPacket.QueryDataBlock.QueryFlags`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.DirPopularQueryPacket.QueryDataBlock.QueryFlags`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub query_flags: u32,
        /// C# member: `F:LibreMetaverse.Packets.DirPopularQueryPacket.QueryDataBlock.QueryID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.DirPopularQueryPacket.QueryDataBlock.QueryID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub query_id: libremetaverse_types::UUID,
    }
    impl DirPopularQueryPacketQueryDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.DirPopularQueryPacket.QueryDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirPopularQueryPacket.QueryDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPopularQueryPacket.QueryDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirPopularQueryPacket.QueryDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPopularQueryPacket.QueryDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirPopularQueryPacket.QueryDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPopularQueryPacket.QueryDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirPopularQueryPacket.QueryDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPopularQueryPacket.QueryDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirPopularQueryPacket.QueryDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPopularQueryPacket.QueryDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.DirPopularQueryPacket.QueryDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.DirPopularQueryPacket.QueryDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.DirPopularQueryPacket.QueryDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.DirPopularReplyPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.DirPopularReplyPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct DirPopularReplyPacket {
        /// C# member: `F:LibreMetaverse.Packets.DirPopularReplyPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirPopularReplyPacket.AgentDataBlock LibreMetaverse.Packets.DirPopularReplyPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::DirPopularReplyPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.DirPopularReplyPacket.QueryData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirPopularReplyPacket.QueryDataBlock LibreMetaverse.Packets.DirPopularReplyPacket.QueryData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub query_data: libremetaverse::packets::DirPopularReplyPacketQueryDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.DirPopularReplyPacket.QueryReplies`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirPopularReplyPacket.QueryRepliesBlock[] LibreMetaverse.Packets.DirPopularReplyPacket.QueryReplies`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub query_replies: Vec<libremetaverse::packets::DirPopularReplyPacketQueryRepliesBlock>,
    }
    impl DirPopularReplyPacket {
        /// C# member: `M:LibreMetaverse.Packets.DirPopularReplyPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirPopularReplyPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPopularReplyPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirPopularReplyPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPopularReplyPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirPopularReplyPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPopularReplyPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirPopularReplyPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPopularReplyPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirPopularReplyPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPopularReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirPopularReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPopularReplyPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.DirPopularReplyPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPopularReplyPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.DirPopularReplyPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPopularReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.DirPopularReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPopularReplyPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.DirPopularReplyPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPopularReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.DirPopularReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.DirPopularReplyPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.DirPopularReplyPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.DirPopularReplyPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.DirPopularReplyPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.DirPopularReplyPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.DirPopularReplyPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct DirPopularReplyPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.DirPopularReplyPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.DirPopularReplyPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
    }
    impl DirPopularReplyPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.DirPopularReplyPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirPopularReplyPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPopularReplyPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirPopularReplyPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPopularReplyPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirPopularReplyPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPopularReplyPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirPopularReplyPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPopularReplyPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirPopularReplyPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPopularReplyPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.DirPopularReplyPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.DirPopularReplyPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.DirPopularReplyPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.DirPopularReplyPacket.QueryDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.DirPopularReplyPacket.QueryDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct DirPopularReplyPacketQueryDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.DirPopularReplyPacket.QueryDataBlock.QueryID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.DirPopularReplyPacket.QueryDataBlock.QueryID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub query_id: libremetaverse_types::UUID,
    }
    impl DirPopularReplyPacketQueryDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.DirPopularReplyPacket.QueryDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirPopularReplyPacket.QueryDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPopularReplyPacket.QueryDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirPopularReplyPacket.QueryDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPopularReplyPacket.QueryDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirPopularReplyPacket.QueryDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPopularReplyPacket.QueryDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirPopularReplyPacket.QueryDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPopularReplyPacket.QueryDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirPopularReplyPacket.QueryDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPopularReplyPacket.QueryDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.DirPopularReplyPacket.QueryDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.DirPopularReplyPacket.QueryDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.DirPopularReplyPacket.QueryDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.DirPopularReplyPacket.QueryRepliesBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.DirPopularReplyPacket.QueryRepliesBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct DirPopularReplyPacketQueryRepliesBlock {
        /// C# member: `F:LibreMetaverse.Packets.DirPopularReplyPacket.QueryRepliesBlock.Dwell`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.DirPopularReplyPacket.QueryRepliesBlock.Dwell`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub dwell: f32,
        /// C# member: `F:LibreMetaverse.Packets.DirPopularReplyPacket.QueryRepliesBlock.Name`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.DirPopularReplyPacket.QueryRepliesBlock.Name`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub name: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.DirPopularReplyPacket.QueryRepliesBlock.ParcelID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.DirPopularReplyPacket.QueryRepliesBlock.ParcelID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub parcel_id: libremetaverse_types::UUID,
    }
    impl DirPopularReplyPacketQueryRepliesBlock {
        /// C# member: `M:LibreMetaverse.Packets.DirPopularReplyPacket.QueryRepliesBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirPopularReplyPacket.QueryRepliesBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPopularReplyPacket.QueryRepliesBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DirPopularReplyPacket.QueryRepliesBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPopularReplyPacket.QueryRepliesBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirPopularReplyPacket.QueryRepliesBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPopularReplyPacket.QueryRepliesBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirPopularReplyPacket.QueryRepliesBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPopularReplyPacket.QueryRepliesBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DirPopularReplyPacket.QueryRepliesBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DirPopularReplyPacket.QueryRepliesBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.DirPopularReplyPacket.QueryRepliesBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.DirPopularReplyPacket.QueryRepliesBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.DirPopularReplyPacket.QueryRepliesBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.DisableSimulatorPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.DisableSimulatorPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct DisableSimulatorPacket;
    impl DisableSimulatorPacket {
        /// C# member: `M:LibreMetaverse.Packets.DisableSimulatorPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DisableSimulatorPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.DisableSimulatorPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DisableSimulatorPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DisableSimulatorPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.DisableSimulatorPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.DisableSimulatorPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DisableSimulatorPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.DisableSimulatorPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DisableSimulatorPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.DisableSimulatorPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.DisableSimulatorPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.DisableSimulatorPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.DisableSimulatorPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.DisableSimulatorPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.DisableSimulatorPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.DisableSimulatorPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.DisableSimulatorPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.DisableSimulatorPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.DisableSimulatorPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.DisableSimulatorPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.DisableSimulatorPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.DisableSimulatorPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.DisableSimulatorPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.DisableSimulatorPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.DisableSimulatorPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.EconomyDataPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.EconomyDataPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct EconomyDataPacket {
        /// C# member: `F:LibreMetaverse.Packets.EconomyDataPacket.Info`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EconomyDataPacket.InfoBlock LibreMetaverse.Packets.EconomyDataPacket.Info`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub info: libremetaverse::packets::EconomyDataPacketInfoBlock,
    }
    impl EconomyDataPacket {
        /// C# member: `M:LibreMetaverse.Packets.EconomyDataPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EconomyDataPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.EconomyDataPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EconomyDataPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EconomyDataPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EconomyDataPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EconomyDataPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EconomyDataPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.EconomyDataPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EconomyDataPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.EconomyDataPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EconomyDataPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.EconomyDataPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.EconomyDataPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.EconomyDataPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.EconomyDataPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.EconomyDataPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.EconomyDataPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.EconomyDataPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.EconomyDataPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.EconomyDataPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.EconomyDataPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.EconomyDataPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.EconomyDataPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.EconomyDataPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.EconomyDataPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.EconomyDataPacket.InfoBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.EconomyDataPacket.InfoBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct EconomyDataPacketInfoBlock {
        /// C# member: `F:LibreMetaverse.Packets.EconomyDataPacket.InfoBlock.EnergyEfficiency`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.EconomyDataPacket.InfoBlock.EnergyEfficiency`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub energy_efficiency: f32,
        /// C# member: `F:LibreMetaverse.Packets.EconomyDataPacket.InfoBlock.ObjectCapacity`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.EconomyDataPacket.InfoBlock.ObjectCapacity`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_capacity: i32,
        /// C# member: `F:LibreMetaverse.Packets.EconomyDataPacket.InfoBlock.ObjectCount`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.EconomyDataPacket.InfoBlock.ObjectCount`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_count: i32,
        /// C# member: `F:LibreMetaverse.Packets.EconomyDataPacket.InfoBlock.PriceEnergyUnit`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.EconomyDataPacket.InfoBlock.PriceEnergyUnit`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub price_energy_unit: i32,
        /// C# member: `F:LibreMetaverse.Packets.EconomyDataPacket.InfoBlock.PriceGroupCreate`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.EconomyDataPacket.InfoBlock.PriceGroupCreate`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub price_group_create: i32,
        /// C# member: `F:LibreMetaverse.Packets.EconomyDataPacket.InfoBlock.PriceObjectClaim`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.EconomyDataPacket.InfoBlock.PriceObjectClaim`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub price_object_claim: i32,
        /// C# member: `F:LibreMetaverse.Packets.EconomyDataPacket.InfoBlock.PriceObjectRent`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.EconomyDataPacket.InfoBlock.PriceObjectRent`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub price_object_rent: f32,
        /// C# member: `F:LibreMetaverse.Packets.EconomyDataPacket.InfoBlock.PriceObjectScaleFactor`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.EconomyDataPacket.InfoBlock.PriceObjectScaleFactor`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub price_object_scale_factor: f32,
        /// C# member: `F:LibreMetaverse.Packets.EconomyDataPacket.InfoBlock.PriceParcelClaim`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.EconomyDataPacket.InfoBlock.PriceParcelClaim`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub price_parcel_claim: i32,
        /// C# member: `F:LibreMetaverse.Packets.EconomyDataPacket.InfoBlock.PriceParcelClaimFactor`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.EconomyDataPacket.InfoBlock.PriceParcelClaimFactor`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub price_parcel_claim_factor: f32,
        /// C# member: `F:LibreMetaverse.Packets.EconomyDataPacket.InfoBlock.PriceParcelRent`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.EconomyDataPacket.InfoBlock.PriceParcelRent`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub price_parcel_rent: i32,
        /// C# member: `F:LibreMetaverse.Packets.EconomyDataPacket.InfoBlock.PricePublicObjectDecay`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.EconomyDataPacket.InfoBlock.PricePublicObjectDecay`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub price_public_object_decay: i32,
        /// C# member: `F:LibreMetaverse.Packets.EconomyDataPacket.InfoBlock.PricePublicObjectDelete`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.EconomyDataPacket.InfoBlock.PricePublicObjectDelete`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub price_public_object_delete: i32,
        /// C# member: `F:LibreMetaverse.Packets.EconomyDataPacket.InfoBlock.PriceRentLight`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.EconomyDataPacket.InfoBlock.PriceRentLight`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub price_rent_light: i32,
        /// C# member: `F:LibreMetaverse.Packets.EconomyDataPacket.InfoBlock.PriceUpload`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.EconomyDataPacket.InfoBlock.PriceUpload`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub price_upload: i32,
        /// C# member: `F:LibreMetaverse.Packets.EconomyDataPacket.InfoBlock.TeleportMinPrice`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.EconomyDataPacket.InfoBlock.TeleportMinPrice`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub teleport_min_price: i32,
        /// C# member: `F:LibreMetaverse.Packets.EconomyDataPacket.InfoBlock.TeleportPriceExponent`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.EconomyDataPacket.InfoBlock.TeleportPriceExponent`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub teleport_price_exponent: f32,
    }
    impl EconomyDataPacketInfoBlock {
        /// C# member: `M:LibreMetaverse.Packets.EconomyDataPacket.InfoBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EconomyDataPacket.InfoBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.EconomyDataPacket.InfoBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EconomyDataPacket.InfoBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EconomyDataPacket.InfoBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EconomyDataPacket.InfoBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EconomyDataPacket.InfoBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EconomyDataPacket.InfoBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.EconomyDataPacket.InfoBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EconomyDataPacket.InfoBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EconomyDataPacket.InfoBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.EconomyDataPacket.InfoBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.EconomyDataPacket.InfoBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.EconomyDataPacket.InfoBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.EconomyDataRequestPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.EconomyDataRequestPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct EconomyDataRequestPacket;
    impl EconomyDataRequestPacket {
        /// C# member: `M:LibreMetaverse.Packets.EconomyDataRequestPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EconomyDataRequestPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.EconomyDataRequestPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EconomyDataRequestPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EconomyDataRequestPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EconomyDataRequestPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EconomyDataRequestPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EconomyDataRequestPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.EconomyDataRequestPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EconomyDataRequestPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.EconomyDataRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EconomyDataRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.EconomyDataRequestPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.EconomyDataRequestPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.EconomyDataRequestPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.EconomyDataRequestPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.EconomyDataRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.EconomyDataRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.EconomyDataRequestPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.EconomyDataRequestPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.EconomyDataRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.EconomyDataRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.EconomyDataRequestPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.EconomyDataRequestPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.EconomyDataRequestPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.EconomyDataRequestPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.EdgeDataPacketPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.EdgeDataPacketPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct EdgeDataPacketPacket {
        /// C# member: `F:LibreMetaverse.Packets.EdgeDataPacketPacket.EdgeData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EdgeDataPacketPacket.EdgeDataBlock LibreMetaverse.Packets.EdgeDataPacketPacket.EdgeData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub edge_data: libremetaverse::packets::EdgeDataPacketPacketEdgeDataBlock,
    }
    impl EdgeDataPacketPacket {
        /// C# member: `M:LibreMetaverse.Packets.EdgeDataPacketPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EdgeDataPacketPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.EdgeDataPacketPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EdgeDataPacketPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EdgeDataPacketPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EdgeDataPacketPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EdgeDataPacketPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EdgeDataPacketPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.EdgeDataPacketPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EdgeDataPacketPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.EdgeDataPacketPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EdgeDataPacketPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.EdgeDataPacketPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.EdgeDataPacketPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.EdgeDataPacketPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.EdgeDataPacketPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.EdgeDataPacketPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.EdgeDataPacketPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.EdgeDataPacketPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.EdgeDataPacketPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.EdgeDataPacketPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.EdgeDataPacketPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.EdgeDataPacketPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.EdgeDataPacketPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.EdgeDataPacketPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.EdgeDataPacketPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.EdgeDataPacketPacket.EdgeDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.EdgeDataPacketPacket.EdgeDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct EdgeDataPacketPacketEdgeDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.EdgeDataPacketPacket.EdgeDataBlock.Direction`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.EdgeDataPacketPacket.EdgeDataBlock.Direction`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub direction: u8,
        /// C# member: `F:LibreMetaverse.Packets.EdgeDataPacketPacket.EdgeDataBlock.LayerData`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.EdgeDataPacketPacket.EdgeDataBlock.LayerData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub layer_data: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.EdgeDataPacketPacket.EdgeDataBlock.LayerType`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.EdgeDataPacketPacket.EdgeDataBlock.LayerType`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub layer_type: u8,
    }
    impl EdgeDataPacketPacketEdgeDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.EdgeDataPacketPacket.EdgeDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EdgeDataPacketPacket.EdgeDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.EdgeDataPacketPacket.EdgeDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EdgeDataPacketPacket.EdgeDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EdgeDataPacketPacket.EdgeDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EdgeDataPacketPacket.EdgeDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EdgeDataPacketPacket.EdgeDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EdgeDataPacketPacket.EdgeDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.EdgeDataPacketPacket.EdgeDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EdgeDataPacketPacket.EdgeDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EdgeDataPacketPacket.EdgeDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.EdgeDataPacketPacket.EdgeDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.EdgeDataPacketPacket.EdgeDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.EdgeDataPacketPacket.EdgeDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.EjectGroupMemberReplyPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.EjectGroupMemberReplyPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct EjectGroupMemberReplyPacket {
        /// C# member: `F:LibreMetaverse.Packets.EjectGroupMemberReplyPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EjectGroupMemberReplyPacket.AgentDataBlock LibreMetaverse.Packets.EjectGroupMemberReplyPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::EjectGroupMemberReplyPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.EjectGroupMemberReplyPacket.EjectData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EjectGroupMemberReplyPacket.EjectDataBlock LibreMetaverse.Packets.EjectGroupMemberReplyPacket.EjectData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub eject_data: libremetaverse::packets::EjectGroupMemberReplyPacketEjectDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.EjectGroupMemberReplyPacket.GroupData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EjectGroupMemberReplyPacket.GroupDataBlock LibreMetaverse.Packets.EjectGroupMemberReplyPacket.GroupData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_data: libremetaverse::packets::EjectGroupMemberReplyPacketGroupDataBlock,
    }
    impl EjectGroupMemberReplyPacket {
        /// C# member: `M:LibreMetaverse.Packets.EjectGroupMemberReplyPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EjectGroupMemberReplyPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.EjectGroupMemberReplyPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EjectGroupMemberReplyPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EjectGroupMemberReplyPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EjectGroupMemberReplyPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EjectGroupMemberReplyPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EjectGroupMemberReplyPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.EjectGroupMemberReplyPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EjectGroupMemberReplyPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.EjectGroupMemberReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EjectGroupMemberReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.EjectGroupMemberReplyPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.EjectGroupMemberReplyPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.EjectGroupMemberReplyPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.EjectGroupMemberReplyPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.EjectGroupMemberReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.EjectGroupMemberReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.EjectGroupMemberReplyPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.EjectGroupMemberReplyPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.EjectGroupMemberReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.EjectGroupMemberReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.EjectGroupMemberReplyPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.EjectGroupMemberReplyPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.EjectGroupMemberReplyPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.EjectGroupMemberReplyPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.EjectGroupMemberReplyPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.EjectGroupMemberReplyPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct EjectGroupMemberReplyPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.EjectGroupMemberReplyPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.EjectGroupMemberReplyPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
    }
    impl EjectGroupMemberReplyPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.EjectGroupMemberReplyPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EjectGroupMemberReplyPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.EjectGroupMemberReplyPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EjectGroupMemberReplyPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EjectGroupMemberReplyPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EjectGroupMemberReplyPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EjectGroupMemberReplyPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EjectGroupMemberReplyPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.EjectGroupMemberReplyPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EjectGroupMemberReplyPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EjectGroupMemberReplyPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.EjectGroupMemberReplyPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.EjectGroupMemberReplyPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.EjectGroupMemberReplyPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.EjectGroupMemberReplyPacket.EjectDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.EjectGroupMemberReplyPacket.EjectDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct EjectGroupMemberReplyPacketEjectDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.EjectGroupMemberReplyPacket.EjectDataBlock.Success`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.EjectGroupMemberReplyPacket.EjectDataBlock.Success`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub success: bool,
    }
    impl EjectGroupMemberReplyPacketEjectDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.EjectGroupMemberReplyPacket.EjectDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EjectGroupMemberReplyPacket.EjectDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.EjectGroupMemberReplyPacket.EjectDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EjectGroupMemberReplyPacket.EjectDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EjectGroupMemberReplyPacket.EjectDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EjectGroupMemberReplyPacket.EjectDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EjectGroupMemberReplyPacket.EjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EjectGroupMemberReplyPacket.EjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.EjectGroupMemberReplyPacket.EjectDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EjectGroupMemberReplyPacket.EjectDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EjectGroupMemberReplyPacket.EjectDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.EjectGroupMemberReplyPacket.EjectDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.EjectGroupMemberReplyPacket.EjectDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.EjectGroupMemberReplyPacket.EjectDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.EjectGroupMemberReplyPacket.GroupDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.EjectGroupMemberReplyPacket.GroupDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct EjectGroupMemberReplyPacketGroupDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.EjectGroupMemberReplyPacket.GroupDataBlock.GroupID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.EjectGroupMemberReplyPacket.GroupDataBlock.GroupID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_id: libremetaverse_types::UUID,
    }
    impl EjectGroupMemberReplyPacketGroupDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.EjectGroupMemberReplyPacket.GroupDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EjectGroupMemberReplyPacket.GroupDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.EjectGroupMemberReplyPacket.GroupDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EjectGroupMemberReplyPacket.GroupDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EjectGroupMemberReplyPacket.GroupDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EjectGroupMemberReplyPacket.GroupDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EjectGroupMemberReplyPacket.GroupDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EjectGroupMemberReplyPacket.GroupDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.EjectGroupMemberReplyPacket.GroupDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EjectGroupMemberReplyPacket.GroupDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EjectGroupMemberReplyPacket.GroupDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.EjectGroupMemberReplyPacket.GroupDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.EjectGroupMemberReplyPacket.GroupDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.EjectGroupMemberReplyPacket.GroupDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.EjectGroupMemberRequestPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.EjectGroupMemberRequestPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct EjectGroupMemberRequestPacket {
        /// C# member: `F:LibreMetaverse.Packets.EjectGroupMemberRequestPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EjectGroupMemberRequestPacket.AgentDataBlock LibreMetaverse.Packets.EjectGroupMemberRequestPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::EjectGroupMemberRequestPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.EjectGroupMemberRequestPacket.EjectData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EjectGroupMemberRequestPacket.EjectDataBlock[] LibreMetaverse.Packets.EjectGroupMemberRequestPacket.EjectData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub eject_data: Vec<libremetaverse::packets::EjectGroupMemberRequestPacketEjectDataBlock>,
        /// C# member: `F:LibreMetaverse.Packets.EjectGroupMemberRequestPacket.GroupData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EjectGroupMemberRequestPacket.GroupDataBlock LibreMetaverse.Packets.EjectGroupMemberRequestPacket.GroupData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_data: libremetaverse::packets::EjectGroupMemberRequestPacketGroupDataBlock,
    }
    impl EjectGroupMemberRequestPacket {
        /// C# member: `M:LibreMetaverse.Packets.EjectGroupMemberRequestPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EjectGroupMemberRequestPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.EjectGroupMemberRequestPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EjectGroupMemberRequestPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EjectGroupMemberRequestPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EjectGroupMemberRequestPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EjectGroupMemberRequestPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EjectGroupMemberRequestPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.EjectGroupMemberRequestPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EjectGroupMemberRequestPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.EjectGroupMemberRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EjectGroupMemberRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.EjectGroupMemberRequestPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.EjectGroupMemberRequestPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.EjectGroupMemberRequestPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.EjectGroupMemberRequestPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.EjectGroupMemberRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.EjectGroupMemberRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.EjectGroupMemberRequestPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.EjectGroupMemberRequestPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.EjectGroupMemberRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.EjectGroupMemberRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.EjectGroupMemberRequestPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.EjectGroupMemberRequestPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.EjectGroupMemberRequestPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.EjectGroupMemberRequestPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.EjectGroupMemberRequestPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.EjectGroupMemberRequestPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct EjectGroupMemberRequestPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.EjectGroupMemberRequestPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.EjectGroupMemberRequestPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.EjectGroupMemberRequestPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.EjectGroupMemberRequestPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl EjectGroupMemberRequestPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.EjectGroupMemberRequestPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EjectGroupMemberRequestPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.EjectGroupMemberRequestPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EjectGroupMemberRequestPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EjectGroupMemberRequestPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EjectGroupMemberRequestPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EjectGroupMemberRequestPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EjectGroupMemberRequestPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.EjectGroupMemberRequestPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EjectGroupMemberRequestPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EjectGroupMemberRequestPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.EjectGroupMemberRequestPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.EjectGroupMemberRequestPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.EjectGroupMemberRequestPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.EjectGroupMemberRequestPacket.EjectDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.EjectGroupMemberRequestPacket.EjectDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct EjectGroupMemberRequestPacketEjectDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.EjectGroupMemberRequestPacket.EjectDataBlock.EjecteeID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.EjectGroupMemberRequestPacket.EjectDataBlock.EjecteeID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub ejectee_id: libremetaverse_types::UUID,
    }
    impl EjectGroupMemberRequestPacketEjectDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.EjectGroupMemberRequestPacket.EjectDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EjectGroupMemberRequestPacket.EjectDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.EjectGroupMemberRequestPacket.EjectDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EjectGroupMemberRequestPacket.EjectDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EjectGroupMemberRequestPacket.EjectDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EjectGroupMemberRequestPacket.EjectDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EjectGroupMemberRequestPacket.EjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EjectGroupMemberRequestPacket.EjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.EjectGroupMemberRequestPacket.EjectDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EjectGroupMemberRequestPacket.EjectDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EjectGroupMemberRequestPacket.EjectDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.EjectGroupMemberRequestPacket.EjectDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.EjectGroupMemberRequestPacket.EjectDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.EjectGroupMemberRequestPacket.EjectDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.EjectGroupMemberRequestPacket.GroupDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.EjectGroupMemberRequestPacket.GroupDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct EjectGroupMemberRequestPacketGroupDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.EjectGroupMemberRequestPacket.GroupDataBlock.GroupID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.EjectGroupMemberRequestPacket.GroupDataBlock.GroupID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_id: libremetaverse_types::UUID,
    }
    impl EjectGroupMemberRequestPacketGroupDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.EjectGroupMemberRequestPacket.GroupDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EjectGroupMemberRequestPacket.GroupDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.EjectGroupMemberRequestPacket.GroupDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EjectGroupMemberRequestPacket.GroupDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EjectGroupMemberRequestPacket.GroupDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EjectGroupMemberRequestPacket.GroupDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EjectGroupMemberRequestPacket.GroupDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EjectGroupMemberRequestPacket.GroupDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.EjectGroupMemberRequestPacket.GroupDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EjectGroupMemberRequestPacket.GroupDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EjectGroupMemberRequestPacket.GroupDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.EjectGroupMemberRequestPacket.GroupDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.EjectGroupMemberRequestPacket.GroupDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.EjectGroupMemberRequestPacket.GroupDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.EjectUserPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.EjectUserPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct EjectUserPacket {
        /// C# member: `F:LibreMetaverse.Packets.EjectUserPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EjectUserPacket.AgentDataBlock LibreMetaverse.Packets.EjectUserPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::EjectUserPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.EjectUserPacket.Data`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EjectUserPacket.DataBlock LibreMetaverse.Packets.EjectUserPacket.Data`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub data: libremetaverse::packets::EjectUserPacketDataBlock,
    }
    impl EjectUserPacket {
        /// C# member: `M:LibreMetaverse.Packets.EjectUserPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EjectUserPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.EjectUserPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EjectUserPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EjectUserPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EjectUserPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EjectUserPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EjectUserPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.EjectUserPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EjectUserPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.EjectUserPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EjectUserPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.EjectUserPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.EjectUserPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.EjectUserPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.EjectUserPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.EjectUserPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.EjectUserPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.EjectUserPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.EjectUserPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.EjectUserPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.EjectUserPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.EjectUserPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.EjectUserPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.EjectUserPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.EjectUserPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.EjectUserPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.EjectUserPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct EjectUserPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.EjectUserPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.EjectUserPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.EjectUserPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.EjectUserPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl EjectUserPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.EjectUserPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EjectUserPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.EjectUserPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EjectUserPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EjectUserPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EjectUserPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EjectUserPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EjectUserPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.EjectUserPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EjectUserPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EjectUserPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.EjectUserPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.EjectUserPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.EjectUserPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.EjectUserPacket.DataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.EjectUserPacket.DataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct EjectUserPacketDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.EjectUserPacket.DataBlock.Flags`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.EjectUserPacket.DataBlock.Flags`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub flags: u32,
        /// C# member: `F:LibreMetaverse.Packets.EjectUserPacket.DataBlock.TargetID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.EjectUserPacket.DataBlock.TargetID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub target_id: libremetaverse_types::UUID,
    }
    impl EjectUserPacketDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.EjectUserPacket.DataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EjectUserPacket.DataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.EjectUserPacket.DataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EjectUserPacket.DataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EjectUserPacket.DataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EjectUserPacket.DataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EjectUserPacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EjectUserPacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.EjectUserPacket.DataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EjectUserPacket.DataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EjectUserPacket.DataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.EjectUserPacket.DataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.EjectUserPacket.DataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.EjectUserPacket.DataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.EmailMessageReplyPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.EmailMessageReplyPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct EmailMessageReplyPacket {
        /// C# member: `F:LibreMetaverse.Packets.EmailMessageReplyPacket.DataBlock`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EmailMessageReplyPacket.DataBlockBlock LibreMetaverse.Packets.EmailMessageReplyPacket.DataBlock`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub data_block: libremetaverse::packets::EmailMessageReplyPacketDataBlockBlock,
    }
    impl EmailMessageReplyPacket {
        /// C# member: `M:LibreMetaverse.Packets.EmailMessageReplyPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EmailMessageReplyPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.EmailMessageReplyPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EmailMessageReplyPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EmailMessageReplyPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EmailMessageReplyPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EmailMessageReplyPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EmailMessageReplyPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.EmailMessageReplyPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EmailMessageReplyPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.EmailMessageReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EmailMessageReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.EmailMessageReplyPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.EmailMessageReplyPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.EmailMessageReplyPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.EmailMessageReplyPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.EmailMessageReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.EmailMessageReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.EmailMessageReplyPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.EmailMessageReplyPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.EmailMessageReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.EmailMessageReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.EmailMessageReplyPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.EmailMessageReplyPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.EmailMessageReplyPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.EmailMessageReplyPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.EmailMessageReplyPacket.DataBlockBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.EmailMessageReplyPacket.DataBlockBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct EmailMessageReplyPacketDataBlockBlock {
        /// C# member: `F:LibreMetaverse.Packets.EmailMessageReplyPacket.DataBlockBlock.Data`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.EmailMessageReplyPacket.DataBlockBlock.Data`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub data: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.EmailMessageReplyPacket.DataBlockBlock.FromAddress`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.EmailMessageReplyPacket.DataBlockBlock.FromAddress`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub from_address: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.EmailMessageReplyPacket.DataBlockBlock.MailFilter`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.EmailMessageReplyPacket.DataBlockBlock.MailFilter`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub mail_filter: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.EmailMessageReplyPacket.DataBlockBlock.More`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.EmailMessageReplyPacket.DataBlockBlock.More`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub more: u32,
        /// C# member: `F:LibreMetaverse.Packets.EmailMessageReplyPacket.DataBlockBlock.ObjectID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.EmailMessageReplyPacket.DataBlockBlock.ObjectID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.EmailMessageReplyPacket.DataBlockBlock.Subject`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.EmailMessageReplyPacket.DataBlockBlock.Subject`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub subject: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.EmailMessageReplyPacket.DataBlockBlock.Time`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.EmailMessageReplyPacket.DataBlockBlock.Time`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub time: u32,
    }
    impl EmailMessageReplyPacketDataBlockBlock {
        /// C# member: `M:LibreMetaverse.Packets.EmailMessageReplyPacket.DataBlockBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EmailMessageReplyPacket.DataBlockBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.EmailMessageReplyPacket.DataBlockBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EmailMessageReplyPacket.DataBlockBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EmailMessageReplyPacket.DataBlockBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EmailMessageReplyPacket.DataBlockBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EmailMessageReplyPacket.DataBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EmailMessageReplyPacket.DataBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.EmailMessageReplyPacket.DataBlockBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EmailMessageReplyPacket.DataBlockBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EmailMessageReplyPacket.DataBlockBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.EmailMessageReplyPacket.DataBlockBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.EmailMessageReplyPacket.DataBlockBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.EmailMessageReplyPacket.DataBlockBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.EmailMessageRequestPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.EmailMessageRequestPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct EmailMessageRequestPacket {
        /// C# member: `F:LibreMetaverse.Packets.EmailMessageRequestPacket.DataBlock`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EmailMessageRequestPacket.DataBlockBlock LibreMetaverse.Packets.EmailMessageRequestPacket.DataBlock`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub data_block: libremetaverse::packets::EmailMessageRequestPacketDataBlockBlock,
    }
    impl EmailMessageRequestPacket {
        /// C# member: `M:LibreMetaverse.Packets.EmailMessageRequestPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EmailMessageRequestPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.EmailMessageRequestPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EmailMessageRequestPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EmailMessageRequestPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EmailMessageRequestPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EmailMessageRequestPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EmailMessageRequestPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.EmailMessageRequestPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EmailMessageRequestPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.EmailMessageRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EmailMessageRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.EmailMessageRequestPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.EmailMessageRequestPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.EmailMessageRequestPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.EmailMessageRequestPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.EmailMessageRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.EmailMessageRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.EmailMessageRequestPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.EmailMessageRequestPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.EmailMessageRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.EmailMessageRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.EmailMessageRequestPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.EmailMessageRequestPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.EmailMessageRequestPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.EmailMessageRequestPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.EmailMessageRequestPacket.DataBlockBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.EmailMessageRequestPacket.DataBlockBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct EmailMessageRequestPacketDataBlockBlock {
        /// C# member: `F:LibreMetaverse.Packets.EmailMessageRequestPacket.DataBlockBlock.FromAddress`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.EmailMessageRequestPacket.DataBlockBlock.FromAddress`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub from_address: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.EmailMessageRequestPacket.DataBlockBlock.ObjectID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.EmailMessageRequestPacket.DataBlockBlock.ObjectID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.EmailMessageRequestPacket.DataBlockBlock.Subject`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.EmailMessageRequestPacket.DataBlockBlock.Subject`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub subject: Vec<u8>,
    }
    impl EmailMessageRequestPacketDataBlockBlock {
        /// C# member: `M:LibreMetaverse.Packets.EmailMessageRequestPacket.DataBlockBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EmailMessageRequestPacket.DataBlockBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.EmailMessageRequestPacket.DataBlockBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EmailMessageRequestPacket.DataBlockBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EmailMessageRequestPacket.DataBlockBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EmailMessageRequestPacket.DataBlockBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EmailMessageRequestPacket.DataBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EmailMessageRequestPacket.DataBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.EmailMessageRequestPacket.DataBlockBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EmailMessageRequestPacket.DataBlockBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EmailMessageRequestPacket.DataBlockBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.EmailMessageRequestPacket.DataBlockBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.EmailMessageRequestPacket.DataBlockBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.EmailMessageRequestPacket.DataBlockBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.EnableSimulatorPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.EnableSimulatorPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct EnableSimulatorPacket {
        /// C# member: `F:LibreMetaverse.Packets.EnableSimulatorPacket.SimulatorInfo`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EnableSimulatorPacket.SimulatorInfoBlock LibreMetaverse.Packets.EnableSimulatorPacket.SimulatorInfo`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub simulator_info: libremetaverse::packets::EnableSimulatorPacketSimulatorInfoBlock,
    }
    impl EnableSimulatorPacket {
        /// C# member: `M:LibreMetaverse.Packets.EnableSimulatorPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EnableSimulatorPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.EnableSimulatorPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EnableSimulatorPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EnableSimulatorPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EnableSimulatorPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EnableSimulatorPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EnableSimulatorPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.EnableSimulatorPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EnableSimulatorPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.EnableSimulatorPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EnableSimulatorPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.EnableSimulatorPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.EnableSimulatorPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.EnableSimulatorPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.EnableSimulatorPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.EnableSimulatorPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.EnableSimulatorPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.EnableSimulatorPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.EnableSimulatorPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.EnableSimulatorPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.EnableSimulatorPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.EnableSimulatorPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.EnableSimulatorPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.EnableSimulatorPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.EnableSimulatorPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.EnableSimulatorPacket.SimulatorInfoBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.EnableSimulatorPacket.SimulatorInfoBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct EnableSimulatorPacketSimulatorInfoBlock {
        /// C# member: `F:LibreMetaverse.Packets.EnableSimulatorPacket.SimulatorInfoBlock.Handle`.
        ///
        /// C# signature: `System.UInt64 LibreMetaverse.Packets.EnableSimulatorPacket.SimulatorInfoBlock.Handle`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub handle: u64,
        /// C# member: `F:LibreMetaverse.Packets.EnableSimulatorPacket.SimulatorInfoBlock.IP`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.EnableSimulatorPacket.SimulatorInfoBlock.IP`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub ip: u32,
        /// C# member: `F:LibreMetaverse.Packets.EnableSimulatorPacket.SimulatorInfoBlock.Port`.
        ///
        /// C# signature: `System.UInt16 LibreMetaverse.Packets.EnableSimulatorPacket.SimulatorInfoBlock.Port`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub port: u16,
    }
    impl EnableSimulatorPacketSimulatorInfoBlock {
        /// C# member: `M:LibreMetaverse.Packets.EnableSimulatorPacket.SimulatorInfoBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EnableSimulatorPacket.SimulatorInfoBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.EnableSimulatorPacket.SimulatorInfoBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EnableSimulatorPacket.SimulatorInfoBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EnableSimulatorPacket.SimulatorInfoBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EnableSimulatorPacket.SimulatorInfoBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EnableSimulatorPacket.SimulatorInfoBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EnableSimulatorPacket.SimulatorInfoBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.EnableSimulatorPacket.SimulatorInfoBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EnableSimulatorPacket.SimulatorInfoBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EnableSimulatorPacket.SimulatorInfoBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.EnableSimulatorPacket.SimulatorInfoBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.EnableSimulatorPacket.SimulatorInfoBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.EnableSimulatorPacket.SimulatorInfoBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ErrorPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ErrorPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ErrorPacket {
        /// C# member: `F:LibreMetaverse.Packets.ErrorPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ErrorPacket.AgentDataBlock LibreMetaverse.Packets.ErrorPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::ErrorPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.ErrorPacket.Data`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ErrorPacket.DataBlock LibreMetaverse.Packets.ErrorPacket.Data`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub data: libremetaverse::packets::ErrorPacketDataBlock,
    }
    impl ErrorPacket {
        /// C# member: `M:LibreMetaverse.Packets.ErrorPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ErrorPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ErrorPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ErrorPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ErrorPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ErrorPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ErrorPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ErrorPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ErrorPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ErrorPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ErrorPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ErrorPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ErrorPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ErrorPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ErrorPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ErrorPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ErrorPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ErrorPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ErrorPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ErrorPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ErrorPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ErrorPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ErrorPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ErrorPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ErrorPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ErrorPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ErrorPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ErrorPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ErrorPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ErrorPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ErrorPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
    }
    impl ErrorPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ErrorPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ErrorPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ErrorPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ErrorPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ErrorPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ErrorPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ErrorPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ErrorPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ErrorPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ErrorPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ErrorPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ErrorPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ErrorPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ErrorPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ErrorPacket.DataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ErrorPacket.DataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ErrorPacketDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ErrorPacket.DataBlock.Code`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ErrorPacket.DataBlock.Code`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub code: i32,
        /// C# member: `F:LibreMetaverse.Packets.ErrorPacket.DataBlock.Data`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ErrorPacket.DataBlock.Data`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub data: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.ErrorPacket.DataBlock.ID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ErrorPacket.DataBlock.ID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ErrorPacket.DataBlock.Message`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ErrorPacket.DataBlock.Message`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub message: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.ErrorPacket.DataBlock.System`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ErrorPacket.DataBlock.System`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub system: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.ErrorPacket.DataBlock.Token`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ErrorPacket.DataBlock.Token`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub token: Vec<u8>,
    }
    impl ErrorPacketDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ErrorPacket.DataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ErrorPacket.DataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ErrorPacket.DataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ErrorPacket.DataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ErrorPacket.DataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ErrorPacket.DataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ErrorPacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ErrorPacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ErrorPacket.DataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ErrorPacket.DataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ErrorPacket.DataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ErrorPacket.DataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ErrorPacket.DataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ErrorPacket.DataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.EstateCovenantReplyPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.EstateCovenantReplyPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct EstateCovenantReplyPacket {
        /// C# member: `F:LibreMetaverse.Packets.EstateCovenantReplyPacket.Data`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EstateCovenantReplyPacket.DataBlock LibreMetaverse.Packets.EstateCovenantReplyPacket.Data`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub data: libremetaverse::packets::EstateCovenantReplyPacketDataBlock,
    }
    impl EstateCovenantReplyPacket {
        /// C# member: `M:LibreMetaverse.Packets.EstateCovenantReplyPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EstateCovenantReplyPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.EstateCovenantReplyPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EstateCovenantReplyPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EstateCovenantReplyPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EstateCovenantReplyPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EstateCovenantReplyPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EstateCovenantReplyPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.EstateCovenantReplyPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EstateCovenantReplyPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.EstateCovenantReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EstateCovenantReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.EstateCovenantReplyPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.EstateCovenantReplyPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.EstateCovenantReplyPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.EstateCovenantReplyPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.EstateCovenantReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.EstateCovenantReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.EstateCovenantReplyPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.EstateCovenantReplyPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.EstateCovenantReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.EstateCovenantReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.EstateCovenantReplyPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.EstateCovenantReplyPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.EstateCovenantReplyPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.EstateCovenantReplyPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.EstateCovenantReplyPacket.DataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.EstateCovenantReplyPacket.DataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct EstateCovenantReplyPacketDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.EstateCovenantReplyPacket.DataBlock.CovenantID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.EstateCovenantReplyPacket.DataBlock.CovenantID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub covenant_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.EstateCovenantReplyPacket.DataBlock.CovenantTimestamp`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.EstateCovenantReplyPacket.DataBlock.CovenantTimestamp`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub covenant_timestamp: u32,
        /// C# member: `F:LibreMetaverse.Packets.EstateCovenantReplyPacket.DataBlock.EstateName`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.EstateCovenantReplyPacket.DataBlock.EstateName`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub estate_name: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.EstateCovenantReplyPacket.DataBlock.EstateOwnerID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.EstateCovenantReplyPacket.DataBlock.EstateOwnerID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub estate_owner_id: libremetaverse_types::UUID,
    }
    impl EstateCovenantReplyPacketDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.EstateCovenantReplyPacket.DataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EstateCovenantReplyPacket.DataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.EstateCovenantReplyPacket.DataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EstateCovenantReplyPacket.DataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EstateCovenantReplyPacket.DataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EstateCovenantReplyPacket.DataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EstateCovenantReplyPacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EstateCovenantReplyPacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.EstateCovenantReplyPacket.DataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EstateCovenantReplyPacket.DataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EstateCovenantReplyPacket.DataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.EstateCovenantReplyPacket.DataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.EstateCovenantReplyPacket.DataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.EstateCovenantReplyPacket.DataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.EstateCovenantRequestPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.EstateCovenantRequestPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct EstateCovenantRequestPacket {
        /// C# member: `F:LibreMetaverse.Packets.EstateCovenantRequestPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EstateCovenantRequestPacket.AgentDataBlock LibreMetaverse.Packets.EstateCovenantRequestPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::EstateCovenantRequestPacketAgentDataBlock,
    }
    impl EstateCovenantRequestPacket {
        /// C# member: `M:LibreMetaverse.Packets.EstateCovenantRequestPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EstateCovenantRequestPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.EstateCovenantRequestPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EstateCovenantRequestPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EstateCovenantRequestPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EstateCovenantRequestPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EstateCovenantRequestPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EstateCovenantRequestPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.EstateCovenantRequestPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EstateCovenantRequestPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.EstateCovenantRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EstateCovenantRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.EstateCovenantRequestPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.EstateCovenantRequestPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.EstateCovenantRequestPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.EstateCovenantRequestPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.EstateCovenantRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.EstateCovenantRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.EstateCovenantRequestPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.EstateCovenantRequestPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.EstateCovenantRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.EstateCovenantRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.EstateCovenantRequestPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.EstateCovenantRequestPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.EstateCovenantRequestPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.EstateCovenantRequestPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.EstateCovenantRequestPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.EstateCovenantRequestPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct EstateCovenantRequestPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.EstateCovenantRequestPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.EstateCovenantRequestPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.EstateCovenantRequestPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.EstateCovenantRequestPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl EstateCovenantRequestPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.EstateCovenantRequestPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EstateCovenantRequestPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.EstateCovenantRequestPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EstateCovenantRequestPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EstateCovenantRequestPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EstateCovenantRequestPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EstateCovenantRequestPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EstateCovenantRequestPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.EstateCovenantRequestPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EstateCovenantRequestPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EstateCovenantRequestPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.EstateCovenantRequestPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.EstateCovenantRequestPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.EstateCovenantRequestPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.EstateOwnerMessagePacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.EstateOwnerMessagePacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct EstateOwnerMessagePacket {
        /// C# member: `F:LibreMetaverse.Packets.EstateOwnerMessagePacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EstateOwnerMessagePacket.AgentDataBlock LibreMetaverse.Packets.EstateOwnerMessagePacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::EstateOwnerMessagePacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.EstateOwnerMessagePacket.MethodData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EstateOwnerMessagePacket.MethodDataBlock LibreMetaverse.Packets.EstateOwnerMessagePacket.MethodData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub method_data: libremetaverse::packets::EstateOwnerMessagePacketMethodDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.EstateOwnerMessagePacket.ParamList`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EstateOwnerMessagePacket.ParamListBlock[] LibreMetaverse.Packets.EstateOwnerMessagePacket.ParamList`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub param_list: Vec<libremetaverse::packets::EstateOwnerMessagePacketParamListBlock>,
    }
    impl EstateOwnerMessagePacket {
        /// C# member: `M:LibreMetaverse.Packets.EstateOwnerMessagePacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EstateOwnerMessagePacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.EstateOwnerMessagePacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EstateOwnerMessagePacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EstateOwnerMessagePacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EstateOwnerMessagePacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EstateOwnerMessagePacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EstateOwnerMessagePacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.EstateOwnerMessagePacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EstateOwnerMessagePacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.EstateOwnerMessagePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EstateOwnerMessagePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.EstateOwnerMessagePacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.EstateOwnerMessagePacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.EstateOwnerMessagePacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.EstateOwnerMessagePacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.EstateOwnerMessagePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.EstateOwnerMessagePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.EstateOwnerMessagePacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.EstateOwnerMessagePacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.EstateOwnerMessagePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.EstateOwnerMessagePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.EstateOwnerMessagePacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.EstateOwnerMessagePacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.EstateOwnerMessagePacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.EstateOwnerMessagePacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.EstateOwnerMessagePacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.EstateOwnerMessagePacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct EstateOwnerMessagePacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.EstateOwnerMessagePacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.EstateOwnerMessagePacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.EstateOwnerMessagePacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.EstateOwnerMessagePacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.EstateOwnerMessagePacket.AgentDataBlock.TransactionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.EstateOwnerMessagePacket.AgentDataBlock.TransactionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub transaction_id: libremetaverse_types::UUID,
    }
    impl EstateOwnerMessagePacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.EstateOwnerMessagePacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EstateOwnerMessagePacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.EstateOwnerMessagePacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EstateOwnerMessagePacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EstateOwnerMessagePacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EstateOwnerMessagePacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EstateOwnerMessagePacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EstateOwnerMessagePacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.EstateOwnerMessagePacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EstateOwnerMessagePacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EstateOwnerMessagePacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.EstateOwnerMessagePacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.EstateOwnerMessagePacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.EstateOwnerMessagePacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.EstateOwnerMessagePacket.MethodDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.EstateOwnerMessagePacket.MethodDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct EstateOwnerMessagePacketMethodDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.EstateOwnerMessagePacket.MethodDataBlock.Invoice`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.EstateOwnerMessagePacket.MethodDataBlock.Invoice`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub invoice: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.EstateOwnerMessagePacket.MethodDataBlock.Method`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.EstateOwnerMessagePacket.MethodDataBlock.Method`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub method: Vec<u8>,
    }
    impl EstateOwnerMessagePacketMethodDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.EstateOwnerMessagePacket.MethodDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EstateOwnerMessagePacket.MethodDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.EstateOwnerMessagePacket.MethodDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EstateOwnerMessagePacket.MethodDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EstateOwnerMessagePacket.MethodDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EstateOwnerMessagePacket.MethodDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EstateOwnerMessagePacket.MethodDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EstateOwnerMessagePacket.MethodDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.EstateOwnerMessagePacket.MethodDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EstateOwnerMessagePacket.MethodDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EstateOwnerMessagePacket.MethodDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.EstateOwnerMessagePacket.MethodDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.EstateOwnerMessagePacket.MethodDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.EstateOwnerMessagePacket.MethodDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.EstateOwnerMessagePacket.ParamListBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.EstateOwnerMessagePacket.ParamListBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct EstateOwnerMessagePacketParamListBlock {
        /// C# member: `F:LibreMetaverse.Packets.EstateOwnerMessagePacket.ParamListBlock.Parameter`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.EstateOwnerMessagePacket.ParamListBlock.Parameter`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub parameter: Vec<u8>,
    }
    impl EstateOwnerMessagePacketParamListBlock {
        /// C# member: `M:LibreMetaverse.Packets.EstateOwnerMessagePacket.ParamListBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EstateOwnerMessagePacket.ParamListBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.EstateOwnerMessagePacket.ParamListBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EstateOwnerMessagePacket.ParamListBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EstateOwnerMessagePacket.ParamListBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EstateOwnerMessagePacket.ParamListBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EstateOwnerMessagePacket.ParamListBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EstateOwnerMessagePacket.ParamListBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.EstateOwnerMessagePacket.ParamListBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EstateOwnerMessagePacket.ParamListBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EstateOwnerMessagePacket.ParamListBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.EstateOwnerMessagePacket.ParamListBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.EstateOwnerMessagePacket.ParamListBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.EstateOwnerMessagePacket.ParamListBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.EventGodDeletePacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.EventGodDeletePacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct EventGodDeletePacket {
        /// C# member: `F:LibreMetaverse.Packets.EventGodDeletePacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EventGodDeletePacket.AgentDataBlock LibreMetaverse.Packets.EventGodDeletePacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::EventGodDeletePacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.EventGodDeletePacket.EventData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EventGodDeletePacket.EventDataBlock LibreMetaverse.Packets.EventGodDeletePacket.EventData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub event_data: libremetaverse::packets::EventGodDeletePacketEventDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.EventGodDeletePacket.QueryData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EventGodDeletePacket.QueryDataBlock LibreMetaverse.Packets.EventGodDeletePacket.QueryData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub query_data: libremetaverse::packets::EventGodDeletePacketQueryDataBlock,
    }
    impl EventGodDeletePacket {
        /// C# member: `M:LibreMetaverse.Packets.EventGodDeletePacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EventGodDeletePacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.EventGodDeletePacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EventGodDeletePacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EventGodDeletePacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EventGodDeletePacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EventGodDeletePacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EventGodDeletePacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.EventGodDeletePacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EventGodDeletePacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.EventGodDeletePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EventGodDeletePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.EventGodDeletePacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.EventGodDeletePacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.EventGodDeletePacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.EventGodDeletePacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.EventGodDeletePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.EventGodDeletePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.EventGodDeletePacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.EventGodDeletePacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.EventGodDeletePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.EventGodDeletePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.EventGodDeletePacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.EventGodDeletePacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.EventGodDeletePacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.EventGodDeletePacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.EventGodDeletePacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.EventGodDeletePacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct EventGodDeletePacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.EventGodDeletePacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.EventGodDeletePacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.EventGodDeletePacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.EventGodDeletePacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl EventGodDeletePacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.EventGodDeletePacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EventGodDeletePacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.EventGodDeletePacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EventGodDeletePacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EventGodDeletePacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EventGodDeletePacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EventGodDeletePacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EventGodDeletePacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.EventGodDeletePacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EventGodDeletePacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EventGodDeletePacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.EventGodDeletePacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.EventGodDeletePacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.EventGodDeletePacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.EventGodDeletePacket.EventDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.EventGodDeletePacket.EventDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct EventGodDeletePacketEventDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.EventGodDeletePacket.EventDataBlock.EventID`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.EventGodDeletePacket.EventDataBlock.EventID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub event_id: u32,
    }
    impl EventGodDeletePacketEventDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.EventGodDeletePacket.EventDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EventGodDeletePacket.EventDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.EventGodDeletePacket.EventDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EventGodDeletePacket.EventDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EventGodDeletePacket.EventDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EventGodDeletePacket.EventDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EventGodDeletePacket.EventDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EventGodDeletePacket.EventDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.EventGodDeletePacket.EventDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EventGodDeletePacket.EventDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EventGodDeletePacket.EventDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.EventGodDeletePacket.EventDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.EventGodDeletePacket.EventDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.EventGodDeletePacket.EventDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.EventGodDeletePacket.QueryDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.EventGodDeletePacket.QueryDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct EventGodDeletePacketQueryDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.EventGodDeletePacket.QueryDataBlock.QueryFlags`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.EventGodDeletePacket.QueryDataBlock.QueryFlags`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub query_flags: u32,
        /// C# member: `F:LibreMetaverse.Packets.EventGodDeletePacket.QueryDataBlock.QueryID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.EventGodDeletePacket.QueryDataBlock.QueryID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub query_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.EventGodDeletePacket.QueryDataBlock.QueryStart`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.EventGodDeletePacket.QueryDataBlock.QueryStart`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub query_start: i32,
        /// C# member: `F:LibreMetaverse.Packets.EventGodDeletePacket.QueryDataBlock.QueryText`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.EventGodDeletePacket.QueryDataBlock.QueryText`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub query_text: Vec<u8>,
    }
    impl EventGodDeletePacketQueryDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.EventGodDeletePacket.QueryDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EventGodDeletePacket.QueryDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.EventGodDeletePacket.QueryDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EventGodDeletePacket.QueryDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EventGodDeletePacket.QueryDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EventGodDeletePacket.QueryDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EventGodDeletePacket.QueryDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EventGodDeletePacket.QueryDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.EventGodDeletePacket.QueryDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EventGodDeletePacket.QueryDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EventGodDeletePacket.QueryDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.EventGodDeletePacket.QueryDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.EventGodDeletePacket.QueryDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.EventGodDeletePacket.QueryDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.EventInfoReplyPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.EventInfoReplyPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct EventInfoReplyPacket {
        /// C# member: `F:LibreMetaverse.Packets.EventInfoReplyPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EventInfoReplyPacket.AgentDataBlock LibreMetaverse.Packets.EventInfoReplyPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::EventInfoReplyPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.EventInfoReplyPacket.EventData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EventInfoReplyPacket.EventDataBlock LibreMetaverse.Packets.EventInfoReplyPacket.EventData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub event_data: libremetaverse::packets::EventInfoReplyPacketEventDataBlock,
    }
    impl EventInfoReplyPacket {
        /// C# member: `M:LibreMetaverse.Packets.EventInfoReplyPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EventInfoReplyPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.EventInfoReplyPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EventInfoReplyPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EventInfoReplyPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EventInfoReplyPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EventInfoReplyPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EventInfoReplyPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.EventInfoReplyPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EventInfoReplyPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.EventInfoReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EventInfoReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.EventInfoReplyPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.EventInfoReplyPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.EventInfoReplyPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.EventInfoReplyPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.EventInfoReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.EventInfoReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.EventInfoReplyPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.EventInfoReplyPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.EventInfoReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.EventInfoReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.EventInfoReplyPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.EventInfoReplyPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.EventInfoReplyPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.EventInfoReplyPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.EventInfoReplyPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.EventInfoReplyPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct EventInfoReplyPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.EventInfoReplyPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.EventInfoReplyPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
    }
    impl EventInfoReplyPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.EventInfoReplyPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EventInfoReplyPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.EventInfoReplyPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EventInfoReplyPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EventInfoReplyPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EventInfoReplyPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EventInfoReplyPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EventInfoReplyPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.EventInfoReplyPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EventInfoReplyPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EventInfoReplyPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.EventInfoReplyPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.EventInfoReplyPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.EventInfoReplyPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.EventInfoReplyPacket.EventDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.EventInfoReplyPacket.EventDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct EventInfoReplyPacketEventDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.EventInfoReplyPacket.EventDataBlock.Amount`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.EventInfoReplyPacket.EventDataBlock.Amount`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub amount: u32,
        /// C# member: `F:LibreMetaverse.Packets.EventInfoReplyPacket.EventDataBlock.Category`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.EventInfoReplyPacket.EventDataBlock.Category`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub category: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.EventInfoReplyPacket.EventDataBlock.Cover`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.EventInfoReplyPacket.EventDataBlock.Cover`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub cover: u32,
        /// C# member: `F:LibreMetaverse.Packets.EventInfoReplyPacket.EventDataBlock.Creator`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.EventInfoReplyPacket.EventDataBlock.Creator`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub creator: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.EventInfoReplyPacket.EventDataBlock.Date`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.EventInfoReplyPacket.EventDataBlock.Date`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub date: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.EventInfoReplyPacket.EventDataBlock.DateUTC`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.EventInfoReplyPacket.EventDataBlock.DateUTC`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub date_utc: u32,
        /// C# member: `F:LibreMetaverse.Packets.EventInfoReplyPacket.EventDataBlock.Desc`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.EventInfoReplyPacket.EventDataBlock.Desc`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub desc: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.EventInfoReplyPacket.EventDataBlock.Duration`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.EventInfoReplyPacket.EventDataBlock.Duration`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub duration: u32,
        /// C# member: `F:LibreMetaverse.Packets.EventInfoReplyPacket.EventDataBlock.EventFlags`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.EventInfoReplyPacket.EventDataBlock.EventFlags`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub event_flags: u32,
        /// C# member: `F:LibreMetaverse.Packets.EventInfoReplyPacket.EventDataBlock.EventID`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.EventInfoReplyPacket.EventDataBlock.EventID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub event_id: u32,
        /// C# member: `F:LibreMetaverse.Packets.EventInfoReplyPacket.EventDataBlock.GlobalPos`.
        ///
        /// C# signature: `LibreMetaverse.Vector3d LibreMetaverse.Packets.EventInfoReplyPacket.EventDataBlock.GlobalPos`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub global_pos: libremetaverse_types::Vector3d,
        /// C# member: `F:LibreMetaverse.Packets.EventInfoReplyPacket.EventDataBlock.Name`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.EventInfoReplyPacket.EventDataBlock.Name`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub name: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.EventInfoReplyPacket.EventDataBlock.SimName`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.EventInfoReplyPacket.EventDataBlock.SimName`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub sim_name: Vec<u8>,
    }
    impl EventInfoReplyPacketEventDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.EventInfoReplyPacket.EventDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EventInfoReplyPacket.EventDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.EventInfoReplyPacket.EventDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EventInfoReplyPacket.EventDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EventInfoReplyPacket.EventDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EventInfoReplyPacket.EventDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EventInfoReplyPacket.EventDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EventInfoReplyPacket.EventDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.EventInfoReplyPacket.EventDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EventInfoReplyPacket.EventDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EventInfoReplyPacket.EventDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.EventInfoReplyPacket.EventDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.EventInfoReplyPacket.EventDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.EventInfoReplyPacket.EventDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.EventInfoRequestPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.EventInfoRequestPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct EventInfoRequestPacket {
        /// C# member: `F:LibreMetaverse.Packets.EventInfoRequestPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EventInfoRequestPacket.AgentDataBlock LibreMetaverse.Packets.EventInfoRequestPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::EventInfoRequestPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.EventInfoRequestPacket.EventData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EventInfoRequestPacket.EventDataBlock LibreMetaverse.Packets.EventInfoRequestPacket.EventData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub event_data: libremetaverse::packets::EventInfoRequestPacketEventDataBlock,
    }
    impl EventInfoRequestPacket {
        /// C# member: `M:LibreMetaverse.Packets.EventInfoRequestPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EventInfoRequestPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.EventInfoRequestPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EventInfoRequestPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EventInfoRequestPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EventInfoRequestPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EventInfoRequestPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EventInfoRequestPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.EventInfoRequestPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EventInfoRequestPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.EventInfoRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EventInfoRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.EventInfoRequestPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.EventInfoRequestPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.EventInfoRequestPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.EventInfoRequestPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.EventInfoRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.EventInfoRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.EventInfoRequestPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.EventInfoRequestPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.EventInfoRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.EventInfoRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.EventInfoRequestPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.EventInfoRequestPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.EventInfoRequestPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.EventInfoRequestPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.EventInfoRequestPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.EventInfoRequestPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct EventInfoRequestPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.EventInfoRequestPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.EventInfoRequestPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.EventInfoRequestPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.EventInfoRequestPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl EventInfoRequestPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.EventInfoRequestPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EventInfoRequestPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.EventInfoRequestPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EventInfoRequestPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EventInfoRequestPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EventInfoRequestPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EventInfoRequestPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EventInfoRequestPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.EventInfoRequestPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EventInfoRequestPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EventInfoRequestPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.EventInfoRequestPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.EventInfoRequestPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.EventInfoRequestPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.EventInfoRequestPacket.EventDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.EventInfoRequestPacket.EventDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct EventInfoRequestPacketEventDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.EventInfoRequestPacket.EventDataBlock.EventID`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.EventInfoRequestPacket.EventDataBlock.EventID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub event_id: u32,
    }
    impl EventInfoRequestPacketEventDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.EventInfoRequestPacket.EventDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EventInfoRequestPacket.EventDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.EventInfoRequestPacket.EventDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EventInfoRequestPacket.EventDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EventInfoRequestPacket.EventDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EventInfoRequestPacket.EventDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EventInfoRequestPacket.EventDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EventInfoRequestPacket.EventDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.EventInfoRequestPacket.EventDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EventInfoRequestPacket.EventDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EventInfoRequestPacket.EventDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.EventInfoRequestPacket.EventDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.EventInfoRequestPacket.EventDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.EventInfoRequestPacket.EventDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.EventLocationReplyPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.EventLocationReplyPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct EventLocationReplyPacket {
        /// C# member: `F:LibreMetaverse.Packets.EventLocationReplyPacket.EventData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EventLocationReplyPacket.EventDataBlock LibreMetaverse.Packets.EventLocationReplyPacket.EventData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub event_data: libremetaverse::packets::EventLocationReplyPacketEventDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.EventLocationReplyPacket.QueryData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EventLocationReplyPacket.QueryDataBlock LibreMetaverse.Packets.EventLocationReplyPacket.QueryData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub query_data: libremetaverse::packets::EventLocationReplyPacketQueryDataBlock,
    }
    impl EventLocationReplyPacket {
        /// C# member: `M:LibreMetaverse.Packets.EventLocationReplyPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EventLocationReplyPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.EventLocationReplyPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EventLocationReplyPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EventLocationReplyPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EventLocationReplyPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EventLocationReplyPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EventLocationReplyPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.EventLocationReplyPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EventLocationReplyPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.EventLocationReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EventLocationReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.EventLocationReplyPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.EventLocationReplyPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.EventLocationReplyPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.EventLocationReplyPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.EventLocationReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.EventLocationReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.EventLocationReplyPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.EventLocationReplyPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.EventLocationReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.EventLocationReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.EventLocationReplyPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.EventLocationReplyPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.EventLocationReplyPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.EventLocationReplyPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.EventLocationReplyPacket.EventDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.EventLocationReplyPacket.EventDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct EventLocationReplyPacketEventDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.EventLocationReplyPacket.EventDataBlock.RegionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.EventLocationReplyPacket.EventDataBlock.RegionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub region_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.EventLocationReplyPacket.EventDataBlock.RegionPos`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Packets.EventLocationReplyPacket.EventDataBlock.RegionPos`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub region_pos: libremetaverse_types::Vector3,
        /// C# member: `F:LibreMetaverse.Packets.EventLocationReplyPacket.EventDataBlock.Success`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.EventLocationReplyPacket.EventDataBlock.Success`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub success: bool,
    }
    impl EventLocationReplyPacketEventDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.EventLocationReplyPacket.EventDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EventLocationReplyPacket.EventDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.EventLocationReplyPacket.EventDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EventLocationReplyPacket.EventDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EventLocationReplyPacket.EventDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EventLocationReplyPacket.EventDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EventLocationReplyPacket.EventDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EventLocationReplyPacket.EventDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.EventLocationReplyPacket.EventDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EventLocationReplyPacket.EventDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EventLocationReplyPacket.EventDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.EventLocationReplyPacket.EventDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.EventLocationReplyPacket.EventDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.EventLocationReplyPacket.EventDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.EventLocationReplyPacket.QueryDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.EventLocationReplyPacket.QueryDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct EventLocationReplyPacketQueryDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.EventLocationReplyPacket.QueryDataBlock.QueryID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.EventLocationReplyPacket.QueryDataBlock.QueryID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub query_id: libremetaverse_types::UUID,
    }
    impl EventLocationReplyPacketQueryDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.EventLocationReplyPacket.QueryDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EventLocationReplyPacket.QueryDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.EventLocationReplyPacket.QueryDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EventLocationReplyPacket.QueryDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EventLocationReplyPacket.QueryDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EventLocationReplyPacket.QueryDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EventLocationReplyPacket.QueryDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EventLocationReplyPacket.QueryDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.EventLocationReplyPacket.QueryDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EventLocationReplyPacket.QueryDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EventLocationReplyPacket.QueryDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.EventLocationReplyPacket.QueryDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.EventLocationReplyPacket.QueryDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.EventLocationReplyPacket.QueryDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.EventLocationRequestPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.EventLocationRequestPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct EventLocationRequestPacket {
        /// C# member: `F:LibreMetaverse.Packets.EventLocationRequestPacket.EventData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EventLocationRequestPacket.EventDataBlock LibreMetaverse.Packets.EventLocationRequestPacket.EventData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub event_data: libremetaverse::packets::EventLocationRequestPacketEventDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.EventLocationRequestPacket.QueryData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EventLocationRequestPacket.QueryDataBlock LibreMetaverse.Packets.EventLocationRequestPacket.QueryData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub query_data: libremetaverse::packets::EventLocationRequestPacketQueryDataBlock,
    }
    impl EventLocationRequestPacket {
        /// C# member: `M:LibreMetaverse.Packets.EventLocationRequestPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EventLocationRequestPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.EventLocationRequestPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EventLocationRequestPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EventLocationRequestPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EventLocationRequestPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EventLocationRequestPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EventLocationRequestPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.EventLocationRequestPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EventLocationRequestPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.EventLocationRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EventLocationRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.EventLocationRequestPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.EventLocationRequestPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.EventLocationRequestPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.EventLocationRequestPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.EventLocationRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.EventLocationRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.EventLocationRequestPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.EventLocationRequestPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.EventLocationRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.EventLocationRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.EventLocationRequestPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.EventLocationRequestPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.EventLocationRequestPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.EventLocationRequestPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.EventLocationRequestPacket.EventDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.EventLocationRequestPacket.EventDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct EventLocationRequestPacketEventDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.EventLocationRequestPacket.EventDataBlock.EventID`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.EventLocationRequestPacket.EventDataBlock.EventID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub event_id: u32,
    }
    impl EventLocationRequestPacketEventDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.EventLocationRequestPacket.EventDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EventLocationRequestPacket.EventDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.EventLocationRequestPacket.EventDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EventLocationRequestPacket.EventDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EventLocationRequestPacket.EventDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EventLocationRequestPacket.EventDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EventLocationRequestPacket.EventDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EventLocationRequestPacket.EventDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.EventLocationRequestPacket.EventDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EventLocationRequestPacket.EventDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EventLocationRequestPacket.EventDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.EventLocationRequestPacket.EventDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.EventLocationRequestPacket.EventDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.EventLocationRequestPacket.EventDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.EventLocationRequestPacket.QueryDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.EventLocationRequestPacket.QueryDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct EventLocationRequestPacketQueryDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.EventLocationRequestPacket.QueryDataBlock.QueryID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.EventLocationRequestPacket.QueryDataBlock.QueryID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub query_id: libremetaverse_types::UUID,
    }
    impl EventLocationRequestPacketQueryDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.EventLocationRequestPacket.QueryDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EventLocationRequestPacket.QueryDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.EventLocationRequestPacket.QueryDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EventLocationRequestPacket.QueryDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EventLocationRequestPacket.QueryDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EventLocationRequestPacket.QueryDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EventLocationRequestPacket.QueryDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EventLocationRequestPacket.QueryDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.EventLocationRequestPacket.QueryDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EventLocationRequestPacket.QueryDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EventLocationRequestPacket.QueryDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.EventLocationRequestPacket.QueryDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.EventLocationRequestPacket.QueryDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.EventLocationRequestPacket.QueryDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.EventNotificationAddRequestPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.EventNotificationAddRequestPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct EventNotificationAddRequestPacket {
        /// C# member: `F:LibreMetaverse.Packets.EventNotificationAddRequestPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EventNotificationAddRequestPacket.AgentDataBlock LibreMetaverse.Packets.EventNotificationAddRequestPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::EventNotificationAddRequestPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.EventNotificationAddRequestPacket.EventData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EventNotificationAddRequestPacket.EventDataBlock LibreMetaverse.Packets.EventNotificationAddRequestPacket.EventData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub event_data: libremetaverse::packets::EventNotificationAddRequestPacketEventDataBlock,
    }
    impl EventNotificationAddRequestPacket {
        /// C# member: `M:LibreMetaverse.Packets.EventNotificationAddRequestPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EventNotificationAddRequestPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.EventNotificationAddRequestPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EventNotificationAddRequestPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EventNotificationAddRequestPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EventNotificationAddRequestPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EventNotificationAddRequestPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EventNotificationAddRequestPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.EventNotificationAddRequestPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EventNotificationAddRequestPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.EventNotificationAddRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EventNotificationAddRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.EventNotificationAddRequestPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.EventNotificationAddRequestPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.EventNotificationAddRequestPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.EventNotificationAddRequestPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.EventNotificationAddRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.EventNotificationAddRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.EventNotificationAddRequestPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.EventNotificationAddRequestPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.EventNotificationAddRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.EventNotificationAddRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.EventNotificationAddRequestPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.EventNotificationAddRequestPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.EventNotificationAddRequestPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.EventNotificationAddRequestPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.EventNotificationAddRequestPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.EventNotificationAddRequestPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct EventNotificationAddRequestPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.EventNotificationAddRequestPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.EventNotificationAddRequestPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.EventNotificationAddRequestPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.EventNotificationAddRequestPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl EventNotificationAddRequestPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.EventNotificationAddRequestPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EventNotificationAddRequestPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.EventNotificationAddRequestPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EventNotificationAddRequestPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EventNotificationAddRequestPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EventNotificationAddRequestPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EventNotificationAddRequestPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EventNotificationAddRequestPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.EventNotificationAddRequestPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EventNotificationAddRequestPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EventNotificationAddRequestPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.EventNotificationAddRequestPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.EventNotificationAddRequestPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.EventNotificationAddRequestPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.EventNotificationAddRequestPacket.EventDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.EventNotificationAddRequestPacket.EventDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct EventNotificationAddRequestPacketEventDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.EventNotificationAddRequestPacket.EventDataBlock.EventID`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.EventNotificationAddRequestPacket.EventDataBlock.EventID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub event_id: u32,
    }
    impl EventNotificationAddRequestPacketEventDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.EventNotificationAddRequestPacket.EventDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EventNotificationAddRequestPacket.EventDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.EventNotificationAddRequestPacket.EventDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EventNotificationAddRequestPacket.EventDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EventNotificationAddRequestPacket.EventDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EventNotificationAddRequestPacket.EventDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EventNotificationAddRequestPacket.EventDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EventNotificationAddRequestPacket.EventDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.EventNotificationAddRequestPacket.EventDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EventNotificationAddRequestPacket.EventDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EventNotificationAddRequestPacket.EventDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.EventNotificationAddRequestPacket.EventDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.EventNotificationAddRequestPacket.EventDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.EventNotificationAddRequestPacket.EventDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.EventNotificationRemoveRequestPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.EventNotificationRemoveRequestPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct EventNotificationRemoveRequestPacket {
        /// C# member: `F:LibreMetaverse.Packets.EventNotificationRemoveRequestPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EventNotificationRemoveRequestPacket.AgentDataBlock LibreMetaverse.Packets.EventNotificationRemoveRequestPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::EventNotificationRemoveRequestPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.EventNotificationRemoveRequestPacket.EventData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EventNotificationRemoveRequestPacket.EventDataBlock LibreMetaverse.Packets.EventNotificationRemoveRequestPacket.EventData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub event_data: libremetaverse::packets::EventNotificationRemoveRequestPacketEventDataBlock,
    }
    impl EventNotificationRemoveRequestPacket {
        /// C# member: `M:LibreMetaverse.Packets.EventNotificationRemoveRequestPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EventNotificationRemoveRequestPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.EventNotificationRemoveRequestPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EventNotificationRemoveRequestPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EventNotificationRemoveRequestPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EventNotificationRemoveRequestPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EventNotificationRemoveRequestPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EventNotificationRemoveRequestPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.EventNotificationRemoveRequestPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EventNotificationRemoveRequestPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.EventNotificationRemoveRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EventNotificationRemoveRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.EventNotificationRemoveRequestPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.EventNotificationRemoveRequestPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.EventNotificationRemoveRequestPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.EventNotificationRemoveRequestPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.EventNotificationRemoveRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.EventNotificationRemoveRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.EventNotificationRemoveRequestPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.EventNotificationRemoveRequestPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.EventNotificationRemoveRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.EventNotificationRemoveRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.EventNotificationRemoveRequestPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.EventNotificationRemoveRequestPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.EventNotificationRemoveRequestPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.EventNotificationRemoveRequestPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.EventNotificationRemoveRequestPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.EventNotificationRemoveRequestPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct EventNotificationRemoveRequestPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.EventNotificationRemoveRequestPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.EventNotificationRemoveRequestPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.EventNotificationRemoveRequestPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.EventNotificationRemoveRequestPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl EventNotificationRemoveRequestPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.EventNotificationRemoveRequestPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EventNotificationRemoveRequestPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.EventNotificationRemoveRequestPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EventNotificationRemoveRequestPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EventNotificationRemoveRequestPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EventNotificationRemoveRequestPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EventNotificationRemoveRequestPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EventNotificationRemoveRequestPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.EventNotificationRemoveRequestPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EventNotificationRemoveRequestPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EventNotificationRemoveRequestPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.EventNotificationRemoveRequestPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.EventNotificationRemoveRequestPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.EventNotificationRemoveRequestPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.EventNotificationRemoveRequestPacket.EventDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.EventNotificationRemoveRequestPacket.EventDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct EventNotificationRemoveRequestPacketEventDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.EventNotificationRemoveRequestPacket.EventDataBlock.EventID`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.EventNotificationRemoveRequestPacket.EventDataBlock.EventID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub event_id: u32,
    }
    impl EventNotificationRemoveRequestPacketEventDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.EventNotificationRemoveRequestPacket.EventDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EventNotificationRemoveRequestPacket.EventDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.EventNotificationRemoveRequestPacket.EventDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.EventNotificationRemoveRequestPacket.EventDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EventNotificationRemoveRequestPacket.EventDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EventNotificationRemoveRequestPacket.EventDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EventNotificationRemoveRequestPacket.EventDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EventNotificationRemoveRequestPacket.EventDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.EventNotificationRemoveRequestPacket.EventDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.EventNotificationRemoveRequestPacket.EventDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.EventNotificationRemoveRequestPacket.EventDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.EventNotificationRemoveRequestPacket.EventDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.EventNotificationRemoveRequestPacket.EventDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.EventNotificationRemoveRequestPacket.EventDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.FeatureDisabledPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.FeatureDisabledPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct FeatureDisabledPacket {
        /// C# member: `F:LibreMetaverse.Packets.FeatureDisabledPacket.FailureInfo`.
        ///
        /// C# signature: `LibreMetaverse.Packets.FeatureDisabledPacket.FailureInfoBlock LibreMetaverse.Packets.FeatureDisabledPacket.FailureInfo`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub failure_info: libremetaverse::packets::FeatureDisabledPacketFailureInfoBlock,
    }
    impl FeatureDisabledPacket {
        /// C# member: `M:LibreMetaverse.Packets.FeatureDisabledPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.FeatureDisabledPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.FeatureDisabledPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.FeatureDisabledPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.FeatureDisabledPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.FeatureDisabledPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.FeatureDisabledPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.FeatureDisabledPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.FeatureDisabledPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.FeatureDisabledPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.FeatureDisabledPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.FeatureDisabledPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.FeatureDisabledPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.FeatureDisabledPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.FeatureDisabledPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.FeatureDisabledPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.FeatureDisabledPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.FeatureDisabledPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.FeatureDisabledPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.FeatureDisabledPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.FeatureDisabledPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.FeatureDisabledPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.FeatureDisabledPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.FeatureDisabledPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.FeatureDisabledPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.FeatureDisabledPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.FeatureDisabledPacket.FailureInfoBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.FeatureDisabledPacket.FailureInfoBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct FeatureDisabledPacketFailureInfoBlock {
        /// C# member: `F:LibreMetaverse.Packets.FeatureDisabledPacket.FailureInfoBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.FeatureDisabledPacket.FailureInfoBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.FeatureDisabledPacket.FailureInfoBlock.ErrorMessage`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.FeatureDisabledPacket.FailureInfoBlock.ErrorMessage`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub error_message: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.FeatureDisabledPacket.FailureInfoBlock.TransactionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.FeatureDisabledPacket.FailureInfoBlock.TransactionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub transaction_id: libremetaverse_types::UUID,
    }
    impl FeatureDisabledPacketFailureInfoBlock {
        /// C# member: `M:LibreMetaverse.Packets.FeatureDisabledPacket.FailureInfoBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.FeatureDisabledPacket.FailureInfoBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.FeatureDisabledPacket.FailureInfoBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.FeatureDisabledPacket.FailureInfoBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.FeatureDisabledPacket.FailureInfoBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.FeatureDisabledPacket.FailureInfoBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.FeatureDisabledPacket.FailureInfoBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.FeatureDisabledPacket.FailureInfoBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.FeatureDisabledPacket.FailureInfoBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.FeatureDisabledPacket.FailureInfoBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.FeatureDisabledPacket.FailureInfoBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.FeatureDisabledPacket.FailureInfoBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.FeatureDisabledPacket.FailureInfoBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.FeatureDisabledPacket.FailureInfoBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.FetchInventoryDescendentsPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.FetchInventoryDescendentsPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct FetchInventoryDescendentsPacket {
        /// C# member: `F:LibreMetaverse.Packets.FetchInventoryDescendentsPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.FetchInventoryDescendentsPacket.AgentDataBlock LibreMetaverse.Packets.FetchInventoryDescendentsPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::FetchInventoryDescendentsPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.FetchInventoryDescendentsPacket.InventoryData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.FetchInventoryDescendentsPacket.InventoryDataBlock LibreMetaverse.Packets.FetchInventoryDescendentsPacket.InventoryData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub inventory_data:
            libremetaverse::packets::FetchInventoryDescendentsPacketInventoryDataBlock,
    }
    impl FetchInventoryDescendentsPacket {
        /// C# member: `M:LibreMetaverse.Packets.FetchInventoryDescendentsPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.FetchInventoryDescendentsPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.FetchInventoryDescendentsPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.FetchInventoryDescendentsPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.FetchInventoryDescendentsPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.FetchInventoryDescendentsPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.FetchInventoryDescendentsPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.FetchInventoryDescendentsPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.FetchInventoryDescendentsPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.FetchInventoryDescendentsPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.FetchInventoryDescendentsPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.FetchInventoryDescendentsPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.FetchInventoryDescendentsPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.FetchInventoryDescendentsPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.FetchInventoryDescendentsPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.FetchInventoryDescendentsPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.FetchInventoryDescendentsPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.FetchInventoryDescendentsPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.FetchInventoryDescendentsPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.FetchInventoryDescendentsPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.FetchInventoryDescendentsPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.FetchInventoryDescendentsPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.FetchInventoryDescendentsPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.FetchInventoryDescendentsPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.FetchInventoryDescendentsPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.FetchInventoryDescendentsPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.FetchInventoryDescendentsPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.FetchInventoryDescendentsPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct FetchInventoryDescendentsPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.FetchInventoryDescendentsPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.FetchInventoryDescendentsPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.FetchInventoryDescendentsPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.FetchInventoryDescendentsPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl FetchInventoryDescendentsPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.FetchInventoryDescendentsPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.FetchInventoryDescendentsPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.FetchInventoryDescendentsPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.FetchInventoryDescendentsPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.FetchInventoryDescendentsPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.FetchInventoryDescendentsPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.FetchInventoryDescendentsPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.FetchInventoryDescendentsPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.FetchInventoryDescendentsPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.FetchInventoryDescendentsPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.FetchInventoryDescendentsPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.FetchInventoryDescendentsPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.FetchInventoryDescendentsPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.FetchInventoryDescendentsPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.FetchInventoryDescendentsPacket.InventoryDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.FetchInventoryDescendentsPacket.InventoryDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct FetchInventoryDescendentsPacketInventoryDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.FetchInventoryDescendentsPacket.InventoryDataBlock.FetchFolders`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.FetchInventoryDescendentsPacket.InventoryDataBlock.FetchFolders`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub fetch_folders: bool,
        /// C# member: `F:LibreMetaverse.Packets.FetchInventoryDescendentsPacket.InventoryDataBlock.FetchItems`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.FetchInventoryDescendentsPacket.InventoryDataBlock.FetchItems`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub fetch_items: bool,
        /// C# member: `F:LibreMetaverse.Packets.FetchInventoryDescendentsPacket.InventoryDataBlock.FolderID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.FetchInventoryDescendentsPacket.InventoryDataBlock.FolderID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub folder_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.FetchInventoryDescendentsPacket.InventoryDataBlock.OwnerID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.FetchInventoryDescendentsPacket.InventoryDataBlock.OwnerID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub owner_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.FetchInventoryDescendentsPacket.InventoryDataBlock.SortOrder`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.FetchInventoryDescendentsPacket.InventoryDataBlock.SortOrder`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub sort_order: i32,
    }
    impl FetchInventoryDescendentsPacketInventoryDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.FetchInventoryDescendentsPacket.InventoryDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.FetchInventoryDescendentsPacket.InventoryDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.FetchInventoryDescendentsPacket.InventoryDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.FetchInventoryDescendentsPacket.InventoryDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.FetchInventoryDescendentsPacket.InventoryDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.FetchInventoryDescendentsPacket.InventoryDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.FetchInventoryDescendentsPacket.InventoryDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.FetchInventoryDescendentsPacket.InventoryDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.FetchInventoryDescendentsPacket.InventoryDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.FetchInventoryDescendentsPacket.InventoryDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.FetchInventoryDescendentsPacket.InventoryDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.FetchInventoryDescendentsPacket.InventoryDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.FetchInventoryDescendentsPacket.InventoryDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.FetchInventoryDescendentsPacket.InventoryDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.FetchInventoryPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.FetchInventoryPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct FetchInventoryPacket {
        /// C# member: `F:LibreMetaverse.Packets.FetchInventoryPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.FetchInventoryPacket.AgentDataBlock LibreMetaverse.Packets.FetchInventoryPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::FetchInventoryPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.FetchInventoryPacket.InventoryData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.FetchInventoryPacket.InventoryDataBlock[] LibreMetaverse.Packets.FetchInventoryPacket.InventoryData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub inventory_data: Vec<libremetaverse::packets::FetchInventoryPacketInventoryDataBlock>,
    }
    impl FetchInventoryPacket {
        /// C# member: `M:LibreMetaverse.Packets.FetchInventoryPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.FetchInventoryPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.FetchInventoryPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.FetchInventoryPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.FetchInventoryPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.FetchInventoryPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.FetchInventoryPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.FetchInventoryPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.FetchInventoryPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.FetchInventoryPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.FetchInventoryPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.FetchInventoryPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.FetchInventoryPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.FetchInventoryPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.FetchInventoryPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.FetchInventoryPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.FetchInventoryPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.FetchInventoryPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.FetchInventoryPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.FetchInventoryPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.FetchInventoryPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.FetchInventoryPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.FetchInventoryPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.FetchInventoryPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.FetchInventoryPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.FetchInventoryPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.FetchInventoryPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.FetchInventoryPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct FetchInventoryPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.FetchInventoryPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.FetchInventoryPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.FetchInventoryPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.FetchInventoryPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl FetchInventoryPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.FetchInventoryPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.FetchInventoryPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.FetchInventoryPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.FetchInventoryPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.FetchInventoryPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.FetchInventoryPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.FetchInventoryPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.FetchInventoryPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.FetchInventoryPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.FetchInventoryPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.FetchInventoryPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.FetchInventoryPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.FetchInventoryPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.FetchInventoryPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.FetchInventoryPacket.InventoryDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.FetchInventoryPacket.InventoryDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct FetchInventoryPacketInventoryDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.FetchInventoryPacket.InventoryDataBlock.ItemID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.FetchInventoryPacket.InventoryDataBlock.ItemID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub item_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.FetchInventoryPacket.InventoryDataBlock.OwnerID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.FetchInventoryPacket.InventoryDataBlock.OwnerID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub owner_id: libremetaverse_types::UUID,
    }
    impl FetchInventoryPacketInventoryDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.FetchInventoryPacket.InventoryDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.FetchInventoryPacket.InventoryDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.FetchInventoryPacket.InventoryDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.FetchInventoryPacket.InventoryDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.FetchInventoryPacket.InventoryDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.FetchInventoryPacket.InventoryDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.FetchInventoryPacket.InventoryDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.FetchInventoryPacket.InventoryDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.FetchInventoryPacket.InventoryDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.FetchInventoryPacket.InventoryDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.FetchInventoryPacket.InventoryDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.FetchInventoryPacket.InventoryDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.FetchInventoryPacket.InventoryDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.FetchInventoryPacket.InventoryDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.FetchInventoryReplyPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.FetchInventoryReplyPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct FetchInventoryReplyPacket {
        /// C# member: `F:LibreMetaverse.Packets.FetchInventoryReplyPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.FetchInventoryReplyPacket.AgentDataBlock LibreMetaverse.Packets.FetchInventoryReplyPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::FetchInventoryReplyPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.FetchInventoryReplyPacket.InventoryData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.FetchInventoryReplyPacket.InventoryDataBlock[] LibreMetaverse.Packets.FetchInventoryReplyPacket.InventoryData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub inventory_data:
            Vec<libremetaverse::packets::FetchInventoryReplyPacketInventoryDataBlock>,
    }
    impl FetchInventoryReplyPacket {
        /// C# member: `M:LibreMetaverse.Packets.FetchInventoryReplyPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.FetchInventoryReplyPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.FetchInventoryReplyPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.FetchInventoryReplyPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.FetchInventoryReplyPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.FetchInventoryReplyPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.FetchInventoryReplyPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.FetchInventoryReplyPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.FetchInventoryReplyPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.FetchInventoryReplyPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.FetchInventoryReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.FetchInventoryReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.FetchInventoryReplyPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.FetchInventoryReplyPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.FetchInventoryReplyPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.FetchInventoryReplyPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.FetchInventoryReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.FetchInventoryReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.FetchInventoryReplyPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.FetchInventoryReplyPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.FetchInventoryReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.FetchInventoryReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.FetchInventoryReplyPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.FetchInventoryReplyPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.FetchInventoryReplyPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.FetchInventoryReplyPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.FetchInventoryReplyPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.FetchInventoryReplyPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct FetchInventoryReplyPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.FetchInventoryReplyPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.FetchInventoryReplyPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
    }
    impl FetchInventoryReplyPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.FetchInventoryReplyPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.FetchInventoryReplyPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.FetchInventoryReplyPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.FetchInventoryReplyPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.FetchInventoryReplyPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.FetchInventoryReplyPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.FetchInventoryReplyPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.FetchInventoryReplyPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.FetchInventoryReplyPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.FetchInventoryReplyPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.FetchInventoryReplyPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.FetchInventoryReplyPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.FetchInventoryReplyPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.FetchInventoryReplyPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.FetchInventoryReplyPacket.InventoryDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.FetchInventoryReplyPacket.InventoryDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct FetchInventoryReplyPacketInventoryDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.FetchInventoryReplyPacket.InventoryDataBlock.AssetID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.FetchInventoryReplyPacket.InventoryDataBlock.AssetID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub asset_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.FetchInventoryReplyPacket.InventoryDataBlock.BaseMask`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.FetchInventoryReplyPacket.InventoryDataBlock.BaseMask`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub base_mask: u32,
        /// C# member: `F:LibreMetaverse.Packets.FetchInventoryReplyPacket.InventoryDataBlock.CRC`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.FetchInventoryReplyPacket.InventoryDataBlock.CRC`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub crc: u32,
        /// C# member: `F:LibreMetaverse.Packets.FetchInventoryReplyPacket.InventoryDataBlock.CreationDate`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.FetchInventoryReplyPacket.InventoryDataBlock.CreationDate`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub creation_date: i32,
        /// C# member: `F:LibreMetaverse.Packets.FetchInventoryReplyPacket.InventoryDataBlock.CreatorID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.FetchInventoryReplyPacket.InventoryDataBlock.CreatorID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub creator_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.FetchInventoryReplyPacket.InventoryDataBlock.Description`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.FetchInventoryReplyPacket.InventoryDataBlock.Description`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub description: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.FetchInventoryReplyPacket.InventoryDataBlock.EveryoneMask`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.FetchInventoryReplyPacket.InventoryDataBlock.EveryoneMask`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub everyone_mask: u32,
        /// C# member: `F:LibreMetaverse.Packets.FetchInventoryReplyPacket.InventoryDataBlock.Flags`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.FetchInventoryReplyPacket.InventoryDataBlock.Flags`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub flags: u32,
        /// C# member: `F:LibreMetaverse.Packets.FetchInventoryReplyPacket.InventoryDataBlock.FolderID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.FetchInventoryReplyPacket.InventoryDataBlock.FolderID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub folder_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.FetchInventoryReplyPacket.InventoryDataBlock.GroupID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.FetchInventoryReplyPacket.InventoryDataBlock.GroupID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.FetchInventoryReplyPacket.InventoryDataBlock.GroupMask`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.FetchInventoryReplyPacket.InventoryDataBlock.GroupMask`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_mask: u32,
        /// C# member: `F:LibreMetaverse.Packets.FetchInventoryReplyPacket.InventoryDataBlock.GroupOwned`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.FetchInventoryReplyPacket.InventoryDataBlock.GroupOwned`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_owned: bool,
        /// C# member: `F:LibreMetaverse.Packets.FetchInventoryReplyPacket.InventoryDataBlock.InvType`.
        ///
        /// C# signature: `System.SByte LibreMetaverse.Packets.FetchInventoryReplyPacket.InventoryDataBlock.InvType`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub inv_type: i8,
        /// C# member: `F:LibreMetaverse.Packets.FetchInventoryReplyPacket.InventoryDataBlock.ItemID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.FetchInventoryReplyPacket.InventoryDataBlock.ItemID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub item_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.FetchInventoryReplyPacket.InventoryDataBlock.Name`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.FetchInventoryReplyPacket.InventoryDataBlock.Name`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub name: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.FetchInventoryReplyPacket.InventoryDataBlock.NextOwnerMask`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.FetchInventoryReplyPacket.InventoryDataBlock.NextOwnerMask`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub next_owner_mask: u32,
        /// C# member: `F:LibreMetaverse.Packets.FetchInventoryReplyPacket.InventoryDataBlock.OwnerID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.FetchInventoryReplyPacket.InventoryDataBlock.OwnerID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub owner_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.FetchInventoryReplyPacket.InventoryDataBlock.OwnerMask`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.FetchInventoryReplyPacket.InventoryDataBlock.OwnerMask`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub owner_mask: u32,
        /// C# member: `F:LibreMetaverse.Packets.FetchInventoryReplyPacket.InventoryDataBlock.SalePrice`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.FetchInventoryReplyPacket.InventoryDataBlock.SalePrice`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub sale_price: i32,
        /// C# member: `F:LibreMetaverse.Packets.FetchInventoryReplyPacket.InventoryDataBlock.SaleType`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.FetchInventoryReplyPacket.InventoryDataBlock.SaleType`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub sale_type: u8,
        /// C# member: `F:LibreMetaverse.Packets.FetchInventoryReplyPacket.InventoryDataBlock.Type`.
        ///
        /// C# signature: `System.SByte LibreMetaverse.Packets.FetchInventoryReplyPacket.InventoryDataBlock.Type`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub type_: i8,
    }
    impl FetchInventoryReplyPacketInventoryDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.FetchInventoryReplyPacket.InventoryDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.FetchInventoryReplyPacket.InventoryDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.FetchInventoryReplyPacket.InventoryDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.FetchInventoryReplyPacket.InventoryDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.FetchInventoryReplyPacket.InventoryDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.FetchInventoryReplyPacket.InventoryDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.FetchInventoryReplyPacket.InventoryDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.FetchInventoryReplyPacket.InventoryDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.FetchInventoryReplyPacket.InventoryDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.FetchInventoryReplyPacket.InventoryDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.FetchInventoryReplyPacket.InventoryDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.FetchInventoryReplyPacket.InventoryDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.FetchInventoryReplyPacket.InventoryDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.FetchInventoryReplyPacket.InventoryDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.FindAgentPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.FindAgentPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct FindAgentPacket {
        /// C# member: `F:LibreMetaverse.Packets.FindAgentPacket.AgentBlock`.
        ///
        /// C# signature: `LibreMetaverse.Packets.FindAgentPacket.AgentBlockBlock LibreMetaverse.Packets.FindAgentPacket.AgentBlock`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_block: libremetaverse::packets::FindAgentPacketAgentBlockBlock,
        /// C# member: `F:LibreMetaverse.Packets.FindAgentPacket.LocationBlock`.
        ///
        /// C# signature: `LibreMetaverse.Packets.FindAgentPacket.LocationBlockBlock[] LibreMetaverse.Packets.FindAgentPacket.LocationBlock`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub location_block: Vec<libremetaverse::packets::FindAgentPacketLocationBlockBlock>,
    }
    impl FindAgentPacket {
        /// C# member: `M:LibreMetaverse.Packets.FindAgentPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.FindAgentPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.FindAgentPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.FindAgentPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.FindAgentPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.FindAgentPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.FindAgentPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.FindAgentPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.FindAgentPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.FindAgentPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.FindAgentPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.FindAgentPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.FindAgentPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.FindAgentPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.FindAgentPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.FindAgentPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.FindAgentPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.FindAgentPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.FindAgentPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.FindAgentPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.FindAgentPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.FindAgentPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.FindAgentPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.FindAgentPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.FindAgentPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.FindAgentPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.FindAgentPacket.AgentBlockBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.FindAgentPacket.AgentBlockBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct FindAgentPacketAgentBlockBlock {
        /// C# member: `F:LibreMetaverse.Packets.FindAgentPacket.AgentBlockBlock.Hunter`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.FindAgentPacket.AgentBlockBlock.Hunter`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub hunter: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.FindAgentPacket.AgentBlockBlock.Prey`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.FindAgentPacket.AgentBlockBlock.Prey`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub prey: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.FindAgentPacket.AgentBlockBlock.SpaceIP`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.FindAgentPacket.AgentBlockBlock.SpaceIP`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub space_ip: u32,
    }
    impl FindAgentPacketAgentBlockBlock {
        /// C# member: `M:LibreMetaverse.Packets.FindAgentPacket.AgentBlockBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.FindAgentPacket.AgentBlockBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.FindAgentPacket.AgentBlockBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.FindAgentPacket.AgentBlockBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.FindAgentPacket.AgentBlockBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.FindAgentPacket.AgentBlockBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.FindAgentPacket.AgentBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.FindAgentPacket.AgentBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.FindAgentPacket.AgentBlockBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.FindAgentPacket.AgentBlockBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.FindAgentPacket.AgentBlockBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.FindAgentPacket.AgentBlockBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.FindAgentPacket.AgentBlockBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.FindAgentPacket.AgentBlockBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.FindAgentPacket.LocationBlockBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.FindAgentPacket.LocationBlockBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct FindAgentPacketLocationBlockBlock {
        /// C# member: `F:LibreMetaverse.Packets.FindAgentPacket.LocationBlockBlock.GlobalX`.
        ///
        /// C# signature: `System.Double LibreMetaverse.Packets.FindAgentPacket.LocationBlockBlock.GlobalX`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub global_x: f64,
        /// C# member: `F:LibreMetaverse.Packets.FindAgentPacket.LocationBlockBlock.GlobalY`.
        ///
        /// C# signature: `System.Double LibreMetaverse.Packets.FindAgentPacket.LocationBlockBlock.GlobalY`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub global_y: f64,
    }
    impl FindAgentPacketLocationBlockBlock {
        /// C# member: `M:LibreMetaverse.Packets.FindAgentPacket.LocationBlockBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.FindAgentPacket.LocationBlockBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.FindAgentPacket.LocationBlockBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.FindAgentPacket.LocationBlockBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.FindAgentPacket.LocationBlockBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.FindAgentPacket.LocationBlockBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.FindAgentPacket.LocationBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.FindAgentPacket.LocationBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.FindAgentPacket.LocationBlockBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.FindAgentPacket.LocationBlockBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.FindAgentPacket.LocationBlockBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.FindAgentPacket.LocationBlockBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.FindAgentPacket.LocationBlockBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.FindAgentPacket.LocationBlockBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ForceObjectSelectPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ForceObjectSelectPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ForceObjectSelectPacket {
        /// C# member: `F:LibreMetaverse.Packets.ForceObjectSelectPacket.Data`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ForceObjectSelectPacket.DataBlock[] LibreMetaverse.Packets.ForceObjectSelectPacket.Data`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub data: Vec<libremetaverse::packets::ForceObjectSelectPacketDataBlock>,
        /// C# member: `F:LibreMetaverse.Packets.ForceObjectSelectPacket._Header`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ForceObjectSelectPacket.HeaderBlock LibreMetaverse.Packets.ForceObjectSelectPacket._Header`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub header: libremetaverse::packets::ForceObjectSelectPacketHeaderBlock,
    }
    impl ForceObjectSelectPacket {
        /// C# member: `M:LibreMetaverse.Packets.ForceObjectSelectPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ForceObjectSelectPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ForceObjectSelectPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ForceObjectSelectPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ForceObjectSelectPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ForceObjectSelectPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ForceObjectSelectPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ForceObjectSelectPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ForceObjectSelectPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ForceObjectSelectPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ForceObjectSelectPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ForceObjectSelectPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ForceObjectSelectPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ForceObjectSelectPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ForceObjectSelectPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ForceObjectSelectPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ForceObjectSelectPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ForceObjectSelectPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ForceObjectSelectPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ForceObjectSelectPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ForceObjectSelectPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ForceObjectSelectPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ForceObjectSelectPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ForceObjectSelectPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ForceObjectSelectPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ForceObjectSelectPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ForceObjectSelectPacket.DataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ForceObjectSelectPacket.DataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ForceObjectSelectPacketDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ForceObjectSelectPacket.DataBlock.LocalID`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ForceObjectSelectPacket.DataBlock.LocalID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub local_id: u32,
    }
    impl ForceObjectSelectPacketDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ForceObjectSelectPacket.DataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ForceObjectSelectPacket.DataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ForceObjectSelectPacket.DataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ForceObjectSelectPacket.DataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ForceObjectSelectPacket.DataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ForceObjectSelectPacket.DataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ForceObjectSelectPacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ForceObjectSelectPacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ForceObjectSelectPacket.DataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ForceObjectSelectPacket.DataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ForceObjectSelectPacket.DataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ForceObjectSelectPacket.DataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ForceObjectSelectPacket.DataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ForceObjectSelectPacket.DataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ForceObjectSelectPacket.HeaderBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ForceObjectSelectPacket.HeaderBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ForceObjectSelectPacketHeaderBlock {
        /// C# member: `F:LibreMetaverse.Packets.ForceObjectSelectPacket.HeaderBlock.ResetList`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ForceObjectSelectPacket.HeaderBlock.ResetList`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub reset_list: bool,
    }
    impl ForceObjectSelectPacketHeaderBlock {
        /// C# member: `M:LibreMetaverse.Packets.ForceObjectSelectPacket.HeaderBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ForceObjectSelectPacket.HeaderBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ForceObjectSelectPacket.HeaderBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ForceObjectSelectPacket.HeaderBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ForceObjectSelectPacket.HeaderBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ForceObjectSelectPacket.HeaderBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ForceObjectSelectPacket.HeaderBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ForceObjectSelectPacket.HeaderBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ForceObjectSelectPacket.HeaderBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ForceObjectSelectPacket.HeaderBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ForceObjectSelectPacket.HeaderBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ForceObjectSelectPacket.HeaderBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ForceObjectSelectPacket.HeaderBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ForceObjectSelectPacket.HeaderBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ForceScriptControlReleasePacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ForceScriptControlReleasePacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ForceScriptControlReleasePacket {
        /// C# member: `F:LibreMetaverse.Packets.ForceScriptControlReleasePacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ForceScriptControlReleasePacket.AgentDataBlock LibreMetaverse.Packets.ForceScriptControlReleasePacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::ForceScriptControlReleasePacketAgentDataBlock,
    }
    impl ForceScriptControlReleasePacket {
        /// C# member: `M:LibreMetaverse.Packets.ForceScriptControlReleasePacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ForceScriptControlReleasePacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ForceScriptControlReleasePacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ForceScriptControlReleasePacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ForceScriptControlReleasePacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ForceScriptControlReleasePacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ForceScriptControlReleasePacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ForceScriptControlReleasePacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ForceScriptControlReleasePacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ForceScriptControlReleasePacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ForceScriptControlReleasePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ForceScriptControlReleasePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ForceScriptControlReleasePacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ForceScriptControlReleasePacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ForceScriptControlReleasePacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ForceScriptControlReleasePacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ForceScriptControlReleasePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ForceScriptControlReleasePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ForceScriptControlReleasePacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ForceScriptControlReleasePacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ForceScriptControlReleasePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ForceScriptControlReleasePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ForceScriptControlReleasePacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ForceScriptControlReleasePacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ForceScriptControlReleasePacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ForceScriptControlReleasePacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ForceScriptControlReleasePacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ForceScriptControlReleasePacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ForceScriptControlReleasePacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ForceScriptControlReleasePacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ForceScriptControlReleasePacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ForceScriptControlReleasePacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ForceScriptControlReleasePacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl ForceScriptControlReleasePacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ForceScriptControlReleasePacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ForceScriptControlReleasePacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ForceScriptControlReleasePacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ForceScriptControlReleasePacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ForceScriptControlReleasePacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ForceScriptControlReleasePacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ForceScriptControlReleasePacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ForceScriptControlReleasePacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ForceScriptControlReleasePacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ForceScriptControlReleasePacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ForceScriptControlReleasePacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ForceScriptControlReleasePacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ForceScriptControlReleasePacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ForceScriptControlReleasePacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.FormFriendshipPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.FormFriendshipPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct FormFriendshipPacket {
        /// C# member: `F:LibreMetaverse.Packets.FormFriendshipPacket.AgentBlock`.
        ///
        /// C# signature: `LibreMetaverse.Packets.FormFriendshipPacket.AgentBlockBlock LibreMetaverse.Packets.FormFriendshipPacket.AgentBlock`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_block: libremetaverse::packets::FormFriendshipPacketAgentBlockBlock,
    }
    impl FormFriendshipPacket {
        /// C# member: `M:LibreMetaverse.Packets.FormFriendshipPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.FormFriendshipPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.FormFriendshipPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.FormFriendshipPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.FormFriendshipPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.FormFriendshipPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.FormFriendshipPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.FormFriendshipPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.FormFriendshipPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.FormFriendshipPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.FormFriendshipPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.FormFriendshipPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.FormFriendshipPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.FormFriendshipPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.FormFriendshipPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.FormFriendshipPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.FormFriendshipPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.FormFriendshipPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.FormFriendshipPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.FormFriendshipPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.FormFriendshipPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.FormFriendshipPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.FormFriendshipPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.FormFriendshipPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.FormFriendshipPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.FormFriendshipPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.FormFriendshipPacket.AgentBlockBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.FormFriendshipPacket.AgentBlockBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct FormFriendshipPacketAgentBlockBlock {
        /// C# member: `F:LibreMetaverse.Packets.FormFriendshipPacket.AgentBlockBlock.DestID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.FormFriendshipPacket.AgentBlockBlock.DestID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub dest_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.FormFriendshipPacket.AgentBlockBlock.SourceID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.FormFriendshipPacket.AgentBlockBlock.SourceID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub source_id: libremetaverse_types::UUID,
    }
    impl FormFriendshipPacketAgentBlockBlock {
        /// C# member: `M:LibreMetaverse.Packets.FormFriendshipPacket.AgentBlockBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.FormFriendshipPacket.AgentBlockBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.FormFriendshipPacket.AgentBlockBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.FormFriendshipPacket.AgentBlockBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.FormFriendshipPacket.AgentBlockBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.FormFriendshipPacket.AgentBlockBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.FormFriendshipPacket.AgentBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.FormFriendshipPacket.AgentBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.FormFriendshipPacket.AgentBlockBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.FormFriendshipPacket.AgentBlockBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.FormFriendshipPacket.AgentBlockBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.FormFriendshipPacket.AgentBlockBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.FormFriendshipPacket.AgentBlockBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.FormFriendshipPacket.AgentBlockBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.FreezeUserPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.FreezeUserPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct FreezeUserPacket {
        /// C# member: `F:LibreMetaverse.Packets.FreezeUserPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.FreezeUserPacket.AgentDataBlock LibreMetaverse.Packets.FreezeUserPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::FreezeUserPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.FreezeUserPacket.Data`.
        ///
        /// C# signature: `LibreMetaverse.Packets.FreezeUserPacket.DataBlock LibreMetaverse.Packets.FreezeUserPacket.Data`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub data: libremetaverse::packets::FreezeUserPacketDataBlock,
    }
    impl FreezeUserPacket {
        /// C# member: `M:LibreMetaverse.Packets.FreezeUserPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.FreezeUserPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.FreezeUserPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.FreezeUserPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.FreezeUserPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.FreezeUserPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.FreezeUserPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.FreezeUserPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.FreezeUserPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.FreezeUserPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.FreezeUserPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.FreezeUserPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.FreezeUserPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.FreezeUserPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.FreezeUserPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.FreezeUserPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.FreezeUserPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.FreezeUserPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.FreezeUserPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.FreezeUserPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.FreezeUserPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.FreezeUserPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.FreezeUserPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.FreezeUserPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.FreezeUserPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.FreezeUserPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.FreezeUserPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.FreezeUserPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct FreezeUserPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.FreezeUserPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.FreezeUserPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.FreezeUserPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.FreezeUserPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl FreezeUserPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.FreezeUserPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.FreezeUserPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.FreezeUserPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.FreezeUserPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.FreezeUserPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.FreezeUserPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.FreezeUserPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.FreezeUserPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.FreezeUserPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.FreezeUserPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.FreezeUserPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.FreezeUserPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.FreezeUserPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.FreezeUserPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.FreezeUserPacket.DataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.FreezeUserPacket.DataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct FreezeUserPacketDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.FreezeUserPacket.DataBlock.Flags`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.FreezeUserPacket.DataBlock.Flags`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub flags: u32,
        /// C# member: `F:LibreMetaverse.Packets.FreezeUserPacket.DataBlock.TargetID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.FreezeUserPacket.DataBlock.TargetID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub target_id: libremetaverse_types::UUID,
    }
    impl FreezeUserPacketDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.FreezeUserPacket.DataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.FreezeUserPacket.DataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.FreezeUserPacket.DataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.FreezeUserPacket.DataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.FreezeUserPacket.DataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.FreezeUserPacket.DataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.FreezeUserPacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.FreezeUserPacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.FreezeUserPacket.DataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.FreezeUserPacket.DataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.FreezeUserPacket.DataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.FreezeUserPacket.DataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.FreezeUserPacket.DataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.FreezeUserPacket.DataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GameControlInputPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GameControlInputPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GameControlInputPacket {
        /// C# member: `F:LibreMetaverse.Packets.GameControlInputPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GameControlInputPacket.AgentDataBlock LibreMetaverse.Packets.GameControlInputPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::GameControlInputPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.GameControlInputPacket.AxisData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GameControlInputPacket.AxisDataBlock[] LibreMetaverse.Packets.GameControlInputPacket.AxisData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub axis_data: Vec<libremetaverse::packets::GameControlInputPacketAxisDataBlock>,
        /// C# member: `F:LibreMetaverse.Packets.GameControlInputPacket.ButtonData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GameControlInputPacket.ButtonDataBlock[] LibreMetaverse.Packets.GameControlInputPacket.ButtonData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub button_data: Vec<libremetaverse::packets::GameControlInputPacketButtonDataBlock>,
    }
    impl GameControlInputPacket {
        /// C# member: `M:LibreMetaverse.Packets.GameControlInputPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GameControlInputPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GameControlInputPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GameControlInputPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GameControlInputPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GameControlInputPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GameControlInputPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GameControlInputPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.GameControlInputPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GameControlInputPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.GameControlInputPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GameControlInputPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.GameControlInputPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GameControlInputPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GameControlInputPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GameControlInputPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GameControlInputPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GameControlInputPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.GameControlInputPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.GameControlInputPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GameControlInputPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.GameControlInputPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.GameControlInputPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GameControlInputPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GameControlInputPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.GameControlInputPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GameControlInputPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GameControlInputPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GameControlInputPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.GameControlInputPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GameControlInputPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.GameControlInputPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GameControlInputPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl GameControlInputPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.GameControlInputPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GameControlInputPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GameControlInputPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GameControlInputPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GameControlInputPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GameControlInputPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GameControlInputPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GameControlInputPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.GameControlInputPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GameControlInputPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GameControlInputPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GameControlInputPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GameControlInputPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GameControlInputPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GameControlInputPacket.AxisDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GameControlInputPacket.AxisDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GameControlInputPacketAxisDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.GameControlInputPacket.AxisDataBlock.Index`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.GameControlInputPacket.AxisDataBlock.Index`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub index: u8,
        /// C# member: `F:LibreMetaverse.Packets.GameControlInputPacket.AxisDataBlock.Value`.
        ///
        /// C# signature: `System.Int16 LibreMetaverse.Packets.GameControlInputPacket.AxisDataBlock.Value`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub value: i16,
    }
    impl GameControlInputPacketAxisDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.GameControlInputPacket.AxisDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GameControlInputPacket.AxisDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GameControlInputPacket.AxisDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GameControlInputPacket.AxisDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GameControlInputPacket.AxisDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GameControlInputPacket.AxisDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GameControlInputPacket.AxisDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GameControlInputPacket.AxisDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.GameControlInputPacket.AxisDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GameControlInputPacket.AxisDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GameControlInputPacket.AxisDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GameControlInputPacket.AxisDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GameControlInputPacket.AxisDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GameControlInputPacket.AxisDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GameControlInputPacket.ButtonDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GameControlInputPacket.ButtonDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GameControlInputPacketButtonDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.GameControlInputPacket.ButtonDataBlock.Data`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GameControlInputPacket.ButtonDataBlock.Data`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub data: Vec<u8>,
    }
    impl GameControlInputPacketButtonDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.GameControlInputPacket.ButtonDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GameControlInputPacket.ButtonDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GameControlInputPacket.ButtonDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GameControlInputPacket.ButtonDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GameControlInputPacket.ButtonDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GameControlInputPacket.ButtonDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GameControlInputPacket.ButtonDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GameControlInputPacket.ButtonDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.GameControlInputPacket.ButtonDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GameControlInputPacket.ButtonDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GameControlInputPacket.ButtonDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GameControlInputPacket.ButtonDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GameControlInputPacket.ButtonDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GameControlInputPacket.ButtonDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GenericMessagePacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GenericMessagePacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GenericMessagePacket {
        /// C# member: `F:LibreMetaverse.Packets.GenericMessagePacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GenericMessagePacket.AgentDataBlock LibreMetaverse.Packets.GenericMessagePacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::GenericMessagePacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.GenericMessagePacket.MethodData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GenericMessagePacket.MethodDataBlock LibreMetaverse.Packets.GenericMessagePacket.MethodData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub method_data: libremetaverse::packets::GenericMessagePacketMethodDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.GenericMessagePacket.ParamList`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GenericMessagePacket.ParamListBlock[] LibreMetaverse.Packets.GenericMessagePacket.ParamList`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub param_list: Vec<libremetaverse::packets::GenericMessagePacketParamListBlock>,
    }
    impl GenericMessagePacket {
        /// C# member: `M:LibreMetaverse.Packets.GenericMessagePacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GenericMessagePacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GenericMessagePacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GenericMessagePacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GenericMessagePacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GenericMessagePacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GenericMessagePacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GenericMessagePacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.GenericMessagePacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GenericMessagePacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.GenericMessagePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GenericMessagePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.GenericMessagePacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GenericMessagePacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GenericMessagePacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GenericMessagePacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GenericMessagePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GenericMessagePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.GenericMessagePacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.GenericMessagePacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GenericMessagePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.GenericMessagePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.GenericMessagePacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GenericMessagePacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GenericMessagePacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.GenericMessagePacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GenericMessagePacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GenericMessagePacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GenericMessagePacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.GenericMessagePacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GenericMessagePacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.GenericMessagePacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GenericMessagePacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.GenericMessagePacket.AgentDataBlock.TransactionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GenericMessagePacket.AgentDataBlock.TransactionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub transaction_id: libremetaverse_types::UUID,
    }
    impl GenericMessagePacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.GenericMessagePacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GenericMessagePacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GenericMessagePacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GenericMessagePacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GenericMessagePacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GenericMessagePacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GenericMessagePacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GenericMessagePacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.GenericMessagePacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GenericMessagePacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GenericMessagePacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GenericMessagePacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GenericMessagePacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GenericMessagePacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GenericMessagePacket.MethodDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GenericMessagePacket.MethodDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GenericMessagePacketMethodDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.GenericMessagePacket.MethodDataBlock.Invoice`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GenericMessagePacket.MethodDataBlock.Invoice`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub invoice: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.GenericMessagePacket.MethodDataBlock.Method`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GenericMessagePacket.MethodDataBlock.Method`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub method: Vec<u8>,
    }
    impl GenericMessagePacketMethodDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.GenericMessagePacket.MethodDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GenericMessagePacket.MethodDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GenericMessagePacket.MethodDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GenericMessagePacket.MethodDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GenericMessagePacket.MethodDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GenericMessagePacket.MethodDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GenericMessagePacket.MethodDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GenericMessagePacket.MethodDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.GenericMessagePacket.MethodDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GenericMessagePacket.MethodDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GenericMessagePacket.MethodDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GenericMessagePacket.MethodDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GenericMessagePacket.MethodDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GenericMessagePacket.MethodDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GenericMessagePacket.ParamListBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GenericMessagePacket.ParamListBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GenericMessagePacketParamListBlock {
        /// C# member: `F:LibreMetaverse.Packets.GenericMessagePacket.ParamListBlock.Parameter`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GenericMessagePacket.ParamListBlock.Parameter`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub parameter: Vec<u8>,
    }
    impl GenericMessagePacketParamListBlock {
        /// C# member: `M:LibreMetaverse.Packets.GenericMessagePacket.ParamListBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GenericMessagePacket.ParamListBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GenericMessagePacket.ParamListBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GenericMessagePacket.ParamListBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GenericMessagePacket.ParamListBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GenericMessagePacket.ParamListBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GenericMessagePacket.ParamListBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GenericMessagePacket.ParamListBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.GenericMessagePacket.ParamListBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GenericMessagePacket.ParamListBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GenericMessagePacket.ParamListBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GenericMessagePacket.ParamListBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GenericMessagePacket.ParamListBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GenericMessagePacket.ParamListBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GenericStreamingMessagePacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GenericStreamingMessagePacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GenericStreamingMessagePacket {
        /// C# member: `F:LibreMetaverse.Packets.GenericStreamingMessagePacket.DataBlock`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GenericStreamingMessagePacket.DataBlockBlock LibreMetaverse.Packets.GenericStreamingMessagePacket.DataBlock`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub data_block: libremetaverse::packets::GenericStreamingMessagePacketDataBlockBlock,
        /// C# member: `F:LibreMetaverse.Packets.GenericStreamingMessagePacket.MethodData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GenericStreamingMessagePacket.MethodDataBlock LibreMetaverse.Packets.GenericStreamingMessagePacket.MethodData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub method_data: libremetaverse::packets::GenericStreamingMessagePacketMethodDataBlock,
    }
    impl GenericStreamingMessagePacket {
        /// C# member: `M:LibreMetaverse.Packets.GenericStreamingMessagePacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GenericStreamingMessagePacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GenericStreamingMessagePacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GenericStreamingMessagePacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GenericStreamingMessagePacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GenericStreamingMessagePacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GenericStreamingMessagePacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GenericStreamingMessagePacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.GenericStreamingMessagePacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GenericStreamingMessagePacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.GenericStreamingMessagePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GenericStreamingMessagePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.GenericStreamingMessagePacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GenericStreamingMessagePacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GenericStreamingMessagePacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GenericStreamingMessagePacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GenericStreamingMessagePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GenericStreamingMessagePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.GenericStreamingMessagePacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.GenericStreamingMessagePacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GenericStreamingMessagePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.GenericStreamingMessagePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.GenericStreamingMessagePacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GenericStreamingMessagePacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GenericStreamingMessagePacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.GenericStreamingMessagePacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GenericStreamingMessagePacket.DataBlockBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GenericStreamingMessagePacket.DataBlockBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GenericStreamingMessagePacketDataBlockBlock {
        /// C# member: `F:LibreMetaverse.Packets.GenericStreamingMessagePacket.DataBlockBlock.Data`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GenericStreamingMessagePacket.DataBlockBlock.Data`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub data: Vec<u8>,
    }
    impl GenericStreamingMessagePacketDataBlockBlock {
        /// C# member: `M:LibreMetaverse.Packets.GenericStreamingMessagePacket.DataBlockBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GenericStreamingMessagePacket.DataBlockBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GenericStreamingMessagePacket.DataBlockBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GenericStreamingMessagePacket.DataBlockBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GenericStreamingMessagePacket.DataBlockBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GenericStreamingMessagePacket.DataBlockBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GenericStreamingMessagePacket.DataBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GenericStreamingMessagePacket.DataBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.GenericStreamingMessagePacket.DataBlockBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GenericStreamingMessagePacket.DataBlockBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GenericStreamingMessagePacket.DataBlockBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GenericStreamingMessagePacket.DataBlockBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GenericStreamingMessagePacket.DataBlockBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GenericStreamingMessagePacket.DataBlockBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GenericStreamingMessagePacket.MethodDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GenericStreamingMessagePacket.MethodDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GenericStreamingMessagePacketMethodDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.GenericStreamingMessagePacket.MethodDataBlock.Method`.
        ///
        /// C# signature: `System.UInt16 LibreMetaverse.Packets.GenericStreamingMessagePacket.MethodDataBlock.Method`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub method: u16,
    }
    impl GenericStreamingMessagePacketMethodDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.GenericStreamingMessagePacket.MethodDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GenericStreamingMessagePacket.MethodDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GenericStreamingMessagePacket.MethodDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GenericStreamingMessagePacket.MethodDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GenericStreamingMessagePacket.MethodDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GenericStreamingMessagePacket.MethodDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GenericStreamingMessagePacket.MethodDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GenericStreamingMessagePacket.MethodDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.GenericStreamingMessagePacket.MethodDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GenericStreamingMessagePacket.MethodDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GenericStreamingMessagePacket.MethodDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GenericStreamingMessagePacket.MethodDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GenericStreamingMessagePacket.MethodDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GenericStreamingMessagePacket.MethodDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GetScriptRunningPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GetScriptRunningPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GetScriptRunningPacket {
        /// C# member: `F:LibreMetaverse.Packets.GetScriptRunningPacket.Script`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GetScriptRunningPacket.ScriptBlock LibreMetaverse.Packets.GetScriptRunningPacket.Script`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub script: libremetaverse::packets::GetScriptRunningPacketScriptBlock,
    }
    impl GetScriptRunningPacket {
        /// C# member: `M:LibreMetaverse.Packets.GetScriptRunningPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GetScriptRunningPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GetScriptRunningPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GetScriptRunningPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GetScriptRunningPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GetScriptRunningPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GetScriptRunningPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GetScriptRunningPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.GetScriptRunningPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GetScriptRunningPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.GetScriptRunningPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GetScriptRunningPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.GetScriptRunningPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GetScriptRunningPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GetScriptRunningPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GetScriptRunningPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GetScriptRunningPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GetScriptRunningPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.GetScriptRunningPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.GetScriptRunningPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GetScriptRunningPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.GetScriptRunningPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.GetScriptRunningPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GetScriptRunningPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GetScriptRunningPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.GetScriptRunningPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GetScriptRunningPacket.ScriptBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GetScriptRunningPacket.ScriptBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GetScriptRunningPacketScriptBlock {
        /// C# member: `F:LibreMetaverse.Packets.GetScriptRunningPacket.ScriptBlock.ItemID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GetScriptRunningPacket.ScriptBlock.ItemID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub item_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.GetScriptRunningPacket.ScriptBlock.ObjectID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GetScriptRunningPacket.ScriptBlock.ObjectID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_id: libremetaverse_types::UUID,
    }
    impl GetScriptRunningPacketScriptBlock {
        /// C# member: `M:LibreMetaverse.Packets.GetScriptRunningPacket.ScriptBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GetScriptRunningPacket.ScriptBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GetScriptRunningPacket.ScriptBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GetScriptRunningPacket.ScriptBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GetScriptRunningPacket.ScriptBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GetScriptRunningPacket.ScriptBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GetScriptRunningPacket.ScriptBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GetScriptRunningPacket.ScriptBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.GetScriptRunningPacket.ScriptBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GetScriptRunningPacket.ScriptBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GetScriptRunningPacket.ScriptBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GetScriptRunningPacket.ScriptBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GetScriptRunningPacket.ScriptBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GetScriptRunningPacket.ScriptBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GodKickUserPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GodKickUserPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GodKickUserPacket {
        /// C# member: `F:LibreMetaverse.Packets.GodKickUserPacket.UserInfo`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GodKickUserPacket.UserInfoBlock LibreMetaverse.Packets.GodKickUserPacket.UserInfo`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub user_info: libremetaverse::packets::GodKickUserPacketUserInfoBlock,
    }
    impl GodKickUserPacket {
        /// C# member: `M:LibreMetaverse.Packets.GodKickUserPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GodKickUserPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GodKickUserPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GodKickUserPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GodKickUserPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GodKickUserPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GodKickUserPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GodKickUserPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.GodKickUserPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GodKickUserPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.GodKickUserPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GodKickUserPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.GodKickUserPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GodKickUserPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GodKickUserPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GodKickUserPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GodKickUserPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GodKickUserPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.GodKickUserPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.GodKickUserPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GodKickUserPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.GodKickUserPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.GodKickUserPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GodKickUserPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GodKickUserPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.GodKickUserPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GodKickUserPacket.UserInfoBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GodKickUserPacket.UserInfoBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GodKickUserPacketUserInfoBlock {
        /// C# member: `F:LibreMetaverse.Packets.GodKickUserPacket.UserInfoBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GodKickUserPacket.UserInfoBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.GodKickUserPacket.UserInfoBlock.GodID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GodKickUserPacket.UserInfoBlock.GodID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub god_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.GodKickUserPacket.UserInfoBlock.GodSessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GodKickUserPacket.UserInfoBlock.GodSessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub god_session_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.GodKickUserPacket.UserInfoBlock.KickFlags`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.GodKickUserPacket.UserInfoBlock.KickFlags`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub kick_flags: u32,
        /// C# member: `F:LibreMetaverse.Packets.GodKickUserPacket.UserInfoBlock.Reason`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GodKickUserPacket.UserInfoBlock.Reason`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub reason: Vec<u8>,
    }
    impl GodKickUserPacketUserInfoBlock {
        /// C# member: `M:LibreMetaverse.Packets.GodKickUserPacket.UserInfoBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GodKickUserPacket.UserInfoBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GodKickUserPacket.UserInfoBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GodKickUserPacket.UserInfoBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GodKickUserPacket.UserInfoBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GodKickUserPacket.UserInfoBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GodKickUserPacket.UserInfoBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GodKickUserPacket.UserInfoBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.GodKickUserPacket.UserInfoBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GodKickUserPacket.UserInfoBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GodKickUserPacket.UserInfoBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GodKickUserPacket.UserInfoBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GodKickUserPacket.UserInfoBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GodKickUserPacket.UserInfoBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GodUpdateRegionInfoPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GodUpdateRegionInfoPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GodUpdateRegionInfoPacket {
        /// C# member: `F:LibreMetaverse.Packets.GodUpdateRegionInfoPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GodUpdateRegionInfoPacket.AgentDataBlock LibreMetaverse.Packets.GodUpdateRegionInfoPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::GodUpdateRegionInfoPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.GodUpdateRegionInfoPacket.RegionInfo`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GodUpdateRegionInfoPacket.RegionInfoBlock LibreMetaverse.Packets.GodUpdateRegionInfoPacket.RegionInfo`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub region_info: libremetaverse::packets::GodUpdateRegionInfoPacketRegionInfoBlock,
        /// C# member: `F:LibreMetaverse.Packets.GodUpdateRegionInfoPacket.RegionInfo2`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GodUpdateRegionInfoPacket.RegionInfo2Block[] LibreMetaverse.Packets.GodUpdateRegionInfoPacket.RegionInfo2`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub region_info2: Vec<libremetaverse::packets::GodUpdateRegionInfoPacketRegionInfo2Block>,
    }
    impl GodUpdateRegionInfoPacket {
        /// C# member: `M:LibreMetaverse.Packets.GodUpdateRegionInfoPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GodUpdateRegionInfoPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GodUpdateRegionInfoPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GodUpdateRegionInfoPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GodUpdateRegionInfoPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GodUpdateRegionInfoPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GodUpdateRegionInfoPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GodUpdateRegionInfoPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.GodUpdateRegionInfoPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GodUpdateRegionInfoPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.GodUpdateRegionInfoPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GodUpdateRegionInfoPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.GodUpdateRegionInfoPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GodUpdateRegionInfoPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GodUpdateRegionInfoPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GodUpdateRegionInfoPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GodUpdateRegionInfoPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GodUpdateRegionInfoPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.GodUpdateRegionInfoPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.GodUpdateRegionInfoPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GodUpdateRegionInfoPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.GodUpdateRegionInfoPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.GodUpdateRegionInfoPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GodUpdateRegionInfoPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GodUpdateRegionInfoPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.GodUpdateRegionInfoPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GodUpdateRegionInfoPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GodUpdateRegionInfoPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GodUpdateRegionInfoPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.GodUpdateRegionInfoPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GodUpdateRegionInfoPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.GodUpdateRegionInfoPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GodUpdateRegionInfoPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl GodUpdateRegionInfoPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.GodUpdateRegionInfoPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GodUpdateRegionInfoPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GodUpdateRegionInfoPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GodUpdateRegionInfoPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GodUpdateRegionInfoPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GodUpdateRegionInfoPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GodUpdateRegionInfoPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GodUpdateRegionInfoPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.GodUpdateRegionInfoPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GodUpdateRegionInfoPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GodUpdateRegionInfoPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GodUpdateRegionInfoPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GodUpdateRegionInfoPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GodUpdateRegionInfoPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GodUpdateRegionInfoPacket.RegionInfo2Block`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GodUpdateRegionInfoPacket.RegionInfo2Block` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GodUpdateRegionInfoPacketRegionInfo2Block {
        /// C# member: `F:LibreMetaverse.Packets.GodUpdateRegionInfoPacket.RegionInfo2Block.RegionFlagsExtended`.
        ///
        /// C# signature: `System.UInt64 LibreMetaverse.Packets.GodUpdateRegionInfoPacket.RegionInfo2Block.RegionFlagsExtended`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub region_flags_extended: u64,
    }
    impl GodUpdateRegionInfoPacketRegionInfo2Block {
        /// C# member: `M:LibreMetaverse.Packets.GodUpdateRegionInfoPacket.RegionInfo2Block.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GodUpdateRegionInfoPacket.RegionInfo2Block()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GodUpdateRegionInfoPacket.RegionInfo2Block.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GodUpdateRegionInfoPacket.RegionInfo2Block(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GodUpdateRegionInfoPacket.RegionInfo2Block.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GodUpdateRegionInfoPacket.RegionInfo2Block.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GodUpdateRegionInfoPacket.RegionInfo2Block.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GodUpdateRegionInfoPacket.RegionInfo2Block.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.GodUpdateRegionInfoPacket.RegionInfo2Block.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GodUpdateRegionInfoPacket.RegionInfo2Block.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GodUpdateRegionInfoPacket.RegionInfo2Block.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GodUpdateRegionInfoPacket.RegionInfo2Block.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GodUpdateRegionInfoPacket.RegionInfo2Block.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GodUpdateRegionInfoPacket.RegionInfo2Block.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GodUpdateRegionInfoPacket.RegionInfoBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GodUpdateRegionInfoPacket.RegionInfoBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GodUpdateRegionInfoPacketRegionInfoBlock {
        /// C# member: `F:LibreMetaverse.Packets.GodUpdateRegionInfoPacket.RegionInfoBlock.BillableFactor`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.GodUpdateRegionInfoPacket.RegionInfoBlock.BillableFactor`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub billable_factor: f32,
        /// C# member: `F:LibreMetaverse.Packets.GodUpdateRegionInfoPacket.RegionInfoBlock.EstateID`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.GodUpdateRegionInfoPacket.RegionInfoBlock.EstateID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub estate_id: u32,
        /// C# member: `F:LibreMetaverse.Packets.GodUpdateRegionInfoPacket.RegionInfoBlock.ParentEstateID`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.GodUpdateRegionInfoPacket.RegionInfoBlock.ParentEstateID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub parent_estate_id: u32,
        /// C# member: `F:LibreMetaverse.Packets.GodUpdateRegionInfoPacket.RegionInfoBlock.PricePerMeter`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GodUpdateRegionInfoPacket.RegionInfoBlock.PricePerMeter`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub price_per_meter: i32,
        /// C# member: `F:LibreMetaverse.Packets.GodUpdateRegionInfoPacket.RegionInfoBlock.RedirectGridX`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GodUpdateRegionInfoPacket.RegionInfoBlock.RedirectGridX`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub redirect_grid_x: i32,
        /// C# member: `F:LibreMetaverse.Packets.GodUpdateRegionInfoPacket.RegionInfoBlock.RedirectGridY`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GodUpdateRegionInfoPacket.RegionInfoBlock.RedirectGridY`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub redirect_grid_y: i32,
        /// C# member: `F:LibreMetaverse.Packets.GodUpdateRegionInfoPacket.RegionInfoBlock.RegionFlags`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.GodUpdateRegionInfoPacket.RegionInfoBlock.RegionFlags`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub region_flags: u32,
        /// C# member: `F:LibreMetaverse.Packets.GodUpdateRegionInfoPacket.RegionInfoBlock.SimName`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GodUpdateRegionInfoPacket.RegionInfoBlock.SimName`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub sim_name: Vec<u8>,
    }
    impl GodUpdateRegionInfoPacketRegionInfoBlock {
        /// C# member: `M:LibreMetaverse.Packets.GodUpdateRegionInfoPacket.RegionInfoBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GodUpdateRegionInfoPacket.RegionInfoBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GodUpdateRegionInfoPacket.RegionInfoBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GodUpdateRegionInfoPacket.RegionInfoBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GodUpdateRegionInfoPacket.RegionInfoBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GodUpdateRegionInfoPacket.RegionInfoBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GodUpdateRegionInfoPacket.RegionInfoBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GodUpdateRegionInfoPacket.RegionInfoBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.GodUpdateRegionInfoPacket.RegionInfoBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GodUpdateRegionInfoPacket.RegionInfoBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GodUpdateRegionInfoPacket.RegionInfoBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GodUpdateRegionInfoPacket.RegionInfoBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GodUpdateRegionInfoPacket.RegionInfoBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GodUpdateRegionInfoPacket.RegionInfoBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GodlikeMessagePacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GodlikeMessagePacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GodlikeMessagePacket {
        /// C# member: `F:LibreMetaverse.Packets.GodlikeMessagePacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GodlikeMessagePacket.AgentDataBlock LibreMetaverse.Packets.GodlikeMessagePacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::GodlikeMessagePacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.GodlikeMessagePacket.MethodData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GodlikeMessagePacket.MethodDataBlock LibreMetaverse.Packets.GodlikeMessagePacket.MethodData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub method_data: libremetaverse::packets::GodlikeMessagePacketMethodDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.GodlikeMessagePacket.ParamList`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GodlikeMessagePacket.ParamListBlock[] LibreMetaverse.Packets.GodlikeMessagePacket.ParamList`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub param_list: Vec<libremetaverse::packets::GodlikeMessagePacketParamListBlock>,
    }
    impl GodlikeMessagePacket {
        /// C# member: `M:LibreMetaverse.Packets.GodlikeMessagePacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GodlikeMessagePacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GodlikeMessagePacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GodlikeMessagePacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GodlikeMessagePacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GodlikeMessagePacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GodlikeMessagePacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GodlikeMessagePacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.GodlikeMessagePacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GodlikeMessagePacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.GodlikeMessagePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GodlikeMessagePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.GodlikeMessagePacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GodlikeMessagePacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GodlikeMessagePacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GodlikeMessagePacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GodlikeMessagePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GodlikeMessagePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.GodlikeMessagePacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.GodlikeMessagePacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GodlikeMessagePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.GodlikeMessagePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.GodlikeMessagePacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GodlikeMessagePacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GodlikeMessagePacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.GodlikeMessagePacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GodlikeMessagePacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GodlikeMessagePacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GodlikeMessagePacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.GodlikeMessagePacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GodlikeMessagePacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.GodlikeMessagePacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GodlikeMessagePacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.GodlikeMessagePacket.AgentDataBlock.TransactionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GodlikeMessagePacket.AgentDataBlock.TransactionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub transaction_id: libremetaverse_types::UUID,
    }
    impl GodlikeMessagePacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.GodlikeMessagePacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GodlikeMessagePacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GodlikeMessagePacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GodlikeMessagePacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GodlikeMessagePacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GodlikeMessagePacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GodlikeMessagePacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GodlikeMessagePacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.GodlikeMessagePacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GodlikeMessagePacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GodlikeMessagePacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GodlikeMessagePacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GodlikeMessagePacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GodlikeMessagePacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GodlikeMessagePacket.MethodDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GodlikeMessagePacket.MethodDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GodlikeMessagePacketMethodDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.GodlikeMessagePacket.MethodDataBlock.Invoice`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GodlikeMessagePacket.MethodDataBlock.Invoice`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub invoice: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.GodlikeMessagePacket.MethodDataBlock.Method`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GodlikeMessagePacket.MethodDataBlock.Method`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub method: Vec<u8>,
    }
    impl GodlikeMessagePacketMethodDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.GodlikeMessagePacket.MethodDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GodlikeMessagePacket.MethodDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GodlikeMessagePacket.MethodDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GodlikeMessagePacket.MethodDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GodlikeMessagePacket.MethodDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GodlikeMessagePacket.MethodDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GodlikeMessagePacket.MethodDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GodlikeMessagePacket.MethodDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.GodlikeMessagePacket.MethodDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GodlikeMessagePacket.MethodDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GodlikeMessagePacket.MethodDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GodlikeMessagePacket.MethodDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GodlikeMessagePacket.MethodDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GodlikeMessagePacket.MethodDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GodlikeMessagePacket.ParamListBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GodlikeMessagePacket.ParamListBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GodlikeMessagePacketParamListBlock {
        /// C# member: `F:LibreMetaverse.Packets.GodlikeMessagePacket.ParamListBlock.Parameter`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GodlikeMessagePacket.ParamListBlock.Parameter`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub parameter: Vec<u8>,
    }
    impl GodlikeMessagePacketParamListBlock {
        /// C# member: `M:LibreMetaverse.Packets.GodlikeMessagePacket.ParamListBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GodlikeMessagePacket.ParamListBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GodlikeMessagePacket.ParamListBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GodlikeMessagePacket.ParamListBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GodlikeMessagePacket.ParamListBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GodlikeMessagePacket.ParamListBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GodlikeMessagePacket.ParamListBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GodlikeMessagePacket.ParamListBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.GodlikeMessagePacket.ParamListBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GodlikeMessagePacket.ParamListBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GodlikeMessagePacket.ParamListBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GodlikeMessagePacket.ParamListBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GodlikeMessagePacket.ParamListBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GodlikeMessagePacket.ParamListBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GrantGodlikePowersPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GrantGodlikePowersPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GrantGodlikePowersPacket {
        /// C# member: `F:LibreMetaverse.Packets.GrantGodlikePowersPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GrantGodlikePowersPacket.AgentDataBlock LibreMetaverse.Packets.GrantGodlikePowersPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::GrantGodlikePowersPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.GrantGodlikePowersPacket.GrantData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GrantGodlikePowersPacket.GrantDataBlock LibreMetaverse.Packets.GrantGodlikePowersPacket.GrantData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub grant_data: libremetaverse::packets::GrantGodlikePowersPacketGrantDataBlock,
    }
    impl GrantGodlikePowersPacket {
        /// C# member: `M:LibreMetaverse.Packets.GrantGodlikePowersPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GrantGodlikePowersPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GrantGodlikePowersPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GrantGodlikePowersPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GrantGodlikePowersPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GrantGodlikePowersPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GrantGodlikePowersPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GrantGodlikePowersPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.GrantGodlikePowersPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GrantGodlikePowersPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.GrantGodlikePowersPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GrantGodlikePowersPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.GrantGodlikePowersPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GrantGodlikePowersPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GrantGodlikePowersPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GrantGodlikePowersPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GrantGodlikePowersPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GrantGodlikePowersPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.GrantGodlikePowersPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.GrantGodlikePowersPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GrantGodlikePowersPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.GrantGodlikePowersPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.GrantGodlikePowersPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GrantGodlikePowersPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GrantGodlikePowersPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.GrantGodlikePowersPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GrantGodlikePowersPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GrantGodlikePowersPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GrantGodlikePowersPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.GrantGodlikePowersPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GrantGodlikePowersPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.GrantGodlikePowersPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GrantGodlikePowersPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl GrantGodlikePowersPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.GrantGodlikePowersPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GrantGodlikePowersPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GrantGodlikePowersPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GrantGodlikePowersPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GrantGodlikePowersPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GrantGodlikePowersPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GrantGodlikePowersPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GrantGodlikePowersPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.GrantGodlikePowersPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GrantGodlikePowersPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GrantGodlikePowersPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GrantGodlikePowersPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GrantGodlikePowersPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GrantGodlikePowersPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GrantGodlikePowersPacket.GrantDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GrantGodlikePowersPacket.GrantDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GrantGodlikePowersPacketGrantDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.GrantGodlikePowersPacket.GrantDataBlock.GodLevel`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.GrantGodlikePowersPacket.GrantDataBlock.GodLevel`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub god_level: u8,
        /// C# member: `F:LibreMetaverse.Packets.GrantGodlikePowersPacket.GrantDataBlock.Token`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GrantGodlikePowersPacket.GrantDataBlock.Token`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub token: libremetaverse_types::UUID,
    }
    impl GrantGodlikePowersPacketGrantDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.GrantGodlikePowersPacket.GrantDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GrantGodlikePowersPacket.GrantDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GrantGodlikePowersPacket.GrantDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GrantGodlikePowersPacket.GrantDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GrantGodlikePowersPacket.GrantDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GrantGodlikePowersPacket.GrantDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GrantGodlikePowersPacket.GrantDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GrantGodlikePowersPacket.GrantDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.GrantGodlikePowersPacket.GrantDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GrantGodlikePowersPacket.GrantDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GrantGodlikePowersPacket.GrantDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GrantGodlikePowersPacket.GrantDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GrantGodlikePowersPacket.GrantDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GrantGodlikePowersPacket.GrantDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GrantUserRightsPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GrantUserRightsPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GrantUserRightsPacket {
        /// C# member: `F:LibreMetaverse.Packets.GrantUserRightsPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GrantUserRightsPacket.AgentDataBlock LibreMetaverse.Packets.GrantUserRightsPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::GrantUserRightsPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.GrantUserRightsPacket.Rights`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GrantUserRightsPacket.RightsBlock[] LibreMetaverse.Packets.GrantUserRightsPacket.Rights`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub rights: Vec<libremetaverse::packets::GrantUserRightsPacketRightsBlock>,
    }
    impl GrantUserRightsPacket {
        /// C# member: `M:LibreMetaverse.Packets.GrantUserRightsPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GrantUserRightsPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GrantUserRightsPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GrantUserRightsPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GrantUserRightsPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GrantUserRightsPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GrantUserRightsPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GrantUserRightsPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.GrantUserRightsPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GrantUserRightsPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.GrantUserRightsPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GrantUserRightsPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.GrantUserRightsPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GrantUserRightsPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GrantUserRightsPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GrantUserRightsPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GrantUserRightsPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GrantUserRightsPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.GrantUserRightsPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.GrantUserRightsPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GrantUserRightsPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.GrantUserRightsPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.GrantUserRightsPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GrantUserRightsPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GrantUserRightsPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.GrantUserRightsPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GrantUserRightsPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GrantUserRightsPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GrantUserRightsPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.GrantUserRightsPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GrantUserRightsPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.GrantUserRightsPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GrantUserRightsPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl GrantUserRightsPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.GrantUserRightsPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GrantUserRightsPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GrantUserRightsPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GrantUserRightsPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GrantUserRightsPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GrantUserRightsPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GrantUserRightsPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GrantUserRightsPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.GrantUserRightsPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GrantUserRightsPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GrantUserRightsPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GrantUserRightsPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GrantUserRightsPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GrantUserRightsPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GrantUserRightsPacket.RightsBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GrantUserRightsPacket.RightsBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GrantUserRightsPacketRightsBlock {
        /// C# member: `F:LibreMetaverse.Packets.GrantUserRightsPacket.RightsBlock.AgentRelated`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GrantUserRightsPacket.RightsBlock.AgentRelated`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_related: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.GrantUserRightsPacket.RightsBlock.RelatedRights`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GrantUserRightsPacket.RightsBlock.RelatedRights`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub related_rights: i32,
    }
    impl GrantUserRightsPacketRightsBlock {
        /// C# member: `M:LibreMetaverse.Packets.GrantUserRightsPacket.RightsBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GrantUserRightsPacket.RightsBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GrantUserRightsPacket.RightsBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GrantUserRightsPacket.RightsBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GrantUserRightsPacket.RightsBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GrantUserRightsPacket.RightsBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GrantUserRightsPacket.RightsBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GrantUserRightsPacket.RightsBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.GrantUserRightsPacket.RightsBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GrantUserRightsPacket.RightsBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GrantUserRightsPacket.RightsBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GrantUserRightsPacket.RightsBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GrantUserRightsPacket.RightsBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GrantUserRightsPacket.RightsBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GroupAccountDetailsReplyPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GroupAccountDetailsReplyPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GroupAccountDetailsReplyPacket {
        /// C# member: `F:LibreMetaverse.Packets.GroupAccountDetailsReplyPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupAccountDetailsReplyPacket.AgentDataBlock LibreMetaverse.Packets.GroupAccountDetailsReplyPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::GroupAccountDetailsReplyPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.GroupAccountDetailsReplyPacket.HistoryData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupAccountDetailsReplyPacket.HistoryDataBlock[] LibreMetaverse.Packets.GroupAccountDetailsReplyPacket.HistoryData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub history_data:
            Vec<libremetaverse::packets::GroupAccountDetailsReplyPacketHistoryDataBlock>,
        /// C# member: `F:LibreMetaverse.Packets.GroupAccountDetailsReplyPacket.MoneyData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupAccountDetailsReplyPacket.MoneyDataBlock LibreMetaverse.Packets.GroupAccountDetailsReplyPacket.MoneyData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub money_data: libremetaverse::packets::GroupAccountDetailsReplyPacketMoneyDataBlock,
    }
    impl GroupAccountDetailsReplyPacket {
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountDetailsReplyPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupAccountDetailsReplyPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountDetailsReplyPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupAccountDetailsReplyPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountDetailsReplyPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupAccountDetailsReplyPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountDetailsReplyPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupAccountDetailsReplyPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountDetailsReplyPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupAccountDetailsReplyPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountDetailsReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupAccountDetailsReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountDetailsReplyPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GroupAccountDetailsReplyPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountDetailsReplyPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GroupAccountDetailsReplyPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountDetailsReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GroupAccountDetailsReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountDetailsReplyPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.GroupAccountDetailsReplyPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountDetailsReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.GroupAccountDetailsReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupAccountDetailsReplyPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupAccountDetailsReplyPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupAccountDetailsReplyPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.GroupAccountDetailsReplyPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GroupAccountDetailsReplyPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GroupAccountDetailsReplyPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GroupAccountDetailsReplyPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.GroupAccountDetailsReplyPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupAccountDetailsReplyPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.GroupAccountDetailsReplyPacket.AgentDataBlock.GroupID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupAccountDetailsReplyPacket.AgentDataBlock.GroupID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_id: libremetaverse_types::UUID,
    }
    impl GroupAccountDetailsReplyPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountDetailsReplyPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupAccountDetailsReplyPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountDetailsReplyPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupAccountDetailsReplyPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountDetailsReplyPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupAccountDetailsReplyPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountDetailsReplyPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupAccountDetailsReplyPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountDetailsReplyPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupAccountDetailsReplyPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountDetailsReplyPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GroupAccountDetailsReplyPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupAccountDetailsReplyPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupAccountDetailsReplyPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GroupAccountDetailsReplyPacket.HistoryDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GroupAccountDetailsReplyPacket.HistoryDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GroupAccountDetailsReplyPacketHistoryDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.GroupAccountDetailsReplyPacket.HistoryDataBlock.Amount`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupAccountDetailsReplyPacket.HistoryDataBlock.Amount`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub amount: i32,
        /// C# member: `F:LibreMetaverse.Packets.GroupAccountDetailsReplyPacket.HistoryDataBlock.Description`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GroupAccountDetailsReplyPacket.HistoryDataBlock.Description`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub description: Vec<u8>,
    }
    impl GroupAccountDetailsReplyPacketHistoryDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountDetailsReplyPacket.HistoryDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupAccountDetailsReplyPacket.HistoryDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountDetailsReplyPacket.HistoryDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupAccountDetailsReplyPacket.HistoryDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountDetailsReplyPacket.HistoryDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupAccountDetailsReplyPacket.HistoryDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountDetailsReplyPacket.HistoryDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupAccountDetailsReplyPacket.HistoryDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountDetailsReplyPacket.HistoryDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupAccountDetailsReplyPacket.HistoryDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountDetailsReplyPacket.HistoryDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GroupAccountDetailsReplyPacket.HistoryDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupAccountDetailsReplyPacket.HistoryDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupAccountDetailsReplyPacket.HistoryDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GroupAccountDetailsReplyPacket.MoneyDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GroupAccountDetailsReplyPacket.MoneyDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GroupAccountDetailsReplyPacketMoneyDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.GroupAccountDetailsReplyPacket.MoneyDataBlock.CurrentInterval`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupAccountDetailsReplyPacket.MoneyDataBlock.CurrentInterval`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub current_interval: i32,
        /// C# member: `F:LibreMetaverse.Packets.GroupAccountDetailsReplyPacket.MoneyDataBlock.IntervalDays`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupAccountDetailsReplyPacket.MoneyDataBlock.IntervalDays`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub interval_days: i32,
        /// C# member: `F:LibreMetaverse.Packets.GroupAccountDetailsReplyPacket.MoneyDataBlock.RequestID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupAccountDetailsReplyPacket.MoneyDataBlock.RequestID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub request_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.GroupAccountDetailsReplyPacket.MoneyDataBlock.StartDate`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GroupAccountDetailsReplyPacket.MoneyDataBlock.StartDate`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub start_date: Vec<u8>,
    }
    impl GroupAccountDetailsReplyPacketMoneyDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountDetailsReplyPacket.MoneyDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupAccountDetailsReplyPacket.MoneyDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountDetailsReplyPacket.MoneyDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupAccountDetailsReplyPacket.MoneyDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountDetailsReplyPacket.MoneyDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupAccountDetailsReplyPacket.MoneyDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountDetailsReplyPacket.MoneyDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupAccountDetailsReplyPacket.MoneyDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountDetailsReplyPacket.MoneyDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupAccountDetailsReplyPacket.MoneyDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountDetailsReplyPacket.MoneyDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GroupAccountDetailsReplyPacket.MoneyDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupAccountDetailsReplyPacket.MoneyDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupAccountDetailsReplyPacket.MoneyDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GroupAccountDetailsRequestPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GroupAccountDetailsRequestPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GroupAccountDetailsRequestPacket {
        /// C# member: `F:LibreMetaverse.Packets.GroupAccountDetailsRequestPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupAccountDetailsRequestPacket.AgentDataBlock LibreMetaverse.Packets.GroupAccountDetailsRequestPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::GroupAccountDetailsRequestPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.GroupAccountDetailsRequestPacket.MoneyData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupAccountDetailsRequestPacket.MoneyDataBlock LibreMetaverse.Packets.GroupAccountDetailsRequestPacket.MoneyData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub money_data: libremetaverse::packets::GroupAccountDetailsRequestPacketMoneyDataBlock,
    }
    impl GroupAccountDetailsRequestPacket {
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountDetailsRequestPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupAccountDetailsRequestPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountDetailsRequestPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupAccountDetailsRequestPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountDetailsRequestPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupAccountDetailsRequestPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountDetailsRequestPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupAccountDetailsRequestPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountDetailsRequestPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupAccountDetailsRequestPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountDetailsRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupAccountDetailsRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountDetailsRequestPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GroupAccountDetailsRequestPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountDetailsRequestPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GroupAccountDetailsRequestPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountDetailsRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GroupAccountDetailsRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountDetailsRequestPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.GroupAccountDetailsRequestPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountDetailsRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.GroupAccountDetailsRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupAccountDetailsRequestPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupAccountDetailsRequestPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupAccountDetailsRequestPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.GroupAccountDetailsRequestPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GroupAccountDetailsRequestPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GroupAccountDetailsRequestPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GroupAccountDetailsRequestPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.GroupAccountDetailsRequestPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupAccountDetailsRequestPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.GroupAccountDetailsRequestPacket.AgentDataBlock.GroupID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupAccountDetailsRequestPacket.AgentDataBlock.GroupID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.GroupAccountDetailsRequestPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupAccountDetailsRequestPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl GroupAccountDetailsRequestPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountDetailsRequestPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupAccountDetailsRequestPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountDetailsRequestPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupAccountDetailsRequestPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountDetailsRequestPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupAccountDetailsRequestPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountDetailsRequestPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupAccountDetailsRequestPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountDetailsRequestPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupAccountDetailsRequestPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountDetailsRequestPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GroupAccountDetailsRequestPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupAccountDetailsRequestPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupAccountDetailsRequestPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GroupAccountDetailsRequestPacket.MoneyDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GroupAccountDetailsRequestPacket.MoneyDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GroupAccountDetailsRequestPacketMoneyDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.GroupAccountDetailsRequestPacket.MoneyDataBlock.CurrentInterval`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupAccountDetailsRequestPacket.MoneyDataBlock.CurrentInterval`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub current_interval: i32,
        /// C# member: `F:LibreMetaverse.Packets.GroupAccountDetailsRequestPacket.MoneyDataBlock.IntervalDays`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupAccountDetailsRequestPacket.MoneyDataBlock.IntervalDays`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub interval_days: i32,
        /// C# member: `F:LibreMetaverse.Packets.GroupAccountDetailsRequestPacket.MoneyDataBlock.RequestID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupAccountDetailsRequestPacket.MoneyDataBlock.RequestID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub request_id: libremetaverse_types::UUID,
    }
    impl GroupAccountDetailsRequestPacketMoneyDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountDetailsRequestPacket.MoneyDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupAccountDetailsRequestPacket.MoneyDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountDetailsRequestPacket.MoneyDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupAccountDetailsRequestPacket.MoneyDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountDetailsRequestPacket.MoneyDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupAccountDetailsRequestPacket.MoneyDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountDetailsRequestPacket.MoneyDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupAccountDetailsRequestPacket.MoneyDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountDetailsRequestPacket.MoneyDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupAccountDetailsRequestPacket.MoneyDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountDetailsRequestPacket.MoneyDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GroupAccountDetailsRequestPacket.MoneyDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupAccountDetailsRequestPacket.MoneyDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupAccountDetailsRequestPacket.MoneyDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GroupAccountSummaryReplyPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GroupAccountSummaryReplyPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GroupAccountSummaryReplyPacket {
        /// C# member: `F:LibreMetaverse.Packets.GroupAccountSummaryReplyPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupAccountSummaryReplyPacket.AgentDataBlock LibreMetaverse.Packets.GroupAccountSummaryReplyPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::GroupAccountSummaryReplyPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.GroupAccountSummaryReplyPacket.MoneyData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupAccountSummaryReplyPacket.MoneyDataBlock LibreMetaverse.Packets.GroupAccountSummaryReplyPacket.MoneyData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub money_data: libremetaverse::packets::GroupAccountSummaryReplyPacketMoneyDataBlock,
    }
    impl GroupAccountSummaryReplyPacket {
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountSummaryReplyPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupAccountSummaryReplyPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountSummaryReplyPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupAccountSummaryReplyPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountSummaryReplyPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupAccountSummaryReplyPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountSummaryReplyPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupAccountSummaryReplyPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountSummaryReplyPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupAccountSummaryReplyPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountSummaryReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupAccountSummaryReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountSummaryReplyPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GroupAccountSummaryReplyPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountSummaryReplyPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GroupAccountSummaryReplyPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountSummaryReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GroupAccountSummaryReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountSummaryReplyPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.GroupAccountSummaryReplyPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountSummaryReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.GroupAccountSummaryReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupAccountSummaryReplyPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupAccountSummaryReplyPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupAccountSummaryReplyPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.GroupAccountSummaryReplyPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GroupAccountSummaryReplyPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GroupAccountSummaryReplyPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GroupAccountSummaryReplyPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.GroupAccountSummaryReplyPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupAccountSummaryReplyPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.GroupAccountSummaryReplyPacket.AgentDataBlock.GroupID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupAccountSummaryReplyPacket.AgentDataBlock.GroupID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_id: libremetaverse_types::UUID,
    }
    impl GroupAccountSummaryReplyPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountSummaryReplyPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupAccountSummaryReplyPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountSummaryReplyPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupAccountSummaryReplyPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountSummaryReplyPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupAccountSummaryReplyPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountSummaryReplyPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupAccountSummaryReplyPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountSummaryReplyPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupAccountSummaryReplyPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountSummaryReplyPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GroupAccountSummaryReplyPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupAccountSummaryReplyPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupAccountSummaryReplyPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GroupAccountSummaryReplyPacket.MoneyDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GroupAccountSummaryReplyPacket.MoneyDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GroupAccountSummaryReplyPacketMoneyDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.GroupAccountSummaryReplyPacket.MoneyDataBlock.Balance`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupAccountSummaryReplyPacket.MoneyDataBlock.Balance`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub balance: i32,
        /// C# member: `F:LibreMetaverse.Packets.GroupAccountSummaryReplyPacket.MoneyDataBlock.CurrentInterval`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupAccountSummaryReplyPacket.MoneyDataBlock.CurrentInterval`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub current_interval: i32,
        /// C# member: `F:LibreMetaverse.Packets.GroupAccountSummaryReplyPacket.MoneyDataBlock.GroupTaxCurrent`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupAccountSummaryReplyPacket.MoneyDataBlock.GroupTaxCurrent`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_tax_current: i32,
        /// C# member: `F:LibreMetaverse.Packets.GroupAccountSummaryReplyPacket.MoneyDataBlock.GroupTaxEstimate`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupAccountSummaryReplyPacket.MoneyDataBlock.GroupTaxEstimate`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_tax_estimate: i32,
        /// C# member: `F:LibreMetaverse.Packets.GroupAccountSummaryReplyPacket.MoneyDataBlock.IntervalDays`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupAccountSummaryReplyPacket.MoneyDataBlock.IntervalDays`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub interval_days: i32,
        /// C# member: `F:LibreMetaverse.Packets.GroupAccountSummaryReplyPacket.MoneyDataBlock.LandTaxCurrent`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupAccountSummaryReplyPacket.MoneyDataBlock.LandTaxCurrent`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub land_tax_current: i32,
        /// C# member: `F:LibreMetaverse.Packets.GroupAccountSummaryReplyPacket.MoneyDataBlock.LandTaxEstimate`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupAccountSummaryReplyPacket.MoneyDataBlock.LandTaxEstimate`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub land_tax_estimate: i32,
        /// C# member: `F:LibreMetaverse.Packets.GroupAccountSummaryReplyPacket.MoneyDataBlock.LastTaxDate`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GroupAccountSummaryReplyPacket.MoneyDataBlock.LastTaxDate`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub last_tax_date: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.GroupAccountSummaryReplyPacket.MoneyDataBlock.LightTaxCurrent`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupAccountSummaryReplyPacket.MoneyDataBlock.LightTaxCurrent`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub light_tax_current: i32,
        /// C# member: `F:LibreMetaverse.Packets.GroupAccountSummaryReplyPacket.MoneyDataBlock.LightTaxEstimate`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupAccountSummaryReplyPacket.MoneyDataBlock.LightTaxEstimate`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub light_tax_estimate: i32,
        /// C# member: `F:LibreMetaverse.Packets.GroupAccountSummaryReplyPacket.MoneyDataBlock.NonExemptMembers`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupAccountSummaryReplyPacket.MoneyDataBlock.NonExemptMembers`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub non_exempt_members: i32,
        /// C# member: `F:LibreMetaverse.Packets.GroupAccountSummaryReplyPacket.MoneyDataBlock.ObjectTaxCurrent`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupAccountSummaryReplyPacket.MoneyDataBlock.ObjectTaxCurrent`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_tax_current: i32,
        /// C# member: `F:LibreMetaverse.Packets.GroupAccountSummaryReplyPacket.MoneyDataBlock.ObjectTaxEstimate`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupAccountSummaryReplyPacket.MoneyDataBlock.ObjectTaxEstimate`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_tax_estimate: i32,
        /// C# member: `F:LibreMetaverse.Packets.GroupAccountSummaryReplyPacket.MoneyDataBlock.ParcelDirFeeCurrent`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupAccountSummaryReplyPacket.MoneyDataBlock.ParcelDirFeeCurrent`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub parcel_dir_fee_current: i32,
        /// C# member: `F:LibreMetaverse.Packets.GroupAccountSummaryReplyPacket.MoneyDataBlock.ParcelDirFeeEstimate`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupAccountSummaryReplyPacket.MoneyDataBlock.ParcelDirFeeEstimate`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub parcel_dir_fee_estimate: i32,
        /// C# member: `F:LibreMetaverse.Packets.GroupAccountSummaryReplyPacket.MoneyDataBlock.RequestID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupAccountSummaryReplyPacket.MoneyDataBlock.RequestID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub request_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.GroupAccountSummaryReplyPacket.MoneyDataBlock.StartDate`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GroupAccountSummaryReplyPacket.MoneyDataBlock.StartDate`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub start_date: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.GroupAccountSummaryReplyPacket.MoneyDataBlock.TaxDate`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GroupAccountSummaryReplyPacket.MoneyDataBlock.TaxDate`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub tax_date: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.GroupAccountSummaryReplyPacket.MoneyDataBlock.TotalCredits`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupAccountSummaryReplyPacket.MoneyDataBlock.TotalCredits`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub total_credits: i32,
        /// C# member: `F:LibreMetaverse.Packets.GroupAccountSummaryReplyPacket.MoneyDataBlock.TotalDebits`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupAccountSummaryReplyPacket.MoneyDataBlock.TotalDebits`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub total_debits: i32,
    }
    impl GroupAccountSummaryReplyPacketMoneyDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountSummaryReplyPacket.MoneyDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupAccountSummaryReplyPacket.MoneyDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountSummaryReplyPacket.MoneyDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupAccountSummaryReplyPacket.MoneyDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountSummaryReplyPacket.MoneyDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupAccountSummaryReplyPacket.MoneyDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountSummaryReplyPacket.MoneyDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupAccountSummaryReplyPacket.MoneyDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountSummaryReplyPacket.MoneyDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupAccountSummaryReplyPacket.MoneyDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountSummaryReplyPacket.MoneyDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GroupAccountSummaryReplyPacket.MoneyDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupAccountSummaryReplyPacket.MoneyDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupAccountSummaryReplyPacket.MoneyDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GroupAccountSummaryRequestPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GroupAccountSummaryRequestPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GroupAccountSummaryRequestPacket {
        /// C# member: `F:LibreMetaverse.Packets.GroupAccountSummaryRequestPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupAccountSummaryRequestPacket.AgentDataBlock LibreMetaverse.Packets.GroupAccountSummaryRequestPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::GroupAccountSummaryRequestPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.GroupAccountSummaryRequestPacket.MoneyData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupAccountSummaryRequestPacket.MoneyDataBlock LibreMetaverse.Packets.GroupAccountSummaryRequestPacket.MoneyData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub money_data: libremetaverse::packets::GroupAccountSummaryRequestPacketMoneyDataBlock,
    }
    impl GroupAccountSummaryRequestPacket {
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountSummaryRequestPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupAccountSummaryRequestPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountSummaryRequestPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupAccountSummaryRequestPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountSummaryRequestPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupAccountSummaryRequestPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountSummaryRequestPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupAccountSummaryRequestPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountSummaryRequestPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupAccountSummaryRequestPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountSummaryRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupAccountSummaryRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountSummaryRequestPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GroupAccountSummaryRequestPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountSummaryRequestPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GroupAccountSummaryRequestPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountSummaryRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GroupAccountSummaryRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountSummaryRequestPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.GroupAccountSummaryRequestPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountSummaryRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.GroupAccountSummaryRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupAccountSummaryRequestPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupAccountSummaryRequestPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupAccountSummaryRequestPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.GroupAccountSummaryRequestPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GroupAccountSummaryRequestPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GroupAccountSummaryRequestPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GroupAccountSummaryRequestPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.GroupAccountSummaryRequestPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupAccountSummaryRequestPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.GroupAccountSummaryRequestPacket.AgentDataBlock.GroupID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupAccountSummaryRequestPacket.AgentDataBlock.GroupID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.GroupAccountSummaryRequestPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupAccountSummaryRequestPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl GroupAccountSummaryRequestPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountSummaryRequestPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupAccountSummaryRequestPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountSummaryRequestPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupAccountSummaryRequestPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountSummaryRequestPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupAccountSummaryRequestPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountSummaryRequestPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupAccountSummaryRequestPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountSummaryRequestPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupAccountSummaryRequestPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountSummaryRequestPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GroupAccountSummaryRequestPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupAccountSummaryRequestPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupAccountSummaryRequestPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GroupAccountSummaryRequestPacket.MoneyDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GroupAccountSummaryRequestPacket.MoneyDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GroupAccountSummaryRequestPacketMoneyDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.GroupAccountSummaryRequestPacket.MoneyDataBlock.CurrentInterval`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupAccountSummaryRequestPacket.MoneyDataBlock.CurrentInterval`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub current_interval: i32,
        /// C# member: `F:LibreMetaverse.Packets.GroupAccountSummaryRequestPacket.MoneyDataBlock.IntervalDays`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupAccountSummaryRequestPacket.MoneyDataBlock.IntervalDays`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub interval_days: i32,
        /// C# member: `F:LibreMetaverse.Packets.GroupAccountSummaryRequestPacket.MoneyDataBlock.RequestID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupAccountSummaryRequestPacket.MoneyDataBlock.RequestID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub request_id: libremetaverse_types::UUID,
    }
    impl GroupAccountSummaryRequestPacketMoneyDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountSummaryRequestPacket.MoneyDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupAccountSummaryRequestPacket.MoneyDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountSummaryRequestPacket.MoneyDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupAccountSummaryRequestPacket.MoneyDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountSummaryRequestPacket.MoneyDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupAccountSummaryRequestPacket.MoneyDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountSummaryRequestPacket.MoneyDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupAccountSummaryRequestPacket.MoneyDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountSummaryRequestPacket.MoneyDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupAccountSummaryRequestPacket.MoneyDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountSummaryRequestPacket.MoneyDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GroupAccountSummaryRequestPacket.MoneyDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupAccountSummaryRequestPacket.MoneyDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupAccountSummaryRequestPacket.MoneyDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GroupAccountTransactionsReplyPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GroupAccountTransactionsReplyPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GroupAccountTransactionsReplyPacket {
        /// C# member: `F:LibreMetaverse.Packets.GroupAccountTransactionsReplyPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupAccountTransactionsReplyPacket.AgentDataBlock LibreMetaverse.Packets.GroupAccountTransactionsReplyPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::GroupAccountTransactionsReplyPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.GroupAccountTransactionsReplyPacket.HistoryData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupAccountTransactionsReplyPacket.HistoryDataBlock[] LibreMetaverse.Packets.GroupAccountTransactionsReplyPacket.HistoryData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub history_data:
            Vec<libremetaverse::packets::GroupAccountTransactionsReplyPacketHistoryDataBlock>,
        /// C# member: `F:LibreMetaverse.Packets.GroupAccountTransactionsReplyPacket.MoneyData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupAccountTransactionsReplyPacket.MoneyDataBlock LibreMetaverse.Packets.GroupAccountTransactionsReplyPacket.MoneyData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub money_data: libremetaverse::packets::GroupAccountTransactionsReplyPacketMoneyDataBlock,
    }
    impl GroupAccountTransactionsReplyPacket {
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountTransactionsReplyPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupAccountTransactionsReplyPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountTransactionsReplyPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupAccountTransactionsReplyPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountTransactionsReplyPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupAccountTransactionsReplyPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountTransactionsReplyPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupAccountTransactionsReplyPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountTransactionsReplyPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupAccountTransactionsReplyPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountTransactionsReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupAccountTransactionsReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountTransactionsReplyPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GroupAccountTransactionsReplyPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountTransactionsReplyPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GroupAccountTransactionsReplyPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountTransactionsReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GroupAccountTransactionsReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountTransactionsReplyPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.GroupAccountTransactionsReplyPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountTransactionsReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.GroupAccountTransactionsReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupAccountTransactionsReplyPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupAccountTransactionsReplyPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupAccountTransactionsReplyPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.GroupAccountTransactionsReplyPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GroupAccountTransactionsReplyPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GroupAccountTransactionsReplyPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GroupAccountTransactionsReplyPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.GroupAccountTransactionsReplyPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupAccountTransactionsReplyPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.GroupAccountTransactionsReplyPacket.AgentDataBlock.GroupID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupAccountTransactionsReplyPacket.AgentDataBlock.GroupID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_id: libremetaverse_types::UUID,
    }
    impl GroupAccountTransactionsReplyPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountTransactionsReplyPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupAccountTransactionsReplyPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountTransactionsReplyPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupAccountTransactionsReplyPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountTransactionsReplyPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupAccountTransactionsReplyPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountTransactionsReplyPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupAccountTransactionsReplyPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountTransactionsReplyPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupAccountTransactionsReplyPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountTransactionsReplyPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GroupAccountTransactionsReplyPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupAccountTransactionsReplyPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupAccountTransactionsReplyPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GroupAccountTransactionsReplyPacket.HistoryDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GroupAccountTransactionsReplyPacket.HistoryDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GroupAccountTransactionsReplyPacketHistoryDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.GroupAccountTransactionsReplyPacket.HistoryDataBlock.Amount`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupAccountTransactionsReplyPacket.HistoryDataBlock.Amount`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub amount: i32,
        /// C# member: `F:LibreMetaverse.Packets.GroupAccountTransactionsReplyPacket.HistoryDataBlock.Item`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GroupAccountTransactionsReplyPacket.HistoryDataBlock.Item`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub item: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.GroupAccountTransactionsReplyPacket.HistoryDataBlock.Time`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GroupAccountTransactionsReplyPacket.HistoryDataBlock.Time`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub time: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.GroupAccountTransactionsReplyPacket.HistoryDataBlock.Type`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupAccountTransactionsReplyPacket.HistoryDataBlock.Type`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub type_: i32,
        /// C# member: `F:LibreMetaverse.Packets.GroupAccountTransactionsReplyPacket.HistoryDataBlock.User`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GroupAccountTransactionsReplyPacket.HistoryDataBlock.User`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub user: Vec<u8>,
    }
    impl GroupAccountTransactionsReplyPacketHistoryDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountTransactionsReplyPacket.HistoryDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupAccountTransactionsReplyPacket.HistoryDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountTransactionsReplyPacket.HistoryDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupAccountTransactionsReplyPacket.HistoryDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountTransactionsReplyPacket.HistoryDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupAccountTransactionsReplyPacket.HistoryDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountTransactionsReplyPacket.HistoryDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupAccountTransactionsReplyPacket.HistoryDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountTransactionsReplyPacket.HistoryDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupAccountTransactionsReplyPacket.HistoryDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountTransactionsReplyPacket.HistoryDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GroupAccountTransactionsReplyPacket.HistoryDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupAccountTransactionsReplyPacket.HistoryDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupAccountTransactionsReplyPacket.HistoryDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GroupAccountTransactionsReplyPacket.MoneyDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GroupAccountTransactionsReplyPacket.MoneyDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GroupAccountTransactionsReplyPacketMoneyDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.GroupAccountTransactionsReplyPacket.MoneyDataBlock.CurrentInterval`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupAccountTransactionsReplyPacket.MoneyDataBlock.CurrentInterval`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub current_interval: i32,
        /// C# member: `F:LibreMetaverse.Packets.GroupAccountTransactionsReplyPacket.MoneyDataBlock.IntervalDays`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupAccountTransactionsReplyPacket.MoneyDataBlock.IntervalDays`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub interval_days: i32,
        /// C# member: `F:LibreMetaverse.Packets.GroupAccountTransactionsReplyPacket.MoneyDataBlock.RequestID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupAccountTransactionsReplyPacket.MoneyDataBlock.RequestID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub request_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.GroupAccountTransactionsReplyPacket.MoneyDataBlock.StartDate`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GroupAccountTransactionsReplyPacket.MoneyDataBlock.StartDate`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub start_date: Vec<u8>,
    }
    impl GroupAccountTransactionsReplyPacketMoneyDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountTransactionsReplyPacket.MoneyDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupAccountTransactionsReplyPacket.MoneyDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountTransactionsReplyPacket.MoneyDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupAccountTransactionsReplyPacket.MoneyDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountTransactionsReplyPacket.MoneyDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupAccountTransactionsReplyPacket.MoneyDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountTransactionsReplyPacket.MoneyDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupAccountTransactionsReplyPacket.MoneyDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountTransactionsReplyPacket.MoneyDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupAccountTransactionsReplyPacket.MoneyDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountTransactionsReplyPacket.MoneyDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GroupAccountTransactionsReplyPacket.MoneyDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupAccountTransactionsReplyPacket.MoneyDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupAccountTransactionsReplyPacket.MoneyDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GroupAccountTransactionsRequestPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GroupAccountTransactionsRequestPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GroupAccountTransactionsRequestPacket {
        /// C# member: `F:LibreMetaverse.Packets.GroupAccountTransactionsRequestPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupAccountTransactionsRequestPacket.AgentDataBlock LibreMetaverse.Packets.GroupAccountTransactionsRequestPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data:
            libremetaverse::packets::GroupAccountTransactionsRequestPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.GroupAccountTransactionsRequestPacket.MoneyData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupAccountTransactionsRequestPacket.MoneyDataBlock LibreMetaverse.Packets.GroupAccountTransactionsRequestPacket.MoneyData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub money_data:
            libremetaverse::packets::GroupAccountTransactionsRequestPacketMoneyDataBlock,
    }
    impl GroupAccountTransactionsRequestPacket {
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountTransactionsRequestPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupAccountTransactionsRequestPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountTransactionsRequestPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupAccountTransactionsRequestPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountTransactionsRequestPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupAccountTransactionsRequestPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountTransactionsRequestPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupAccountTransactionsRequestPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountTransactionsRequestPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupAccountTransactionsRequestPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountTransactionsRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupAccountTransactionsRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountTransactionsRequestPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GroupAccountTransactionsRequestPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountTransactionsRequestPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GroupAccountTransactionsRequestPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountTransactionsRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GroupAccountTransactionsRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountTransactionsRequestPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.GroupAccountTransactionsRequestPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountTransactionsRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.GroupAccountTransactionsRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupAccountTransactionsRequestPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupAccountTransactionsRequestPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupAccountTransactionsRequestPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.GroupAccountTransactionsRequestPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GroupAccountTransactionsRequestPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GroupAccountTransactionsRequestPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GroupAccountTransactionsRequestPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.GroupAccountTransactionsRequestPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupAccountTransactionsRequestPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.GroupAccountTransactionsRequestPacket.AgentDataBlock.GroupID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupAccountTransactionsRequestPacket.AgentDataBlock.GroupID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.GroupAccountTransactionsRequestPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupAccountTransactionsRequestPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl GroupAccountTransactionsRequestPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountTransactionsRequestPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupAccountTransactionsRequestPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountTransactionsRequestPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupAccountTransactionsRequestPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountTransactionsRequestPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupAccountTransactionsRequestPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountTransactionsRequestPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupAccountTransactionsRequestPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountTransactionsRequestPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupAccountTransactionsRequestPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountTransactionsRequestPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GroupAccountTransactionsRequestPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupAccountTransactionsRequestPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupAccountTransactionsRequestPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GroupAccountTransactionsRequestPacket.MoneyDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GroupAccountTransactionsRequestPacket.MoneyDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GroupAccountTransactionsRequestPacketMoneyDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.GroupAccountTransactionsRequestPacket.MoneyDataBlock.CurrentInterval`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupAccountTransactionsRequestPacket.MoneyDataBlock.CurrentInterval`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub current_interval: i32,
        /// C# member: `F:LibreMetaverse.Packets.GroupAccountTransactionsRequestPacket.MoneyDataBlock.IntervalDays`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupAccountTransactionsRequestPacket.MoneyDataBlock.IntervalDays`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub interval_days: i32,
        /// C# member: `F:LibreMetaverse.Packets.GroupAccountTransactionsRequestPacket.MoneyDataBlock.RequestID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupAccountTransactionsRequestPacket.MoneyDataBlock.RequestID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub request_id: libremetaverse_types::UUID,
    }
    impl GroupAccountTransactionsRequestPacketMoneyDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountTransactionsRequestPacket.MoneyDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupAccountTransactionsRequestPacket.MoneyDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountTransactionsRequestPacket.MoneyDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupAccountTransactionsRequestPacket.MoneyDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountTransactionsRequestPacket.MoneyDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupAccountTransactionsRequestPacket.MoneyDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountTransactionsRequestPacket.MoneyDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupAccountTransactionsRequestPacket.MoneyDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountTransactionsRequestPacket.MoneyDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupAccountTransactionsRequestPacket.MoneyDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupAccountTransactionsRequestPacket.MoneyDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GroupAccountTransactionsRequestPacket.MoneyDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupAccountTransactionsRequestPacket.MoneyDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupAccountTransactionsRequestPacket.MoneyDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GroupActiveProposalItemReplyPacket {
        /// C# member: `F:LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket.AgentDataBlock LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::GroupActiveProposalItemReplyPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket.ProposalData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket.ProposalDataBlock[] LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket.ProposalData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub proposal_data:
            Vec<libremetaverse::packets::GroupActiveProposalItemReplyPacketProposalDataBlock>,
        /// C# member: `F:LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket.TransactionData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket.TransactionDataBlock LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket.TransactionData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub transaction_data:
            libremetaverse::packets::GroupActiveProposalItemReplyPacketTransactionDataBlock,
    }
    impl GroupActiveProposalItemReplyPacket {
        /// C# member: `M:LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GroupActiveProposalItemReplyPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket.AgentDataBlock.GroupID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket.AgentDataBlock.GroupID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_id: libremetaverse_types::UUID,
    }
    impl GroupActiveProposalItemReplyPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket.ProposalDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket.ProposalDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GroupActiveProposalItemReplyPacketProposalDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket.ProposalDataBlock.AlreadyVoted`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket.ProposalDataBlock.AlreadyVoted`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub already_voted: bool,
        /// C# member: `F:LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket.ProposalDataBlock.EndDateTime`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket.ProposalDataBlock.EndDateTime`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub end_date_time: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket.ProposalDataBlock.Majority`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket.ProposalDataBlock.Majority`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub majority: f32,
        /// C# member: `F:LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket.ProposalDataBlock.ProposalText`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket.ProposalDataBlock.ProposalText`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub proposal_text: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket.ProposalDataBlock.Quorum`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket.ProposalDataBlock.Quorum`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub quorum: i32,
        /// C# member: `F:LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket.ProposalDataBlock.StartDateTime`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket.ProposalDataBlock.StartDateTime`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub start_date_time: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket.ProposalDataBlock.TerseDateID`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket.ProposalDataBlock.TerseDateID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub terse_date_id: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket.ProposalDataBlock.VoteCast`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket.ProposalDataBlock.VoteCast`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub vote_cast: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket.ProposalDataBlock.VoteID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket.ProposalDataBlock.VoteID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub vote_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket.ProposalDataBlock.VoteInitiator`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket.ProposalDataBlock.VoteInitiator`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub vote_initiator: libremetaverse_types::UUID,
    }
    impl GroupActiveProposalItemReplyPacketProposalDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket.ProposalDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket.ProposalDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket.ProposalDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket.ProposalDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket.ProposalDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket.ProposalDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket.ProposalDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket.ProposalDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket.ProposalDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket.ProposalDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket.ProposalDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket.ProposalDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket.ProposalDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket.ProposalDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket.TransactionDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket.TransactionDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GroupActiveProposalItemReplyPacketTransactionDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket.TransactionDataBlock.TotalNumItems`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket.TransactionDataBlock.TotalNumItems`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub total_num_items: u32,
        /// C# member: `F:LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket.TransactionDataBlock.TransactionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket.TransactionDataBlock.TransactionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub transaction_id: libremetaverse_types::UUID,
    }
    impl GroupActiveProposalItemReplyPacketTransactionDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket.TransactionDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket.TransactionDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket.TransactionDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket.TransactionDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket.TransactionDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket.TransactionDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket.TransactionDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket.TransactionDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket.TransactionDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket.TransactionDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket.TransactionDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket.TransactionDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket.TransactionDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupActiveProposalItemReplyPacket.TransactionDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GroupActiveProposalsRequestPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GroupActiveProposalsRequestPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GroupActiveProposalsRequestPacket {
        /// C# member: `F:LibreMetaverse.Packets.GroupActiveProposalsRequestPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupActiveProposalsRequestPacket.AgentDataBlock LibreMetaverse.Packets.GroupActiveProposalsRequestPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::GroupActiveProposalsRequestPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.GroupActiveProposalsRequestPacket.GroupData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupActiveProposalsRequestPacket.GroupDataBlock LibreMetaverse.Packets.GroupActiveProposalsRequestPacket.GroupData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_data: libremetaverse::packets::GroupActiveProposalsRequestPacketGroupDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.GroupActiveProposalsRequestPacket.TransactionData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupActiveProposalsRequestPacket.TransactionDataBlock LibreMetaverse.Packets.GroupActiveProposalsRequestPacket.TransactionData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub transaction_data:
            libremetaverse::packets::GroupActiveProposalsRequestPacketTransactionDataBlock,
    }
    impl GroupActiveProposalsRequestPacket {
        /// C# member: `M:LibreMetaverse.Packets.GroupActiveProposalsRequestPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupActiveProposalsRequestPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupActiveProposalsRequestPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupActiveProposalsRequestPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupActiveProposalsRequestPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupActiveProposalsRequestPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupActiveProposalsRequestPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupActiveProposalsRequestPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupActiveProposalsRequestPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupActiveProposalsRequestPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupActiveProposalsRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupActiveProposalsRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupActiveProposalsRequestPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GroupActiveProposalsRequestPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupActiveProposalsRequestPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GroupActiveProposalsRequestPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupActiveProposalsRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GroupActiveProposalsRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupActiveProposalsRequestPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.GroupActiveProposalsRequestPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupActiveProposalsRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.GroupActiveProposalsRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupActiveProposalsRequestPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupActiveProposalsRequestPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupActiveProposalsRequestPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.GroupActiveProposalsRequestPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GroupActiveProposalsRequestPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GroupActiveProposalsRequestPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GroupActiveProposalsRequestPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.GroupActiveProposalsRequestPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupActiveProposalsRequestPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.GroupActiveProposalsRequestPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupActiveProposalsRequestPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl GroupActiveProposalsRequestPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.GroupActiveProposalsRequestPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupActiveProposalsRequestPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupActiveProposalsRequestPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupActiveProposalsRequestPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupActiveProposalsRequestPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupActiveProposalsRequestPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupActiveProposalsRequestPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupActiveProposalsRequestPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupActiveProposalsRequestPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupActiveProposalsRequestPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupActiveProposalsRequestPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GroupActiveProposalsRequestPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupActiveProposalsRequestPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupActiveProposalsRequestPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GroupActiveProposalsRequestPacket.GroupDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GroupActiveProposalsRequestPacket.GroupDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GroupActiveProposalsRequestPacketGroupDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.GroupActiveProposalsRequestPacket.GroupDataBlock.GroupID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupActiveProposalsRequestPacket.GroupDataBlock.GroupID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_id: libremetaverse_types::UUID,
    }
    impl GroupActiveProposalsRequestPacketGroupDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.GroupActiveProposalsRequestPacket.GroupDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupActiveProposalsRequestPacket.GroupDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupActiveProposalsRequestPacket.GroupDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupActiveProposalsRequestPacket.GroupDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupActiveProposalsRequestPacket.GroupDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupActiveProposalsRequestPacket.GroupDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupActiveProposalsRequestPacket.GroupDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupActiveProposalsRequestPacket.GroupDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupActiveProposalsRequestPacket.GroupDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupActiveProposalsRequestPacket.GroupDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupActiveProposalsRequestPacket.GroupDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GroupActiveProposalsRequestPacket.GroupDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupActiveProposalsRequestPacket.GroupDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupActiveProposalsRequestPacket.GroupDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GroupActiveProposalsRequestPacket.TransactionDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GroupActiveProposalsRequestPacket.TransactionDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GroupActiveProposalsRequestPacketTransactionDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.GroupActiveProposalsRequestPacket.TransactionDataBlock.TransactionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupActiveProposalsRequestPacket.TransactionDataBlock.TransactionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub transaction_id: libremetaverse_types::UUID,
    }
    impl GroupActiveProposalsRequestPacketTransactionDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.GroupActiveProposalsRequestPacket.TransactionDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupActiveProposalsRequestPacket.TransactionDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupActiveProposalsRequestPacket.TransactionDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupActiveProposalsRequestPacket.TransactionDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupActiveProposalsRequestPacket.TransactionDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupActiveProposalsRequestPacket.TransactionDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupActiveProposalsRequestPacket.TransactionDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupActiveProposalsRequestPacket.TransactionDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupActiveProposalsRequestPacket.TransactionDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupActiveProposalsRequestPacket.TransactionDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupActiveProposalsRequestPacket.TransactionDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GroupActiveProposalsRequestPacket.TransactionDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupActiveProposalsRequestPacket.TransactionDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupActiveProposalsRequestPacket.TransactionDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GroupDataUpdatePacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GroupDataUpdatePacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GroupDataUpdatePacket {
        /// C# member: `F:LibreMetaverse.Packets.GroupDataUpdatePacket.AgentGroupData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupDataUpdatePacket.AgentGroupDataBlock[] LibreMetaverse.Packets.GroupDataUpdatePacket.AgentGroupData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_group_data:
            Vec<libremetaverse::packets::GroupDataUpdatePacketAgentGroupDataBlock>,
    }
    impl GroupDataUpdatePacket {
        /// C# member: `M:LibreMetaverse.Packets.GroupDataUpdatePacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupDataUpdatePacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupDataUpdatePacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupDataUpdatePacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupDataUpdatePacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupDataUpdatePacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupDataUpdatePacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupDataUpdatePacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupDataUpdatePacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupDataUpdatePacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupDataUpdatePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupDataUpdatePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupDataUpdatePacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GroupDataUpdatePacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupDataUpdatePacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GroupDataUpdatePacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupDataUpdatePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GroupDataUpdatePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupDataUpdatePacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.GroupDataUpdatePacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupDataUpdatePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.GroupDataUpdatePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupDataUpdatePacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupDataUpdatePacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupDataUpdatePacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.GroupDataUpdatePacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GroupDataUpdatePacket.AgentGroupDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GroupDataUpdatePacket.AgentGroupDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GroupDataUpdatePacketAgentGroupDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.GroupDataUpdatePacket.AgentGroupDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupDataUpdatePacket.AgentGroupDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.GroupDataUpdatePacket.AgentGroupDataBlock.AgentPowers`.
        ///
        /// C# signature: `System.UInt64 LibreMetaverse.Packets.GroupDataUpdatePacket.AgentGroupDataBlock.AgentPowers`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_powers: u64,
        /// C# member: `F:LibreMetaverse.Packets.GroupDataUpdatePacket.AgentGroupDataBlock.GroupID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupDataUpdatePacket.AgentGroupDataBlock.GroupID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.GroupDataUpdatePacket.AgentGroupDataBlock.GroupTitle`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GroupDataUpdatePacket.AgentGroupDataBlock.GroupTitle`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_title: Vec<u8>,
    }
    impl GroupDataUpdatePacketAgentGroupDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.GroupDataUpdatePacket.AgentGroupDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupDataUpdatePacket.AgentGroupDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupDataUpdatePacket.AgentGroupDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupDataUpdatePacket.AgentGroupDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupDataUpdatePacket.AgentGroupDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupDataUpdatePacket.AgentGroupDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupDataUpdatePacket.AgentGroupDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupDataUpdatePacket.AgentGroupDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupDataUpdatePacket.AgentGroupDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupDataUpdatePacket.AgentGroupDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupDataUpdatePacket.AgentGroupDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GroupDataUpdatePacket.AgentGroupDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupDataUpdatePacket.AgentGroupDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupDataUpdatePacket.AgentGroupDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GroupMembersReplyPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GroupMembersReplyPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GroupMembersReplyPacket {
        /// C# member: `F:LibreMetaverse.Packets.GroupMembersReplyPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupMembersReplyPacket.AgentDataBlock LibreMetaverse.Packets.GroupMembersReplyPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::GroupMembersReplyPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.GroupMembersReplyPacket.GroupData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupMembersReplyPacket.GroupDataBlock LibreMetaverse.Packets.GroupMembersReplyPacket.GroupData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_data: libremetaverse::packets::GroupMembersReplyPacketGroupDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.GroupMembersReplyPacket.MemberData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupMembersReplyPacket.MemberDataBlock[] LibreMetaverse.Packets.GroupMembersReplyPacket.MemberData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub member_data: Vec<libremetaverse::packets::GroupMembersReplyPacketMemberDataBlock>,
    }
    impl GroupMembersReplyPacket {
        /// C# member: `M:LibreMetaverse.Packets.GroupMembersReplyPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupMembersReplyPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupMembersReplyPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupMembersReplyPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupMembersReplyPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupMembersReplyPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupMembersReplyPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupMembersReplyPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupMembersReplyPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupMembersReplyPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupMembersReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupMembersReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupMembersReplyPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GroupMembersReplyPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupMembersReplyPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GroupMembersReplyPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupMembersReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GroupMembersReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupMembersReplyPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.GroupMembersReplyPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupMembersReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.GroupMembersReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupMembersReplyPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupMembersReplyPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupMembersReplyPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.GroupMembersReplyPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GroupMembersReplyPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GroupMembersReplyPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GroupMembersReplyPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.GroupMembersReplyPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupMembersReplyPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
    }
    impl GroupMembersReplyPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.GroupMembersReplyPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupMembersReplyPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupMembersReplyPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupMembersReplyPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupMembersReplyPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupMembersReplyPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupMembersReplyPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupMembersReplyPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupMembersReplyPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupMembersReplyPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupMembersReplyPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GroupMembersReplyPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupMembersReplyPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupMembersReplyPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GroupMembersReplyPacket.GroupDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GroupMembersReplyPacket.GroupDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GroupMembersReplyPacketGroupDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.GroupMembersReplyPacket.GroupDataBlock.GroupID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupMembersReplyPacket.GroupDataBlock.GroupID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.GroupMembersReplyPacket.GroupDataBlock.MemberCount`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupMembersReplyPacket.GroupDataBlock.MemberCount`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub member_count: i32,
        /// C# member: `F:LibreMetaverse.Packets.GroupMembersReplyPacket.GroupDataBlock.RequestID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupMembersReplyPacket.GroupDataBlock.RequestID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub request_id: libremetaverse_types::UUID,
    }
    impl GroupMembersReplyPacketGroupDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.GroupMembersReplyPacket.GroupDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupMembersReplyPacket.GroupDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupMembersReplyPacket.GroupDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupMembersReplyPacket.GroupDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupMembersReplyPacket.GroupDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupMembersReplyPacket.GroupDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupMembersReplyPacket.GroupDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupMembersReplyPacket.GroupDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupMembersReplyPacket.GroupDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupMembersReplyPacket.GroupDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupMembersReplyPacket.GroupDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GroupMembersReplyPacket.GroupDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupMembersReplyPacket.GroupDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupMembersReplyPacket.GroupDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GroupMembersReplyPacket.MemberDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GroupMembersReplyPacket.MemberDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GroupMembersReplyPacketMemberDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.GroupMembersReplyPacket.MemberDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupMembersReplyPacket.MemberDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.GroupMembersReplyPacket.MemberDataBlock.AgentPowers`.
        ///
        /// C# signature: `System.UInt64 LibreMetaverse.Packets.GroupMembersReplyPacket.MemberDataBlock.AgentPowers`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_powers: u64,
        /// C# member: `F:LibreMetaverse.Packets.GroupMembersReplyPacket.MemberDataBlock.Contribution`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupMembersReplyPacket.MemberDataBlock.Contribution`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub contribution: i32,
        /// C# member: `F:LibreMetaverse.Packets.GroupMembersReplyPacket.MemberDataBlock.IsOwner`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.GroupMembersReplyPacket.MemberDataBlock.IsOwner`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub is_owner: bool,
        /// C# member: `F:LibreMetaverse.Packets.GroupMembersReplyPacket.MemberDataBlock.OnlineStatus`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GroupMembersReplyPacket.MemberDataBlock.OnlineStatus`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub online_status: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.GroupMembersReplyPacket.MemberDataBlock.Title`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GroupMembersReplyPacket.MemberDataBlock.Title`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub title: Vec<u8>,
    }
    impl GroupMembersReplyPacketMemberDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.GroupMembersReplyPacket.MemberDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupMembersReplyPacket.MemberDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupMembersReplyPacket.MemberDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupMembersReplyPacket.MemberDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupMembersReplyPacket.MemberDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupMembersReplyPacket.MemberDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupMembersReplyPacket.MemberDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupMembersReplyPacket.MemberDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupMembersReplyPacket.MemberDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupMembersReplyPacket.MemberDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupMembersReplyPacket.MemberDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GroupMembersReplyPacket.MemberDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupMembersReplyPacket.MemberDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupMembersReplyPacket.MemberDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GroupMembersRequestPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GroupMembersRequestPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GroupMembersRequestPacket {
        /// C# member: `F:LibreMetaverse.Packets.GroupMembersRequestPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupMembersRequestPacket.AgentDataBlock LibreMetaverse.Packets.GroupMembersRequestPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::GroupMembersRequestPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.GroupMembersRequestPacket.GroupData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupMembersRequestPacket.GroupDataBlock LibreMetaverse.Packets.GroupMembersRequestPacket.GroupData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_data: libremetaverse::packets::GroupMembersRequestPacketGroupDataBlock,
    }
    impl GroupMembersRequestPacket {
        /// C# member: `M:LibreMetaverse.Packets.GroupMembersRequestPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupMembersRequestPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupMembersRequestPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupMembersRequestPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupMembersRequestPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupMembersRequestPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupMembersRequestPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupMembersRequestPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupMembersRequestPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupMembersRequestPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupMembersRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupMembersRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupMembersRequestPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GroupMembersRequestPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupMembersRequestPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GroupMembersRequestPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupMembersRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GroupMembersRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupMembersRequestPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.GroupMembersRequestPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupMembersRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.GroupMembersRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupMembersRequestPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupMembersRequestPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupMembersRequestPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.GroupMembersRequestPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GroupMembersRequestPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GroupMembersRequestPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GroupMembersRequestPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.GroupMembersRequestPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupMembersRequestPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.GroupMembersRequestPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupMembersRequestPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl GroupMembersRequestPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.GroupMembersRequestPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupMembersRequestPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupMembersRequestPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupMembersRequestPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupMembersRequestPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupMembersRequestPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupMembersRequestPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupMembersRequestPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupMembersRequestPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupMembersRequestPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupMembersRequestPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GroupMembersRequestPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupMembersRequestPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupMembersRequestPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GroupMembersRequestPacket.GroupDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GroupMembersRequestPacket.GroupDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GroupMembersRequestPacketGroupDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.GroupMembersRequestPacket.GroupDataBlock.GroupID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupMembersRequestPacket.GroupDataBlock.GroupID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.GroupMembersRequestPacket.GroupDataBlock.RequestID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupMembersRequestPacket.GroupDataBlock.RequestID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub request_id: libremetaverse_types::UUID,
    }
    impl GroupMembersRequestPacketGroupDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.GroupMembersRequestPacket.GroupDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupMembersRequestPacket.GroupDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupMembersRequestPacket.GroupDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupMembersRequestPacket.GroupDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupMembersRequestPacket.GroupDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupMembersRequestPacket.GroupDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupMembersRequestPacket.GroupDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupMembersRequestPacket.GroupDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupMembersRequestPacket.GroupDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupMembersRequestPacket.GroupDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupMembersRequestPacket.GroupDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GroupMembersRequestPacket.GroupDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupMembersRequestPacket.GroupDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupMembersRequestPacket.GroupDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GroupNoticeAddPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GroupNoticeAddPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GroupNoticeAddPacket {
        /// C# member: `F:LibreMetaverse.Packets.GroupNoticeAddPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupNoticeAddPacket.AgentDataBlock LibreMetaverse.Packets.GroupNoticeAddPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::GroupNoticeAddPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.GroupNoticeAddPacket.MessageBlock`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupNoticeAddPacket.MessageBlockBlock LibreMetaverse.Packets.GroupNoticeAddPacket.MessageBlock`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub message_block: libremetaverse::packets::GroupNoticeAddPacketMessageBlockBlock,
    }
    impl GroupNoticeAddPacket {
        /// C# member: `M:LibreMetaverse.Packets.GroupNoticeAddPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupNoticeAddPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupNoticeAddPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupNoticeAddPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupNoticeAddPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupNoticeAddPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupNoticeAddPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupNoticeAddPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupNoticeAddPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupNoticeAddPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupNoticeAddPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupNoticeAddPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupNoticeAddPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GroupNoticeAddPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupNoticeAddPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GroupNoticeAddPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupNoticeAddPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GroupNoticeAddPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupNoticeAddPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.GroupNoticeAddPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupNoticeAddPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.GroupNoticeAddPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupNoticeAddPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupNoticeAddPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupNoticeAddPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.GroupNoticeAddPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GroupNoticeAddPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GroupNoticeAddPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GroupNoticeAddPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.GroupNoticeAddPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupNoticeAddPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
    }
    impl GroupNoticeAddPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.GroupNoticeAddPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupNoticeAddPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupNoticeAddPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupNoticeAddPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupNoticeAddPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupNoticeAddPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupNoticeAddPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupNoticeAddPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupNoticeAddPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupNoticeAddPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupNoticeAddPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GroupNoticeAddPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupNoticeAddPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupNoticeAddPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GroupNoticeAddPacket.MessageBlockBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GroupNoticeAddPacket.MessageBlockBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GroupNoticeAddPacketMessageBlockBlock {
        /// C# member: `F:LibreMetaverse.Packets.GroupNoticeAddPacket.MessageBlockBlock.BinaryBucket`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GroupNoticeAddPacket.MessageBlockBlock.BinaryBucket`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub binary_bucket: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.GroupNoticeAddPacket.MessageBlockBlock.Dialog`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.GroupNoticeAddPacket.MessageBlockBlock.Dialog`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub dialog: u8,
        /// C# member: `F:LibreMetaverse.Packets.GroupNoticeAddPacket.MessageBlockBlock.FromAgentName`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GroupNoticeAddPacket.MessageBlockBlock.FromAgentName`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub from_agent_name: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.GroupNoticeAddPacket.MessageBlockBlock.ID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupNoticeAddPacket.MessageBlockBlock.ID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.GroupNoticeAddPacket.MessageBlockBlock.Message`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GroupNoticeAddPacket.MessageBlockBlock.Message`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub message: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.GroupNoticeAddPacket.MessageBlockBlock.ToGroupID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupNoticeAddPacket.MessageBlockBlock.ToGroupID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub to_group_id: libremetaverse_types::UUID,
    }
    impl GroupNoticeAddPacketMessageBlockBlock {
        /// C# member: `M:LibreMetaverse.Packets.GroupNoticeAddPacket.MessageBlockBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupNoticeAddPacket.MessageBlockBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupNoticeAddPacket.MessageBlockBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupNoticeAddPacket.MessageBlockBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupNoticeAddPacket.MessageBlockBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupNoticeAddPacket.MessageBlockBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupNoticeAddPacket.MessageBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupNoticeAddPacket.MessageBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupNoticeAddPacket.MessageBlockBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupNoticeAddPacket.MessageBlockBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupNoticeAddPacket.MessageBlockBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GroupNoticeAddPacket.MessageBlockBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupNoticeAddPacket.MessageBlockBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupNoticeAddPacket.MessageBlockBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GroupNoticeRequestPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GroupNoticeRequestPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GroupNoticeRequestPacket {
        /// C# member: `F:LibreMetaverse.Packets.GroupNoticeRequestPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupNoticeRequestPacket.AgentDataBlock LibreMetaverse.Packets.GroupNoticeRequestPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::GroupNoticeRequestPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.GroupNoticeRequestPacket.Data`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupNoticeRequestPacket.DataBlock LibreMetaverse.Packets.GroupNoticeRequestPacket.Data`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub data: libremetaverse::packets::GroupNoticeRequestPacketDataBlock,
    }
    impl GroupNoticeRequestPacket {
        /// C# member: `M:LibreMetaverse.Packets.GroupNoticeRequestPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupNoticeRequestPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupNoticeRequestPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupNoticeRequestPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupNoticeRequestPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupNoticeRequestPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupNoticeRequestPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupNoticeRequestPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupNoticeRequestPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupNoticeRequestPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupNoticeRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupNoticeRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupNoticeRequestPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GroupNoticeRequestPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupNoticeRequestPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GroupNoticeRequestPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupNoticeRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GroupNoticeRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupNoticeRequestPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.GroupNoticeRequestPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupNoticeRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.GroupNoticeRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupNoticeRequestPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupNoticeRequestPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupNoticeRequestPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.GroupNoticeRequestPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GroupNoticeRequestPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GroupNoticeRequestPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GroupNoticeRequestPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.GroupNoticeRequestPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupNoticeRequestPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.GroupNoticeRequestPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupNoticeRequestPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl GroupNoticeRequestPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.GroupNoticeRequestPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupNoticeRequestPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupNoticeRequestPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupNoticeRequestPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupNoticeRequestPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupNoticeRequestPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupNoticeRequestPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupNoticeRequestPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupNoticeRequestPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupNoticeRequestPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupNoticeRequestPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GroupNoticeRequestPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupNoticeRequestPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupNoticeRequestPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GroupNoticeRequestPacket.DataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GroupNoticeRequestPacket.DataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GroupNoticeRequestPacketDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.GroupNoticeRequestPacket.DataBlock.GroupNoticeID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupNoticeRequestPacket.DataBlock.GroupNoticeID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_notice_id: libremetaverse_types::UUID,
    }
    impl GroupNoticeRequestPacketDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.GroupNoticeRequestPacket.DataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupNoticeRequestPacket.DataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupNoticeRequestPacket.DataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupNoticeRequestPacket.DataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupNoticeRequestPacket.DataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupNoticeRequestPacket.DataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupNoticeRequestPacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupNoticeRequestPacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupNoticeRequestPacket.DataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupNoticeRequestPacket.DataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupNoticeRequestPacket.DataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GroupNoticeRequestPacket.DataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupNoticeRequestPacket.DataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupNoticeRequestPacket.DataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GroupNoticesListReplyPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GroupNoticesListReplyPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GroupNoticesListReplyPacket {
        /// C# member: `F:LibreMetaverse.Packets.GroupNoticesListReplyPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupNoticesListReplyPacket.AgentDataBlock LibreMetaverse.Packets.GroupNoticesListReplyPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::GroupNoticesListReplyPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.GroupNoticesListReplyPacket.Data`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupNoticesListReplyPacket.DataBlock[] LibreMetaverse.Packets.GroupNoticesListReplyPacket.Data`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub data: Vec<libremetaverse::packets::GroupNoticesListReplyPacketDataBlock>,
    }
    impl GroupNoticesListReplyPacket {
        /// C# member: `M:LibreMetaverse.Packets.GroupNoticesListReplyPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupNoticesListReplyPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupNoticesListReplyPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupNoticesListReplyPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupNoticesListReplyPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupNoticesListReplyPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupNoticesListReplyPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupNoticesListReplyPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupNoticesListReplyPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupNoticesListReplyPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupNoticesListReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupNoticesListReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupNoticesListReplyPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GroupNoticesListReplyPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupNoticesListReplyPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GroupNoticesListReplyPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupNoticesListReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GroupNoticesListReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupNoticesListReplyPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.GroupNoticesListReplyPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupNoticesListReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.GroupNoticesListReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupNoticesListReplyPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupNoticesListReplyPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupNoticesListReplyPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.GroupNoticesListReplyPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GroupNoticesListReplyPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GroupNoticesListReplyPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GroupNoticesListReplyPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.GroupNoticesListReplyPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupNoticesListReplyPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.GroupNoticesListReplyPacket.AgentDataBlock.GroupID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupNoticesListReplyPacket.AgentDataBlock.GroupID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_id: libremetaverse_types::UUID,
    }
    impl GroupNoticesListReplyPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.GroupNoticesListReplyPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupNoticesListReplyPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupNoticesListReplyPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupNoticesListReplyPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupNoticesListReplyPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupNoticesListReplyPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupNoticesListReplyPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupNoticesListReplyPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupNoticesListReplyPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupNoticesListReplyPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupNoticesListReplyPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GroupNoticesListReplyPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupNoticesListReplyPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupNoticesListReplyPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GroupNoticesListReplyPacket.DataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GroupNoticesListReplyPacket.DataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GroupNoticesListReplyPacketDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.GroupNoticesListReplyPacket.DataBlock.AssetType`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.GroupNoticesListReplyPacket.DataBlock.AssetType`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub asset_type: u8,
        /// C# member: `F:LibreMetaverse.Packets.GroupNoticesListReplyPacket.DataBlock.FromName`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GroupNoticesListReplyPacket.DataBlock.FromName`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub from_name: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.GroupNoticesListReplyPacket.DataBlock.HasAttachment`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.GroupNoticesListReplyPacket.DataBlock.HasAttachment`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub has_attachment: bool,
        /// C# member: `F:LibreMetaverse.Packets.GroupNoticesListReplyPacket.DataBlock.NoticeID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupNoticesListReplyPacket.DataBlock.NoticeID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub notice_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.GroupNoticesListReplyPacket.DataBlock.Subject`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GroupNoticesListReplyPacket.DataBlock.Subject`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub subject: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.GroupNoticesListReplyPacket.DataBlock.Timestamp`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.GroupNoticesListReplyPacket.DataBlock.Timestamp`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub timestamp: u32,
    }
    impl GroupNoticesListReplyPacketDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.GroupNoticesListReplyPacket.DataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupNoticesListReplyPacket.DataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupNoticesListReplyPacket.DataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupNoticesListReplyPacket.DataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupNoticesListReplyPacket.DataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupNoticesListReplyPacket.DataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupNoticesListReplyPacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupNoticesListReplyPacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupNoticesListReplyPacket.DataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupNoticesListReplyPacket.DataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupNoticesListReplyPacket.DataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GroupNoticesListReplyPacket.DataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupNoticesListReplyPacket.DataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupNoticesListReplyPacket.DataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GroupNoticesListRequestPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GroupNoticesListRequestPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GroupNoticesListRequestPacket {
        /// C# member: `F:LibreMetaverse.Packets.GroupNoticesListRequestPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupNoticesListRequestPacket.AgentDataBlock LibreMetaverse.Packets.GroupNoticesListRequestPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::GroupNoticesListRequestPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.GroupNoticesListRequestPacket.Data`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupNoticesListRequestPacket.DataBlock LibreMetaverse.Packets.GroupNoticesListRequestPacket.Data`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub data: libremetaverse::packets::GroupNoticesListRequestPacketDataBlock,
    }
    impl GroupNoticesListRequestPacket {
        /// C# member: `M:LibreMetaverse.Packets.GroupNoticesListRequestPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupNoticesListRequestPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupNoticesListRequestPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupNoticesListRequestPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupNoticesListRequestPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupNoticesListRequestPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupNoticesListRequestPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupNoticesListRequestPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupNoticesListRequestPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupNoticesListRequestPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupNoticesListRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupNoticesListRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupNoticesListRequestPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GroupNoticesListRequestPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupNoticesListRequestPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GroupNoticesListRequestPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupNoticesListRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GroupNoticesListRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupNoticesListRequestPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.GroupNoticesListRequestPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupNoticesListRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.GroupNoticesListRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupNoticesListRequestPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupNoticesListRequestPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupNoticesListRequestPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.GroupNoticesListRequestPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GroupNoticesListRequestPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GroupNoticesListRequestPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GroupNoticesListRequestPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.GroupNoticesListRequestPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupNoticesListRequestPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.GroupNoticesListRequestPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupNoticesListRequestPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl GroupNoticesListRequestPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.GroupNoticesListRequestPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupNoticesListRequestPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupNoticesListRequestPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupNoticesListRequestPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupNoticesListRequestPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupNoticesListRequestPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupNoticesListRequestPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupNoticesListRequestPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupNoticesListRequestPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupNoticesListRequestPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupNoticesListRequestPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GroupNoticesListRequestPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupNoticesListRequestPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupNoticesListRequestPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GroupNoticesListRequestPacket.DataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GroupNoticesListRequestPacket.DataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GroupNoticesListRequestPacketDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.GroupNoticesListRequestPacket.DataBlock.GroupID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupNoticesListRequestPacket.DataBlock.GroupID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_id: libremetaverse_types::UUID,
    }
    impl GroupNoticesListRequestPacketDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.GroupNoticesListRequestPacket.DataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupNoticesListRequestPacket.DataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupNoticesListRequestPacket.DataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupNoticesListRequestPacket.DataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupNoticesListRequestPacket.DataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupNoticesListRequestPacket.DataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupNoticesListRequestPacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupNoticesListRequestPacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupNoticesListRequestPacket.DataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupNoticesListRequestPacket.DataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupNoticesListRequestPacket.DataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GroupNoticesListRequestPacket.DataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupNoticesListRequestPacket.DataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupNoticesListRequestPacket.DataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GroupProfileReplyPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GroupProfileReplyPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GroupProfileReplyPacket {
        /// C# member: `F:LibreMetaverse.Packets.GroupProfileReplyPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupProfileReplyPacket.AgentDataBlock LibreMetaverse.Packets.GroupProfileReplyPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::GroupProfileReplyPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.GroupProfileReplyPacket.GroupData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupProfileReplyPacket.GroupDataBlock LibreMetaverse.Packets.GroupProfileReplyPacket.GroupData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_data: libremetaverse::packets::GroupProfileReplyPacketGroupDataBlock,
    }
    impl GroupProfileReplyPacket {
        /// C# member: `M:LibreMetaverse.Packets.GroupProfileReplyPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupProfileReplyPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupProfileReplyPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupProfileReplyPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupProfileReplyPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupProfileReplyPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupProfileReplyPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupProfileReplyPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupProfileReplyPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupProfileReplyPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupProfileReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupProfileReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupProfileReplyPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GroupProfileReplyPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupProfileReplyPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GroupProfileReplyPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupProfileReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GroupProfileReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupProfileReplyPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.GroupProfileReplyPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupProfileReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.GroupProfileReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupProfileReplyPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupProfileReplyPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupProfileReplyPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.GroupProfileReplyPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GroupProfileReplyPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GroupProfileReplyPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GroupProfileReplyPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.GroupProfileReplyPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupProfileReplyPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
    }
    impl GroupProfileReplyPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.GroupProfileReplyPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupProfileReplyPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupProfileReplyPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupProfileReplyPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupProfileReplyPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupProfileReplyPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupProfileReplyPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupProfileReplyPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupProfileReplyPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupProfileReplyPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupProfileReplyPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GroupProfileReplyPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupProfileReplyPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupProfileReplyPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GroupProfileReplyPacket.GroupDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GroupProfileReplyPacket.GroupDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GroupProfileReplyPacketGroupDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.GroupProfileReplyPacket.GroupDataBlock.AllowPublish`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.GroupProfileReplyPacket.GroupDataBlock.AllowPublish`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub allow_publish: bool,
        /// C# member: `F:LibreMetaverse.Packets.GroupProfileReplyPacket.GroupDataBlock.Charter`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GroupProfileReplyPacket.GroupDataBlock.Charter`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub charter: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.GroupProfileReplyPacket.GroupDataBlock.FounderID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupProfileReplyPacket.GroupDataBlock.FounderID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub founder_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.GroupProfileReplyPacket.GroupDataBlock.GroupID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupProfileReplyPacket.GroupDataBlock.GroupID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.GroupProfileReplyPacket.GroupDataBlock.GroupMembershipCount`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupProfileReplyPacket.GroupDataBlock.GroupMembershipCount`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_membership_count: i32,
        /// C# member: `F:LibreMetaverse.Packets.GroupProfileReplyPacket.GroupDataBlock.GroupRolesCount`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupProfileReplyPacket.GroupDataBlock.GroupRolesCount`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_roles_count: i32,
        /// C# member: `F:LibreMetaverse.Packets.GroupProfileReplyPacket.GroupDataBlock.InsigniaID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupProfileReplyPacket.GroupDataBlock.InsigniaID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub insignia_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.GroupProfileReplyPacket.GroupDataBlock.MaturePublish`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.GroupProfileReplyPacket.GroupDataBlock.MaturePublish`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub mature_publish: bool,
        /// C# member: `F:LibreMetaverse.Packets.GroupProfileReplyPacket.GroupDataBlock.MemberTitle`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GroupProfileReplyPacket.GroupDataBlock.MemberTitle`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub member_title: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.GroupProfileReplyPacket.GroupDataBlock.MembershipFee`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupProfileReplyPacket.GroupDataBlock.MembershipFee`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub membership_fee: i32,
        /// C# member: `F:LibreMetaverse.Packets.GroupProfileReplyPacket.GroupDataBlock.Money`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupProfileReplyPacket.GroupDataBlock.Money`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub money: i32,
        /// C# member: `F:LibreMetaverse.Packets.GroupProfileReplyPacket.GroupDataBlock.Name`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GroupProfileReplyPacket.GroupDataBlock.Name`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub name: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.GroupProfileReplyPacket.GroupDataBlock.OpenEnrollment`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.GroupProfileReplyPacket.GroupDataBlock.OpenEnrollment`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub open_enrollment: bool,
        /// C# member: `F:LibreMetaverse.Packets.GroupProfileReplyPacket.GroupDataBlock.OwnerRole`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupProfileReplyPacket.GroupDataBlock.OwnerRole`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub owner_role: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.GroupProfileReplyPacket.GroupDataBlock.PowersMask`.
        ///
        /// C# signature: `System.UInt64 LibreMetaverse.Packets.GroupProfileReplyPacket.GroupDataBlock.PowersMask`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub powers_mask: u64,
        /// C# member: `F:LibreMetaverse.Packets.GroupProfileReplyPacket.GroupDataBlock.ShowInList`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.GroupProfileReplyPacket.GroupDataBlock.ShowInList`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub show_in_list: bool,
    }
    impl GroupProfileReplyPacketGroupDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.GroupProfileReplyPacket.GroupDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupProfileReplyPacket.GroupDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupProfileReplyPacket.GroupDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupProfileReplyPacket.GroupDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupProfileReplyPacket.GroupDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupProfileReplyPacket.GroupDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupProfileReplyPacket.GroupDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupProfileReplyPacket.GroupDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupProfileReplyPacket.GroupDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupProfileReplyPacket.GroupDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupProfileReplyPacket.GroupDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GroupProfileReplyPacket.GroupDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupProfileReplyPacket.GroupDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupProfileReplyPacket.GroupDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GroupProfileRequestPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GroupProfileRequestPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GroupProfileRequestPacket {
        /// C# member: `F:LibreMetaverse.Packets.GroupProfileRequestPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupProfileRequestPacket.AgentDataBlock LibreMetaverse.Packets.GroupProfileRequestPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::GroupProfileRequestPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.GroupProfileRequestPacket.GroupData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupProfileRequestPacket.GroupDataBlock LibreMetaverse.Packets.GroupProfileRequestPacket.GroupData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_data: libremetaverse::packets::GroupProfileRequestPacketGroupDataBlock,
    }
    impl GroupProfileRequestPacket {
        /// C# member: `M:LibreMetaverse.Packets.GroupProfileRequestPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupProfileRequestPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupProfileRequestPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupProfileRequestPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupProfileRequestPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupProfileRequestPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupProfileRequestPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupProfileRequestPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupProfileRequestPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupProfileRequestPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupProfileRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupProfileRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupProfileRequestPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GroupProfileRequestPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupProfileRequestPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GroupProfileRequestPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupProfileRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GroupProfileRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupProfileRequestPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.GroupProfileRequestPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupProfileRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.GroupProfileRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupProfileRequestPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupProfileRequestPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupProfileRequestPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.GroupProfileRequestPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GroupProfileRequestPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GroupProfileRequestPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GroupProfileRequestPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.GroupProfileRequestPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupProfileRequestPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.GroupProfileRequestPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupProfileRequestPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl GroupProfileRequestPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.GroupProfileRequestPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupProfileRequestPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupProfileRequestPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupProfileRequestPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupProfileRequestPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupProfileRequestPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupProfileRequestPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupProfileRequestPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupProfileRequestPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupProfileRequestPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupProfileRequestPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GroupProfileRequestPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupProfileRequestPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupProfileRequestPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GroupProfileRequestPacket.GroupDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GroupProfileRequestPacket.GroupDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GroupProfileRequestPacketGroupDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.GroupProfileRequestPacket.GroupDataBlock.GroupID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupProfileRequestPacket.GroupDataBlock.GroupID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_id: libremetaverse_types::UUID,
    }
    impl GroupProfileRequestPacketGroupDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.GroupProfileRequestPacket.GroupDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupProfileRequestPacket.GroupDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupProfileRequestPacket.GroupDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupProfileRequestPacket.GroupDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupProfileRequestPacket.GroupDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupProfileRequestPacket.GroupDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupProfileRequestPacket.GroupDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupProfileRequestPacket.GroupDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupProfileRequestPacket.GroupDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupProfileRequestPacket.GroupDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupProfileRequestPacket.GroupDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GroupProfileRequestPacket.GroupDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupProfileRequestPacket.GroupDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupProfileRequestPacket.GroupDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GroupProposalBallotPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GroupProposalBallotPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GroupProposalBallotPacket {
        /// C# member: `F:LibreMetaverse.Packets.GroupProposalBallotPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupProposalBallotPacket.AgentDataBlock LibreMetaverse.Packets.GroupProposalBallotPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::GroupProposalBallotPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.GroupProposalBallotPacket.ProposalData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupProposalBallotPacket.ProposalDataBlock LibreMetaverse.Packets.GroupProposalBallotPacket.ProposalData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub proposal_data: libremetaverse::packets::GroupProposalBallotPacketProposalDataBlock,
    }
    impl GroupProposalBallotPacket {
        /// C# member: `M:LibreMetaverse.Packets.GroupProposalBallotPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupProposalBallotPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupProposalBallotPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupProposalBallotPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupProposalBallotPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupProposalBallotPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupProposalBallotPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupProposalBallotPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupProposalBallotPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupProposalBallotPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupProposalBallotPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupProposalBallotPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupProposalBallotPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GroupProposalBallotPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupProposalBallotPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GroupProposalBallotPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupProposalBallotPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GroupProposalBallotPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupProposalBallotPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.GroupProposalBallotPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupProposalBallotPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.GroupProposalBallotPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupProposalBallotPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupProposalBallotPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupProposalBallotPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.GroupProposalBallotPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GroupProposalBallotPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GroupProposalBallotPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GroupProposalBallotPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.GroupProposalBallotPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupProposalBallotPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.GroupProposalBallotPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupProposalBallotPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl GroupProposalBallotPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.GroupProposalBallotPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupProposalBallotPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupProposalBallotPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupProposalBallotPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupProposalBallotPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupProposalBallotPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupProposalBallotPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupProposalBallotPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupProposalBallotPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupProposalBallotPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupProposalBallotPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GroupProposalBallotPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupProposalBallotPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupProposalBallotPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GroupProposalBallotPacket.ProposalDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GroupProposalBallotPacket.ProposalDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GroupProposalBallotPacketProposalDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.GroupProposalBallotPacket.ProposalDataBlock.GroupID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupProposalBallotPacket.ProposalDataBlock.GroupID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.GroupProposalBallotPacket.ProposalDataBlock.ProposalID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupProposalBallotPacket.ProposalDataBlock.ProposalID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub proposal_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.GroupProposalBallotPacket.ProposalDataBlock.VoteCast`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GroupProposalBallotPacket.ProposalDataBlock.VoteCast`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub vote_cast: Vec<u8>,
    }
    impl GroupProposalBallotPacketProposalDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.GroupProposalBallotPacket.ProposalDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupProposalBallotPacket.ProposalDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupProposalBallotPacket.ProposalDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupProposalBallotPacket.ProposalDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupProposalBallotPacket.ProposalDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupProposalBallotPacket.ProposalDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupProposalBallotPacket.ProposalDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupProposalBallotPacket.ProposalDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupProposalBallotPacket.ProposalDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupProposalBallotPacket.ProposalDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupProposalBallotPacket.ProposalDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GroupProposalBallotPacket.ProposalDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupProposalBallotPacket.ProposalDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupProposalBallotPacket.ProposalDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GroupRoleChangesPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GroupRoleChangesPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GroupRoleChangesPacket {
        /// C# member: `F:LibreMetaverse.Packets.GroupRoleChangesPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupRoleChangesPacket.AgentDataBlock LibreMetaverse.Packets.GroupRoleChangesPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::GroupRoleChangesPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.GroupRoleChangesPacket.RoleChange`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupRoleChangesPacket.RoleChangeBlock[] LibreMetaverse.Packets.GroupRoleChangesPacket.RoleChange`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub role_change: Vec<libremetaverse::packets::GroupRoleChangesPacketRoleChangeBlock>,
    }
    impl GroupRoleChangesPacket {
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleChangesPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupRoleChangesPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleChangesPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupRoleChangesPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleChangesPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupRoleChangesPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleChangesPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupRoleChangesPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleChangesPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupRoleChangesPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleChangesPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupRoleChangesPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleChangesPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GroupRoleChangesPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleChangesPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GroupRoleChangesPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleChangesPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GroupRoleChangesPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleChangesPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.GroupRoleChangesPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleChangesPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.GroupRoleChangesPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupRoleChangesPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupRoleChangesPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupRoleChangesPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.GroupRoleChangesPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GroupRoleChangesPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GroupRoleChangesPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GroupRoleChangesPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.GroupRoleChangesPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupRoleChangesPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.GroupRoleChangesPacket.AgentDataBlock.GroupID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupRoleChangesPacket.AgentDataBlock.GroupID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.GroupRoleChangesPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupRoleChangesPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl GroupRoleChangesPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleChangesPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupRoleChangesPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleChangesPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupRoleChangesPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleChangesPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupRoleChangesPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleChangesPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupRoleChangesPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleChangesPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupRoleChangesPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleChangesPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GroupRoleChangesPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupRoleChangesPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupRoleChangesPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GroupRoleChangesPacket.RoleChangeBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GroupRoleChangesPacket.RoleChangeBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GroupRoleChangesPacketRoleChangeBlock {
        /// C# member: `F:LibreMetaverse.Packets.GroupRoleChangesPacket.RoleChangeBlock.Change`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.GroupRoleChangesPacket.RoleChangeBlock.Change`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub change: u32,
        /// C# member: `F:LibreMetaverse.Packets.GroupRoleChangesPacket.RoleChangeBlock.MemberID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupRoleChangesPacket.RoleChangeBlock.MemberID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub member_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.GroupRoleChangesPacket.RoleChangeBlock.RoleID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupRoleChangesPacket.RoleChangeBlock.RoleID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub role_id: libremetaverse_types::UUID,
    }
    impl GroupRoleChangesPacketRoleChangeBlock {
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleChangesPacket.RoleChangeBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupRoleChangesPacket.RoleChangeBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleChangesPacket.RoleChangeBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupRoleChangesPacket.RoleChangeBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleChangesPacket.RoleChangeBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupRoleChangesPacket.RoleChangeBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleChangesPacket.RoleChangeBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupRoleChangesPacket.RoleChangeBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleChangesPacket.RoleChangeBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupRoleChangesPacket.RoleChangeBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleChangesPacket.RoleChangeBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GroupRoleChangesPacket.RoleChangeBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupRoleChangesPacket.RoleChangeBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupRoleChangesPacket.RoleChangeBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GroupRoleDataReplyPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GroupRoleDataReplyPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GroupRoleDataReplyPacket {
        /// C# member: `F:LibreMetaverse.Packets.GroupRoleDataReplyPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupRoleDataReplyPacket.AgentDataBlock LibreMetaverse.Packets.GroupRoleDataReplyPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::GroupRoleDataReplyPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.GroupRoleDataReplyPacket.GroupData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupRoleDataReplyPacket.GroupDataBlock LibreMetaverse.Packets.GroupRoleDataReplyPacket.GroupData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_data: libremetaverse::packets::GroupRoleDataReplyPacketGroupDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.GroupRoleDataReplyPacket.RoleData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupRoleDataReplyPacket.RoleDataBlock[] LibreMetaverse.Packets.GroupRoleDataReplyPacket.RoleData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub role_data: Vec<libremetaverse::packets::GroupRoleDataReplyPacketRoleDataBlock>,
    }
    impl GroupRoleDataReplyPacket {
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleDataReplyPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupRoleDataReplyPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleDataReplyPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupRoleDataReplyPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleDataReplyPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupRoleDataReplyPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleDataReplyPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupRoleDataReplyPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleDataReplyPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupRoleDataReplyPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleDataReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupRoleDataReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleDataReplyPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GroupRoleDataReplyPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleDataReplyPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GroupRoleDataReplyPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleDataReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GroupRoleDataReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleDataReplyPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.GroupRoleDataReplyPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleDataReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.GroupRoleDataReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupRoleDataReplyPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupRoleDataReplyPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupRoleDataReplyPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.GroupRoleDataReplyPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GroupRoleDataReplyPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GroupRoleDataReplyPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GroupRoleDataReplyPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.GroupRoleDataReplyPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupRoleDataReplyPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
    }
    impl GroupRoleDataReplyPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleDataReplyPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupRoleDataReplyPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleDataReplyPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupRoleDataReplyPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleDataReplyPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupRoleDataReplyPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleDataReplyPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupRoleDataReplyPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleDataReplyPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupRoleDataReplyPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleDataReplyPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GroupRoleDataReplyPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupRoleDataReplyPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupRoleDataReplyPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GroupRoleDataReplyPacket.GroupDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GroupRoleDataReplyPacket.GroupDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GroupRoleDataReplyPacketGroupDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.GroupRoleDataReplyPacket.GroupDataBlock.GroupID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupRoleDataReplyPacket.GroupDataBlock.GroupID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.GroupRoleDataReplyPacket.GroupDataBlock.RequestID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupRoleDataReplyPacket.GroupDataBlock.RequestID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub request_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.GroupRoleDataReplyPacket.GroupDataBlock.RoleCount`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupRoleDataReplyPacket.GroupDataBlock.RoleCount`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub role_count: i32,
    }
    impl GroupRoleDataReplyPacketGroupDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleDataReplyPacket.GroupDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupRoleDataReplyPacket.GroupDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleDataReplyPacket.GroupDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupRoleDataReplyPacket.GroupDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleDataReplyPacket.GroupDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupRoleDataReplyPacket.GroupDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleDataReplyPacket.GroupDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupRoleDataReplyPacket.GroupDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleDataReplyPacket.GroupDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupRoleDataReplyPacket.GroupDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleDataReplyPacket.GroupDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GroupRoleDataReplyPacket.GroupDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupRoleDataReplyPacket.GroupDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupRoleDataReplyPacket.GroupDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GroupRoleDataReplyPacket.RoleDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GroupRoleDataReplyPacket.RoleDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GroupRoleDataReplyPacketRoleDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.GroupRoleDataReplyPacket.RoleDataBlock.Description`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GroupRoleDataReplyPacket.RoleDataBlock.Description`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub description: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.GroupRoleDataReplyPacket.RoleDataBlock.Members`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.GroupRoleDataReplyPacket.RoleDataBlock.Members`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub members: u32,
        /// C# member: `F:LibreMetaverse.Packets.GroupRoleDataReplyPacket.RoleDataBlock.Name`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GroupRoleDataReplyPacket.RoleDataBlock.Name`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub name: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.GroupRoleDataReplyPacket.RoleDataBlock.Powers`.
        ///
        /// C# signature: `System.UInt64 LibreMetaverse.Packets.GroupRoleDataReplyPacket.RoleDataBlock.Powers`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub powers: u64,
        /// C# member: `F:LibreMetaverse.Packets.GroupRoleDataReplyPacket.RoleDataBlock.RoleID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupRoleDataReplyPacket.RoleDataBlock.RoleID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub role_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.GroupRoleDataReplyPacket.RoleDataBlock.Title`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GroupRoleDataReplyPacket.RoleDataBlock.Title`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub title: Vec<u8>,
    }
    impl GroupRoleDataReplyPacketRoleDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleDataReplyPacket.RoleDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupRoleDataReplyPacket.RoleDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleDataReplyPacket.RoleDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupRoleDataReplyPacket.RoleDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleDataReplyPacket.RoleDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupRoleDataReplyPacket.RoleDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleDataReplyPacket.RoleDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupRoleDataReplyPacket.RoleDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleDataReplyPacket.RoleDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupRoleDataReplyPacket.RoleDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleDataReplyPacket.RoleDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GroupRoleDataReplyPacket.RoleDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupRoleDataReplyPacket.RoleDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupRoleDataReplyPacket.RoleDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GroupRoleDataRequestPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GroupRoleDataRequestPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GroupRoleDataRequestPacket {
        /// C# member: `F:LibreMetaverse.Packets.GroupRoleDataRequestPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupRoleDataRequestPacket.AgentDataBlock LibreMetaverse.Packets.GroupRoleDataRequestPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::GroupRoleDataRequestPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.GroupRoleDataRequestPacket.GroupData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupRoleDataRequestPacket.GroupDataBlock LibreMetaverse.Packets.GroupRoleDataRequestPacket.GroupData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_data: libremetaverse::packets::GroupRoleDataRequestPacketGroupDataBlock,
    }
    impl GroupRoleDataRequestPacket {
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleDataRequestPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupRoleDataRequestPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleDataRequestPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupRoleDataRequestPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleDataRequestPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupRoleDataRequestPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleDataRequestPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupRoleDataRequestPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleDataRequestPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupRoleDataRequestPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleDataRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupRoleDataRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleDataRequestPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GroupRoleDataRequestPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleDataRequestPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GroupRoleDataRequestPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleDataRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GroupRoleDataRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleDataRequestPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.GroupRoleDataRequestPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleDataRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.GroupRoleDataRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupRoleDataRequestPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupRoleDataRequestPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupRoleDataRequestPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.GroupRoleDataRequestPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GroupRoleDataRequestPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GroupRoleDataRequestPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GroupRoleDataRequestPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.GroupRoleDataRequestPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupRoleDataRequestPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.GroupRoleDataRequestPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupRoleDataRequestPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl GroupRoleDataRequestPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleDataRequestPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupRoleDataRequestPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleDataRequestPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupRoleDataRequestPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleDataRequestPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupRoleDataRequestPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleDataRequestPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupRoleDataRequestPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleDataRequestPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupRoleDataRequestPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleDataRequestPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GroupRoleDataRequestPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupRoleDataRequestPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupRoleDataRequestPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GroupRoleDataRequestPacket.GroupDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GroupRoleDataRequestPacket.GroupDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GroupRoleDataRequestPacketGroupDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.GroupRoleDataRequestPacket.GroupDataBlock.GroupID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupRoleDataRequestPacket.GroupDataBlock.GroupID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.GroupRoleDataRequestPacket.GroupDataBlock.RequestID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupRoleDataRequestPacket.GroupDataBlock.RequestID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub request_id: libremetaverse_types::UUID,
    }
    impl GroupRoleDataRequestPacketGroupDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleDataRequestPacket.GroupDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupRoleDataRequestPacket.GroupDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleDataRequestPacket.GroupDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupRoleDataRequestPacket.GroupDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleDataRequestPacket.GroupDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupRoleDataRequestPacket.GroupDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleDataRequestPacket.GroupDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupRoleDataRequestPacket.GroupDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleDataRequestPacket.GroupDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupRoleDataRequestPacket.GroupDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleDataRequestPacket.GroupDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GroupRoleDataRequestPacket.GroupDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupRoleDataRequestPacket.GroupDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupRoleDataRequestPacket.GroupDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GroupRoleMembersReplyPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GroupRoleMembersReplyPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GroupRoleMembersReplyPacket {
        /// C# member: `F:LibreMetaverse.Packets.GroupRoleMembersReplyPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupRoleMembersReplyPacket.AgentDataBlock LibreMetaverse.Packets.GroupRoleMembersReplyPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::GroupRoleMembersReplyPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.GroupRoleMembersReplyPacket.MemberData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupRoleMembersReplyPacket.MemberDataBlock[] LibreMetaverse.Packets.GroupRoleMembersReplyPacket.MemberData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub member_data: Vec<libremetaverse::packets::GroupRoleMembersReplyPacketMemberDataBlock>,
    }
    impl GroupRoleMembersReplyPacket {
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleMembersReplyPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupRoleMembersReplyPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleMembersReplyPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupRoleMembersReplyPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleMembersReplyPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupRoleMembersReplyPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleMembersReplyPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupRoleMembersReplyPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleMembersReplyPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupRoleMembersReplyPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleMembersReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupRoleMembersReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleMembersReplyPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GroupRoleMembersReplyPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleMembersReplyPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GroupRoleMembersReplyPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleMembersReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GroupRoleMembersReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleMembersReplyPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.GroupRoleMembersReplyPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleMembersReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.GroupRoleMembersReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupRoleMembersReplyPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupRoleMembersReplyPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupRoleMembersReplyPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.GroupRoleMembersReplyPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GroupRoleMembersReplyPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GroupRoleMembersReplyPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GroupRoleMembersReplyPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.GroupRoleMembersReplyPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupRoleMembersReplyPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.GroupRoleMembersReplyPacket.AgentDataBlock.GroupID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupRoleMembersReplyPacket.AgentDataBlock.GroupID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.GroupRoleMembersReplyPacket.AgentDataBlock.RequestID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupRoleMembersReplyPacket.AgentDataBlock.RequestID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub request_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.GroupRoleMembersReplyPacket.AgentDataBlock.TotalPairs`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.GroupRoleMembersReplyPacket.AgentDataBlock.TotalPairs`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub total_pairs: u32,
    }
    impl GroupRoleMembersReplyPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleMembersReplyPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupRoleMembersReplyPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleMembersReplyPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupRoleMembersReplyPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleMembersReplyPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupRoleMembersReplyPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleMembersReplyPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupRoleMembersReplyPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleMembersReplyPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupRoleMembersReplyPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleMembersReplyPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GroupRoleMembersReplyPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupRoleMembersReplyPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupRoleMembersReplyPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GroupRoleMembersReplyPacket.MemberDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GroupRoleMembersReplyPacket.MemberDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GroupRoleMembersReplyPacketMemberDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.GroupRoleMembersReplyPacket.MemberDataBlock.MemberID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupRoleMembersReplyPacket.MemberDataBlock.MemberID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub member_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.GroupRoleMembersReplyPacket.MemberDataBlock.RoleID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupRoleMembersReplyPacket.MemberDataBlock.RoleID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub role_id: libremetaverse_types::UUID,
    }
    impl GroupRoleMembersReplyPacketMemberDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleMembersReplyPacket.MemberDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupRoleMembersReplyPacket.MemberDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleMembersReplyPacket.MemberDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupRoleMembersReplyPacket.MemberDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleMembersReplyPacket.MemberDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupRoleMembersReplyPacket.MemberDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleMembersReplyPacket.MemberDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupRoleMembersReplyPacket.MemberDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleMembersReplyPacket.MemberDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupRoleMembersReplyPacket.MemberDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleMembersReplyPacket.MemberDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GroupRoleMembersReplyPacket.MemberDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupRoleMembersReplyPacket.MemberDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupRoleMembersReplyPacket.MemberDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GroupRoleMembersRequestPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GroupRoleMembersRequestPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GroupRoleMembersRequestPacket {
        /// C# member: `F:LibreMetaverse.Packets.GroupRoleMembersRequestPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupRoleMembersRequestPacket.AgentDataBlock LibreMetaverse.Packets.GroupRoleMembersRequestPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::GroupRoleMembersRequestPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.GroupRoleMembersRequestPacket.GroupData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupRoleMembersRequestPacket.GroupDataBlock LibreMetaverse.Packets.GroupRoleMembersRequestPacket.GroupData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_data: libremetaverse::packets::GroupRoleMembersRequestPacketGroupDataBlock,
    }
    impl GroupRoleMembersRequestPacket {
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleMembersRequestPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupRoleMembersRequestPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleMembersRequestPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupRoleMembersRequestPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleMembersRequestPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupRoleMembersRequestPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleMembersRequestPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupRoleMembersRequestPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleMembersRequestPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupRoleMembersRequestPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleMembersRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupRoleMembersRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleMembersRequestPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GroupRoleMembersRequestPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleMembersRequestPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GroupRoleMembersRequestPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleMembersRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GroupRoleMembersRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleMembersRequestPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.GroupRoleMembersRequestPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleMembersRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.GroupRoleMembersRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupRoleMembersRequestPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupRoleMembersRequestPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupRoleMembersRequestPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.GroupRoleMembersRequestPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GroupRoleMembersRequestPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GroupRoleMembersRequestPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GroupRoleMembersRequestPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.GroupRoleMembersRequestPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupRoleMembersRequestPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.GroupRoleMembersRequestPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupRoleMembersRequestPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl GroupRoleMembersRequestPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleMembersRequestPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupRoleMembersRequestPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleMembersRequestPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupRoleMembersRequestPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleMembersRequestPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupRoleMembersRequestPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleMembersRequestPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupRoleMembersRequestPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleMembersRequestPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupRoleMembersRequestPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleMembersRequestPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GroupRoleMembersRequestPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupRoleMembersRequestPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupRoleMembersRequestPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GroupRoleMembersRequestPacket.GroupDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GroupRoleMembersRequestPacket.GroupDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GroupRoleMembersRequestPacketGroupDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.GroupRoleMembersRequestPacket.GroupDataBlock.GroupID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupRoleMembersRequestPacket.GroupDataBlock.GroupID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.GroupRoleMembersRequestPacket.GroupDataBlock.RequestID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupRoleMembersRequestPacket.GroupDataBlock.RequestID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub request_id: libremetaverse_types::UUID,
    }
    impl GroupRoleMembersRequestPacketGroupDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleMembersRequestPacket.GroupDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupRoleMembersRequestPacket.GroupDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleMembersRequestPacket.GroupDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupRoleMembersRequestPacket.GroupDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleMembersRequestPacket.GroupDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupRoleMembersRequestPacket.GroupDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleMembersRequestPacket.GroupDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupRoleMembersRequestPacket.GroupDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleMembersRequestPacket.GroupDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupRoleMembersRequestPacket.GroupDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleMembersRequestPacket.GroupDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GroupRoleMembersRequestPacket.GroupDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupRoleMembersRequestPacket.GroupDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupRoleMembersRequestPacket.GroupDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GroupRoleUpdatePacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GroupRoleUpdatePacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GroupRoleUpdatePacket {
        /// C# member: `F:LibreMetaverse.Packets.GroupRoleUpdatePacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupRoleUpdatePacket.AgentDataBlock LibreMetaverse.Packets.GroupRoleUpdatePacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::GroupRoleUpdatePacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.GroupRoleUpdatePacket.RoleData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupRoleUpdatePacket.RoleDataBlock[] LibreMetaverse.Packets.GroupRoleUpdatePacket.RoleData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub role_data: Vec<libremetaverse::packets::GroupRoleUpdatePacketRoleDataBlock>,
    }
    impl GroupRoleUpdatePacket {
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleUpdatePacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupRoleUpdatePacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleUpdatePacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupRoleUpdatePacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleUpdatePacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupRoleUpdatePacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleUpdatePacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupRoleUpdatePacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleUpdatePacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupRoleUpdatePacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleUpdatePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupRoleUpdatePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleUpdatePacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GroupRoleUpdatePacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleUpdatePacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GroupRoleUpdatePacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleUpdatePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GroupRoleUpdatePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleUpdatePacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.GroupRoleUpdatePacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleUpdatePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.GroupRoleUpdatePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupRoleUpdatePacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupRoleUpdatePacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupRoleUpdatePacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.GroupRoleUpdatePacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GroupRoleUpdatePacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GroupRoleUpdatePacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GroupRoleUpdatePacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.GroupRoleUpdatePacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupRoleUpdatePacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.GroupRoleUpdatePacket.AgentDataBlock.GroupID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupRoleUpdatePacket.AgentDataBlock.GroupID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.GroupRoleUpdatePacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupRoleUpdatePacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl GroupRoleUpdatePacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleUpdatePacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupRoleUpdatePacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleUpdatePacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupRoleUpdatePacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleUpdatePacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupRoleUpdatePacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleUpdatePacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupRoleUpdatePacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleUpdatePacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupRoleUpdatePacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleUpdatePacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GroupRoleUpdatePacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupRoleUpdatePacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupRoleUpdatePacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GroupRoleUpdatePacket.RoleDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GroupRoleUpdatePacket.RoleDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GroupRoleUpdatePacketRoleDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.GroupRoleUpdatePacket.RoleDataBlock.Description`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GroupRoleUpdatePacket.RoleDataBlock.Description`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub description: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.GroupRoleUpdatePacket.RoleDataBlock.Name`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GroupRoleUpdatePacket.RoleDataBlock.Name`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub name: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.GroupRoleUpdatePacket.RoleDataBlock.Powers`.
        ///
        /// C# signature: `System.UInt64 LibreMetaverse.Packets.GroupRoleUpdatePacket.RoleDataBlock.Powers`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub powers: u64,
        /// C# member: `F:LibreMetaverse.Packets.GroupRoleUpdatePacket.RoleDataBlock.RoleID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupRoleUpdatePacket.RoleDataBlock.RoleID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub role_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.GroupRoleUpdatePacket.RoleDataBlock.Title`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GroupRoleUpdatePacket.RoleDataBlock.Title`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub title: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.GroupRoleUpdatePacket.RoleDataBlock.UpdateType`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.GroupRoleUpdatePacket.RoleDataBlock.UpdateType`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub update_type: u8,
    }
    impl GroupRoleUpdatePacketRoleDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleUpdatePacket.RoleDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupRoleUpdatePacket.RoleDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleUpdatePacket.RoleDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupRoleUpdatePacket.RoleDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleUpdatePacket.RoleDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupRoleUpdatePacket.RoleDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleUpdatePacket.RoleDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupRoleUpdatePacket.RoleDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleUpdatePacket.RoleDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupRoleUpdatePacket.RoleDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupRoleUpdatePacket.RoleDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GroupRoleUpdatePacket.RoleDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupRoleUpdatePacket.RoleDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupRoleUpdatePacket.RoleDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GroupTitleUpdatePacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GroupTitleUpdatePacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GroupTitleUpdatePacket {
        /// C# member: `F:LibreMetaverse.Packets.GroupTitleUpdatePacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupTitleUpdatePacket.AgentDataBlock LibreMetaverse.Packets.GroupTitleUpdatePacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::GroupTitleUpdatePacketAgentDataBlock,
    }
    impl GroupTitleUpdatePacket {
        /// C# member: `M:LibreMetaverse.Packets.GroupTitleUpdatePacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupTitleUpdatePacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupTitleUpdatePacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupTitleUpdatePacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupTitleUpdatePacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupTitleUpdatePacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupTitleUpdatePacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupTitleUpdatePacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupTitleUpdatePacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupTitleUpdatePacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupTitleUpdatePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupTitleUpdatePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupTitleUpdatePacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GroupTitleUpdatePacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupTitleUpdatePacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GroupTitleUpdatePacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupTitleUpdatePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GroupTitleUpdatePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupTitleUpdatePacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.GroupTitleUpdatePacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupTitleUpdatePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.GroupTitleUpdatePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupTitleUpdatePacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupTitleUpdatePacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupTitleUpdatePacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.GroupTitleUpdatePacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GroupTitleUpdatePacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GroupTitleUpdatePacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GroupTitleUpdatePacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.GroupTitleUpdatePacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupTitleUpdatePacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.GroupTitleUpdatePacket.AgentDataBlock.GroupID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupTitleUpdatePacket.AgentDataBlock.GroupID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.GroupTitleUpdatePacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupTitleUpdatePacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.GroupTitleUpdatePacket.AgentDataBlock.TitleRoleID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupTitleUpdatePacket.AgentDataBlock.TitleRoleID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub title_role_id: libremetaverse_types::UUID,
    }
    impl GroupTitleUpdatePacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.GroupTitleUpdatePacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupTitleUpdatePacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupTitleUpdatePacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupTitleUpdatePacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupTitleUpdatePacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupTitleUpdatePacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupTitleUpdatePacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupTitleUpdatePacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupTitleUpdatePacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupTitleUpdatePacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupTitleUpdatePacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GroupTitleUpdatePacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupTitleUpdatePacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupTitleUpdatePacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GroupTitlesReplyPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GroupTitlesReplyPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GroupTitlesReplyPacket {
        /// C# member: `F:LibreMetaverse.Packets.GroupTitlesReplyPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupTitlesReplyPacket.AgentDataBlock LibreMetaverse.Packets.GroupTitlesReplyPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::GroupTitlesReplyPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.GroupTitlesReplyPacket.GroupData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupTitlesReplyPacket.GroupDataBlock[] LibreMetaverse.Packets.GroupTitlesReplyPacket.GroupData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_data: Vec<libremetaverse::packets::GroupTitlesReplyPacketGroupDataBlock>,
    }
    impl GroupTitlesReplyPacket {
        /// C# member: `M:LibreMetaverse.Packets.GroupTitlesReplyPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupTitlesReplyPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupTitlesReplyPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupTitlesReplyPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupTitlesReplyPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupTitlesReplyPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupTitlesReplyPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupTitlesReplyPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupTitlesReplyPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupTitlesReplyPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupTitlesReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupTitlesReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupTitlesReplyPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GroupTitlesReplyPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupTitlesReplyPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GroupTitlesReplyPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupTitlesReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GroupTitlesReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupTitlesReplyPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.GroupTitlesReplyPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupTitlesReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.GroupTitlesReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupTitlesReplyPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupTitlesReplyPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupTitlesReplyPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.GroupTitlesReplyPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GroupTitlesReplyPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GroupTitlesReplyPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GroupTitlesReplyPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.GroupTitlesReplyPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupTitlesReplyPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.GroupTitlesReplyPacket.AgentDataBlock.GroupID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupTitlesReplyPacket.AgentDataBlock.GroupID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.GroupTitlesReplyPacket.AgentDataBlock.RequestID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupTitlesReplyPacket.AgentDataBlock.RequestID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub request_id: libremetaverse_types::UUID,
    }
    impl GroupTitlesReplyPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.GroupTitlesReplyPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupTitlesReplyPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupTitlesReplyPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupTitlesReplyPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupTitlesReplyPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupTitlesReplyPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupTitlesReplyPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupTitlesReplyPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupTitlesReplyPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupTitlesReplyPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupTitlesReplyPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GroupTitlesReplyPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupTitlesReplyPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupTitlesReplyPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GroupTitlesReplyPacket.GroupDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GroupTitlesReplyPacket.GroupDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GroupTitlesReplyPacketGroupDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.GroupTitlesReplyPacket.GroupDataBlock.RoleID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupTitlesReplyPacket.GroupDataBlock.RoleID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub role_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.GroupTitlesReplyPacket.GroupDataBlock.Selected`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.GroupTitlesReplyPacket.GroupDataBlock.Selected`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub selected: bool,
        /// C# member: `F:LibreMetaverse.Packets.GroupTitlesReplyPacket.GroupDataBlock.Title`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GroupTitlesReplyPacket.GroupDataBlock.Title`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub title: Vec<u8>,
    }
    impl GroupTitlesReplyPacketGroupDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.GroupTitlesReplyPacket.GroupDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupTitlesReplyPacket.GroupDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupTitlesReplyPacket.GroupDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupTitlesReplyPacket.GroupDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupTitlesReplyPacket.GroupDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupTitlesReplyPacket.GroupDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupTitlesReplyPacket.GroupDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupTitlesReplyPacket.GroupDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupTitlesReplyPacket.GroupDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupTitlesReplyPacket.GroupDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupTitlesReplyPacket.GroupDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GroupTitlesReplyPacket.GroupDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupTitlesReplyPacket.GroupDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupTitlesReplyPacket.GroupDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GroupTitlesRequestPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GroupTitlesRequestPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GroupTitlesRequestPacket {
        /// C# member: `F:LibreMetaverse.Packets.GroupTitlesRequestPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupTitlesRequestPacket.AgentDataBlock LibreMetaverse.Packets.GroupTitlesRequestPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::GroupTitlesRequestPacketAgentDataBlock,
    }
    impl GroupTitlesRequestPacket {
        /// C# member: `M:LibreMetaverse.Packets.GroupTitlesRequestPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupTitlesRequestPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupTitlesRequestPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupTitlesRequestPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupTitlesRequestPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupTitlesRequestPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupTitlesRequestPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupTitlesRequestPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupTitlesRequestPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupTitlesRequestPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupTitlesRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupTitlesRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupTitlesRequestPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GroupTitlesRequestPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupTitlesRequestPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GroupTitlesRequestPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupTitlesRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GroupTitlesRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupTitlesRequestPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.GroupTitlesRequestPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupTitlesRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.GroupTitlesRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupTitlesRequestPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupTitlesRequestPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupTitlesRequestPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.GroupTitlesRequestPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GroupTitlesRequestPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GroupTitlesRequestPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GroupTitlesRequestPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.GroupTitlesRequestPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupTitlesRequestPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.GroupTitlesRequestPacket.AgentDataBlock.GroupID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupTitlesRequestPacket.AgentDataBlock.GroupID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.GroupTitlesRequestPacket.AgentDataBlock.RequestID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupTitlesRequestPacket.AgentDataBlock.RequestID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub request_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.GroupTitlesRequestPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupTitlesRequestPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl GroupTitlesRequestPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.GroupTitlesRequestPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupTitlesRequestPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupTitlesRequestPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupTitlesRequestPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupTitlesRequestPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupTitlesRequestPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupTitlesRequestPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupTitlesRequestPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupTitlesRequestPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupTitlesRequestPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupTitlesRequestPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GroupTitlesRequestPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupTitlesRequestPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupTitlesRequestPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GroupVoteHistoryItemReplyPacket {
        /// C# member: `F:LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.AgentDataBlock LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::GroupVoteHistoryItemReplyPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.HistoryItemData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.HistoryItemDataBlock LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.HistoryItemData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub history_item_data:
            libremetaverse::packets::GroupVoteHistoryItemReplyPacketHistoryItemDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.TransactionData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.TransactionDataBlock LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.TransactionData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub transaction_data:
            libremetaverse::packets::GroupVoteHistoryItemReplyPacketTransactionDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.VoteItem`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.VoteItemBlock[] LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.VoteItem`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub vote_item: Vec<libremetaverse::packets::GroupVoteHistoryItemReplyPacketVoteItemBlock>,
    }
    impl GroupVoteHistoryItemReplyPacket {
        /// C# member: `M:LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GroupVoteHistoryItemReplyPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.AgentDataBlock.GroupID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.AgentDataBlock.GroupID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_id: libremetaverse_types::UUID,
    }
    impl GroupVoteHistoryItemReplyPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.HistoryItemDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.HistoryItemDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GroupVoteHistoryItemReplyPacketHistoryItemDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.HistoryItemDataBlock.EndDateTime`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.HistoryItemDataBlock.EndDateTime`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub end_date_time: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.HistoryItemDataBlock.Majority`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.HistoryItemDataBlock.Majority`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub majority: f32,
        /// C# member: `F:LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.HistoryItemDataBlock.ProposalText`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.HistoryItemDataBlock.ProposalText`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub proposal_text: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.HistoryItemDataBlock.Quorum`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.HistoryItemDataBlock.Quorum`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub quorum: i32,
        /// C# member: `F:LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.HistoryItemDataBlock.StartDateTime`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.HistoryItemDataBlock.StartDateTime`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub start_date_time: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.HistoryItemDataBlock.TerseDateID`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.HistoryItemDataBlock.TerseDateID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub terse_date_id: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.HistoryItemDataBlock.VoteID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.HistoryItemDataBlock.VoteID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub vote_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.HistoryItemDataBlock.VoteInitiator`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.HistoryItemDataBlock.VoteInitiator`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub vote_initiator: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.HistoryItemDataBlock.VoteResult`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.HistoryItemDataBlock.VoteResult`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub vote_result: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.HistoryItemDataBlock.VoteType`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.HistoryItemDataBlock.VoteType`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub vote_type: Vec<u8>,
    }
    impl GroupVoteHistoryItemReplyPacketHistoryItemDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.HistoryItemDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.HistoryItemDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.HistoryItemDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.HistoryItemDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.HistoryItemDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.HistoryItemDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.HistoryItemDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.HistoryItemDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.HistoryItemDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.HistoryItemDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.HistoryItemDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.HistoryItemDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.HistoryItemDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.HistoryItemDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.TransactionDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.TransactionDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GroupVoteHistoryItemReplyPacketTransactionDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.TransactionDataBlock.TotalNumItems`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.TransactionDataBlock.TotalNumItems`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub total_num_items: u32,
        /// C# member: `F:LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.TransactionDataBlock.TransactionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.TransactionDataBlock.TransactionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub transaction_id: libremetaverse_types::UUID,
    }
    impl GroupVoteHistoryItemReplyPacketTransactionDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.TransactionDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.TransactionDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.TransactionDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.TransactionDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.TransactionDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.TransactionDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.TransactionDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.TransactionDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.TransactionDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.TransactionDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.TransactionDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.TransactionDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.TransactionDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.TransactionDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.VoteItemBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.VoteItemBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GroupVoteHistoryItemReplyPacketVoteItemBlock {
        /// C# member: `F:LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.VoteItemBlock.CandidateID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.VoteItemBlock.CandidateID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub candidate_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.VoteItemBlock.NumVotes`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.VoteItemBlock.NumVotes`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub num_votes: i32,
        /// C# member: `F:LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.VoteItemBlock.VoteCast`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.VoteItemBlock.VoteCast`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub vote_cast: Vec<u8>,
    }
    impl GroupVoteHistoryItemReplyPacketVoteItemBlock {
        /// C# member: `M:LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.VoteItemBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.VoteItemBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.VoteItemBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.VoteItemBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.VoteItemBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.VoteItemBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.VoteItemBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.VoteItemBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.VoteItemBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.VoteItemBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.VoteItemBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.VoteItemBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.VoteItemBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupVoteHistoryItemReplyPacket.VoteItemBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GroupVoteHistoryRequestPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GroupVoteHistoryRequestPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GroupVoteHistoryRequestPacket {
        /// C# member: `F:LibreMetaverse.Packets.GroupVoteHistoryRequestPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupVoteHistoryRequestPacket.AgentDataBlock LibreMetaverse.Packets.GroupVoteHistoryRequestPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::GroupVoteHistoryRequestPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.GroupVoteHistoryRequestPacket.GroupData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupVoteHistoryRequestPacket.GroupDataBlock LibreMetaverse.Packets.GroupVoteHistoryRequestPacket.GroupData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_data: libremetaverse::packets::GroupVoteHistoryRequestPacketGroupDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.GroupVoteHistoryRequestPacket.TransactionData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupVoteHistoryRequestPacket.TransactionDataBlock LibreMetaverse.Packets.GroupVoteHistoryRequestPacket.TransactionData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub transaction_data:
            libremetaverse::packets::GroupVoteHistoryRequestPacketTransactionDataBlock,
    }
    impl GroupVoteHistoryRequestPacket {
        /// C# member: `M:LibreMetaverse.Packets.GroupVoteHistoryRequestPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupVoteHistoryRequestPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupVoteHistoryRequestPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupVoteHistoryRequestPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupVoteHistoryRequestPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupVoteHistoryRequestPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupVoteHistoryRequestPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupVoteHistoryRequestPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupVoteHistoryRequestPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupVoteHistoryRequestPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupVoteHistoryRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupVoteHistoryRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupVoteHistoryRequestPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GroupVoteHistoryRequestPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupVoteHistoryRequestPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GroupVoteHistoryRequestPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupVoteHistoryRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.GroupVoteHistoryRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupVoteHistoryRequestPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.GroupVoteHistoryRequestPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupVoteHistoryRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.GroupVoteHistoryRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupVoteHistoryRequestPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupVoteHistoryRequestPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupVoteHistoryRequestPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.GroupVoteHistoryRequestPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GroupVoteHistoryRequestPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GroupVoteHistoryRequestPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GroupVoteHistoryRequestPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.GroupVoteHistoryRequestPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupVoteHistoryRequestPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.GroupVoteHistoryRequestPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupVoteHistoryRequestPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl GroupVoteHistoryRequestPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.GroupVoteHistoryRequestPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupVoteHistoryRequestPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupVoteHistoryRequestPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupVoteHistoryRequestPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupVoteHistoryRequestPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupVoteHistoryRequestPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupVoteHistoryRequestPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupVoteHistoryRequestPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupVoteHistoryRequestPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupVoteHistoryRequestPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupVoteHistoryRequestPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GroupVoteHistoryRequestPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupVoteHistoryRequestPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupVoteHistoryRequestPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GroupVoteHistoryRequestPacket.GroupDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GroupVoteHistoryRequestPacket.GroupDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GroupVoteHistoryRequestPacketGroupDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.GroupVoteHistoryRequestPacket.GroupDataBlock.GroupID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupVoteHistoryRequestPacket.GroupDataBlock.GroupID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_id: libremetaverse_types::UUID,
    }
    impl GroupVoteHistoryRequestPacketGroupDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.GroupVoteHistoryRequestPacket.GroupDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupVoteHistoryRequestPacket.GroupDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupVoteHistoryRequestPacket.GroupDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupVoteHistoryRequestPacket.GroupDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupVoteHistoryRequestPacket.GroupDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupVoteHistoryRequestPacket.GroupDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupVoteHistoryRequestPacket.GroupDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupVoteHistoryRequestPacket.GroupDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupVoteHistoryRequestPacket.GroupDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupVoteHistoryRequestPacket.GroupDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupVoteHistoryRequestPacket.GroupDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GroupVoteHistoryRequestPacket.GroupDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupVoteHistoryRequestPacket.GroupDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupVoteHistoryRequestPacket.GroupDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.GroupVoteHistoryRequestPacket.TransactionDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.GroupVoteHistoryRequestPacket.TransactionDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct GroupVoteHistoryRequestPacketTransactionDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.GroupVoteHistoryRequestPacket.TransactionDataBlock.TransactionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.GroupVoteHistoryRequestPacket.TransactionDataBlock.TransactionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub transaction_id: libremetaverse_types::UUID,
    }
    impl GroupVoteHistoryRequestPacketTransactionDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.GroupVoteHistoryRequestPacket.TransactionDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupVoteHistoryRequestPacket.TransactionDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupVoteHistoryRequestPacket.TransactionDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.GroupVoteHistoryRequestPacket.TransactionDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupVoteHistoryRequestPacket.TransactionDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupVoteHistoryRequestPacket.TransactionDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupVoteHistoryRequestPacket.TransactionDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupVoteHistoryRequestPacket.TransactionDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupVoteHistoryRequestPacket.TransactionDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.GroupVoteHistoryRequestPacket.TransactionDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.GroupVoteHistoryRequestPacket.TransactionDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.GroupVoteHistoryRequestPacket.TransactionDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.GroupVoteHistoryRequestPacket.TransactionDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.GroupVoteHistoryRequestPacket.TransactionDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.Header`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.Header` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct Header {
        /// C# member: `F:LibreMetaverse.Packets.Header.AckList`.
        ///
        /// C# signature: `System.UInt32[] LibreMetaverse.Packets.Header.AckList`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub ack_list: Option<Vec<u32>>,
        /// C# member: `F:LibreMetaverse.Packets.Header.AppendedAcks`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.Header.AppendedAcks`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub appended_acks: bool,
        /// C# member: `F:LibreMetaverse.Packets.Header.Frequency`.
        ///
        /// C# signature: `LibreMetaverse.PacketFrequency LibreMetaverse.Packets.Header.Frequency`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub frequency: libremetaverse::PacketFrequency,
        /// C# member: `F:LibreMetaverse.Packets.Header.ID`.
        ///
        /// C# signature: `System.UInt16 LibreMetaverse.Packets.Header.ID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub id: u16,
        /// C# member: `F:LibreMetaverse.Packets.Header.Reliable`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.Header.Reliable`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub reliable: bool,
        /// C# member: `F:LibreMetaverse.Packets.Header.Resent`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.Header.Resent`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub resent: bool,
        /// C# member: `F:LibreMetaverse.Packets.Header.Sequence`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.Header.Sequence`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub sequence: u32,
        /// C# member: `F:LibreMetaverse.Packets.Header.Zerocoded`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.Header.Zerocoded`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub zerocoded: bool,
    }
    impl Header {
        /// C# member: `M:LibreMetaverse.Packets.Header.AcksToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.Header.AcksToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn acks_to_bytes(&mut self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            crate::packet_wire::acks_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.Header.BuildHeader(System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.Header LibreMetaverse.Packets.Header.BuildHeader(System.Byte[] bytes, ref System.Int32& pos, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn build_header(
            bytes: Vec<u8>,
            pos: &mut i32,
            packet_end: &mut i32,
        ) -> Result<libremetaverse::packets::Header, crate::Error> {
            /* reviewed native compatibility body */
            crate::packet_wire::decode_header(&bytes, pos, packet_end)
        }
        /// C# member: `M:LibreMetaverse.Packets.Header.FromBytes(System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.Header.FromBytes(System.Byte[] bytes, ref System.Int32& pos, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(
            &mut self,
            bytes: Vec<u8>,
            pos: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            {
                *self = crate::packet_wire::decode_header(&bytes, pos, packet_end)?;
                Ok(())
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.Header.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.Header.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            crate::packet_wire::header_to_slice(self, bytes, i)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.HealthMessagePacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.HealthMessagePacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct HealthMessagePacket {
        /// C# member: `F:LibreMetaverse.Packets.HealthMessagePacket.HealthData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.HealthMessagePacket.HealthDataBlock LibreMetaverse.Packets.HealthMessagePacket.HealthData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub health_data: libremetaverse::packets::HealthMessagePacketHealthDataBlock,
    }
    impl HealthMessagePacket {
        /// C# member: `M:LibreMetaverse.Packets.HealthMessagePacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.HealthMessagePacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.HealthMessagePacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.HealthMessagePacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.HealthMessagePacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.HealthMessagePacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.HealthMessagePacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.HealthMessagePacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.HealthMessagePacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.HealthMessagePacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.HealthMessagePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.HealthMessagePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.HealthMessagePacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.HealthMessagePacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.HealthMessagePacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.HealthMessagePacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.HealthMessagePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.HealthMessagePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.HealthMessagePacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.HealthMessagePacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.HealthMessagePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.HealthMessagePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.HealthMessagePacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.HealthMessagePacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.HealthMessagePacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.HealthMessagePacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.HealthMessagePacket.HealthDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.HealthMessagePacket.HealthDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct HealthMessagePacketHealthDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.HealthMessagePacket.HealthDataBlock.Health`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.HealthMessagePacket.HealthDataBlock.Health`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub health: f32,
    }
    impl HealthMessagePacketHealthDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.HealthMessagePacket.HealthDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.HealthMessagePacket.HealthDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.HealthMessagePacket.HealthDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.HealthMessagePacket.HealthDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.HealthMessagePacket.HealthDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.HealthMessagePacket.HealthDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.HealthMessagePacket.HealthDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.HealthMessagePacket.HealthDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.HealthMessagePacket.HealthDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.HealthMessagePacket.HealthDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.HealthMessagePacket.HealthDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.HealthMessagePacket.HealthDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.HealthMessagePacket.HealthDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.HealthMessagePacket.HealthDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ImageDataPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ImageDataPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ImageDataPacket {
        /// C# member: `F:LibreMetaverse.Packets.ImageDataPacket.ImageData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ImageDataPacket.ImageDataBlock LibreMetaverse.Packets.ImageDataPacket.ImageData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub image_data: libremetaverse::packets::ImageDataPacketImageDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.ImageDataPacket.ImageID`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ImageDataPacket.ImageIDBlock LibreMetaverse.Packets.ImageDataPacket.ImageID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub image_id: libremetaverse::packets::ImageDataPacketImageIDBlock,
    }
    impl ImageDataPacket {
        /// C# member: `M:LibreMetaverse.Packets.ImageDataPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ImageDataPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ImageDataPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ImageDataPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ImageDataPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ImageDataPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ImageDataPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ImageDataPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ImageDataPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ImageDataPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ImageDataPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ImageDataPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ImageDataPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ImageDataPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ImageDataPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ImageDataPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ImageDataPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ImageDataPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ImageDataPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ImageDataPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ImageDataPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ImageDataPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ImageDataPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ImageDataPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ImageDataPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ImageDataPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ImageDataPacket.ImageDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ImageDataPacket.ImageDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ImageDataPacketImageDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ImageDataPacket.ImageDataBlock.Data`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ImageDataPacket.ImageDataBlock.Data`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub data: Vec<u8>,
    }
    impl ImageDataPacketImageDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ImageDataPacket.ImageDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ImageDataPacket.ImageDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ImageDataPacket.ImageDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ImageDataPacket.ImageDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ImageDataPacket.ImageDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ImageDataPacket.ImageDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ImageDataPacket.ImageDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ImageDataPacket.ImageDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ImageDataPacket.ImageDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ImageDataPacket.ImageDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ImageDataPacket.ImageDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ImageDataPacket.ImageDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ImageDataPacket.ImageDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ImageDataPacket.ImageDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ImageDataPacket.ImageIDBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ImageDataPacket.ImageIDBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ImageDataPacketImageIDBlock {
        /// C# member: `F:LibreMetaverse.Packets.ImageDataPacket.ImageIDBlock.Codec`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.ImageDataPacket.ImageIDBlock.Codec`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub codec: u8,
        /// C# member: `F:LibreMetaverse.Packets.ImageDataPacket.ImageIDBlock.ID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ImageDataPacket.ImageIDBlock.ID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ImageDataPacket.ImageIDBlock.Packets`.
        ///
        /// C# signature: `System.UInt16 LibreMetaverse.Packets.ImageDataPacket.ImageIDBlock.Packets`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub packets: u16,
        /// C# member: `F:LibreMetaverse.Packets.ImageDataPacket.ImageIDBlock.Size`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ImageDataPacket.ImageIDBlock.Size`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub size: u32,
    }
    impl ImageDataPacketImageIDBlock {
        /// C# member: `M:LibreMetaverse.Packets.ImageDataPacket.ImageIDBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ImageDataPacket.ImageIDBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ImageDataPacket.ImageIDBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ImageDataPacket.ImageIDBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ImageDataPacket.ImageIDBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ImageDataPacket.ImageIDBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ImageDataPacket.ImageIDBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ImageDataPacket.ImageIDBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ImageDataPacket.ImageIDBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ImageDataPacket.ImageIDBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ImageDataPacket.ImageIDBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ImageDataPacket.ImageIDBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ImageDataPacket.ImageIDBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ImageDataPacket.ImageIDBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ImageNotInDatabasePacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ImageNotInDatabasePacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ImageNotInDatabasePacket {
        /// C# member: `F:LibreMetaverse.Packets.ImageNotInDatabasePacket.ImageID`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ImageNotInDatabasePacket.ImageIDBlock LibreMetaverse.Packets.ImageNotInDatabasePacket.ImageID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub image_id: libremetaverse::packets::ImageNotInDatabasePacketImageIDBlock,
    }
    impl ImageNotInDatabasePacket {
        /// C# member: `M:LibreMetaverse.Packets.ImageNotInDatabasePacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ImageNotInDatabasePacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ImageNotInDatabasePacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ImageNotInDatabasePacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ImageNotInDatabasePacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ImageNotInDatabasePacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ImageNotInDatabasePacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ImageNotInDatabasePacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ImageNotInDatabasePacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ImageNotInDatabasePacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ImageNotInDatabasePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ImageNotInDatabasePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ImageNotInDatabasePacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ImageNotInDatabasePacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ImageNotInDatabasePacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ImageNotInDatabasePacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ImageNotInDatabasePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ImageNotInDatabasePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ImageNotInDatabasePacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ImageNotInDatabasePacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ImageNotInDatabasePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ImageNotInDatabasePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ImageNotInDatabasePacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ImageNotInDatabasePacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ImageNotInDatabasePacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ImageNotInDatabasePacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ImageNotInDatabasePacket.ImageIDBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ImageNotInDatabasePacket.ImageIDBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ImageNotInDatabasePacketImageIDBlock {
        /// C# member: `F:LibreMetaverse.Packets.ImageNotInDatabasePacket.ImageIDBlock.ID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ImageNotInDatabasePacket.ImageIDBlock.ID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub id: libremetaverse_types::UUID,
    }
    impl ImageNotInDatabasePacketImageIDBlock {
        /// C# member: `M:LibreMetaverse.Packets.ImageNotInDatabasePacket.ImageIDBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ImageNotInDatabasePacket.ImageIDBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ImageNotInDatabasePacket.ImageIDBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ImageNotInDatabasePacket.ImageIDBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ImageNotInDatabasePacket.ImageIDBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ImageNotInDatabasePacket.ImageIDBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ImageNotInDatabasePacket.ImageIDBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ImageNotInDatabasePacket.ImageIDBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ImageNotInDatabasePacket.ImageIDBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ImageNotInDatabasePacket.ImageIDBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ImageNotInDatabasePacket.ImageIDBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ImageNotInDatabasePacket.ImageIDBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ImageNotInDatabasePacket.ImageIDBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ImageNotInDatabasePacket.ImageIDBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ImagePacketPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ImagePacketPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ImagePacketPacket {
        /// C# member: `F:LibreMetaverse.Packets.ImagePacketPacket.ImageData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ImagePacketPacket.ImageDataBlock LibreMetaverse.Packets.ImagePacketPacket.ImageData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub image_data: libremetaverse::packets::ImagePacketPacketImageDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.ImagePacketPacket.ImageID`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ImagePacketPacket.ImageIDBlock LibreMetaverse.Packets.ImagePacketPacket.ImageID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub image_id: libremetaverse::packets::ImagePacketPacketImageIDBlock,
    }
    impl ImagePacketPacket {
        /// C# member: `M:LibreMetaverse.Packets.ImagePacketPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ImagePacketPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ImagePacketPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ImagePacketPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ImagePacketPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ImagePacketPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ImagePacketPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ImagePacketPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ImagePacketPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ImagePacketPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ImagePacketPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ImagePacketPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ImagePacketPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ImagePacketPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ImagePacketPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ImagePacketPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ImagePacketPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ImagePacketPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ImagePacketPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ImagePacketPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ImagePacketPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ImagePacketPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ImagePacketPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ImagePacketPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ImagePacketPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ImagePacketPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ImagePacketPacket.ImageDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ImagePacketPacket.ImageDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ImagePacketPacketImageDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ImagePacketPacket.ImageDataBlock.Data`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ImagePacketPacket.ImageDataBlock.Data`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub data: Vec<u8>,
    }
    impl ImagePacketPacketImageDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ImagePacketPacket.ImageDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ImagePacketPacket.ImageDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ImagePacketPacket.ImageDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ImagePacketPacket.ImageDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ImagePacketPacket.ImageDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ImagePacketPacket.ImageDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ImagePacketPacket.ImageDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ImagePacketPacket.ImageDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ImagePacketPacket.ImageDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ImagePacketPacket.ImageDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ImagePacketPacket.ImageDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ImagePacketPacket.ImageDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ImagePacketPacket.ImageDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ImagePacketPacket.ImageDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ImagePacketPacket.ImageIDBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ImagePacketPacket.ImageIDBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ImagePacketPacketImageIDBlock {
        /// C# member: `F:LibreMetaverse.Packets.ImagePacketPacket.ImageIDBlock.ID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ImagePacketPacket.ImageIDBlock.ID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ImagePacketPacket.ImageIDBlock.Packet`.
        ///
        /// C# signature: `System.UInt16 LibreMetaverse.Packets.ImagePacketPacket.ImageIDBlock.Packet`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub packet: u16,
    }
    impl ImagePacketPacketImageIDBlock {
        /// C# member: `M:LibreMetaverse.Packets.ImagePacketPacket.ImageIDBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ImagePacketPacket.ImageIDBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ImagePacketPacket.ImageIDBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ImagePacketPacket.ImageIDBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ImagePacketPacket.ImageIDBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ImagePacketPacket.ImageIDBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ImagePacketPacket.ImageIDBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ImagePacketPacket.ImageIDBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ImagePacketPacket.ImageIDBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ImagePacketPacket.ImageIDBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ImagePacketPacket.ImageIDBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ImagePacketPacket.ImageIDBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ImagePacketPacket.ImageIDBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ImagePacketPacket.ImageIDBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ImprovedInstantMessagePacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ImprovedInstantMessagePacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ImprovedInstantMessagePacket {
        /// C# member: `F:LibreMetaverse.Packets.ImprovedInstantMessagePacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ImprovedInstantMessagePacket.AgentDataBlock LibreMetaverse.Packets.ImprovedInstantMessagePacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::ImprovedInstantMessagePacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.ImprovedInstantMessagePacket.EstateBlock`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ImprovedInstantMessagePacket.EstateBlockBlock LibreMetaverse.Packets.ImprovedInstantMessagePacket.EstateBlock`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub estate_block: libremetaverse::packets::ImprovedInstantMessagePacketEstateBlockBlock,
        /// C# member: `F:LibreMetaverse.Packets.ImprovedInstantMessagePacket.MessageBlock`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ImprovedInstantMessagePacket.MessageBlockBlock LibreMetaverse.Packets.ImprovedInstantMessagePacket.MessageBlock`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub message_block: libremetaverse::packets::ImprovedInstantMessagePacketMessageBlockBlock,
        /// C# member: `F:LibreMetaverse.Packets.ImprovedInstantMessagePacket.MetaData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ImprovedInstantMessagePacket.MetaDataBlock[] LibreMetaverse.Packets.ImprovedInstantMessagePacket.MetaData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub meta_data: Vec<libremetaverse::packets::ImprovedInstantMessagePacketMetaDataBlock>,
    }
    impl ImprovedInstantMessagePacket {
        /// C# member: `M:LibreMetaverse.Packets.ImprovedInstantMessagePacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ImprovedInstantMessagePacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ImprovedInstantMessagePacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ImprovedInstantMessagePacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ImprovedInstantMessagePacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ImprovedInstantMessagePacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ImprovedInstantMessagePacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ImprovedInstantMessagePacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ImprovedInstantMessagePacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ImprovedInstantMessagePacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ImprovedInstantMessagePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ImprovedInstantMessagePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ImprovedInstantMessagePacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ImprovedInstantMessagePacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ImprovedInstantMessagePacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ImprovedInstantMessagePacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ImprovedInstantMessagePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ImprovedInstantMessagePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ImprovedInstantMessagePacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ImprovedInstantMessagePacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ImprovedInstantMessagePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ImprovedInstantMessagePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ImprovedInstantMessagePacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ImprovedInstantMessagePacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ImprovedInstantMessagePacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ImprovedInstantMessagePacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ImprovedInstantMessagePacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ImprovedInstantMessagePacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ImprovedInstantMessagePacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ImprovedInstantMessagePacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ImprovedInstantMessagePacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ImprovedInstantMessagePacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ImprovedInstantMessagePacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl ImprovedInstantMessagePacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ImprovedInstantMessagePacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ImprovedInstantMessagePacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ImprovedInstantMessagePacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ImprovedInstantMessagePacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ImprovedInstantMessagePacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ImprovedInstantMessagePacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ImprovedInstantMessagePacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ImprovedInstantMessagePacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ImprovedInstantMessagePacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ImprovedInstantMessagePacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ImprovedInstantMessagePacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ImprovedInstantMessagePacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ImprovedInstantMessagePacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ImprovedInstantMessagePacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ImprovedInstantMessagePacket.EstateBlockBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ImprovedInstantMessagePacket.EstateBlockBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ImprovedInstantMessagePacketEstateBlockBlock {
        /// C# member: `F:LibreMetaverse.Packets.ImprovedInstantMessagePacket.EstateBlockBlock.EstateID`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ImprovedInstantMessagePacket.EstateBlockBlock.EstateID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub estate_id: u32,
    }
    impl ImprovedInstantMessagePacketEstateBlockBlock {
        /// C# member: `M:LibreMetaverse.Packets.ImprovedInstantMessagePacket.EstateBlockBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ImprovedInstantMessagePacket.EstateBlockBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ImprovedInstantMessagePacket.EstateBlockBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ImprovedInstantMessagePacket.EstateBlockBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ImprovedInstantMessagePacket.EstateBlockBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ImprovedInstantMessagePacket.EstateBlockBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ImprovedInstantMessagePacket.EstateBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ImprovedInstantMessagePacket.EstateBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ImprovedInstantMessagePacket.EstateBlockBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ImprovedInstantMessagePacket.EstateBlockBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ImprovedInstantMessagePacket.EstateBlockBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ImprovedInstantMessagePacket.EstateBlockBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ImprovedInstantMessagePacket.EstateBlockBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ImprovedInstantMessagePacket.EstateBlockBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ImprovedInstantMessagePacket.MessageBlockBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ImprovedInstantMessagePacket.MessageBlockBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ImprovedInstantMessagePacketMessageBlockBlock {
        /// C# member: `F:LibreMetaverse.Packets.ImprovedInstantMessagePacket.MessageBlockBlock.BinaryBucket`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ImprovedInstantMessagePacket.MessageBlockBlock.BinaryBucket`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub binary_bucket: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.ImprovedInstantMessagePacket.MessageBlockBlock.Dialog`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.ImprovedInstantMessagePacket.MessageBlockBlock.Dialog`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub dialog: u8,
        /// C# member: `F:LibreMetaverse.Packets.ImprovedInstantMessagePacket.MessageBlockBlock.FromAgentName`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ImprovedInstantMessagePacket.MessageBlockBlock.FromAgentName`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub from_agent_name: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.ImprovedInstantMessagePacket.MessageBlockBlock.FromGroup`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ImprovedInstantMessagePacket.MessageBlockBlock.FromGroup`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub from_group: bool,
        /// C# member: `F:LibreMetaverse.Packets.ImprovedInstantMessagePacket.MessageBlockBlock.ID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ImprovedInstantMessagePacket.MessageBlockBlock.ID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ImprovedInstantMessagePacket.MessageBlockBlock.Message`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ImprovedInstantMessagePacket.MessageBlockBlock.Message`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub message: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.ImprovedInstantMessagePacket.MessageBlockBlock.Offline`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.ImprovedInstantMessagePacket.MessageBlockBlock.Offline`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub offline: u8,
        /// C# member: `F:LibreMetaverse.Packets.ImprovedInstantMessagePacket.MessageBlockBlock.ParentEstateID`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ImprovedInstantMessagePacket.MessageBlockBlock.ParentEstateID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub parent_estate_id: u32,
        /// C# member: `F:LibreMetaverse.Packets.ImprovedInstantMessagePacket.MessageBlockBlock.Position`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Packets.ImprovedInstantMessagePacket.MessageBlockBlock.Position`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub position: libremetaverse_types::Vector3,
        /// C# member: `F:LibreMetaverse.Packets.ImprovedInstantMessagePacket.MessageBlockBlock.RegionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ImprovedInstantMessagePacket.MessageBlockBlock.RegionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub region_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ImprovedInstantMessagePacket.MessageBlockBlock.Timestamp`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ImprovedInstantMessagePacket.MessageBlockBlock.Timestamp`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub timestamp: u32,
        /// C# member: `F:LibreMetaverse.Packets.ImprovedInstantMessagePacket.MessageBlockBlock.ToAgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ImprovedInstantMessagePacket.MessageBlockBlock.ToAgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub to_agent_id: libremetaverse_types::UUID,
    }
    impl ImprovedInstantMessagePacketMessageBlockBlock {
        /// C# member: `M:LibreMetaverse.Packets.ImprovedInstantMessagePacket.MessageBlockBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ImprovedInstantMessagePacket.MessageBlockBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ImprovedInstantMessagePacket.MessageBlockBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ImprovedInstantMessagePacket.MessageBlockBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ImprovedInstantMessagePacket.MessageBlockBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ImprovedInstantMessagePacket.MessageBlockBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ImprovedInstantMessagePacket.MessageBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ImprovedInstantMessagePacket.MessageBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ImprovedInstantMessagePacket.MessageBlockBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ImprovedInstantMessagePacket.MessageBlockBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ImprovedInstantMessagePacket.MessageBlockBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ImprovedInstantMessagePacket.MessageBlockBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ImprovedInstantMessagePacket.MessageBlockBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ImprovedInstantMessagePacket.MessageBlockBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ImprovedInstantMessagePacket.MetaDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ImprovedInstantMessagePacket.MetaDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ImprovedInstantMessagePacketMetaDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ImprovedInstantMessagePacket.MetaDataBlock.Data`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ImprovedInstantMessagePacket.MetaDataBlock.Data`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub data: Vec<u8>,
    }
    impl ImprovedInstantMessagePacketMetaDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ImprovedInstantMessagePacket.MetaDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ImprovedInstantMessagePacket.MetaDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ImprovedInstantMessagePacket.MetaDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ImprovedInstantMessagePacket.MetaDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ImprovedInstantMessagePacket.MetaDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ImprovedInstantMessagePacket.MetaDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ImprovedInstantMessagePacket.MetaDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ImprovedInstantMessagePacket.MetaDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ImprovedInstantMessagePacket.MetaDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ImprovedInstantMessagePacket.MetaDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ImprovedInstantMessagePacket.MetaDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ImprovedInstantMessagePacket.MetaDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ImprovedInstantMessagePacket.MetaDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ImprovedInstantMessagePacket.MetaDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ImprovedTerseObjectUpdatePacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ImprovedTerseObjectUpdatePacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ImprovedTerseObjectUpdatePacket {
        /// C# member: `F:LibreMetaverse.Packets.ImprovedTerseObjectUpdatePacket.ObjectData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ImprovedTerseObjectUpdatePacket.ObjectDataBlock[] LibreMetaverse.Packets.ImprovedTerseObjectUpdatePacket.ObjectData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_data:
            Vec<libremetaverse::packets::ImprovedTerseObjectUpdatePacketObjectDataBlock>,
        /// C# member: `F:LibreMetaverse.Packets.ImprovedTerseObjectUpdatePacket.RegionData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ImprovedTerseObjectUpdatePacket.RegionDataBlock LibreMetaverse.Packets.ImprovedTerseObjectUpdatePacket.RegionData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub region_data: libremetaverse::packets::ImprovedTerseObjectUpdatePacketRegionDataBlock,
    }
    impl ImprovedTerseObjectUpdatePacket {
        /// C# member: `M:LibreMetaverse.Packets.ImprovedTerseObjectUpdatePacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ImprovedTerseObjectUpdatePacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ImprovedTerseObjectUpdatePacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ImprovedTerseObjectUpdatePacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ImprovedTerseObjectUpdatePacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ImprovedTerseObjectUpdatePacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ImprovedTerseObjectUpdatePacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ImprovedTerseObjectUpdatePacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ImprovedTerseObjectUpdatePacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ImprovedTerseObjectUpdatePacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ImprovedTerseObjectUpdatePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ImprovedTerseObjectUpdatePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ImprovedTerseObjectUpdatePacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ImprovedTerseObjectUpdatePacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ImprovedTerseObjectUpdatePacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ImprovedTerseObjectUpdatePacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ImprovedTerseObjectUpdatePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ImprovedTerseObjectUpdatePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ImprovedTerseObjectUpdatePacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ImprovedTerseObjectUpdatePacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ImprovedTerseObjectUpdatePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ImprovedTerseObjectUpdatePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ImprovedTerseObjectUpdatePacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ImprovedTerseObjectUpdatePacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ImprovedTerseObjectUpdatePacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ImprovedTerseObjectUpdatePacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ImprovedTerseObjectUpdatePacket.ObjectDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ImprovedTerseObjectUpdatePacket.ObjectDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ImprovedTerseObjectUpdatePacketObjectDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ImprovedTerseObjectUpdatePacket.ObjectDataBlock.Data`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ImprovedTerseObjectUpdatePacket.ObjectDataBlock.Data`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub data: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.ImprovedTerseObjectUpdatePacket.ObjectDataBlock.TextureEntry`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ImprovedTerseObjectUpdatePacket.ObjectDataBlock.TextureEntry`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub texture_entry: Vec<u8>,
    }
    impl ImprovedTerseObjectUpdatePacketObjectDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ImprovedTerseObjectUpdatePacket.ObjectDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ImprovedTerseObjectUpdatePacket.ObjectDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ImprovedTerseObjectUpdatePacket.ObjectDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ImprovedTerseObjectUpdatePacket.ObjectDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ImprovedTerseObjectUpdatePacket.ObjectDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ImprovedTerseObjectUpdatePacket.ObjectDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ImprovedTerseObjectUpdatePacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ImprovedTerseObjectUpdatePacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ImprovedTerseObjectUpdatePacket.ObjectDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ImprovedTerseObjectUpdatePacket.ObjectDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ImprovedTerseObjectUpdatePacket.ObjectDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ImprovedTerseObjectUpdatePacket.ObjectDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ImprovedTerseObjectUpdatePacket.ObjectDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ImprovedTerseObjectUpdatePacket.ObjectDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ImprovedTerseObjectUpdatePacket.RegionDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ImprovedTerseObjectUpdatePacket.RegionDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ImprovedTerseObjectUpdatePacketRegionDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ImprovedTerseObjectUpdatePacket.RegionDataBlock.RegionHandle`.
        ///
        /// C# signature: `System.UInt64 LibreMetaverse.Packets.ImprovedTerseObjectUpdatePacket.RegionDataBlock.RegionHandle`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub region_handle: u64,
        /// C# member: `F:LibreMetaverse.Packets.ImprovedTerseObjectUpdatePacket.RegionDataBlock.TimeDilation`.
        ///
        /// C# signature: `System.UInt16 LibreMetaverse.Packets.ImprovedTerseObjectUpdatePacket.RegionDataBlock.TimeDilation`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub time_dilation: u16,
    }
    impl ImprovedTerseObjectUpdatePacketRegionDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ImprovedTerseObjectUpdatePacket.RegionDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ImprovedTerseObjectUpdatePacket.RegionDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ImprovedTerseObjectUpdatePacket.RegionDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ImprovedTerseObjectUpdatePacket.RegionDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ImprovedTerseObjectUpdatePacket.RegionDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ImprovedTerseObjectUpdatePacket.RegionDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ImprovedTerseObjectUpdatePacket.RegionDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ImprovedTerseObjectUpdatePacket.RegionDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ImprovedTerseObjectUpdatePacket.RegionDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ImprovedTerseObjectUpdatePacket.RegionDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ImprovedTerseObjectUpdatePacket.RegionDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ImprovedTerseObjectUpdatePacket.RegionDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ImprovedTerseObjectUpdatePacket.RegionDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ImprovedTerseObjectUpdatePacket.RegionDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.InitiateDownloadPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.InitiateDownloadPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct InitiateDownloadPacket {
        /// C# member: `F:LibreMetaverse.Packets.InitiateDownloadPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.InitiateDownloadPacket.AgentDataBlock LibreMetaverse.Packets.InitiateDownloadPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::InitiateDownloadPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.InitiateDownloadPacket.FileData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.InitiateDownloadPacket.FileDataBlock LibreMetaverse.Packets.InitiateDownloadPacket.FileData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub file_data: libremetaverse::packets::InitiateDownloadPacketFileDataBlock,
    }
    impl InitiateDownloadPacket {
        /// C# member: `M:LibreMetaverse.Packets.InitiateDownloadPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.InitiateDownloadPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.InitiateDownloadPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.InitiateDownloadPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.InitiateDownloadPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.InitiateDownloadPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.InitiateDownloadPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.InitiateDownloadPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.InitiateDownloadPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.InitiateDownloadPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.InitiateDownloadPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.InitiateDownloadPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.InitiateDownloadPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.InitiateDownloadPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.InitiateDownloadPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.InitiateDownloadPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.InitiateDownloadPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.InitiateDownloadPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.InitiateDownloadPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.InitiateDownloadPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.InitiateDownloadPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.InitiateDownloadPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.InitiateDownloadPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.InitiateDownloadPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.InitiateDownloadPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.InitiateDownloadPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.InitiateDownloadPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.InitiateDownloadPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct InitiateDownloadPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.InitiateDownloadPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.InitiateDownloadPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
    }
    impl InitiateDownloadPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.InitiateDownloadPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.InitiateDownloadPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.InitiateDownloadPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.InitiateDownloadPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.InitiateDownloadPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.InitiateDownloadPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.InitiateDownloadPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.InitiateDownloadPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.InitiateDownloadPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.InitiateDownloadPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.InitiateDownloadPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.InitiateDownloadPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.InitiateDownloadPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.InitiateDownloadPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.InitiateDownloadPacket.FileDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.InitiateDownloadPacket.FileDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct InitiateDownloadPacketFileDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.InitiateDownloadPacket.FileDataBlock.SimFilename`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.InitiateDownloadPacket.FileDataBlock.SimFilename`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub sim_filename: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.InitiateDownloadPacket.FileDataBlock.ViewerFilename`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.InitiateDownloadPacket.FileDataBlock.ViewerFilename`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub viewer_filename: Vec<u8>,
    }
    impl InitiateDownloadPacketFileDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.InitiateDownloadPacket.FileDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.InitiateDownloadPacket.FileDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.InitiateDownloadPacket.FileDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.InitiateDownloadPacket.FileDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.InitiateDownloadPacket.FileDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.InitiateDownloadPacket.FileDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.InitiateDownloadPacket.FileDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.InitiateDownloadPacket.FileDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.InitiateDownloadPacket.FileDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.InitiateDownloadPacket.FileDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.InitiateDownloadPacket.FileDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.InitiateDownloadPacket.FileDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.InitiateDownloadPacket.FileDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.InitiateDownloadPacket.FileDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.InternalScriptMailPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.InternalScriptMailPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct InternalScriptMailPacket {
        /// C# member: `F:LibreMetaverse.Packets.InternalScriptMailPacket.DataBlock`.
        ///
        /// C# signature: `LibreMetaverse.Packets.InternalScriptMailPacket.DataBlockBlock LibreMetaverse.Packets.InternalScriptMailPacket.DataBlock`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub data_block: libremetaverse::packets::InternalScriptMailPacketDataBlockBlock,
    }
    impl InternalScriptMailPacket {
        /// C# member: `M:LibreMetaverse.Packets.InternalScriptMailPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.InternalScriptMailPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.InternalScriptMailPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.InternalScriptMailPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.InternalScriptMailPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.InternalScriptMailPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.InternalScriptMailPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.InternalScriptMailPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.InternalScriptMailPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.InternalScriptMailPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.InternalScriptMailPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.InternalScriptMailPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.InternalScriptMailPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.InternalScriptMailPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.InternalScriptMailPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.InternalScriptMailPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.InternalScriptMailPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.InternalScriptMailPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.InternalScriptMailPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.InternalScriptMailPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.InternalScriptMailPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.InternalScriptMailPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.InternalScriptMailPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.InternalScriptMailPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.InternalScriptMailPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.InternalScriptMailPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.InternalScriptMailPacket.DataBlockBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.InternalScriptMailPacket.DataBlockBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct InternalScriptMailPacketDataBlockBlock {
        /// C# member: `F:LibreMetaverse.Packets.InternalScriptMailPacket.DataBlockBlock.Body`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.InternalScriptMailPacket.DataBlockBlock.Body`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub body: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.InternalScriptMailPacket.DataBlockBlock.From`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.InternalScriptMailPacket.DataBlockBlock.From`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub from_: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.InternalScriptMailPacket.DataBlockBlock.Subject`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.InternalScriptMailPacket.DataBlockBlock.Subject`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub subject: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.InternalScriptMailPacket.DataBlockBlock.To`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.InternalScriptMailPacket.DataBlockBlock.To`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub to: libremetaverse_types::UUID,
    }
    impl InternalScriptMailPacketDataBlockBlock {
        /// C# member: `M:LibreMetaverse.Packets.InternalScriptMailPacket.DataBlockBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.InternalScriptMailPacket.DataBlockBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.InternalScriptMailPacket.DataBlockBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.InternalScriptMailPacket.DataBlockBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.InternalScriptMailPacket.DataBlockBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.InternalScriptMailPacket.DataBlockBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.InternalScriptMailPacket.DataBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.InternalScriptMailPacket.DataBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.InternalScriptMailPacket.DataBlockBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.InternalScriptMailPacket.DataBlockBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.InternalScriptMailPacket.DataBlockBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.InternalScriptMailPacket.DataBlockBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.InternalScriptMailPacket.DataBlockBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.InternalScriptMailPacket.DataBlockBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.InventoryAssetResponsePacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.InventoryAssetResponsePacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct InventoryAssetResponsePacket {
        /// C# member: `F:LibreMetaverse.Packets.InventoryAssetResponsePacket.QueryData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.InventoryAssetResponsePacket.QueryDataBlock LibreMetaverse.Packets.InventoryAssetResponsePacket.QueryData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub query_data: libremetaverse::packets::InventoryAssetResponsePacketQueryDataBlock,
    }
    impl InventoryAssetResponsePacket {
        /// C# member: `M:LibreMetaverse.Packets.InventoryAssetResponsePacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.InventoryAssetResponsePacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.InventoryAssetResponsePacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.InventoryAssetResponsePacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.InventoryAssetResponsePacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.InventoryAssetResponsePacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.InventoryAssetResponsePacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.InventoryAssetResponsePacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.InventoryAssetResponsePacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.InventoryAssetResponsePacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.InventoryAssetResponsePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.InventoryAssetResponsePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.InventoryAssetResponsePacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.InventoryAssetResponsePacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.InventoryAssetResponsePacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.InventoryAssetResponsePacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.InventoryAssetResponsePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.InventoryAssetResponsePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.InventoryAssetResponsePacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.InventoryAssetResponsePacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.InventoryAssetResponsePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.InventoryAssetResponsePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.InventoryAssetResponsePacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.InventoryAssetResponsePacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.InventoryAssetResponsePacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.InventoryAssetResponsePacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.InventoryAssetResponsePacket.QueryDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.InventoryAssetResponsePacket.QueryDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct InventoryAssetResponsePacketQueryDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.InventoryAssetResponsePacket.QueryDataBlock.AssetID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.InventoryAssetResponsePacket.QueryDataBlock.AssetID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub asset_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.InventoryAssetResponsePacket.QueryDataBlock.IsReadable`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.InventoryAssetResponsePacket.QueryDataBlock.IsReadable`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub is_readable: bool,
        /// C# member: `F:LibreMetaverse.Packets.InventoryAssetResponsePacket.QueryDataBlock.QueryID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.InventoryAssetResponsePacket.QueryDataBlock.QueryID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub query_id: libremetaverse_types::UUID,
    }
    impl InventoryAssetResponsePacketQueryDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.InventoryAssetResponsePacket.QueryDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.InventoryAssetResponsePacket.QueryDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.InventoryAssetResponsePacket.QueryDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.InventoryAssetResponsePacket.QueryDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.InventoryAssetResponsePacket.QueryDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.InventoryAssetResponsePacket.QueryDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.InventoryAssetResponsePacket.QueryDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.InventoryAssetResponsePacket.QueryDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.InventoryAssetResponsePacket.QueryDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.InventoryAssetResponsePacket.QueryDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.InventoryAssetResponsePacket.QueryDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.InventoryAssetResponsePacket.QueryDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.InventoryAssetResponsePacket.QueryDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.InventoryAssetResponsePacket.QueryDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.InventoryDescendentsPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.InventoryDescendentsPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct InventoryDescendentsPacket {
        /// C# member: `F:LibreMetaverse.Packets.InventoryDescendentsPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.InventoryDescendentsPacket.AgentDataBlock LibreMetaverse.Packets.InventoryDescendentsPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::InventoryDescendentsPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.InventoryDescendentsPacket.FolderData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.InventoryDescendentsPacket.FolderDataBlock[] LibreMetaverse.Packets.InventoryDescendentsPacket.FolderData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub folder_data: Vec<libremetaverse::packets::InventoryDescendentsPacketFolderDataBlock>,
        /// C# member: `F:LibreMetaverse.Packets.InventoryDescendentsPacket.ItemData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.InventoryDescendentsPacket.ItemDataBlock[] LibreMetaverse.Packets.InventoryDescendentsPacket.ItemData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub item_data: Vec<libremetaverse::packets::InventoryDescendentsPacketItemDataBlock>,
    }
    impl InventoryDescendentsPacket {
        /// C# member: `M:LibreMetaverse.Packets.InventoryDescendentsPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.InventoryDescendentsPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.InventoryDescendentsPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.InventoryDescendentsPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.InventoryDescendentsPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.InventoryDescendentsPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.InventoryDescendentsPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.InventoryDescendentsPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.InventoryDescendentsPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.InventoryDescendentsPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.InventoryDescendentsPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.InventoryDescendentsPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.InventoryDescendentsPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.InventoryDescendentsPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.InventoryDescendentsPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.InventoryDescendentsPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.InventoryDescendentsPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.InventoryDescendentsPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.InventoryDescendentsPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.InventoryDescendentsPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.InventoryDescendentsPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.InventoryDescendentsPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.InventoryDescendentsPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.InventoryDescendentsPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.InventoryDescendentsPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.InventoryDescendentsPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.InventoryDescendentsPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.InventoryDescendentsPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct InventoryDescendentsPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.InventoryDescendentsPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.InventoryDescendentsPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.InventoryDescendentsPacket.AgentDataBlock.Descendents`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.InventoryDescendentsPacket.AgentDataBlock.Descendents`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub descendents: i32,
        /// C# member: `F:LibreMetaverse.Packets.InventoryDescendentsPacket.AgentDataBlock.FolderID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.InventoryDescendentsPacket.AgentDataBlock.FolderID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub folder_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.InventoryDescendentsPacket.AgentDataBlock.OwnerID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.InventoryDescendentsPacket.AgentDataBlock.OwnerID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub owner_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.InventoryDescendentsPacket.AgentDataBlock.Version`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.InventoryDescendentsPacket.AgentDataBlock.Version`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub version: i32,
    }
    impl InventoryDescendentsPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.InventoryDescendentsPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.InventoryDescendentsPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.InventoryDescendentsPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.InventoryDescendentsPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.InventoryDescendentsPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.InventoryDescendentsPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.InventoryDescendentsPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.InventoryDescendentsPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.InventoryDescendentsPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.InventoryDescendentsPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.InventoryDescendentsPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.InventoryDescendentsPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.InventoryDescendentsPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.InventoryDescendentsPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.InventoryDescendentsPacket.FolderDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.InventoryDescendentsPacket.FolderDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct InventoryDescendentsPacketFolderDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.InventoryDescendentsPacket.FolderDataBlock.FolderID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.InventoryDescendentsPacket.FolderDataBlock.FolderID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub folder_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.InventoryDescendentsPacket.FolderDataBlock.Name`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.InventoryDescendentsPacket.FolderDataBlock.Name`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub name: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.InventoryDescendentsPacket.FolderDataBlock.ParentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.InventoryDescendentsPacket.FolderDataBlock.ParentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub parent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.InventoryDescendentsPacket.FolderDataBlock.Type`.
        ///
        /// C# signature: `System.SByte LibreMetaverse.Packets.InventoryDescendentsPacket.FolderDataBlock.Type`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub type_: i8,
    }
    impl InventoryDescendentsPacketFolderDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.InventoryDescendentsPacket.FolderDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.InventoryDescendentsPacket.FolderDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.InventoryDescendentsPacket.FolderDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.InventoryDescendentsPacket.FolderDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.InventoryDescendentsPacket.FolderDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.InventoryDescendentsPacket.FolderDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.InventoryDescendentsPacket.FolderDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.InventoryDescendentsPacket.FolderDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.InventoryDescendentsPacket.FolderDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.InventoryDescendentsPacket.FolderDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.InventoryDescendentsPacket.FolderDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.InventoryDescendentsPacket.FolderDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.InventoryDescendentsPacket.FolderDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.InventoryDescendentsPacket.FolderDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.InventoryDescendentsPacket.ItemDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.InventoryDescendentsPacket.ItemDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct InventoryDescendentsPacketItemDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.InventoryDescendentsPacket.ItemDataBlock.AssetID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.InventoryDescendentsPacket.ItemDataBlock.AssetID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub asset_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.InventoryDescendentsPacket.ItemDataBlock.BaseMask`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.InventoryDescendentsPacket.ItemDataBlock.BaseMask`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub base_mask: u32,
        /// C# member: `F:LibreMetaverse.Packets.InventoryDescendentsPacket.ItemDataBlock.CRC`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.InventoryDescendentsPacket.ItemDataBlock.CRC`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub crc: u32,
        /// C# member: `F:LibreMetaverse.Packets.InventoryDescendentsPacket.ItemDataBlock.CreationDate`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.InventoryDescendentsPacket.ItemDataBlock.CreationDate`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub creation_date: i32,
        /// C# member: `F:LibreMetaverse.Packets.InventoryDescendentsPacket.ItemDataBlock.CreatorID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.InventoryDescendentsPacket.ItemDataBlock.CreatorID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub creator_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.InventoryDescendentsPacket.ItemDataBlock.Description`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.InventoryDescendentsPacket.ItemDataBlock.Description`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub description: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.InventoryDescendentsPacket.ItemDataBlock.EveryoneMask`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.InventoryDescendentsPacket.ItemDataBlock.EveryoneMask`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub everyone_mask: u32,
        /// C# member: `F:LibreMetaverse.Packets.InventoryDescendentsPacket.ItemDataBlock.Flags`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.InventoryDescendentsPacket.ItemDataBlock.Flags`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub flags: u32,
        /// C# member: `F:LibreMetaverse.Packets.InventoryDescendentsPacket.ItemDataBlock.FolderID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.InventoryDescendentsPacket.ItemDataBlock.FolderID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub folder_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.InventoryDescendentsPacket.ItemDataBlock.GroupID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.InventoryDescendentsPacket.ItemDataBlock.GroupID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.InventoryDescendentsPacket.ItemDataBlock.GroupMask`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.InventoryDescendentsPacket.ItemDataBlock.GroupMask`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_mask: u32,
        /// C# member: `F:LibreMetaverse.Packets.InventoryDescendentsPacket.ItemDataBlock.GroupOwned`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.InventoryDescendentsPacket.ItemDataBlock.GroupOwned`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_owned: bool,
        /// C# member: `F:LibreMetaverse.Packets.InventoryDescendentsPacket.ItemDataBlock.InvType`.
        ///
        /// C# signature: `System.SByte LibreMetaverse.Packets.InventoryDescendentsPacket.ItemDataBlock.InvType`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub inv_type: i8,
        /// C# member: `F:LibreMetaverse.Packets.InventoryDescendentsPacket.ItemDataBlock.ItemID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.InventoryDescendentsPacket.ItemDataBlock.ItemID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub item_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.InventoryDescendentsPacket.ItemDataBlock.Name`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.InventoryDescendentsPacket.ItemDataBlock.Name`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub name: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.InventoryDescendentsPacket.ItemDataBlock.NextOwnerMask`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.InventoryDescendentsPacket.ItemDataBlock.NextOwnerMask`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub next_owner_mask: u32,
        /// C# member: `F:LibreMetaverse.Packets.InventoryDescendentsPacket.ItemDataBlock.OwnerID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.InventoryDescendentsPacket.ItemDataBlock.OwnerID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub owner_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.InventoryDescendentsPacket.ItemDataBlock.OwnerMask`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.InventoryDescendentsPacket.ItemDataBlock.OwnerMask`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub owner_mask: u32,
        /// C# member: `F:LibreMetaverse.Packets.InventoryDescendentsPacket.ItemDataBlock.SalePrice`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.InventoryDescendentsPacket.ItemDataBlock.SalePrice`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub sale_price: i32,
        /// C# member: `F:LibreMetaverse.Packets.InventoryDescendentsPacket.ItemDataBlock.SaleType`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.InventoryDescendentsPacket.ItemDataBlock.SaleType`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub sale_type: u8,
        /// C# member: `F:LibreMetaverse.Packets.InventoryDescendentsPacket.ItemDataBlock.Type`.
        ///
        /// C# signature: `System.SByte LibreMetaverse.Packets.InventoryDescendentsPacket.ItemDataBlock.Type`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub type_: i8,
    }
    impl InventoryDescendentsPacketItemDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.InventoryDescendentsPacket.ItemDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.InventoryDescendentsPacket.ItemDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.InventoryDescendentsPacket.ItemDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.InventoryDescendentsPacket.ItemDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.InventoryDescendentsPacket.ItemDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.InventoryDescendentsPacket.ItemDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.InventoryDescendentsPacket.ItemDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.InventoryDescendentsPacket.ItemDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.InventoryDescendentsPacket.ItemDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.InventoryDescendentsPacket.ItemDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.InventoryDescendentsPacket.ItemDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.InventoryDescendentsPacket.ItemDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.InventoryDescendentsPacket.ItemDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.InventoryDescendentsPacket.ItemDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.InviteGroupRequestPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.InviteGroupRequestPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct InviteGroupRequestPacket {
        /// C# member: `F:LibreMetaverse.Packets.InviteGroupRequestPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.InviteGroupRequestPacket.AgentDataBlock LibreMetaverse.Packets.InviteGroupRequestPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::InviteGroupRequestPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.InviteGroupRequestPacket.GroupData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.InviteGroupRequestPacket.GroupDataBlock LibreMetaverse.Packets.InviteGroupRequestPacket.GroupData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_data: libremetaverse::packets::InviteGroupRequestPacketGroupDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.InviteGroupRequestPacket.InviteData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.InviteGroupRequestPacket.InviteDataBlock[] LibreMetaverse.Packets.InviteGroupRequestPacket.InviteData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub invite_data: Vec<libremetaverse::packets::InviteGroupRequestPacketInviteDataBlock>,
    }
    impl InviteGroupRequestPacket {
        /// C# member: `M:LibreMetaverse.Packets.InviteGroupRequestPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.InviteGroupRequestPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.InviteGroupRequestPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.InviteGroupRequestPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.InviteGroupRequestPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.InviteGroupRequestPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.InviteGroupRequestPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.InviteGroupRequestPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.InviteGroupRequestPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.InviteGroupRequestPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.InviteGroupRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.InviteGroupRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.InviteGroupRequestPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.InviteGroupRequestPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.InviteGroupRequestPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.InviteGroupRequestPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.InviteGroupRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.InviteGroupRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.InviteGroupRequestPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.InviteGroupRequestPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.InviteGroupRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.InviteGroupRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.InviteGroupRequestPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.InviteGroupRequestPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.InviteGroupRequestPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.InviteGroupRequestPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.InviteGroupRequestPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.InviteGroupRequestPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct InviteGroupRequestPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.InviteGroupRequestPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.InviteGroupRequestPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.InviteGroupRequestPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.InviteGroupRequestPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl InviteGroupRequestPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.InviteGroupRequestPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.InviteGroupRequestPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.InviteGroupRequestPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.InviteGroupRequestPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.InviteGroupRequestPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.InviteGroupRequestPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.InviteGroupRequestPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.InviteGroupRequestPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.InviteGroupRequestPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.InviteGroupRequestPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.InviteGroupRequestPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.InviteGroupRequestPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.InviteGroupRequestPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.InviteGroupRequestPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.InviteGroupRequestPacket.GroupDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.InviteGroupRequestPacket.GroupDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct InviteGroupRequestPacketGroupDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.InviteGroupRequestPacket.GroupDataBlock.GroupID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.InviteGroupRequestPacket.GroupDataBlock.GroupID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_id: libremetaverse_types::UUID,
    }
    impl InviteGroupRequestPacketGroupDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.InviteGroupRequestPacket.GroupDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.InviteGroupRequestPacket.GroupDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.InviteGroupRequestPacket.GroupDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.InviteGroupRequestPacket.GroupDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.InviteGroupRequestPacket.GroupDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.InviteGroupRequestPacket.GroupDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.InviteGroupRequestPacket.GroupDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.InviteGroupRequestPacket.GroupDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.InviteGroupRequestPacket.GroupDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.InviteGroupRequestPacket.GroupDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.InviteGroupRequestPacket.GroupDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.InviteGroupRequestPacket.GroupDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.InviteGroupRequestPacket.GroupDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.InviteGroupRequestPacket.GroupDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.InviteGroupRequestPacket.InviteDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.InviteGroupRequestPacket.InviteDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct InviteGroupRequestPacketInviteDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.InviteGroupRequestPacket.InviteDataBlock.InviteeID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.InviteGroupRequestPacket.InviteDataBlock.InviteeID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub invitee_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.InviteGroupRequestPacket.InviteDataBlock.RoleID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.InviteGroupRequestPacket.InviteDataBlock.RoleID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub role_id: libremetaverse_types::UUID,
    }
    impl InviteGroupRequestPacketInviteDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.InviteGroupRequestPacket.InviteDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.InviteGroupRequestPacket.InviteDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.InviteGroupRequestPacket.InviteDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.InviteGroupRequestPacket.InviteDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.InviteGroupRequestPacket.InviteDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.InviteGroupRequestPacket.InviteDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.InviteGroupRequestPacket.InviteDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.InviteGroupRequestPacket.InviteDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.InviteGroupRequestPacket.InviteDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.InviteGroupRequestPacket.InviteDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.InviteGroupRequestPacket.InviteDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.InviteGroupRequestPacket.InviteDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.InviteGroupRequestPacket.InviteDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.InviteGroupRequestPacket.InviteDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.InviteGroupResponsePacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.InviteGroupResponsePacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct InviteGroupResponsePacket {
        /// C# member: `F:LibreMetaverse.Packets.InviteGroupResponsePacket.GroupData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.InviteGroupResponsePacket.GroupDataBlock LibreMetaverse.Packets.InviteGroupResponsePacket.GroupData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_data: libremetaverse::packets::InviteGroupResponsePacketGroupDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.InviteGroupResponsePacket.InviteData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.InviteGroupResponsePacket.InviteDataBlock LibreMetaverse.Packets.InviteGroupResponsePacket.InviteData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub invite_data: libremetaverse::packets::InviteGroupResponsePacketInviteDataBlock,
    }
    impl InviteGroupResponsePacket {
        /// C# member: `M:LibreMetaverse.Packets.InviteGroupResponsePacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.InviteGroupResponsePacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.InviteGroupResponsePacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.InviteGroupResponsePacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.InviteGroupResponsePacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.InviteGroupResponsePacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.InviteGroupResponsePacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.InviteGroupResponsePacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.InviteGroupResponsePacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.InviteGroupResponsePacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.InviteGroupResponsePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.InviteGroupResponsePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.InviteGroupResponsePacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.InviteGroupResponsePacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.InviteGroupResponsePacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.InviteGroupResponsePacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.InviteGroupResponsePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.InviteGroupResponsePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.InviteGroupResponsePacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.InviteGroupResponsePacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.InviteGroupResponsePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.InviteGroupResponsePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.InviteGroupResponsePacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.InviteGroupResponsePacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.InviteGroupResponsePacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.InviteGroupResponsePacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.InviteGroupResponsePacket.GroupDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.InviteGroupResponsePacket.GroupDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct InviteGroupResponsePacketGroupDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.InviteGroupResponsePacket.GroupDataBlock.GroupLimit`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.InviteGroupResponsePacket.GroupDataBlock.GroupLimit`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_limit: i32,
    }
    impl InviteGroupResponsePacketGroupDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.InviteGroupResponsePacket.GroupDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.InviteGroupResponsePacket.GroupDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.InviteGroupResponsePacket.GroupDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.InviteGroupResponsePacket.GroupDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.InviteGroupResponsePacket.GroupDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.InviteGroupResponsePacket.GroupDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.InviteGroupResponsePacket.GroupDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.InviteGroupResponsePacket.GroupDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.InviteGroupResponsePacket.GroupDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.InviteGroupResponsePacket.GroupDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.InviteGroupResponsePacket.GroupDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.InviteGroupResponsePacket.GroupDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.InviteGroupResponsePacket.GroupDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.InviteGroupResponsePacket.GroupDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.InviteGroupResponsePacket.InviteDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.InviteGroupResponsePacket.InviteDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct InviteGroupResponsePacketInviteDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.InviteGroupResponsePacket.InviteDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.InviteGroupResponsePacket.InviteDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.InviteGroupResponsePacket.InviteDataBlock.GroupID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.InviteGroupResponsePacket.InviteDataBlock.GroupID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.InviteGroupResponsePacket.InviteDataBlock.InviteeID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.InviteGroupResponsePacket.InviteDataBlock.InviteeID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub invitee_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.InviteGroupResponsePacket.InviteDataBlock.MembershipFee`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.InviteGroupResponsePacket.InviteDataBlock.MembershipFee`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub membership_fee: i32,
        /// C# member: `F:LibreMetaverse.Packets.InviteGroupResponsePacket.InviteDataBlock.RoleID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.InviteGroupResponsePacket.InviteDataBlock.RoleID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub role_id: libremetaverse_types::UUID,
    }
    impl InviteGroupResponsePacketInviteDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.InviteGroupResponsePacket.InviteDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.InviteGroupResponsePacket.InviteDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.InviteGroupResponsePacket.InviteDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.InviteGroupResponsePacket.InviteDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.InviteGroupResponsePacket.InviteDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.InviteGroupResponsePacket.InviteDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.InviteGroupResponsePacket.InviteDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.InviteGroupResponsePacket.InviteDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.InviteGroupResponsePacket.InviteDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.InviteGroupResponsePacket.InviteDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.InviteGroupResponsePacket.InviteDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.InviteGroupResponsePacket.InviteDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.InviteGroupResponsePacket.InviteDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.InviteGroupResponsePacket.InviteDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.JoinGroupReplyPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.JoinGroupReplyPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct JoinGroupReplyPacket {
        /// C# member: `F:LibreMetaverse.Packets.JoinGroupReplyPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.JoinGroupReplyPacket.AgentDataBlock LibreMetaverse.Packets.JoinGroupReplyPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::JoinGroupReplyPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.JoinGroupReplyPacket.GroupData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.JoinGroupReplyPacket.GroupDataBlock LibreMetaverse.Packets.JoinGroupReplyPacket.GroupData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_data: libremetaverse::packets::JoinGroupReplyPacketGroupDataBlock,
    }
    impl JoinGroupReplyPacket {
        /// C# member: `M:LibreMetaverse.Packets.JoinGroupReplyPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.JoinGroupReplyPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.JoinGroupReplyPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.JoinGroupReplyPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.JoinGroupReplyPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.JoinGroupReplyPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.JoinGroupReplyPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.JoinGroupReplyPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.JoinGroupReplyPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.JoinGroupReplyPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.JoinGroupReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.JoinGroupReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.JoinGroupReplyPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.JoinGroupReplyPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.JoinGroupReplyPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.JoinGroupReplyPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.JoinGroupReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.JoinGroupReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.JoinGroupReplyPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.JoinGroupReplyPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.JoinGroupReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.JoinGroupReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.JoinGroupReplyPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.JoinGroupReplyPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.JoinGroupReplyPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.JoinGroupReplyPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.JoinGroupReplyPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.JoinGroupReplyPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct JoinGroupReplyPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.JoinGroupReplyPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.JoinGroupReplyPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
    }
    impl JoinGroupReplyPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.JoinGroupReplyPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.JoinGroupReplyPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.JoinGroupReplyPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.JoinGroupReplyPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.JoinGroupReplyPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.JoinGroupReplyPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.JoinGroupReplyPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.JoinGroupReplyPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.JoinGroupReplyPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.JoinGroupReplyPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.JoinGroupReplyPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.JoinGroupReplyPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.JoinGroupReplyPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.JoinGroupReplyPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.JoinGroupReplyPacket.GroupDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.JoinGroupReplyPacket.GroupDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct JoinGroupReplyPacketGroupDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.JoinGroupReplyPacket.GroupDataBlock.GroupID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.JoinGroupReplyPacket.GroupDataBlock.GroupID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.JoinGroupReplyPacket.GroupDataBlock.Success`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.JoinGroupReplyPacket.GroupDataBlock.Success`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub success: bool,
    }
    impl JoinGroupReplyPacketGroupDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.JoinGroupReplyPacket.GroupDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.JoinGroupReplyPacket.GroupDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.JoinGroupReplyPacket.GroupDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.JoinGroupReplyPacket.GroupDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.JoinGroupReplyPacket.GroupDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.JoinGroupReplyPacket.GroupDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.JoinGroupReplyPacket.GroupDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.JoinGroupReplyPacket.GroupDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.JoinGroupReplyPacket.GroupDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.JoinGroupReplyPacket.GroupDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.JoinGroupReplyPacket.GroupDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.JoinGroupReplyPacket.GroupDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.JoinGroupReplyPacket.GroupDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.JoinGroupReplyPacket.GroupDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.JoinGroupRequestExtendedPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.JoinGroupRequestExtendedPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct JoinGroupRequestExtendedPacket {
        /// C# member: `F:LibreMetaverse.Packets.JoinGroupRequestExtendedPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.JoinGroupRequestExtendedPacket.AgentDataBlock LibreMetaverse.Packets.JoinGroupRequestExtendedPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::JoinGroupRequestExtendedPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.JoinGroupRequestExtendedPacket.GroupData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.JoinGroupRequestExtendedPacket.GroupDataBlock LibreMetaverse.Packets.JoinGroupRequestExtendedPacket.GroupData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_data: libremetaverse::packets::JoinGroupRequestExtendedPacketGroupDataBlock,
    }
    impl JoinGroupRequestExtendedPacket {
        /// C# member: `M:LibreMetaverse.Packets.JoinGroupRequestExtendedPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.JoinGroupRequestExtendedPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.JoinGroupRequestExtendedPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.JoinGroupRequestExtendedPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.JoinGroupRequestExtendedPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.JoinGroupRequestExtendedPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.JoinGroupRequestExtendedPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.JoinGroupRequestExtendedPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.JoinGroupRequestExtendedPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.JoinGroupRequestExtendedPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.JoinGroupRequestExtendedPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.JoinGroupRequestExtendedPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.JoinGroupRequestExtendedPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.JoinGroupRequestExtendedPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.JoinGroupRequestExtendedPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.JoinGroupRequestExtendedPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.JoinGroupRequestExtendedPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.JoinGroupRequestExtendedPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.JoinGroupRequestExtendedPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.JoinGroupRequestExtendedPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.JoinGroupRequestExtendedPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.JoinGroupRequestExtendedPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.JoinGroupRequestExtendedPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.JoinGroupRequestExtendedPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.JoinGroupRequestExtendedPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.JoinGroupRequestExtendedPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.JoinGroupRequestExtendedPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.JoinGroupRequestExtendedPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct JoinGroupRequestExtendedPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.JoinGroupRequestExtendedPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.JoinGroupRequestExtendedPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.JoinGroupRequestExtendedPacket.AgentDataBlock.GroupLimit`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.JoinGroupRequestExtendedPacket.AgentDataBlock.GroupLimit`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_limit: i32,
        /// C# member: `F:LibreMetaverse.Packets.JoinGroupRequestExtendedPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.JoinGroupRequestExtendedPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl JoinGroupRequestExtendedPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.JoinGroupRequestExtendedPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.JoinGroupRequestExtendedPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.JoinGroupRequestExtendedPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.JoinGroupRequestExtendedPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.JoinGroupRequestExtendedPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.JoinGroupRequestExtendedPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.JoinGroupRequestExtendedPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.JoinGroupRequestExtendedPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.JoinGroupRequestExtendedPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.JoinGroupRequestExtendedPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.JoinGroupRequestExtendedPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.JoinGroupRequestExtendedPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.JoinGroupRequestExtendedPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.JoinGroupRequestExtendedPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.JoinGroupRequestExtendedPacket.GroupDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.JoinGroupRequestExtendedPacket.GroupDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct JoinGroupRequestExtendedPacketGroupDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.JoinGroupRequestExtendedPacket.GroupDataBlock.GroupID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.JoinGroupRequestExtendedPacket.GroupDataBlock.GroupID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_id: libremetaverse_types::UUID,
    }
    impl JoinGroupRequestExtendedPacketGroupDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.JoinGroupRequestExtendedPacket.GroupDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.JoinGroupRequestExtendedPacket.GroupDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.JoinGroupRequestExtendedPacket.GroupDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.JoinGroupRequestExtendedPacket.GroupDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.JoinGroupRequestExtendedPacket.GroupDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.JoinGroupRequestExtendedPacket.GroupDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.JoinGroupRequestExtendedPacket.GroupDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.JoinGroupRequestExtendedPacket.GroupDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.JoinGroupRequestExtendedPacket.GroupDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.JoinGroupRequestExtendedPacket.GroupDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.JoinGroupRequestExtendedPacket.GroupDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.JoinGroupRequestExtendedPacket.GroupDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.JoinGroupRequestExtendedPacket.GroupDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.JoinGroupRequestExtendedPacket.GroupDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.JoinGroupRequestPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.JoinGroupRequestPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct JoinGroupRequestPacket {
        /// C# member: `F:LibreMetaverse.Packets.JoinGroupRequestPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.JoinGroupRequestPacket.AgentDataBlock LibreMetaverse.Packets.JoinGroupRequestPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::JoinGroupRequestPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.JoinGroupRequestPacket.GroupData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.JoinGroupRequestPacket.GroupDataBlock LibreMetaverse.Packets.JoinGroupRequestPacket.GroupData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_data: libremetaverse::packets::JoinGroupRequestPacketGroupDataBlock,
    }
    impl JoinGroupRequestPacket {
        /// C# member: `M:LibreMetaverse.Packets.JoinGroupRequestPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.JoinGroupRequestPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.JoinGroupRequestPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.JoinGroupRequestPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.JoinGroupRequestPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.JoinGroupRequestPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.JoinGroupRequestPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.JoinGroupRequestPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.JoinGroupRequestPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.JoinGroupRequestPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.JoinGroupRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.JoinGroupRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.JoinGroupRequestPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.JoinGroupRequestPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.JoinGroupRequestPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.JoinGroupRequestPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.JoinGroupRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.JoinGroupRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.JoinGroupRequestPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.JoinGroupRequestPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.JoinGroupRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.JoinGroupRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.JoinGroupRequestPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.JoinGroupRequestPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.JoinGroupRequestPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.JoinGroupRequestPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.JoinGroupRequestPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.JoinGroupRequestPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct JoinGroupRequestPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.JoinGroupRequestPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.JoinGroupRequestPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.JoinGroupRequestPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.JoinGroupRequestPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl JoinGroupRequestPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.JoinGroupRequestPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.JoinGroupRequestPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.JoinGroupRequestPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.JoinGroupRequestPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.JoinGroupRequestPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.JoinGroupRequestPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.JoinGroupRequestPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.JoinGroupRequestPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.JoinGroupRequestPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.JoinGroupRequestPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.JoinGroupRequestPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.JoinGroupRequestPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.JoinGroupRequestPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.JoinGroupRequestPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.JoinGroupRequestPacket.GroupDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.JoinGroupRequestPacket.GroupDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct JoinGroupRequestPacketGroupDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.JoinGroupRequestPacket.GroupDataBlock.GroupID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.JoinGroupRequestPacket.GroupDataBlock.GroupID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_id: libremetaverse_types::UUID,
    }
    impl JoinGroupRequestPacketGroupDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.JoinGroupRequestPacket.GroupDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.JoinGroupRequestPacket.GroupDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.JoinGroupRequestPacket.GroupDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.JoinGroupRequestPacket.GroupDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.JoinGroupRequestPacket.GroupDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.JoinGroupRequestPacket.GroupDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.JoinGroupRequestPacket.GroupDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.JoinGroupRequestPacket.GroupDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.JoinGroupRequestPacket.GroupDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.JoinGroupRequestPacket.GroupDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.JoinGroupRequestPacket.GroupDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.JoinGroupRequestPacket.GroupDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.JoinGroupRequestPacket.GroupDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.JoinGroupRequestPacket.GroupDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.KickUserAckPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.KickUserAckPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct KickUserAckPacket {
        /// C# member: `F:LibreMetaverse.Packets.KickUserAckPacket.UserInfo`.
        ///
        /// C# signature: `LibreMetaverse.Packets.KickUserAckPacket.UserInfoBlock LibreMetaverse.Packets.KickUserAckPacket.UserInfo`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub user_info: libremetaverse::packets::KickUserAckPacketUserInfoBlock,
    }
    impl KickUserAckPacket {
        /// C# member: `M:LibreMetaverse.Packets.KickUserAckPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.KickUserAckPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.KickUserAckPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.KickUserAckPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.KickUserAckPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.KickUserAckPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.KickUserAckPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.KickUserAckPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.KickUserAckPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.KickUserAckPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.KickUserAckPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.KickUserAckPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.KickUserAckPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.KickUserAckPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.KickUserAckPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.KickUserAckPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.KickUserAckPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.KickUserAckPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.KickUserAckPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.KickUserAckPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.KickUserAckPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.KickUserAckPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.KickUserAckPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.KickUserAckPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.KickUserAckPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.KickUserAckPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.KickUserAckPacket.UserInfoBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.KickUserAckPacket.UserInfoBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct KickUserAckPacketUserInfoBlock {
        /// C# member: `F:LibreMetaverse.Packets.KickUserAckPacket.UserInfoBlock.Flags`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.KickUserAckPacket.UserInfoBlock.Flags`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub flags: u32,
        /// C# member: `F:LibreMetaverse.Packets.KickUserAckPacket.UserInfoBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.KickUserAckPacket.UserInfoBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl KickUserAckPacketUserInfoBlock {
        /// C# member: `M:LibreMetaverse.Packets.KickUserAckPacket.UserInfoBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.KickUserAckPacket.UserInfoBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.KickUserAckPacket.UserInfoBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.KickUserAckPacket.UserInfoBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.KickUserAckPacket.UserInfoBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.KickUserAckPacket.UserInfoBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.KickUserAckPacket.UserInfoBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.KickUserAckPacket.UserInfoBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.KickUserAckPacket.UserInfoBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.KickUserAckPacket.UserInfoBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.KickUserAckPacket.UserInfoBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.KickUserAckPacket.UserInfoBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.KickUserAckPacket.UserInfoBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.KickUserAckPacket.UserInfoBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.KickUserPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.KickUserPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct KickUserPacket {
        /// C# member: `F:LibreMetaverse.Packets.KickUserPacket.TargetBlock`.
        ///
        /// C# signature: `LibreMetaverse.Packets.KickUserPacket.TargetBlockBlock LibreMetaverse.Packets.KickUserPacket.TargetBlock`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub target_block: libremetaverse::packets::KickUserPacketTargetBlockBlock,
        /// C# member: `F:LibreMetaverse.Packets.KickUserPacket.UserInfo`.
        ///
        /// C# signature: `LibreMetaverse.Packets.KickUserPacket.UserInfoBlock LibreMetaverse.Packets.KickUserPacket.UserInfo`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub user_info: libremetaverse::packets::KickUserPacketUserInfoBlock,
    }
    impl KickUserPacket {
        /// C# member: `M:LibreMetaverse.Packets.KickUserPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.KickUserPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.KickUserPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.KickUserPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.KickUserPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.KickUserPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.KickUserPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.KickUserPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.KickUserPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.KickUserPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.KickUserPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.KickUserPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.KickUserPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.KickUserPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.KickUserPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.KickUserPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.KickUserPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.KickUserPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.KickUserPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.KickUserPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.KickUserPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.KickUserPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.KickUserPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.KickUserPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.KickUserPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.KickUserPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.KickUserPacket.TargetBlockBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.KickUserPacket.TargetBlockBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct KickUserPacketTargetBlockBlock {
        /// C# member: `F:LibreMetaverse.Packets.KickUserPacket.TargetBlockBlock.TargetIP`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.KickUserPacket.TargetBlockBlock.TargetIP`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub target_ip: u32,
        /// C# member: `F:LibreMetaverse.Packets.KickUserPacket.TargetBlockBlock.TargetPort`.
        ///
        /// C# signature: `System.UInt16 LibreMetaverse.Packets.KickUserPacket.TargetBlockBlock.TargetPort`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub target_port: u16,
    }
    impl KickUserPacketTargetBlockBlock {
        /// C# member: `M:LibreMetaverse.Packets.KickUserPacket.TargetBlockBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.KickUserPacket.TargetBlockBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.KickUserPacket.TargetBlockBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.KickUserPacket.TargetBlockBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.KickUserPacket.TargetBlockBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.KickUserPacket.TargetBlockBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.KickUserPacket.TargetBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.KickUserPacket.TargetBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.KickUserPacket.TargetBlockBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.KickUserPacket.TargetBlockBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.KickUserPacket.TargetBlockBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.KickUserPacket.TargetBlockBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.KickUserPacket.TargetBlockBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.KickUserPacket.TargetBlockBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.KickUserPacket.UserInfoBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.KickUserPacket.UserInfoBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct KickUserPacketUserInfoBlock {
        /// C# member: `F:LibreMetaverse.Packets.KickUserPacket.UserInfoBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.KickUserPacket.UserInfoBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.KickUserPacket.UserInfoBlock.Reason`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.KickUserPacket.UserInfoBlock.Reason`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub reason: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.KickUserPacket.UserInfoBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.KickUserPacket.UserInfoBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl KickUserPacketUserInfoBlock {
        /// C# member: `M:LibreMetaverse.Packets.KickUserPacket.UserInfoBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.KickUserPacket.UserInfoBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.KickUserPacket.UserInfoBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.KickUserPacket.UserInfoBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.KickUserPacket.UserInfoBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.KickUserPacket.UserInfoBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.KickUserPacket.UserInfoBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.KickUserPacket.UserInfoBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.KickUserPacket.UserInfoBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.KickUserPacket.UserInfoBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.KickUserPacket.UserInfoBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.KickUserPacket.UserInfoBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.KickUserPacket.UserInfoBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.KickUserPacket.UserInfoBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.KillChildAgentsPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.KillChildAgentsPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct KillChildAgentsPacket {
        /// C# member: `F:LibreMetaverse.Packets.KillChildAgentsPacket.IDBlock`.
        ///
        /// C# signature: `LibreMetaverse.Packets.KillChildAgentsPacket.IDBlockBlock LibreMetaverse.Packets.KillChildAgentsPacket.IDBlock`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub id_block: libremetaverse::packets::KillChildAgentsPacketIDBlockBlock,
    }
    impl KillChildAgentsPacket {
        /// C# member: `M:LibreMetaverse.Packets.KillChildAgentsPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.KillChildAgentsPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.KillChildAgentsPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.KillChildAgentsPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.KillChildAgentsPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.KillChildAgentsPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.KillChildAgentsPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.KillChildAgentsPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.KillChildAgentsPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.KillChildAgentsPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.KillChildAgentsPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.KillChildAgentsPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.KillChildAgentsPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.KillChildAgentsPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.KillChildAgentsPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.KillChildAgentsPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.KillChildAgentsPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.KillChildAgentsPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.KillChildAgentsPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.KillChildAgentsPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.KillChildAgentsPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.KillChildAgentsPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.KillChildAgentsPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.KillChildAgentsPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.KillChildAgentsPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.KillChildAgentsPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.KillChildAgentsPacket.IDBlockBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.KillChildAgentsPacket.IDBlockBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct KillChildAgentsPacketIDBlockBlock {
        /// C# member: `F:LibreMetaverse.Packets.KillChildAgentsPacket.IDBlockBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.KillChildAgentsPacket.IDBlockBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
    }
    impl KillChildAgentsPacketIDBlockBlock {
        /// C# member: `M:LibreMetaverse.Packets.KillChildAgentsPacket.IDBlockBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.KillChildAgentsPacket.IDBlockBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.KillChildAgentsPacket.IDBlockBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.KillChildAgentsPacket.IDBlockBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.KillChildAgentsPacket.IDBlockBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.KillChildAgentsPacket.IDBlockBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.KillChildAgentsPacket.IDBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.KillChildAgentsPacket.IDBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.KillChildAgentsPacket.IDBlockBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.KillChildAgentsPacket.IDBlockBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.KillChildAgentsPacket.IDBlockBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.KillChildAgentsPacket.IDBlockBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.KillChildAgentsPacket.IDBlockBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.KillChildAgentsPacket.IDBlockBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.KillObjectPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.KillObjectPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct KillObjectPacket {
        /// C# member: `F:LibreMetaverse.Packets.KillObjectPacket.ObjectData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.KillObjectPacket.ObjectDataBlock[] LibreMetaverse.Packets.KillObjectPacket.ObjectData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_data: Vec<libremetaverse::packets::KillObjectPacketObjectDataBlock>,
    }
    impl KillObjectPacket {
        /// C# member: `M:LibreMetaverse.Packets.KillObjectPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.KillObjectPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.KillObjectPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.KillObjectPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.KillObjectPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.KillObjectPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.KillObjectPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.KillObjectPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.KillObjectPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.KillObjectPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.KillObjectPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.KillObjectPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.KillObjectPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.KillObjectPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.KillObjectPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.KillObjectPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.KillObjectPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.KillObjectPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.KillObjectPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.KillObjectPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.KillObjectPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.KillObjectPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.KillObjectPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.KillObjectPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.KillObjectPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.KillObjectPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.KillObjectPacket.ObjectDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.KillObjectPacket.ObjectDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct KillObjectPacketObjectDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.KillObjectPacket.ObjectDataBlock.ID`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.KillObjectPacket.ObjectDataBlock.ID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub id: u32,
    }
    impl KillObjectPacketObjectDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.KillObjectPacket.ObjectDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.KillObjectPacket.ObjectDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.KillObjectPacket.ObjectDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.KillObjectPacket.ObjectDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.KillObjectPacket.ObjectDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.KillObjectPacket.ObjectDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.KillObjectPacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.KillObjectPacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.KillObjectPacket.ObjectDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.KillObjectPacket.ObjectDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.KillObjectPacket.ObjectDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.KillObjectPacket.ObjectDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.KillObjectPacket.ObjectDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.KillObjectPacket.ObjectDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.LandStatReplyPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.LandStatReplyPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct LandStatReplyPacket {
        /// C# member: `F:LibreMetaverse.Packets.LandStatReplyPacket.ReportData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LandStatReplyPacket.ReportDataBlock[] LibreMetaverse.Packets.LandStatReplyPacket.ReportData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub report_data: Vec<libremetaverse::packets::LandStatReplyPacketReportDataBlock>,
        /// C# member: `F:LibreMetaverse.Packets.LandStatReplyPacket.RequestData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LandStatReplyPacket.RequestDataBlock LibreMetaverse.Packets.LandStatReplyPacket.RequestData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub request_data: libremetaverse::packets::LandStatReplyPacketRequestDataBlock,
    }
    impl LandStatReplyPacket {
        /// C# member: `M:LibreMetaverse.Packets.LandStatReplyPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LandStatReplyPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.LandStatReplyPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LandStatReplyPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LandStatReplyPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LandStatReplyPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LandStatReplyPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LandStatReplyPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.LandStatReplyPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LandStatReplyPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.LandStatReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LandStatReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.LandStatReplyPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.LandStatReplyPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.LandStatReplyPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.LandStatReplyPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.LandStatReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.LandStatReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.LandStatReplyPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.LandStatReplyPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.LandStatReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.LandStatReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.LandStatReplyPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.LandStatReplyPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.LandStatReplyPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.LandStatReplyPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.LandStatReplyPacket.ReportDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.LandStatReplyPacket.ReportDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct LandStatReplyPacketReportDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.LandStatReplyPacket.ReportDataBlock.LocationX`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.LandStatReplyPacket.ReportDataBlock.LocationX`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub location_x: f32,
        /// C# member: `F:LibreMetaverse.Packets.LandStatReplyPacket.ReportDataBlock.LocationY`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.LandStatReplyPacket.ReportDataBlock.LocationY`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub location_y: f32,
        /// C# member: `F:LibreMetaverse.Packets.LandStatReplyPacket.ReportDataBlock.LocationZ`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.LandStatReplyPacket.ReportDataBlock.LocationZ`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub location_z: f32,
        /// C# member: `F:LibreMetaverse.Packets.LandStatReplyPacket.ReportDataBlock.OwnerName`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.LandStatReplyPacket.ReportDataBlock.OwnerName`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub owner_name: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.LandStatReplyPacket.ReportDataBlock.Score`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.LandStatReplyPacket.ReportDataBlock.Score`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub score: f32,
        /// C# member: `F:LibreMetaverse.Packets.LandStatReplyPacket.ReportDataBlock.TaskID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.LandStatReplyPacket.ReportDataBlock.TaskID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub task_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.LandStatReplyPacket.ReportDataBlock.TaskLocalID`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.LandStatReplyPacket.ReportDataBlock.TaskLocalID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub task_local_id: u32,
        /// C# member: `F:LibreMetaverse.Packets.LandStatReplyPacket.ReportDataBlock.TaskName`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.LandStatReplyPacket.ReportDataBlock.TaskName`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub task_name: Vec<u8>,
    }
    impl LandStatReplyPacketReportDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.LandStatReplyPacket.ReportDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LandStatReplyPacket.ReportDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.LandStatReplyPacket.ReportDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LandStatReplyPacket.ReportDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LandStatReplyPacket.ReportDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LandStatReplyPacket.ReportDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LandStatReplyPacket.ReportDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LandStatReplyPacket.ReportDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.LandStatReplyPacket.ReportDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LandStatReplyPacket.ReportDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LandStatReplyPacket.ReportDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.LandStatReplyPacket.ReportDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.LandStatReplyPacket.ReportDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.LandStatReplyPacket.ReportDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.LandStatReplyPacket.RequestDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.LandStatReplyPacket.RequestDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct LandStatReplyPacketRequestDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.LandStatReplyPacket.RequestDataBlock.ReportType`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.LandStatReplyPacket.RequestDataBlock.ReportType`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub report_type: u32,
        /// C# member: `F:LibreMetaverse.Packets.LandStatReplyPacket.RequestDataBlock.RequestFlags`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.LandStatReplyPacket.RequestDataBlock.RequestFlags`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub request_flags: u32,
        /// C# member: `F:LibreMetaverse.Packets.LandStatReplyPacket.RequestDataBlock.TotalObjectCount`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.LandStatReplyPacket.RequestDataBlock.TotalObjectCount`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub total_object_count: u32,
    }
    impl LandStatReplyPacketRequestDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.LandStatReplyPacket.RequestDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LandStatReplyPacket.RequestDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.LandStatReplyPacket.RequestDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LandStatReplyPacket.RequestDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LandStatReplyPacket.RequestDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LandStatReplyPacket.RequestDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LandStatReplyPacket.RequestDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LandStatReplyPacket.RequestDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.LandStatReplyPacket.RequestDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LandStatReplyPacket.RequestDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LandStatReplyPacket.RequestDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.LandStatReplyPacket.RequestDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.LandStatReplyPacket.RequestDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.LandStatReplyPacket.RequestDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.LandStatRequestPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.LandStatRequestPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct LandStatRequestPacket {
        /// C# member: `F:LibreMetaverse.Packets.LandStatRequestPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LandStatRequestPacket.AgentDataBlock LibreMetaverse.Packets.LandStatRequestPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::LandStatRequestPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.LandStatRequestPacket.RequestData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LandStatRequestPacket.RequestDataBlock LibreMetaverse.Packets.LandStatRequestPacket.RequestData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub request_data: libremetaverse::packets::LandStatRequestPacketRequestDataBlock,
    }
    impl LandStatRequestPacket {
        /// C# member: `M:LibreMetaverse.Packets.LandStatRequestPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LandStatRequestPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.LandStatRequestPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LandStatRequestPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LandStatRequestPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LandStatRequestPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LandStatRequestPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LandStatRequestPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.LandStatRequestPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LandStatRequestPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.LandStatRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LandStatRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.LandStatRequestPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.LandStatRequestPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.LandStatRequestPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.LandStatRequestPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.LandStatRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.LandStatRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.LandStatRequestPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.LandStatRequestPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.LandStatRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.LandStatRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.LandStatRequestPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.LandStatRequestPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.LandStatRequestPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.LandStatRequestPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.LandStatRequestPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.LandStatRequestPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct LandStatRequestPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.LandStatRequestPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.LandStatRequestPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.LandStatRequestPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.LandStatRequestPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl LandStatRequestPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.LandStatRequestPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LandStatRequestPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.LandStatRequestPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LandStatRequestPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LandStatRequestPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LandStatRequestPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LandStatRequestPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LandStatRequestPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.LandStatRequestPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LandStatRequestPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LandStatRequestPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.LandStatRequestPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.LandStatRequestPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.LandStatRequestPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.LandStatRequestPacket.RequestDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.LandStatRequestPacket.RequestDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct LandStatRequestPacketRequestDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.LandStatRequestPacket.RequestDataBlock.Filter`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.LandStatRequestPacket.RequestDataBlock.Filter`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub filter: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.LandStatRequestPacket.RequestDataBlock.ParcelLocalID`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.LandStatRequestPacket.RequestDataBlock.ParcelLocalID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub parcel_local_id: i32,
        /// C# member: `F:LibreMetaverse.Packets.LandStatRequestPacket.RequestDataBlock.ReportType`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.LandStatRequestPacket.RequestDataBlock.ReportType`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub report_type: u32,
        /// C# member: `F:LibreMetaverse.Packets.LandStatRequestPacket.RequestDataBlock.RequestFlags`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.LandStatRequestPacket.RequestDataBlock.RequestFlags`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub request_flags: u32,
    }
    impl LandStatRequestPacketRequestDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.LandStatRequestPacket.RequestDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LandStatRequestPacket.RequestDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.LandStatRequestPacket.RequestDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LandStatRequestPacket.RequestDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LandStatRequestPacket.RequestDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LandStatRequestPacket.RequestDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LandStatRequestPacket.RequestDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LandStatRequestPacket.RequestDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.LandStatRequestPacket.RequestDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LandStatRequestPacket.RequestDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LandStatRequestPacket.RequestDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.LandStatRequestPacket.RequestDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.LandStatRequestPacket.RequestDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.LandStatRequestPacket.RequestDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.LargeGenericMessagePacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.LargeGenericMessagePacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct LargeGenericMessagePacket {
        /// C# member: `F:LibreMetaverse.Packets.LargeGenericMessagePacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LargeGenericMessagePacket.AgentDataBlock LibreMetaverse.Packets.LargeGenericMessagePacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::LargeGenericMessagePacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.LargeGenericMessagePacket.MethodData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LargeGenericMessagePacket.MethodDataBlock LibreMetaverse.Packets.LargeGenericMessagePacket.MethodData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub method_data: libremetaverse::packets::LargeGenericMessagePacketMethodDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.LargeGenericMessagePacket.ParamList`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LargeGenericMessagePacket.ParamListBlock[] LibreMetaverse.Packets.LargeGenericMessagePacket.ParamList`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub param_list: Vec<libremetaverse::packets::LargeGenericMessagePacketParamListBlock>,
    }
    impl LargeGenericMessagePacket {
        /// C# member: `M:LibreMetaverse.Packets.LargeGenericMessagePacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LargeGenericMessagePacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.LargeGenericMessagePacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LargeGenericMessagePacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LargeGenericMessagePacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LargeGenericMessagePacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LargeGenericMessagePacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LargeGenericMessagePacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.LargeGenericMessagePacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LargeGenericMessagePacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.LargeGenericMessagePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LargeGenericMessagePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.LargeGenericMessagePacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.LargeGenericMessagePacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.LargeGenericMessagePacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.LargeGenericMessagePacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.LargeGenericMessagePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.LargeGenericMessagePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.LargeGenericMessagePacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.LargeGenericMessagePacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.LargeGenericMessagePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.LargeGenericMessagePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.LargeGenericMessagePacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.LargeGenericMessagePacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.LargeGenericMessagePacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.LargeGenericMessagePacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.LargeGenericMessagePacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.LargeGenericMessagePacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct LargeGenericMessagePacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.LargeGenericMessagePacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.LargeGenericMessagePacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.LargeGenericMessagePacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.LargeGenericMessagePacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.LargeGenericMessagePacket.AgentDataBlock.TransactionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.LargeGenericMessagePacket.AgentDataBlock.TransactionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub transaction_id: libremetaverse_types::UUID,
    }
    impl LargeGenericMessagePacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.LargeGenericMessagePacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LargeGenericMessagePacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.LargeGenericMessagePacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LargeGenericMessagePacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LargeGenericMessagePacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LargeGenericMessagePacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LargeGenericMessagePacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LargeGenericMessagePacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.LargeGenericMessagePacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LargeGenericMessagePacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LargeGenericMessagePacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.LargeGenericMessagePacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.LargeGenericMessagePacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.LargeGenericMessagePacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.LargeGenericMessagePacket.MethodDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.LargeGenericMessagePacket.MethodDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct LargeGenericMessagePacketMethodDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.LargeGenericMessagePacket.MethodDataBlock.Invoice`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.LargeGenericMessagePacket.MethodDataBlock.Invoice`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub invoice: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.LargeGenericMessagePacket.MethodDataBlock.Method`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.LargeGenericMessagePacket.MethodDataBlock.Method`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub method: Vec<u8>,
    }
    impl LargeGenericMessagePacketMethodDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.LargeGenericMessagePacket.MethodDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LargeGenericMessagePacket.MethodDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.LargeGenericMessagePacket.MethodDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LargeGenericMessagePacket.MethodDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LargeGenericMessagePacket.MethodDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LargeGenericMessagePacket.MethodDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LargeGenericMessagePacket.MethodDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LargeGenericMessagePacket.MethodDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.LargeGenericMessagePacket.MethodDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LargeGenericMessagePacket.MethodDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LargeGenericMessagePacket.MethodDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.LargeGenericMessagePacket.MethodDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.LargeGenericMessagePacket.MethodDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.LargeGenericMessagePacket.MethodDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.LargeGenericMessagePacket.ParamListBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.LargeGenericMessagePacket.ParamListBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct LargeGenericMessagePacketParamListBlock {
        /// C# member: `F:LibreMetaverse.Packets.LargeGenericMessagePacket.ParamListBlock.Parameter`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.LargeGenericMessagePacket.ParamListBlock.Parameter`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub parameter: Vec<u8>,
    }
    impl LargeGenericMessagePacketParamListBlock {
        /// C# member: `M:LibreMetaverse.Packets.LargeGenericMessagePacket.ParamListBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LargeGenericMessagePacket.ParamListBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.LargeGenericMessagePacket.ParamListBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LargeGenericMessagePacket.ParamListBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LargeGenericMessagePacket.ParamListBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LargeGenericMessagePacket.ParamListBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LargeGenericMessagePacket.ParamListBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LargeGenericMessagePacket.ParamListBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.LargeGenericMessagePacket.ParamListBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LargeGenericMessagePacket.ParamListBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LargeGenericMessagePacket.ParamListBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.LargeGenericMessagePacket.ParamListBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.LargeGenericMessagePacket.ParamListBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.LargeGenericMessagePacket.ParamListBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.LayerDataPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.LayerDataPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct LayerDataPacket {
        /// C# member: `F:LibreMetaverse.Packets.LayerDataPacket.LayerData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LayerDataPacket.LayerDataBlock LibreMetaverse.Packets.LayerDataPacket.LayerData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub layer_data: libremetaverse::packets::LayerDataPacketLayerDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.LayerDataPacket.LayerID`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LayerDataPacket.LayerIDBlock LibreMetaverse.Packets.LayerDataPacket.LayerID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub layer_id: libremetaverse::packets::LayerDataPacketLayerIDBlock,
    }
    impl LayerDataPacket {
        /// C# member: `M:LibreMetaverse.Packets.LayerDataPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LayerDataPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.LayerDataPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LayerDataPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LayerDataPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LayerDataPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LayerDataPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LayerDataPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.LayerDataPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LayerDataPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.LayerDataPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LayerDataPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.LayerDataPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.LayerDataPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.LayerDataPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.LayerDataPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.LayerDataPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.LayerDataPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.LayerDataPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.LayerDataPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.LayerDataPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.LayerDataPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.LayerDataPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.LayerDataPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.LayerDataPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.LayerDataPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.LayerDataPacket.LayerDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.LayerDataPacket.LayerDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct LayerDataPacketLayerDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.LayerDataPacket.LayerDataBlock.Data`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.LayerDataPacket.LayerDataBlock.Data`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub data: Vec<u8>,
    }
    impl LayerDataPacketLayerDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.LayerDataPacket.LayerDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LayerDataPacket.LayerDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.LayerDataPacket.LayerDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LayerDataPacket.LayerDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LayerDataPacket.LayerDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LayerDataPacket.LayerDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LayerDataPacket.LayerDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LayerDataPacket.LayerDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.LayerDataPacket.LayerDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LayerDataPacket.LayerDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LayerDataPacket.LayerDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.LayerDataPacket.LayerDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.LayerDataPacket.LayerDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.LayerDataPacket.LayerDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.LayerDataPacket.LayerIDBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.LayerDataPacket.LayerIDBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct LayerDataPacketLayerIDBlock {
        /// C# member: `F:LibreMetaverse.Packets.LayerDataPacket.LayerIDBlock.Type`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.LayerDataPacket.LayerIDBlock.Type`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub type_: u8,
    }
    impl LayerDataPacketLayerIDBlock {
        /// C# member: `M:LibreMetaverse.Packets.LayerDataPacket.LayerIDBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LayerDataPacket.LayerIDBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.LayerDataPacket.LayerIDBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LayerDataPacket.LayerIDBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LayerDataPacket.LayerIDBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LayerDataPacket.LayerIDBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LayerDataPacket.LayerIDBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LayerDataPacket.LayerIDBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.LayerDataPacket.LayerIDBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LayerDataPacket.LayerIDBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LayerDataPacket.LayerIDBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.LayerDataPacket.LayerIDBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.LayerDataPacket.LayerIDBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.LayerDataPacket.LayerIDBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.LeaveGroupReplyPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.LeaveGroupReplyPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct LeaveGroupReplyPacket {
        /// C# member: `F:LibreMetaverse.Packets.LeaveGroupReplyPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LeaveGroupReplyPacket.AgentDataBlock LibreMetaverse.Packets.LeaveGroupReplyPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::LeaveGroupReplyPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.LeaveGroupReplyPacket.GroupData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LeaveGroupReplyPacket.GroupDataBlock LibreMetaverse.Packets.LeaveGroupReplyPacket.GroupData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_data: libremetaverse::packets::LeaveGroupReplyPacketGroupDataBlock,
    }
    impl LeaveGroupReplyPacket {
        /// C# member: `M:LibreMetaverse.Packets.LeaveGroupReplyPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LeaveGroupReplyPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.LeaveGroupReplyPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LeaveGroupReplyPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LeaveGroupReplyPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LeaveGroupReplyPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LeaveGroupReplyPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LeaveGroupReplyPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.LeaveGroupReplyPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LeaveGroupReplyPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.LeaveGroupReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LeaveGroupReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.LeaveGroupReplyPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.LeaveGroupReplyPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.LeaveGroupReplyPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.LeaveGroupReplyPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.LeaveGroupReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.LeaveGroupReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.LeaveGroupReplyPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.LeaveGroupReplyPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.LeaveGroupReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.LeaveGroupReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.LeaveGroupReplyPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.LeaveGroupReplyPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.LeaveGroupReplyPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.LeaveGroupReplyPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.LeaveGroupReplyPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.LeaveGroupReplyPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct LeaveGroupReplyPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.LeaveGroupReplyPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.LeaveGroupReplyPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
    }
    impl LeaveGroupReplyPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.LeaveGroupReplyPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LeaveGroupReplyPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.LeaveGroupReplyPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LeaveGroupReplyPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LeaveGroupReplyPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LeaveGroupReplyPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LeaveGroupReplyPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LeaveGroupReplyPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.LeaveGroupReplyPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LeaveGroupReplyPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LeaveGroupReplyPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.LeaveGroupReplyPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.LeaveGroupReplyPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.LeaveGroupReplyPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.LeaveGroupReplyPacket.GroupDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.LeaveGroupReplyPacket.GroupDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct LeaveGroupReplyPacketGroupDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.LeaveGroupReplyPacket.GroupDataBlock.GroupID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.LeaveGroupReplyPacket.GroupDataBlock.GroupID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.LeaveGroupReplyPacket.GroupDataBlock.Success`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.LeaveGroupReplyPacket.GroupDataBlock.Success`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub success: bool,
    }
    impl LeaveGroupReplyPacketGroupDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.LeaveGroupReplyPacket.GroupDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LeaveGroupReplyPacket.GroupDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.LeaveGroupReplyPacket.GroupDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LeaveGroupReplyPacket.GroupDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LeaveGroupReplyPacket.GroupDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LeaveGroupReplyPacket.GroupDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LeaveGroupReplyPacket.GroupDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LeaveGroupReplyPacket.GroupDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.LeaveGroupReplyPacket.GroupDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LeaveGroupReplyPacket.GroupDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LeaveGroupReplyPacket.GroupDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.LeaveGroupReplyPacket.GroupDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.LeaveGroupReplyPacket.GroupDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.LeaveGroupReplyPacket.GroupDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.LeaveGroupRequestPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.LeaveGroupRequestPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct LeaveGroupRequestPacket {
        /// C# member: `F:LibreMetaverse.Packets.LeaveGroupRequestPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LeaveGroupRequestPacket.AgentDataBlock LibreMetaverse.Packets.LeaveGroupRequestPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::LeaveGroupRequestPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.LeaveGroupRequestPacket.GroupData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LeaveGroupRequestPacket.GroupDataBlock LibreMetaverse.Packets.LeaveGroupRequestPacket.GroupData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_data: libremetaverse::packets::LeaveGroupRequestPacketGroupDataBlock,
    }
    impl LeaveGroupRequestPacket {
        /// C# member: `M:LibreMetaverse.Packets.LeaveGroupRequestPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LeaveGroupRequestPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.LeaveGroupRequestPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LeaveGroupRequestPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LeaveGroupRequestPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LeaveGroupRequestPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LeaveGroupRequestPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LeaveGroupRequestPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.LeaveGroupRequestPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LeaveGroupRequestPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.LeaveGroupRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LeaveGroupRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.LeaveGroupRequestPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.LeaveGroupRequestPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.LeaveGroupRequestPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.LeaveGroupRequestPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.LeaveGroupRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.LeaveGroupRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.LeaveGroupRequestPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.LeaveGroupRequestPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.LeaveGroupRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.LeaveGroupRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.LeaveGroupRequestPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.LeaveGroupRequestPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.LeaveGroupRequestPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.LeaveGroupRequestPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.LeaveGroupRequestPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.LeaveGroupRequestPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct LeaveGroupRequestPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.LeaveGroupRequestPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.LeaveGroupRequestPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.LeaveGroupRequestPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.LeaveGroupRequestPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl LeaveGroupRequestPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.LeaveGroupRequestPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LeaveGroupRequestPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.LeaveGroupRequestPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LeaveGroupRequestPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LeaveGroupRequestPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LeaveGroupRequestPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LeaveGroupRequestPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LeaveGroupRequestPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.LeaveGroupRequestPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LeaveGroupRequestPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LeaveGroupRequestPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.LeaveGroupRequestPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.LeaveGroupRequestPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.LeaveGroupRequestPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.LeaveGroupRequestPacket.GroupDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.LeaveGroupRequestPacket.GroupDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct LeaveGroupRequestPacketGroupDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.LeaveGroupRequestPacket.GroupDataBlock.GroupID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.LeaveGroupRequestPacket.GroupDataBlock.GroupID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_id: libremetaverse_types::UUID,
    }
    impl LeaveGroupRequestPacketGroupDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.LeaveGroupRequestPacket.GroupDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LeaveGroupRequestPacket.GroupDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.LeaveGroupRequestPacket.GroupDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LeaveGroupRequestPacket.GroupDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LeaveGroupRequestPacket.GroupDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LeaveGroupRequestPacket.GroupDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LeaveGroupRequestPacket.GroupDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LeaveGroupRequestPacket.GroupDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.LeaveGroupRequestPacket.GroupDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LeaveGroupRequestPacket.GroupDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LeaveGroupRequestPacket.GroupDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.LeaveGroupRequestPacket.GroupDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.LeaveGroupRequestPacket.GroupDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.LeaveGroupRequestPacket.GroupDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.LinkInventoryItemPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.LinkInventoryItemPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct LinkInventoryItemPacket {
        /// C# member: `F:LibreMetaverse.Packets.LinkInventoryItemPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LinkInventoryItemPacket.AgentDataBlock LibreMetaverse.Packets.LinkInventoryItemPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::LinkInventoryItemPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.LinkInventoryItemPacket.InventoryBlock`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LinkInventoryItemPacket.InventoryBlockBlock LibreMetaverse.Packets.LinkInventoryItemPacket.InventoryBlock`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub inventory_block: libremetaverse::packets::LinkInventoryItemPacketInventoryBlockBlock,
    }
    impl LinkInventoryItemPacket {
        /// C# member: `M:LibreMetaverse.Packets.LinkInventoryItemPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LinkInventoryItemPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.LinkInventoryItemPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LinkInventoryItemPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LinkInventoryItemPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LinkInventoryItemPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LinkInventoryItemPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LinkInventoryItemPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.LinkInventoryItemPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LinkInventoryItemPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.LinkInventoryItemPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LinkInventoryItemPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.LinkInventoryItemPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.LinkInventoryItemPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.LinkInventoryItemPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.LinkInventoryItemPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.LinkInventoryItemPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.LinkInventoryItemPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.LinkInventoryItemPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.LinkInventoryItemPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.LinkInventoryItemPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.LinkInventoryItemPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.LinkInventoryItemPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.LinkInventoryItemPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.LinkInventoryItemPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.LinkInventoryItemPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.LinkInventoryItemPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.LinkInventoryItemPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct LinkInventoryItemPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.LinkInventoryItemPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.LinkInventoryItemPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.LinkInventoryItemPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.LinkInventoryItemPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl LinkInventoryItemPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.LinkInventoryItemPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LinkInventoryItemPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.LinkInventoryItemPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LinkInventoryItemPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LinkInventoryItemPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LinkInventoryItemPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LinkInventoryItemPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LinkInventoryItemPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.LinkInventoryItemPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LinkInventoryItemPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LinkInventoryItemPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.LinkInventoryItemPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.LinkInventoryItemPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.LinkInventoryItemPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.LinkInventoryItemPacket.InventoryBlockBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.LinkInventoryItemPacket.InventoryBlockBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct LinkInventoryItemPacketInventoryBlockBlock {
        /// C# member: `F:LibreMetaverse.Packets.LinkInventoryItemPacket.InventoryBlockBlock.CallbackID`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.LinkInventoryItemPacket.InventoryBlockBlock.CallbackID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub callback_id: u32,
        /// C# member: `F:LibreMetaverse.Packets.LinkInventoryItemPacket.InventoryBlockBlock.Description`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.LinkInventoryItemPacket.InventoryBlockBlock.Description`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub description: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.LinkInventoryItemPacket.InventoryBlockBlock.FolderID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.LinkInventoryItemPacket.InventoryBlockBlock.FolderID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub folder_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.LinkInventoryItemPacket.InventoryBlockBlock.InvType`.
        ///
        /// C# signature: `System.SByte LibreMetaverse.Packets.LinkInventoryItemPacket.InventoryBlockBlock.InvType`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub inv_type: i8,
        /// C# member: `F:LibreMetaverse.Packets.LinkInventoryItemPacket.InventoryBlockBlock.Name`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.LinkInventoryItemPacket.InventoryBlockBlock.Name`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub name: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.LinkInventoryItemPacket.InventoryBlockBlock.OldItemID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.LinkInventoryItemPacket.InventoryBlockBlock.OldItemID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub old_item_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.LinkInventoryItemPacket.InventoryBlockBlock.TransactionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.LinkInventoryItemPacket.InventoryBlockBlock.TransactionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub transaction_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.LinkInventoryItemPacket.InventoryBlockBlock.Type`.
        ///
        /// C# signature: `System.SByte LibreMetaverse.Packets.LinkInventoryItemPacket.InventoryBlockBlock.Type`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub type_: i8,
    }
    impl LinkInventoryItemPacketInventoryBlockBlock {
        /// C# member: `M:LibreMetaverse.Packets.LinkInventoryItemPacket.InventoryBlockBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LinkInventoryItemPacket.InventoryBlockBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.LinkInventoryItemPacket.InventoryBlockBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LinkInventoryItemPacket.InventoryBlockBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LinkInventoryItemPacket.InventoryBlockBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LinkInventoryItemPacket.InventoryBlockBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LinkInventoryItemPacket.InventoryBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LinkInventoryItemPacket.InventoryBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.LinkInventoryItemPacket.InventoryBlockBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LinkInventoryItemPacket.InventoryBlockBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LinkInventoryItemPacket.InventoryBlockBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.LinkInventoryItemPacket.InventoryBlockBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.LinkInventoryItemPacket.InventoryBlockBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.LinkInventoryItemPacket.InventoryBlockBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.LiveHelpGroupReplyPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.LiveHelpGroupReplyPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct LiveHelpGroupReplyPacket {
        /// C# member: `F:LibreMetaverse.Packets.LiveHelpGroupReplyPacket.ReplyData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LiveHelpGroupReplyPacket.ReplyDataBlock LibreMetaverse.Packets.LiveHelpGroupReplyPacket.ReplyData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub reply_data: libremetaverse::packets::LiveHelpGroupReplyPacketReplyDataBlock,
    }
    impl LiveHelpGroupReplyPacket {
        /// C# member: `M:LibreMetaverse.Packets.LiveHelpGroupReplyPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LiveHelpGroupReplyPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.LiveHelpGroupReplyPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LiveHelpGroupReplyPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LiveHelpGroupReplyPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LiveHelpGroupReplyPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LiveHelpGroupReplyPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LiveHelpGroupReplyPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.LiveHelpGroupReplyPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LiveHelpGroupReplyPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.LiveHelpGroupReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LiveHelpGroupReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.LiveHelpGroupReplyPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.LiveHelpGroupReplyPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.LiveHelpGroupReplyPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.LiveHelpGroupReplyPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.LiveHelpGroupReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.LiveHelpGroupReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.LiveHelpGroupReplyPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.LiveHelpGroupReplyPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.LiveHelpGroupReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.LiveHelpGroupReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.LiveHelpGroupReplyPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.LiveHelpGroupReplyPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.LiveHelpGroupReplyPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.LiveHelpGroupReplyPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.LiveHelpGroupReplyPacket.ReplyDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.LiveHelpGroupReplyPacket.ReplyDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct LiveHelpGroupReplyPacketReplyDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.LiveHelpGroupReplyPacket.ReplyDataBlock.GroupID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.LiveHelpGroupReplyPacket.ReplyDataBlock.GroupID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.LiveHelpGroupReplyPacket.ReplyDataBlock.RequestID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.LiveHelpGroupReplyPacket.ReplyDataBlock.RequestID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub request_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.LiveHelpGroupReplyPacket.ReplyDataBlock.Selection`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.LiveHelpGroupReplyPacket.ReplyDataBlock.Selection`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub selection: Vec<u8>,
    }
    impl LiveHelpGroupReplyPacketReplyDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.LiveHelpGroupReplyPacket.ReplyDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LiveHelpGroupReplyPacket.ReplyDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.LiveHelpGroupReplyPacket.ReplyDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LiveHelpGroupReplyPacket.ReplyDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LiveHelpGroupReplyPacket.ReplyDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LiveHelpGroupReplyPacket.ReplyDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LiveHelpGroupReplyPacket.ReplyDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LiveHelpGroupReplyPacket.ReplyDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.LiveHelpGroupReplyPacket.ReplyDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LiveHelpGroupReplyPacket.ReplyDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LiveHelpGroupReplyPacket.ReplyDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.LiveHelpGroupReplyPacket.ReplyDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.LiveHelpGroupReplyPacket.ReplyDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.LiveHelpGroupReplyPacket.ReplyDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.LiveHelpGroupRequestPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.LiveHelpGroupRequestPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct LiveHelpGroupRequestPacket {
        /// C# member: `F:LibreMetaverse.Packets.LiveHelpGroupRequestPacket.RequestData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LiveHelpGroupRequestPacket.RequestDataBlock LibreMetaverse.Packets.LiveHelpGroupRequestPacket.RequestData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub request_data: libremetaverse::packets::LiveHelpGroupRequestPacketRequestDataBlock,
    }
    impl LiveHelpGroupRequestPacket {
        /// C# member: `M:LibreMetaverse.Packets.LiveHelpGroupRequestPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LiveHelpGroupRequestPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.LiveHelpGroupRequestPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LiveHelpGroupRequestPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LiveHelpGroupRequestPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LiveHelpGroupRequestPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LiveHelpGroupRequestPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LiveHelpGroupRequestPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.LiveHelpGroupRequestPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LiveHelpGroupRequestPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.LiveHelpGroupRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LiveHelpGroupRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.LiveHelpGroupRequestPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.LiveHelpGroupRequestPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.LiveHelpGroupRequestPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.LiveHelpGroupRequestPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.LiveHelpGroupRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.LiveHelpGroupRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.LiveHelpGroupRequestPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.LiveHelpGroupRequestPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.LiveHelpGroupRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.LiveHelpGroupRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.LiveHelpGroupRequestPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.LiveHelpGroupRequestPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.LiveHelpGroupRequestPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.LiveHelpGroupRequestPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.LiveHelpGroupRequestPacket.RequestDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.LiveHelpGroupRequestPacket.RequestDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct LiveHelpGroupRequestPacketRequestDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.LiveHelpGroupRequestPacket.RequestDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.LiveHelpGroupRequestPacket.RequestDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.LiveHelpGroupRequestPacket.RequestDataBlock.RequestID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.LiveHelpGroupRequestPacket.RequestDataBlock.RequestID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub request_id: libremetaverse_types::UUID,
    }
    impl LiveHelpGroupRequestPacketRequestDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.LiveHelpGroupRequestPacket.RequestDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LiveHelpGroupRequestPacket.RequestDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.LiveHelpGroupRequestPacket.RequestDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LiveHelpGroupRequestPacket.RequestDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LiveHelpGroupRequestPacket.RequestDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LiveHelpGroupRequestPacket.RequestDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LiveHelpGroupRequestPacket.RequestDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LiveHelpGroupRequestPacket.RequestDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.LiveHelpGroupRequestPacket.RequestDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LiveHelpGroupRequestPacket.RequestDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LiveHelpGroupRequestPacket.RequestDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.LiveHelpGroupRequestPacket.RequestDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.LiveHelpGroupRequestPacket.RequestDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.LiveHelpGroupRequestPacket.RequestDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.LoadURLPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.LoadURLPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct LoadURLPacket {
        /// C# member: `F:LibreMetaverse.Packets.LoadURLPacket.Data`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LoadURLPacket.DataBlock LibreMetaverse.Packets.LoadURLPacket.Data`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub data: libremetaverse::packets::LoadURLPacketDataBlock,
    }
    impl LoadURLPacket {
        /// C# member: `M:LibreMetaverse.Packets.LoadURLPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LoadURLPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.LoadURLPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LoadURLPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LoadURLPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LoadURLPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LoadURLPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LoadURLPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.LoadURLPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LoadURLPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.LoadURLPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LoadURLPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.LoadURLPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.LoadURLPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.LoadURLPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.LoadURLPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.LoadURLPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.LoadURLPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.LoadURLPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.LoadURLPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.LoadURLPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.LoadURLPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.LoadURLPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.LoadURLPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.LoadURLPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.LoadURLPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.LoadURLPacket.DataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.LoadURLPacket.DataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct LoadURLPacketDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.LoadURLPacket.DataBlock.Message`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.LoadURLPacket.DataBlock.Message`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub message: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.LoadURLPacket.DataBlock.ObjectID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.LoadURLPacket.DataBlock.ObjectID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.LoadURLPacket.DataBlock.ObjectName`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.LoadURLPacket.DataBlock.ObjectName`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_name: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.LoadURLPacket.DataBlock.OwnerID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.LoadURLPacket.DataBlock.OwnerID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub owner_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.LoadURLPacket.DataBlock.OwnerIsGroup`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.LoadURLPacket.DataBlock.OwnerIsGroup`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub owner_is_group: bool,
        /// C# member: `F:LibreMetaverse.Packets.LoadURLPacket.DataBlock.URL`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.LoadURLPacket.DataBlock.URL`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub url: Vec<u8>,
    }
    impl LoadURLPacketDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.LoadURLPacket.DataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LoadURLPacket.DataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.LoadURLPacket.DataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LoadURLPacket.DataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LoadURLPacket.DataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LoadURLPacket.DataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LoadURLPacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LoadURLPacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.LoadURLPacket.DataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LoadURLPacket.DataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LoadURLPacket.DataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.LoadURLPacket.DataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.LoadURLPacket.DataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.LoadURLPacket.DataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.LogDwellTimePacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.LogDwellTimePacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct LogDwellTimePacket {
        /// C# member: `F:LibreMetaverse.Packets.LogDwellTimePacket.DwellInfo`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LogDwellTimePacket.DwellInfoBlock LibreMetaverse.Packets.LogDwellTimePacket.DwellInfo`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub dwell_info: libremetaverse::packets::LogDwellTimePacketDwellInfoBlock,
    }
    impl LogDwellTimePacket {
        /// C# member: `M:LibreMetaverse.Packets.LogDwellTimePacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LogDwellTimePacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.LogDwellTimePacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LogDwellTimePacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LogDwellTimePacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LogDwellTimePacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LogDwellTimePacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LogDwellTimePacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.LogDwellTimePacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LogDwellTimePacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.LogDwellTimePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LogDwellTimePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.LogDwellTimePacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.LogDwellTimePacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.LogDwellTimePacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.LogDwellTimePacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.LogDwellTimePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.LogDwellTimePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.LogDwellTimePacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.LogDwellTimePacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.LogDwellTimePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.LogDwellTimePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.LogDwellTimePacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.LogDwellTimePacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.LogDwellTimePacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.LogDwellTimePacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.LogDwellTimePacket.DwellInfoBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.LogDwellTimePacket.DwellInfoBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct LogDwellTimePacketDwellInfoBlock {
        /// C# member: `F:LibreMetaverse.Packets.LogDwellTimePacket.DwellInfoBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.LogDwellTimePacket.DwellInfoBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.LogDwellTimePacket.DwellInfoBlock.AvgAgentsInView`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.LogDwellTimePacket.DwellInfoBlock.AvgAgentsInView`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub avg_agents_in_view: u8,
        /// C# member: `F:LibreMetaverse.Packets.LogDwellTimePacket.DwellInfoBlock.AvgViewerFPS`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.LogDwellTimePacket.DwellInfoBlock.AvgViewerFPS`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub avg_viewer_fps: u8,
        /// C# member: `F:LibreMetaverse.Packets.LogDwellTimePacket.DwellInfoBlock.Duration`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.LogDwellTimePacket.DwellInfoBlock.Duration`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub duration: f32,
        /// C# member: `F:LibreMetaverse.Packets.LogDwellTimePacket.DwellInfoBlock.RegionX`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.LogDwellTimePacket.DwellInfoBlock.RegionX`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub region_x: u32,
        /// C# member: `F:LibreMetaverse.Packets.LogDwellTimePacket.DwellInfoBlock.RegionY`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.LogDwellTimePacket.DwellInfoBlock.RegionY`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub region_y: u32,
        /// C# member: `F:LibreMetaverse.Packets.LogDwellTimePacket.DwellInfoBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.LogDwellTimePacket.DwellInfoBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.LogDwellTimePacket.DwellInfoBlock.SimName`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.LogDwellTimePacket.DwellInfoBlock.SimName`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub sim_name: Vec<u8>,
    }
    impl LogDwellTimePacketDwellInfoBlock {
        /// C# member: `M:LibreMetaverse.Packets.LogDwellTimePacket.DwellInfoBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LogDwellTimePacket.DwellInfoBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.LogDwellTimePacket.DwellInfoBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LogDwellTimePacket.DwellInfoBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LogDwellTimePacket.DwellInfoBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LogDwellTimePacket.DwellInfoBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LogDwellTimePacket.DwellInfoBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LogDwellTimePacket.DwellInfoBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.LogDwellTimePacket.DwellInfoBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LogDwellTimePacket.DwellInfoBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LogDwellTimePacket.DwellInfoBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.LogDwellTimePacket.DwellInfoBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.LogDwellTimePacket.DwellInfoBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.LogDwellTimePacket.DwellInfoBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.LogFailedMoneyTransactionPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.LogFailedMoneyTransactionPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct LogFailedMoneyTransactionPacket {
        /// C# member: `F:LibreMetaverse.Packets.LogFailedMoneyTransactionPacket.TransactionData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LogFailedMoneyTransactionPacket.TransactionDataBlock LibreMetaverse.Packets.LogFailedMoneyTransactionPacket.TransactionData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub transaction_data:
            libremetaverse::packets::LogFailedMoneyTransactionPacketTransactionDataBlock,
    }
    impl LogFailedMoneyTransactionPacket {
        /// C# member: `M:LibreMetaverse.Packets.LogFailedMoneyTransactionPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LogFailedMoneyTransactionPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.LogFailedMoneyTransactionPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LogFailedMoneyTransactionPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LogFailedMoneyTransactionPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LogFailedMoneyTransactionPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LogFailedMoneyTransactionPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LogFailedMoneyTransactionPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.LogFailedMoneyTransactionPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LogFailedMoneyTransactionPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.LogFailedMoneyTransactionPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LogFailedMoneyTransactionPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.LogFailedMoneyTransactionPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.LogFailedMoneyTransactionPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.LogFailedMoneyTransactionPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.LogFailedMoneyTransactionPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.LogFailedMoneyTransactionPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.LogFailedMoneyTransactionPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.LogFailedMoneyTransactionPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.LogFailedMoneyTransactionPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.LogFailedMoneyTransactionPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.LogFailedMoneyTransactionPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.LogFailedMoneyTransactionPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.LogFailedMoneyTransactionPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.LogFailedMoneyTransactionPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.LogFailedMoneyTransactionPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.LogFailedMoneyTransactionPacket.TransactionDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.LogFailedMoneyTransactionPacket.TransactionDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct LogFailedMoneyTransactionPacketTransactionDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.LogFailedMoneyTransactionPacket.TransactionDataBlock.Amount`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.LogFailedMoneyTransactionPacket.TransactionDataBlock.Amount`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub amount: i32,
        /// C# member: `F:LibreMetaverse.Packets.LogFailedMoneyTransactionPacket.TransactionDataBlock.DestID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.LogFailedMoneyTransactionPacket.TransactionDataBlock.DestID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub dest_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.LogFailedMoneyTransactionPacket.TransactionDataBlock.FailureType`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.LogFailedMoneyTransactionPacket.TransactionDataBlock.FailureType`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub failure_type: u8,
        /// C# member: `F:LibreMetaverse.Packets.LogFailedMoneyTransactionPacket.TransactionDataBlock.Flags`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.LogFailedMoneyTransactionPacket.TransactionDataBlock.Flags`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub flags: u8,
        /// C# member: `F:LibreMetaverse.Packets.LogFailedMoneyTransactionPacket.TransactionDataBlock.GridX`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.LogFailedMoneyTransactionPacket.TransactionDataBlock.GridX`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub grid_x: u32,
        /// C# member: `F:LibreMetaverse.Packets.LogFailedMoneyTransactionPacket.TransactionDataBlock.GridY`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.LogFailedMoneyTransactionPacket.TransactionDataBlock.GridY`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub grid_y: u32,
        /// C# member: `F:LibreMetaverse.Packets.LogFailedMoneyTransactionPacket.TransactionDataBlock.SimulatorIP`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.LogFailedMoneyTransactionPacket.TransactionDataBlock.SimulatorIP`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub simulator_ip: u32,
        /// C# member: `F:LibreMetaverse.Packets.LogFailedMoneyTransactionPacket.TransactionDataBlock.SourceID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.LogFailedMoneyTransactionPacket.TransactionDataBlock.SourceID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub source_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.LogFailedMoneyTransactionPacket.TransactionDataBlock.TransactionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.LogFailedMoneyTransactionPacket.TransactionDataBlock.TransactionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub transaction_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.LogFailedMoneyTransactionPacket.TransactionDataBlock.TransactionTime`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.LogFailedMoneyTransactionPacket.TransactionDataBlock.TransactionTime`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub transaction_time: u32,
        /// C# member: `F:LibreMetaverse.Packets.LogFailedMoneyTransactionPacket.TransactionDataBlock.TransactionType`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.LogFailedMoneyTransactionPacket.TransactionDataBlock.TransactionType`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub transaction_type: i32,
    }
    impl LogFailedMoneyTransactionPacketTransactionDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.LogFailedMoneyTransactionPacket.TransactionDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LogFailedMoneyTransactionPacket.TransactionDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.LogFailedMoneyTransactionPacket.TransactionDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LogFailedMoneyTransactionPacket.TransactionDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LogFailedMoneyTransactionPacket.TransactionDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LogFailedMoneyTransactionPacket.TransactionDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LogFailedMoneyTransactionPacket.TransactionDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LogFailedMoneyTransactionPacket.TransactionDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.LogFailedMoneyTransactionPacket.TransactionDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LogFailedMoneyTransactionPacket.TransactionDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LogFailedMoneyTransactionPacket.TransactionDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.LogFailedMoneyTransactionPacket.TransactionDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.LogFailedMoneyTransactionPacket.TransactionDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.LogFailedMoneyTransactionPacket.TransactionDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.LogParcelChangesPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.LogParcelChangesPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct LogParcelChangesPacket {
        /// C# member: `F:LibreMetaverse.Packets.LogParcelChangesPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LogParcelChangesPacket.AgentDataBlock LibreMetaverse.Packets.LogParcelChangesPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::LogParcelChangesPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.LogParcelChangesPacket.ParcelData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LogParcelChangesPacket.ParcelDataBlock[] LibreMetaverse.Packets.LogParcelChangesPacket.ParcelData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub parcel_data: Vec<libremetaverse::packets::LogParcelChangesPacketParcelDataBlock>,
        /// C# member: `F:LibreMetaverse.Packets.LogParcelChangesPacket.RegionData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LogParcelChangesPacket.RegionDataBlock LibreMetaverse.Packets.LogParcelChangesPacket.RegionData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub region_data: libremetaverse::packets::LogParcelChangesPacketRegionDataBlock,
    }
    impl LogParcelChangesPacket {
        /// C# member: `M:LibreMetaverse.Packets.LogParcelChangesPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LogParcelChangesPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.LogParcelChangesPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LogParcelChangesPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LogParcelChangesPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LogParcelChangesPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LogParcelChangesPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LogParcelChangesPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.LogParcelChangesPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LogParcelChangesPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.LogParcelChangesPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LogParcelChangesPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.LogParcelChangesPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.LogParcelChangesPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.LogParcelChangesPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.LogParcelChangesPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.LogParcelChangesPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.LogParcelChangesPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.LogParcelChangesPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.LogParcelChangesPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.LogParcelChangesPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.LogParcelChangesPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.LogParcelChangesPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.LogParcelChangesPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.LogParcelChangesPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.LogParcelChangesPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.LogParcelChangesPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.LogParcelChangesPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct LogParcelChangesPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.LogParcelChangesPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.LogParcelChangesPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
    }
    impl LogParcelChangesPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.LogParcelChangesPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LogParcelChangesPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.LogParcelChangesPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LogParcelChangesPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LogParcelChangesPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LogParcelChangesPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LogParcelChangesPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LogParcelChangesPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.LogParcelChangesPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LogParcelChangesPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LogParcelChangesPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.LogParcelChangesPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.LogParcelChangesPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.LogParcelChangesPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.LogParcelChangesPacket.ParcelDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.LogParcelChangesPacket.ParcelDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct LogParcelChangesPacketParcelDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.LogParcelChangesPacket.ParcelDataBlock.Action`.
        ///
        /// C# signature: `System.SByte LibreMetaverse.Packets.LogParcelChangesPacket.ParcelDataBlock.Action`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub action: i8,
        /// C# member: `F:LibreMetaverse.Packets.LogParcelChangesPacket.ParcelDataBlock.ActualArea`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.LogParcelChangesPacket.ParcelDataBlock.ActualArea`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub actual_area: i32,
        /// C# member: `F:LibreMetaverse.Packets.LogParcelChangesPacket.ParcelDataBlock.IsOwnerGroup`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.LogParcelChangesPacket.ParcelDataBlock.IsOwnerGroup`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub is_owner_group: bool,
        /// C# member: `F:LibreMetaverse.Packets.LogParcelChangesPacket.ParcelDataBlock.OwnerID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.LogParcelChangesPacket.ParcelDataBlock.OwnerID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub owner_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.LogParcelChangesPacket.ParcelDataBlock.ParcelID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.LogParcelChangesPacket.ParcelDataBlock.ParcelID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub parcel_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.LogParcelChangesPacket.ParcelDataBlock.TransactionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.LogParcelChangesPacket.ParcelDataBlock.TransactionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub transaction_id: libremetaverse_types::UUID,
    }
    impl LogParcelChangesPacketParcelDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.LogParcelChangesPacket.ParcelDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LogParcelChangesPacket.ParcelDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.LogParcelChangesPacket.ParcelDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LogParcelChangesPacket.ParcelDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LogParcelChangesPacket.ParcelDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LogParcelChangesPacket.ParcelDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LogParcelChangesPacket.ParcelDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LogParcelChangesPacket.ParcelDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.LogParcelChangesPacket.ParcelDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LogParcelChangesPacket.ParcelDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LogParcelChangesPacket.ParcelDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.LogParcelChangesPacket.ParcelDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.LogParcelChangesPacket.ParcelDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.LogParcelChangesPacket.ParcelDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.LogParcelChangesPacket.RegionDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.LogParcelChangesPacket.RegionDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct LogParcelChangesPacketRegionDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.LogParcelChangesPacket.RegionDataBlock.RegionHandle`.
        ///
        /// C# signature: `System.UInt64 LibreMetaverse.Packets.LogParcelChangesPacket.RegionDataBlock.RegionHandle`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub region_handle: u64,
    }
    impl LogParcelChangesPacketRegionDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.LogParcelChangesPacket.RegionDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LogParcelChangesPacket.RegionDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.LogParcelChangesPacket.RegionDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LogParcelChangesPacket.RegionDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LogParcelChangesPacket.RegionDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LogParcelChangesPacket.RegionDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LogParcelChangesPacket.RegionDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LogParcelChangesPacket.RegionDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.LogParcelChangesPacket.RegionDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LogParcelChangesPacket.RegionDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LogParcelChangesPacket.RegionDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.LogParcelChangesPacket.RegionDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.LogParcelChangesPacket.RegionDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.LogParcelChangesPacket.RegionDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.LogTextMessagePacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.LogTextMessagePacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct LogTextMessagePacket {
        /// C# member: `F:LibreMetaverse.Packets.LogTextMessagePacket.DataBlock`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LogTextMessagePacket.DataBlockBlock[] LibreMetaverse.Packets.LogTextMessagePacket.DataBlock`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub data_block: Vec<libremetaverse::packets::LogTextMessagePacketDataBlockBlock>,
    }
    impl LogTextMessagePacket {
        /// C# member: `M:LibreMetaverse.Packets.LogTextMessagePacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LogTextMessagePacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.LogTextMessagePacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LogTextMessagePacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LogTextMessagePacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LogTextMessagePacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LogTextMessagePacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LogTextMessagePacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.LogTextMessagePacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LogTextMessagePacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.LogTextMessagePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LogTextMessagePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.LogTextMessagePacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.LogTextMessagePacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.LogTextMessagePacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.LogTextMessagePacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.LogTextMessagePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.LogTextMessagePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.LogTextMessagePacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.LogTextMessagePacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.LogTextMessagePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.LogTextMessagePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.LogTextMessagePacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.LogTextMessagePacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.LogTextMessagePacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.LogTextMessagePacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.LogTextMessagePacket.DataBlockBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.LogTextMessagePacket.DataBlockBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct LogTextMessagePacketDataBlockBlock {
        /// C# member: `F:LibreMetaverse.Packets.LogTextMessagePacket.DataBlockBlock.FromAgentId`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.LogTextMessagePacket.DataBlockBlock.FromAgentId`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub from_agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.LogTextMessagePacket.DataBlockBlock.GlobalX`.
        ///
        /// C# signature: `System.Double LibreMetaverse.Packets.LogTextMessagePacket.DataBlockBlock.GlobalX`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub global_x: f64,
        /// C# member: `F:LibreMetaverse.Packets.LogTextMessagePacket.DataBlockBlock.GlobalY`.
        ///
        /// C# signature: `System.Double LibreMetaverse.Packets.LogTextMessagePacket.DataBlockBlock.GlobalY`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub global_y: f64,
        /// C# member: `F:LibreMetaverse.Packets.LogTextMessagePacket.DataBlockBlock.Message`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.LogTextMessagePacket.DataBlockBlock.Message`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub message: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.LogTextMessagePacket.DataBlockBlock.Time`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.LogTextMessagePacket.DataBlockBlock.Time`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub time: u32,
        /// C# member: `F:LibreMetaverse.Packets.LogTextMessagePacket.DataBlockBlock.ToAgentId`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.LogTextMessagePacket.DataBlockBlock.ToAgentId`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub to_agent_id: libremetaverse_types::UUID,
    }
    impl LogTextMessagePacketDataBlockBlock {
        /// C# member: `M:LibreMetaverse.Packets.LogTextMessagePacket.DataBlockBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LogTextMessagePacket.DataBlockBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.LogTextMessagePacket.DataBlockBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LogTextMessagePacket.DataBlockBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LogTextMessagePacket.DataBlockBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LogTextMessagePacket.DataBlockBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LogTextMessagePacket.DataBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LogTextMessagePacket.DataBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.LogTextMessagePacket.DataBlockBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LogTextMessagePacket.DataBlockBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LogTextMessagePacket.DataBlockBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.LogTextMessagePacket.DataBlockBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.LogTextMessagePacket.DataBlockBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.LogTextMessagePacket.DataBlockBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.LogoutReplyPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.LogoutReplyPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct LogoutReplyPacket {
        /// C# member: `F:LibreMetaverse.Packets.LogoutReplyPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LogoutReplyPacket.AgentDataBlock LibreMetaverse.Packets.LogoutReplyPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::LogoutReplyPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.LogoutReplyPacket.InventoryData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LogoutReplyPacket.InventoryDataBlock[] LibreMetaverse.Packets.LogoutReplyPacket.InventoryData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub inventory_data: Vec<libremetaverse::packets::LogoutReplyPacketInventoryDataBlock>,
    }
    impl LogoutReplyPacket {
        /// C# member: `M:LibreMetaverse.Packets.LogoutReplyPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LogoutReplyPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.LogoutReplyPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LogoutReplyPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LogoutReplyPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LogoutReplyPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LogoutReplyPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LogoutReplyPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.LogoutReplyPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LogoutReplyPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.LogoutReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LogoutReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.LogoutReplyPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.LogoutReplyPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.LogoutReplyPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.LogoutReplyPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.LogoutReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.LogoutReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.LogoutReplyPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.LogoutReplyPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.LogoutReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.LogoutReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.LogoutReplyPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.LogoutReplyPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.LogoutReplyPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.LogoutReplyPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.LogoutReplyPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.LogoutReplyPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct LogoutReplyPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.LogoutReplyPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.LogoutReplyPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.LogoutReplyPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.LogoutReplyPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl LogoutReplyPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.LogoutReplyPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LogoutReplyPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.LogoutReplyPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LogoutReplyPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LogoutReplyPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LogoutReplyPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LogoutReplyPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LogoutReplyPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.LogoutReplyPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LogoutReplyPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LogoutReplyPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.LogoutReplyPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.LogoutReplyPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.LogoutReplyPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.LogoutReplyPacket.InventoryDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.LogoutReplyPacket.InventoryDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct LogoutReplyPacketInventoryDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.LogoutReplyPacket.InventoryDataBlock.ItemID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.LogoutReplyPacket.InventoryDataBlock.ItemID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub item_id: libremetaverse_types::UUID,
    }
    impl LogoutReplyPacketInventoryDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.LogoutReplyPacket.InventoryDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LogoutReplyPacket.InventoryDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.LogoutReplyPacket.InventoryDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LogoutReplyPacket.InventoryDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LogoutReplyPacket.InventoryDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LogoutReplyPacket.InventoryDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LogoutReplyPacket.InventoryDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LogoutReplyPacket.InventoryDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.LogoutReplyPacket.InventoryDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LogoutReplyPacket.InventoryDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LogoutReplyPacket.InventoryDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.LogoutReplyPacket.InventoryDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.LogoutReplyPacket.InventoryDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.LogoutReplyPacket.InventoryDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.LogoutRequestPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.LogoutRequestPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct LogoutRequestPacket {
        /// C# member: `F:LibreMetaverse.Packets.LogoutRequestPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LogoutRequestPacket.AgentDataBlock LibreMetaverse.Packets.LogoutRequestPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::LogoutRequestPacketAgentDataBlock,
    }
    impl LogoutRequestPacket {
        /// C# member: `M:LibreMetaverse.Packets.LogoutRequestPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LogoutRequestPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.LogoutRequestPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LogoutRequestPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LogoutRequestPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LogoutRequestPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LogoutRequestPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LogoutRequestPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.LogoutRequestPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LogoutRequestPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.LogoutRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LogoutRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.LogoutRequestPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.LogoutRequestPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.LogoutRequestPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.LogoutRequestPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.LogoutRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.LogoutRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.LogoutRequestPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.LogoutRequestPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.LogoutRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.LogoutRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.LogoutRequestPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.LogoutRequestPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.LogoutRequestPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.LogoutRequestPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.LogoutRequestPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.LogoutRequestPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct LogoutRequestPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.LogoutRequestPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.LogoutRequestPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.LogoutRequestPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.LogoutRequestPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl LogoutRequestPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.LogoutRequestPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LogoutRequestPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.LogoutRequestPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.LogoutRequestPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LogoutRequestPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LogoutRequestPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LogoutRequestPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LogoutRequestPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.LogoutRequestPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.LogoutRequestPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.LogoutRequestPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.LogoutRequestPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.LogoutRequestPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.LogoutRequestPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.MalformedDataException`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.MalformedDataException` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    /// C# member: `M:LibreMetaverse.Packets.MalformedDataException.#ctor`.
    ///
    /// C# signature: `LibreMetaverse.Packets.MalformedDataException()`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    /// C# member: `M:LibreMetaverse.Packets.MalformedDataException.#ctor(System.String)`.
    ///
    /// C# signature: `LibreMetaverse.Packets.MalformedDataException(System.String Message)`.
    /// Mapping contract: ownership `owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub use crate::port_errors::MalformedDataException;

    /// C# type: `T:LibreMetaverse.Packets.MapBlockReplyPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.MapBlockReplyPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct MapBlockReplyPacket {
        /// C# member: `F:LibreMetaverse.Packets.MapBlockReplyPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MapBlockReplyPacket.AgentDataBlock LibreMetaverse.Packets.MapBlockReplyPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::MapBlockReplyPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.MapBlockReplyPacket.Data`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MapBlockReplyPacket.DataBlock[] LibreMetaverse.Packets.MapBlockReplyPacket.Data`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub data: Vec<libremetaverse::packets::MapBlockReplyPacketDataBlock>,
        /// C# member: `F:LibreMetaverse.Packets.MapBlockReplyPacket.Size`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MapBlockReplyPacket.SizeBlock[] LibreMetaverse.Packets.MapBlockReplyPacket.Size`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub size: Vec<libremetaverse::packets::MapBlockReplyPacketSizeBlock>,
    }
    impl MapBlockReplyPacket {
        /// C# member: `M:LibreMetaverse.Packets.MapBlockReplyPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MapBlockReplyPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.MapBlockReplyPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MapBlockReplyPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MapBlockReplyPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MapBlockReplyPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MapBlockReplyPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MapBlockReplyPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.MapBlockReplyPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MapBlockReplyPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.MapBlockReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MapBlockReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.MapBlockReplyPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.MapBlockReplyPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.MapBlockReplyPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.MapBlockReplyPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.MapBlockReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.MapBlockReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.MapBlockReplyPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.MapBlockReplyPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.MapBlockReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.MapBlockReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.MapBlockReplyPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.MapBlockReplyPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.MapBlockReplyPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.MapBlockReplyPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.MapBlockReplyPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.MapBlockReplyPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct MapBlockReplyPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.MapBlockReplyPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.MapBlockReplyPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.MapBlockReplyPacket.AgentDataBlock.Flags`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.MapBlockReplyPacket.AgentDataBlock.Flags`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub flags: u32,
    }
    impl MapBlockReplyPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.MapBlockReplyPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MapBlockReplyPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.MapBlockReplyPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MapBlockReplyPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MapBlockReplyPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MapBlockReplyPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MapBlockReplyPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MapBlockReplyPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.MapBlockReplyPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MapBlockReplyPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MapBlockReplyPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.MapBlockReplyPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.MapBlockReplyPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.MapBlockReplyPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.MapBlockReplyPacket.DataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.MapBlockReplyPacket.DataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct MapBlockReplyPacketDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.MapBlockReplyPacket.DataBlock.Access`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.MapBlockReplyPacket.DataBlock.Access`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub access: u8,
        /// C# member: `F:LibreMetaverse.Packets.MapBlockReplyPacket.DataBlock.Agents`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.MapBlockReplyPacket.DataBlock.Agents`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agents: u8,
        /// C# member: `F:LibreMetaverse.Packets.MapBlockReplyPacket.DataBlock.MapImageID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.MapBlockReplyPacket.DataBlock.MapImageID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub map_image_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.MapBlockReplyPacket.DataBlock.Name`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.MapBlockReplyPacket.DataBlock.Name`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub name: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.MapBlockReplyPacket.DataBlock.RegionFlags`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.MapBlockReplyPacket.DataBlock.RegionFlags`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub region_flags: u32,
        /// C# member: `F:LibreMetaverse.Packets.MapBlockReplyPacket.DataBlock.WaterHeight`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.MapBlockReplyPacket.DataBlock.WaterHeight`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub water_height: u8,
        /// C# member: `F:LibreMetaverse.Packets.MapBlockReplyPacket.DataBlock.X`.
        ///
        /// C# signature: `System.UInt16 LibreMetaverse.Packets.MapBlockReplyPacket.DataBlock.X`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub x: u16,
        /// C# member: `F:LibreMetaverse.Packets.MapBlockReplyPacket.DataBlock.Y`.
        ///
        /// C# signature: `System.UInt16 LibreMetaverse.Packets.MapBlockReplyPacket.DataBlock.Y`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub y: u16,
    }
    impl MapBlockReplyPacketDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.MapBlockReplyPacket.DataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MapBlockReplyPacket.DataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.MapBlockReplyPacket.DataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MapBlockReplyPacket.DataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MapBlockReplyPacket.DataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MapBlockReplyPacket.DataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MapBlockReplyPacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MapBlockReplyPacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.MapBlockReplyPacket.DataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MapBlockReplyPacket.DataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MapBlockReplyPacket.DataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.MapBlockReplyPacket.DataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.MapBlockReplyPacket.DataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.MapBlockReplyPacket.DataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.MapBlockReplyPacket.SizeBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.MapBlockReplyPacket.SizeBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct MapBlockReplyPacketSizeBlock {
        /// C# member: `F:LibreMetaverse.Packets.MapBlockReplyPacket.SizeBlock.SizeX`.
        ///
        /// C# signature: `System.UInt16 LibreMetaverse.Packets.MapBlockReplyPacket.SizeBlock.SizeX`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub size_x: u16,
        /// C# member: `F:LibreMetaverse.Packets.MapBlockReplyPacket.SizeBlock.SizeY`.
        ///
        /// C# signature: `System.UInt16 LibreMetaverse.Packets.MapBlockReplyPacket.SizeBlock.SizeY`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub size_y: u16,
    }
    impl MapBlockReplyPacketSizeBlock {
        /// C# member: `M:LibreMetaverse.Packets.MapBlockReplyPacket.SizeBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MapBlockReplyPacket.SizeBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.MapBlockReplyPacket.SizeBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MapBlockReplyPacket.SizeBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MapBlockReplyPacket.SizeBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MapBlockReplyPacket.SizeBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MapBlockReplyPacket.SizeBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MapBlockReplyPacket.SizeBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.MapBlockReplyPacket.SizeBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MapBlockReplyPacket.SizeBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MapBlockReplyPacket.SizeBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.MapBlockReplyPacket.SizeBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.MapBlockReplyPacket.SizeBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.MapBlockReplyPacket.SizeBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.MapBlockRequestPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.MapBlockRequestPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct MapBlockRequestPacket {
        /// C# member: `F:LibreMetaverse.Packets.MapBlockRequestPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MapBlockRequestPacket.AgentDataBlock LibreMetaverse.Packets.MapBlockRequestPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::MapBlockRequestPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.MapBlockRequestPacket.PositionData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MapBlockRequestPacket.PositionDataBlock LibreMetaverse.Packets.MapBlockRequestPacket.PositionData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub position_data: libremetaverse::packets::MapBlockRequestPacketPositionDataBlock,
    }
    impl MapBlockRequestPacket {
        /// C# member: `M:LibreMetaverse.Packets.MapBlockRequestPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MapBlockRequestPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.MapBlockRequestPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MapBlockRequestPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MapBlockRequestPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MapBlockRequestPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MapBlockRequestPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MapBlockRequestPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.MapBlockRequestPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MapBlockRequestPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.MapBlockRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MapBlockRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.MapBlockRequestPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.MapBlockRequestPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.MapBlockRequestPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.MapBlockRequestPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.MapBlockRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.MapBlockRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.MapBlockRequestPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.MapBlockRequestPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.MapBlockRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.MapBlockRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.MapBlockRequestPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.MapBlockRequestPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.MapBlockRequestPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.MapBlockRequestPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.MapBlockRequestPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.MapBlockRequestPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct MapBlockRequestPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.MapBlockRequestPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.MapBlockRequestPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.MapBlockRequestPacket.AgentDataBlock.EstateID`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.MapBlockRequestPacket.AgentDataBlock.EstateID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub estate_id: u32,
        /// C# member: `F:LibreMetaverse.Packets.MapBlockRequestPacket.AgentDataBlock.Flags`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.MapBlockRequestPacket.AgentDataBlock.Flags`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub flags: u32,
        /// C# member: `F:LibreMetaverse.Packets.MapBlockRequestPacket.AgentDataBlock.Godlike`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.MapBlockRequestPacket.AgentDataBlock.Godlike`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub godlike: bool,
        /// C# member: `F:LibreMetaverse.Packets.MapBlockRequestPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.MapBlockRequestPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl MapBlockRequestPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.MapBlockRequestPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MapBlockRequestPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.MapBlockRequestPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MapBlockRequestPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MapBlockRequestPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MapBlockRequestPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MapBlockRequestPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MapBlockRequestPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.MapBlockRequestPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MapBlockRequestPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MapBlockRequestPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.MapBlockRequestPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.MapBlockRequestPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.MapBlockRequestPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.MapBlockRequestPacket.PositionDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.MapBlockRequestPacket.PositionDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct MapBlockRequestPacketPositionDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.MapBlockRequestPacket.PositionDataBlock.MaxX`.
        ///
        /// C# signature: `System.UInt16 LibreMetaverse.Packets.MapBlockRequestPacket.PositionDataBlock.MaxX`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub max_x: u16,
        /// C# member: `F:LibreMetaverse.Packets.MapBlockRequestPacket.PositionDataBlock.MaxY`.
        ///
        /// C# signature: `System.UInt16 LibreMetaverse.Packets.MapBlockRequestPacket.PositionDataBlock.MaxY`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub max_y: u16,
        /// C# member: `F:LibreMetaverse.Packets.MapBlockRequestPacket.PositionDataBlock.MinX`.
        ///
        /// C# signature: `System.UInt16 LibreMetaverse.Packets.MapBlockRequestPacket.PositionDataBlock.MinX`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub min_x: u16,
        /// C# member: `F:LibreMetaverse.Packets.MapBlockRequestPacket.PositionDataBlock.MinY`.
        ///
        /// C# signature: `System.UInt16 LibreMetaverse.Packets.MapBlockRequestPacket.PositionDataBlock.MinY`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub min_y: u16,
    }
    impl MapBlockRequestPacketPositionDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.MapBlockRequestPacket.PositionDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MapBlockRequestPacket.PositionDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.MapBlockRequestPacket.PositionDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MapBlockRequestPacket.PositionDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MapBlockRequestPacket.PositionDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MapBlockRequestPacket.PositionDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MapBlockRequestPacket.PositionDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MapBlockRequestPacket.PositionDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.MapBlockRequestPacket.PositionDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MapBlockRequestPacket.PositionDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MapBlockRequestPacket.PositionDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.MapBlockRequestPacket.PositionDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.MapBlockRequestPacket.PositionDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.MapBlockRequestPacket.PositionDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.MapItemReplyPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.MapItemReplyPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct MapItemReplyPacket {
        /// C# member: `F:LibreMetaverse.Packets.MapItemReplyPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MapItemReplyPacket.AgentDataBlock LibreMetaverse.Packets.MapItemReplyPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::MapItemReplyPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.MapItemReplyPacket.Data`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MapItemReplyPacket.DataBlock[] LibreMetaverse.Packets.MapItemReplyPacket.Data`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub data: Vec<libremetaverse::packets::MapItemReplyPacketDataBlock>,
        /// C# member: `F:LibreMetaverse.Packets.MapItemReplyPacket.RequestData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MapItemReplyPacket.RequestDataBlock LibreMetaverse.Packets.MapItemReplyPacket.RequestData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub request_data: libremetaverse::packets::MapItemReplyPacketRequestDataBlock,
    }
    impl MapItemReplyPacket {
        /// C# member: `M:LibreMetaverse.Packets.MapItemReplyPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MapItemReplyPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.MapItemReplyPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MapItemReplyPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MapItemReplyPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MapItemReplyPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MapItemReplyPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MapItemReplyPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.MapItemReplyPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MapItemReplyPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.MapItemReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MapItemReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.MapItemReplyPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.MapItemReplyPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.MapItemReplyPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.MapItemReplyPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.MapItemReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.MapItemReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.MapItemReplyPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.MapItemReplyPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.MapItemReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.MapItemReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.MapItemReplyPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.MapItemReplyPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.MapItemReplyPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.MapItemReplyPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.MapItemReplyPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.MapItemReplyPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct MapItemReplyPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.MapItemReplyPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.MapItemReplyPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.MapItemReplyPacket.AgentDataBlock.Flags`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.MapItemReplyPacket.AgentDataBlock.Flags`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub flags: u32,
    }
    impl MapItemReplyPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.MapItemReplyPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MapItemReplyPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.MapItemReplyPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MapItemReplyPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MapItemReplyPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MapItemReplyPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MapItemReplyPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MapItemReplyPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.MapItemReplyPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MapItemReplyPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MapItemReplyPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.MapItemReplyPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.MapItemReplyPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.MapItemReplyPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.MapItemReplyPacket.DataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.MapItemReplyPacket.DataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct MapItemReplyPacketDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.MapItemReplyPacket.DataBlock.Extra`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.MapItemReplyPacket.DataBlock.Extra`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub extra: i32,
        /// C# member: `F:LibreMetaverse.Packets.MapItemReplyPacket.DataBlock.Extra2`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.MapItemReplyPacket.DataBlock.Extra2`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub extra2: i32,
        /// C# member: `F:LibreMetaverse.Packets.MapItemReplyPacket.DataBlock.ID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.MapItemReplyPacket.DataBlock.ID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.MapItemReplyPacket.DataBlock.Name`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.MapItemReplyPacket.DataBlock.Name`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub name: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.MapItemReplyPacket.DataBlock.X`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.MapItemReplyPacket.DataBlock.X`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub x: u32,
        /// C# member: `F:LibreMetaverse.Packets.MapItemReplyPacket.DataBlock.Y`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.MapItemReplyPacket.DataBlock.Y`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub y: u32,
    }
    impl MapItemReplyPacketDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.MapItemReplyPacket.DataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MapItemReplyPacket.DataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.MapItemReplyPacket.DataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MapItemReplyPacket.DataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MapItemReplyPacket.DataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MapItemReplyPacket.DataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MapItemReplyPacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MapItemReplyPacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.MapItemReplyPacket.DataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MapItemReplyPacket.DataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MapItemReplyPacket.DataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.MapItemReplyPacket.DataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.MapItemReplyPacket.DataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.MapItemReplyPacket.DataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.MapItemReplyPacket.RequestDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.MapItemReplyPacket.RequestDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct MapItemReplyPacketRequestDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.MapItemReplyPacket.RequestDataBlock.ItemType`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.MapItemReplyPacket.RequestDataBlock.ItemType`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub item_type: u32,
    }
    impl MapItemReplyPacketRequestDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.MapItemReplyPacket.RequestDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MapItemReplyPacket.RequestDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.MapItemReplyPacket.RequestDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MapItemReplyPacket.RequestDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MapItemReplyPacket.RequestDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MapItemReplyPacket.RequestDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MapItemReplyPacket.RequestDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MapItemReplyPacket.RequestDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.MapItemReplyPacket.RequestDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MapItemReplyPacket.RequestDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MapItemReplyPacket.RequestDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.MapItemReplyPacket.RequestDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.MapItemReplyPacket.RequestDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.MapItemReplyPacket.RequestDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.MapItemRequestPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.MapItemRequestPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct MapItemRequestPacket {
        /// C# member: `F:LibreMetaverse.Packets.MapItemRequestPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MapItemRequestPacket.AgentDataBlock LibreMetaverse.Packets.MapItemRequestPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::MapItemRequestPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.MapItemRequestPacket.RequestData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MapItemRequestPacket.RequestDataBlock LibreMetaverse.Packets.MapItemRequestPacket.RequestData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub request_data: libremetaverse::packets::MapItemRequestPacketRequestDataBlock,
    }
    impl MapItemRequestPacket {
        /// C# member: `M:LibreMetaverse.Packets.MapItemRequestPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MapItemRequestPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.MapItemRequestPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MapItemRequestPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MapItemRequestPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MapItemRequestPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MapItemRequestPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MapItemRequestPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.MapItemRequestPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MapItemRequestPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.MapItemRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MapItemRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.MapItemRequestPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.MapItemRequestPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.MapItemRequestPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.MapItemRequestPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.MapItemRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.MapItemRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.MapItemRequestPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.MapItemRequestPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.MapItemRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.MapItemRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.MapItemRequestPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.MapItemRequestPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.MapItemRequestPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.MapItemRequestPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.MapItemRequestPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.MapItemRequestPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct MapItemRequestPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.MapItemRequestPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.MapItemRequestPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.MapItemRequestPacket.AgentDataBlock.EstateID`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.MapItemRequestPacket.AgentDataBlock.EstateID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub estate_id: u32,
        /// C# member: `F:LibreMetaverse.Packets.MapItemRequestPacket.AgentDataBlock.Flags`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.MapItemRequestPacket.AgentDataBlock.Flags`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub flags: u32,
        /// C# member: `F:LibreMetaverse.Packets.MapItemRequestPacket.AgentDataBlock.Godlike`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.MapItemRequestPacket.AgentDataBlock.Godlike`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub godlike: bool,
        /// C# member: `F:LibreMetaverse.Packets.MapItemRequestPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.MapItemRequestPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl MapItemRequestPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.MapItemRequestPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MapItemRequestPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.MapItemRequestPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MapItemRequestPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MapItemRequestPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MapItemRequestPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MapItemRequestPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MapItemRequestPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.MapItemRequestPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MapItemRequestPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MapItemRequestPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.MapItemRequestPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.MapItemRequestPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.MapItemRequestPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.MapItemRequestPacket.RequestDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.MapItemRequestPacket.RequestDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct MapItemRequestPacketRequestDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.MapItemRequestPacket.RequestDataBlock.ItemType`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.MapItemRequestPacket.RequestDataBlock.ItemType`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub item_type: u32,
        /// C# member: `F:LibreMetaverse.Packets.MapItemRequestPacket.RequestDataBlock.RegionHandle`.
        ///
        /// C# signature: `System.UInt64 LibreMetaverse.Packets.MapItemRequestPacket.RequestDataBlock.RegionHandle`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub region_handle: u64,
    }
    impl MapItemRequestPacketRequestDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.MapItemRequestPacket.RequestDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MapItemRequestPacket.RequestDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.MapItemRequestPacket.RequestDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MapItemRequestPacket.RequestDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MapItemRequestPacket.RequestDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MapItemRequestPacket.RequestDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MapItemRequestPacket.RequestDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MapItemRequestPacket.RequestDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.MapItemRequestPacket.RequestDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MapItemRequestPacket.RequestDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MapItemRequestPacket.RequestDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.MapItemRequestPacket.RequestDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.MapItemRequestPacket.RequestDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.MapItemRequestPacket.RequestDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.MapLayerReplyPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.MapLayerReplyPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct MapLayerReplyPacket {
        /// C# member: `F:LibreMetaverse.Packets.MapLayerReplyPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MapLayerReplyPacket.AgentDataBlock LibreMetaverse.Packets.MapLayerReplyPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::MapLayerReplyPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.MapLayerReplyPacket.LayerData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MapLayerReplyPacket.LayerDataBlock[] LibreMetaverse.Packets.MapLayerReplyPacket.LayerData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub layer_data: Vec<libremetaverse::packets::MapLayerReplyPacketLayerDataBlock>,
    }
    impl MapLayerReplyPacket {
        /// C# member: `M:LibreMetaverse.Packets.MapLayerReplyPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MapLayerReplyPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.MapLayerReplyPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MapLayerReplyPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MapLayerReplyPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MapLayerReplyPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MapLayerReplyPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MapLayerReplyPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.MapLayerReplyPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MapLayerReplyPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.MapLayerReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MapLayerReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.MapLayerReplyPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.MapLayerReplyPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.MapLayerReplyPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.MapLayerReplyPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.MapLayerReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.MapLayerReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.MapLayerReplyPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.MapLayerReplyPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.MapLayerReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.MapLayerReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.MapLayerReplyPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.MapLayerReplyPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.MapLayerReplyPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.MapLayerReplyPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.MapLayerReplyPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.MapLayerReplyPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct MapLayerReplyPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.MapLayerReplyPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.MapLayerReplyPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.MapLayerReplyPacket.AgentDataBlock.Flags`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.MapLayerReplyPacket.AgentDataBlock.Flags`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub flags: u32,
    }
    impl MapLayerReplyPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.MapLayerReplyPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MapLayerReplyPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.MapLayerReplyPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MapLayerReplyPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MapLayerReplyPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MapLayerReplyPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MapLayerReplyPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MapLayerReplyPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.MapLayerReplyPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MapLayerReplyPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MapLayerReplyPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.MapLayerReplyPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.MapLayerReplyPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.MapLayerReplyPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.MapLayerReplyPacket.LayerDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.MapLayerReplyPacket.LayerDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct MapLayerReplyPacketLayerDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.MapLayerReplyPacket.LayerDataBlock.Bottom`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.MapLayerReplyPacket.LayerDataBlock.Bottom`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub bottom: u32,
        /// C# member: `F:LibreMetaverse.Packets.MapLayerReplyPacket.LayerDataBlock.ImageID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.MapLayerReplyPacket.LayerDataBlock.ImageID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub image_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.MapLayerReplyPacket.LayerDataBlock.Left`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.MapLayerReplyPacket.LayerDataBlock.Left`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub left: u32,
        /// C# member: `F:LibreMetaverse.Packets.MapLayerReplyPacket.LayerDataBlock.Right`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.MapLayerReplyPacket.LayerDataBlock.Right`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub right: u32,
        /// C# member: `F:LibreMetaverse.Packets.MapLayerReplyPacket.LayerDataBlock.Top`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.MapLayerReplyPacket.LayerDataBlock.Top`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub top: u32,
    }
    impl MapLayerReplyPacketLayerDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.MapLayerReplyPacket.LayerDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MapLayerReplyPacket.LayerDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.MapLayerReplyPacket.LayerDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MapLayerReplyPacket.LayerDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MapLayerReplyPacket.LayerDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MapLayerReplyPacket.LayerDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MapLayerReplyPacket.LayerDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MapLayerReplyPacket.LayerDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.MapLayerReplyPacket.LayerDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MapLayerReplyPacket.LayerDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MapLayerReplyPacket.LayerDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.MapLayerReplyPacket.LayerDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.MapLayerReplyPacket.LayerDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.MapLayerReplyPacket.LayerDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.MapLayerRequestPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.MapLayerRequestPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct MapLayerRequestPacket {
        /// C# member: `F:LibreMetaverse.Packets.MapLayerRequestPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MapLayerRequestPacket.AgentDataBlock LibreMetaverse.Packets.MapLayerRequestPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::MapLayerRequestPacketAgentDataBlock,
    }
    impl MapLayerRequestPacket {
        /// C# member: `M:LibreMetaverse.Packets.MapLayerRequestPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MapLayerRequestPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.MapLayerRequestPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MapLayerRequestPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MapLayerRequestPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MapLayerRequestPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MapLayerRequestPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MapLayerRequestPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.MapLayerRequestPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MapLayerRequestPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.MapLayerRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MapLayerRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.MapLayerRequestPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.MapLayerRequestPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.MapLayerRequestPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.MapLayerRequestPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.MapLayerRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.MapLayerRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.MapLayerRequestPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.MapLayerRequestPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.MapLayerRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.MapLayerRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.MapLayerRequestPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.MapLayerRequestPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.MapLayerRequestPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.MapLayerRequestPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.MapLayerRequestPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.MapLayerRequestPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct MapLayerRequestPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.MapLayerRequestPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.MapLayerRequestPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.MapLayerRequestPacket.AgentDataBlock.EstateID`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.MapLayerRequestPacket.AgentDataBlock.EstateID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub estate_id: u32,
        /// C# member: `F:LibreMetaverse.Packets.MapLayerRequestPacket.AgentDataBlock.Flags`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.MapLayerRequestPacket.AgentDataBlock.Flags`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub flags: u32,
        /// C# member: `F:LibreMetaverse.Packets.MapLayerRequestPacket.AgentDataBlock.Godlike`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.MapLayerRequestPacket.AgentDataBlock.Godlike`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub godlike: bool,
        /// C# member: `F:LibreMetaverse.Packets.MapLayerRequestPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.MapLayerRequestPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl MapLayerRequestPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.MapLayerRequestPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MapLayerRequestPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.MapLayerRequestPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MapLayerRequestPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MapLayerRequestPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MapLayerRequestPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MapLayerRequestPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MapLayerRequestPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.MapLayerRequestPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MapLayerRequestPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MapLayerRequestPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.MapLayerRequestPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.MapLayerRequestPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.MapLayerRequestPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.MapNameRequestPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.MapNameRequestPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct MapNameRequestPacket {
        /// C# member: `F:LibreMetaverse.Packets.MapNameRequestPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MapNameRequestPacket.AgentDataBlock LibreMetaverse.Packets.MapNameRequestPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::MapNameRequestPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.MapNameRequestPacket.NameData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MapNameRequestPacket.NameDataBlock LibreMetaverse.Packets.MapNameRequestPacket.NameData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub name_data: libremetaverse::packets::MapNameRequestPacketNameDataBlock,
    }
    impl MapNameRequestPacket {
        /// C# member: `M:LibreMetaverse.Packets.MapNameRequestPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MapNameRequestPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.MapNameRequestPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MapNameRequestPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MapNameRequestPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MapNameRequestPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MapNameRequestPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MapNameRequestPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.MapNameRequestPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MapNameRequestPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.MapNameRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MapNameRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.MapNameRequestPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.MapNameRequestPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.MapNameRequestPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.MapNameRequestPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.MapNameRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.MapNameRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.MapNameRequestPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.MapNameRequestPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.MapNameRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.MapNameRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.MapNameRequestPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.MapNameRequestPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.MapNameRequestPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.MapNameRequestPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.MapNameRequestPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.MapNameRequestPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct MapNameRequestPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.MapNameRequestPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.MapNameRequestPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.MapNameRequestPacket.AgentDataBlock.EstateID`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.MapNameRequestPacket.AgentDataBlock.EstateID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub estate_id: u32,
        /// C# member: `F:LibreMetaverse.Packets.MapNameRequestPacket.AgentDataBlock.Flags`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.MapNameRequestPacket.AgentDataBlock.Flags`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub flags: u32,
        /// C# member: `F:LibreMetaverse.Packets.MapNameRequestPacket.AgentDataBlock.Godlike`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.MapNameRequestPacket.AgentDataBlock.Godlike`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub godlike: bool,
        /// C# member: `F:LibreMetaverse.Packets.MapNameRequestPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.MapNameRequestPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl MapNameRequestPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.MapNameRequestPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MapNameRequestPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.MapNameRequestPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MapNameRequestPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MapNameRequestPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MapNameRequestPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MapNameRequestPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MapNameRequestPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.MapNameRequestPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MapNameRequestPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MapNameRequestPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.MapNameRequestPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.MapNameRequestPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.MapNameRequestPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.MapNameRequestPacket.NameDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.MapNameRequestPacket.NameDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct MapNameRequestPacketNameDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.MapNameRequestPacket.NameDataBlock.Name`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.MapNameRequestPacket.NameDataBlock.Name`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub name: Vec<u8>,
    }
    impl MapNameRequestPacketNameDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.MapNameRequestPacket.NameDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MapNameRequestPacket.NameDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.MapNameRequestPacket.NameDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MapNameRequestPacket.NameDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MapNameRequestPacket.NameDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MapNameRequestPacket.NameDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MapNameRequestPacket.NameDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MapNameRequestPacket.NameDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.MapNameRequestPacket.NameDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MapNameRequestPacket.NameDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MapNameRequestPacket.NameDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.MapNameRequestPacket.NameDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.MapNameRequestPacket.NameDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.MapNameRequestPacket.NameDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.MeanCollisionAlertPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.MeanCollisionAlertPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct MeanCollisionAlertPacket {
        /// C# member: `F:LibreMetaverse.Packets.MeanCollisionAlertPacket.MeanCollision`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MeanCollisionAlertPacket.MeanCollisionBlock[] LibreMetaverse.Packets.MeanCollisionAlertPacket.MeanCollision`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub mean_collision:
            Vec<libremetaverse::packets::MeanCollisionAlertPacketMeanCollisionBlock>,
    }
    impl MeanCollisionAlertPacket {
        /// C# member: `M:LibreMetaverse.Packets.MeanCollisionAlertPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MeanCollisionAlertPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.MeanCollisionAlertPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MeanCollisionAlertPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MeanCollisionAlertPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MeanCollisionAlertPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MeanCollisionAlertPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MeanCollisionAlertPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.MeanCollisionAlertPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MeanCollisionAlertPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.MeanCollisionAlertPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MeanCollisionAlertPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.MeanCollisionAlertPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.MeanCollisionAlertPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.MeanCollisionAlertPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.MeanCollisionAlertPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.MeanCollisionAlertPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.MeanCollisionAlertPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.MeanCollisionAlertPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.MeanCollisionAlertPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.MeanCollisionAlertPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.MeanCollisionAlertPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.MeanCollisionAlertPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.MeanCollisionAlertPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.MeanCollisionAlertPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.MeanCollisionAlertPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.MeanCollisionAlertPacket.MeanCollisionBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.MeanCollisionAlertPacket.MeanCollisionBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct MeanCollisionAlertPacketMeanCollisionBlock {
        /// C# member: `F:LibreMetaverse.Packets.MeanCollisionAlertPacket.MeanCollisionBlock.Mag`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.MeanCollisionAlertPacket.MeanCollisionBlock.Mag`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub mag: f32,
        /// C# member: `F:LibreMetaverse.Packets.MeanCollisionAlertPacket.MeanCollisionBlock.Perp`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.MeanCollisionAlertPacket.MeanCollisionBlock.Perp`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub perp: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.MeanCollisionAlertPacket.MeanCollisionBlock.Time`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.MeanCollisionAlertPacket.MeanCollisionBlock.Time`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub time: u32,
        /// C# member: `F:LibreMetaverse.Packets.MeanCollisionAlertPacket.MeanCollisionBlock.Type`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.MeanCollisionAlertPacket.MeanCollisionBlock.Type`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub type_: u8,
        /// C# member: `F:LibreMetaverse.Packets.MeanCollisionAlertPacket.MeanCollisionBlock.Victim`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.MeanCollisionAlertPacket.MeanCollisionBlock.Victim`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub victim: libremetaverse_types::UUID,
    }
    impl MeanCollisionAlertPacketMeanCollisionBlock {
        /// C# member: `M:LibreMetaverse.Packets.MeanCollisionAlertPacket.MeanCollisionBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MeanCollisionAlertPacket.MeanCollisionBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.MeanCollisionAlertPacket.MeanCollisionBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MeanCollisionAlertPacket.MeanCollisionBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MeanCollisionAlertPacket.MeanCollisionBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MeanCollisionAlertPacket.MeanCollisionBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MeanCollisionAlertPacket.MeanCollisionBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MeanCollisionAlertPacket.MeanCollisionBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.MeanCollisionAlertPacket.MeanCollisionBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MeanCollisionAlertPacket.MeanCollisionBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MeanCollisionAlertPacket.MeanCollisionBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.MeanCollisionAlertPacket.MeanCollisionBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.MeanCollisionAlertPacket.MeanCollisionBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.MeanCollisionAlertPacket.MeanCollisionBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.MergeParcelPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.MergeParcelPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct MergeParcelPacket {
        /// C# member: `F:LibreMetaverse.Packets.MergeParcelPacket.MasterParcelData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MergeParcelPacket.MasterParcelDataBlock LibreMetaverse.Packets.MergeParcelPacket.MasterParcelData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub master_parcel_data: libremetaverse::packets::MergeParcelPacketMasterParcelDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.MergeParcelPacket.SlaveParcelData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MergeParcelPacket.SlaveParcelDataBlock[] LibreMetaverse.Packets.MergeParcelPacket.SlaveParcelData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub slave_parcel_data: Vec<libremetaverse::packets::MergeParcelPacketSlaveParcelDataBlock>,
    }
    impl MergeParcelPacket {
        /// C# member: `M:LibreMetaverse.Packets.MergeParcelPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MergeParcelPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.MergeParcelPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MergeParcelPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MergeParcelPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MergeParcelPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MergeParcelPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MergeParcelPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.MergeParcelPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MergeParcelPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.MergeParcelPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MergeParcelPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.MergeParcelPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.MergeParcelPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.MergeParcelPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.MergeParcelPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.MergeParcelPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.MergeParcelPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.MergeParcelPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.MergeParcelPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.MergeParcelPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.MergeParcelPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.MergeParcelPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.MergeParcelPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.MergeParcelPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.MergeParcelPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.MergeParcelPacket.MasterParcelDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.MergeParcelPacket.MasterParcelDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct MergeParcelPacketMasterParcelDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.MergeParcelPacket.MasterParcelDataBlock.MasterID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.MergeParcelPacket.MasterParcelDataBlock.MasterID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub master_id: libremetaverse_types::UUID,
    }
    impl MergeParcelPacketMasterParcelDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.MergeParcelPacket.MasterParcelDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MergeParcelPacket.MasterParcelDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.MergeParcelPacket.MasterParcelDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MergeParcelPacket.MasterParcelDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MergeParcelPacket.MasterParcelDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MergeParcelPacket.MasterParcelDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MergeParcelPacket.MasterParcelDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MergeParcelPacket.MasterParcelDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.MergeParcelPacket.MasterParcelDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MergeParcelPacket.MasterParcelDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MergeParcelPacket.MasterParcelDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.MergeParcelPacket.MasterParcelDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.MergeParcelPacket.MasterParcelDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.MergeParcelPacket.MasterParcelDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.MergeParcelPacket.SlaveParcelDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.MergeParcelPacket.SlaveParcelDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct MergeParcelPacketSlaveParcelDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.MergeParcelPacket.SlaveParcelDataBlock.SlaveID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.MergeParcelPacket.SlaveParcelDataBlock.SlaveID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub slave_id: libremetaverse_types::UUID,
    }
    impl MergeParcelPacketSlaveParcelDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.MergeParcelPacket.SlaveParcelDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MergeParcelPacket.SlaveParcelDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.MergeParcelPacket.SlaveParcelDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MergeParcelPacket.SlaveParcelDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MergeParcelPacket.SlaveParcelDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MergeParcelPacket.SlaveParcelDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MergeParcelPacket.SlaveParcelDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MergeParcelPacket.SlaveParcelDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.MergeParcelPacket.SlaveParcelDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MergeParcelPacket.SlaveParcelDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MergeParcelPacket.SlaveParcelDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.MergeParcelPacket.SlaveParcelDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.MergeParcelPacket.SlaveParcelDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.MergeParcelPacket.SlaveParcelDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ModifyLandPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ModifyLandPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ModifyLandPacket {
        /// C# member: `F:LibreMetaverse.Packets.ModifyLandPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ModifyLandPacket.AgentDataBlock LibreMetaverse.Packets.ModifyLandPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::ModifyLandPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.ModifyLandPacket.ModifyBlock`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ModifyLandPacket.ModifyBlockBlock LibreMetaverse.Packets.ModifyLandPacket.ModifyBlock`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub modify_block: libremetaverse::packets::ModifyLandPacketModifyBlockBlock,
        /// C# member: `F:LibreMetaverse.Packets.ModifyLandPacket.ModifyBlockExtended`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ModifyLandPacket.ModifyBlockExtendedBlock[] LibreMetaverse.Packets.ModifyLandPacket.ModifyBlockExtended`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub modify_block_extended:
            Vec<libremetaverse::packets::ModifyLandPacketModifyBlockExtendedBlock>,
        /// C# member: `F:LibreMetaverse.Packets.ModifyLandPacket.ParcelData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ModifyLandPacket.ParcelDataBlock[] LibreMetaverse.Packets.ModifyLandPacket.ParcelData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub parcel_data: Vec<libremetaverse::packets::ModifyLandPacketParcelDataBlock>,
    }
    impl ModifyLandPacket {
        /// C# member: `M:LibreMetaverse.Packets.ModifyLandPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ModifyLandPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ModifyLandPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ModifyLandPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ModifyLandPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ModifyLandPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ModifyLandPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ModifyLandPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ModifyLandPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ModifyLandPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ModifyLandPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ModifyLandPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ModifyLandPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ModifyLandPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ModifyLandPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ModifyLandPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ModifyLandPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ModifyLandPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ModifyLandPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ModifyLandPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ModifyLandPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ModifyLandPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ModifyLandPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ModifyLandPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ModifyLandPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ModifyLandPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ModifyLandPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ModifyLandPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ModifyLandPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ModifyLandPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ModifyLandPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ModifyLandPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ModifyLandPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl ModifyLandPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ModifyLandPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ModifyLandPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ModifyLandPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ModifyLandPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ModifyLandPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ModifyLandPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ModifyLandPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ModifyLandPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ModifyLandPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ModifyLandPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ModifyLandPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ModifyLandPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ModifyLandPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ModifyLandPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ModifyLandPacket.ModifyBlockBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ModifyLandPacket.ModifyBlockBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ModifyLandPacketModifyBlockBlock {
        /// C# member: `F:LibreMetaverse.Packets.ModifyLandPacket.ModifyBlockBlock.Action`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.ModifyLandPacket.ModifyBlockBlock.Action`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub action: u8,
        /// C# member: `F:LibreMetaverse.Packets.ModifyLandPacket.ModifyBlockBlock.BrushSize`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.ModifyLandPacket.ModifyBlockBlock.BrushSize`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub brush_size: u8,
        /// C# member: `F:LibreMetaverse.Packets.ModifyLandPacket.ModifyBlockBlock.Height`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.ModifyLandPacket.ModifyBlockBlock.Height`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub height: f32,
        /// C# member: `F:LibreMetaverse.Packets.ModifyLandPacket.ModifyBlockBlock.Seconds`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.ModifyLandPacket.ModifyBlockBlock.Seconds`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub seconds: f32,
    }
    impl ModifyLandPacketModifyBlockBlock {
        /// C# member: `M:LibreMetaverse.Packets.ModifyLandPacket.ModifyBlockBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ModifyLandPacket.ModifyBlockBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ModifyLandPacket.ModifyBlockBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ModifyLandPacket.ModifyBlockBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ModifyLandPacket.ModifyBlockBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ModifyLandPacket.ModifyBlockBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ModifyLandPacket.ModifyBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ModifyLandPacket.ModifyBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ModifyLandPacket.ModifyBlockBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ModifyLandPacket.ModifyBlockBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ModifyLandPacket.ModifyBlockBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ModifyLandPacket.ModifyBlockBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ModifyLandPacket.ModifyBlockBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ModifyLandPacket.ModifyBlockBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ModifyLandPacket.ModifyBlockExtendedBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ModifyLandPacket.ModifyBlockExtendedBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ModifyLandPacketModifyBlockExtendedBlock {
        /// C# member: `F:LibreMetaverse.Packets.ModifyLandPacket.ModifyBlockExtendedBlock.BrushSize`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.ModifyLandPacket.ModifyBlockExtendedBlock.BrushSize`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub brush_size: f32,
    }
    impl ModifyLandPacketModifyBlockExtendedBlock {
        /// C# member: `M:LibreMetaverse.Packets.ModifyLandPacket.ModifyBlockExtendedBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ModifyLandPacket.ModifyBlockExtendedBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ModifyLandPacket.ModifyBlockExtendedBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ModifyLandPacket.ModifyBlockExtendedBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ModifyLandPacket.ModifyBlockExtendedBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ModifyLandPacket.ModifyBlockExtendedBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ModifyLandPacket.ModifyBlockExtendedBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ModifyLandPacket.ModifyBlockExtendedBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ModifyLandPacket.ModifyBlockExtendedBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ModifyLandPacket.ModifyBlockExtendedBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ModifyLandPacket.ModifyBlockExtendedBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ModifyLandPacket.ModifyBlockExtendedBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ModifyLandPacket.ModifyBlockExtendedBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ModifyLandPacket.ModifyBlockExtendedBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ModifyLandPacket.ParcelDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ModifyLandPacket.ParcelDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ModifyLandPacketParcelDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ModifyLandPacket.ParcelDataBlock.East`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.ModifyLandPacket.ParcelDataBlock.East`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub east: f32,
        /// C# member: `F:LibreMetaverse.Packets.ModifyLandPacket.ParcelDataBlock.LocalID`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ModifyLandPacket.ParcelDataBlock.LocalID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub local_id: i32,
        /// C# member: `F:LibreMetaverse.Packets.ModifyLandPacket.ParcelDataBlock.North`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.ModifyLandPacket.ParcelDataBlock.North`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub north: f32,
        /// C# member: `F:LibreMetaverse.Packets.ModifyLandPacket.ParcelDataBlock.South`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.ModifyLandPacket.ParcelDataBlock.South`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub south: f32,
        /// C# member: `F:LibreMetaverse.Packets.ModifyLandPacket.ParcelDataBlock.West`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.ModifyLandPacket.ParcelDataBlock.West`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub west: f32,
    }
    impl ModifyLandPacketParcelDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ModifyLandPacket.ParcelDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ModifyLandPacket.ParcelDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ModifyLandPacket.ParcelDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ModifyLandPacket.ParcelDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ModifyLandPacket.ParcelDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ModifyLandPacket.ParcelDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ModifyLandPacket.ParcelDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ModifyLandPacket.ParcelDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ModifyLandPacket.ParcelDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ModifyLandPacket.ParcelDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ModifyLandPacket.ParcelDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ModifyLandPacket.ParcelDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ModifyLandPacket.ParcelDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ModifyLandPacket.ParcelDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.MoneyBalanceReplyPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.MoneyBalanceReplyPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct MoneyBalanceReplyPacket {
        /// C# member: `F:LibreMetaverse.Packets.MoneyBalanceReplyPacket.MoneyData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MoneyBalanceReplyPacket.MoneyDataBlock LibreMetaverse.Packets.MoneyBalanceReplyPacket.MoneyData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub money_data: libremetaverse::packets::MoneyBalanceReplyPacketMoneyDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.MoneyBalanceReplyPacket.TransactionInfo`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MoneyBalanceReplyPacket.TransactionInfoBlock LibreMetaverse.Packets.MoneyBalanceReplyPacket.TransactionInfo`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub transaction_info: libremetaverse::packets::MoneyBalanceReplyPacketTransactionInfoBlock,
    }
    impl MoneyBalanceReplyPacket {
        /// C# member: `M:LibreMetaverse.Packets.MoneyBalanceReplyPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MoneyBalanceReplyPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.MoneyBalanceReplyPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MoneyBalanceReplyPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MoneyBalanceReplyPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MoneyBalanceReplyPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MoneyBalanceReplyPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MoneyBalanceReplyPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.MoneyBalanceReplyPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MoneyBalanceReplyPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.MoneyBalanceReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MoneyBalanceReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.MoneyBalanceReplyPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.MoneyBalanceReplyPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.MoneyBalanceReplyPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.MoneyBalanceReplyPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.MoneyBalanceReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.MoneyBalanceReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.MoneyBalanceReplyPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.MoneyBalanceReplyPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.MoneyBalanceReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.MoneyBalanceReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.MoneyBalanceReplyPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.MoneyBalanceReplyPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.MoneyBalanceReplyPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.MoneyBalanceReplyPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.MoneyBalanceReplyPacket.MoneyDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.MoneyBalanceReplyPacket.MoneyDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct MoneyBalanceReplyPacketMoneyDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.MoneyBalanceReplyPacket.MoneyDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.MoneyBalanceReplyPacket.MoneyDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.MoneyBalanceReplyPacket.MoneyDataBlock.Description`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.MoneyBalanceReplyPacket.MoneyDataBlock.Description`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub description: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.MoneyBalanceReplyPacket.MoneyDataBlock.MoneyBalance`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.MoneyBalanceReplyPacket.MoneyDataBlock.MoneyBalance`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub money_balance: i32,
        /// C# member: `F:LibreMetaverse.Packets.MoneyBalanceReplyPacket.MoneyDataBlock.SquareMetersCommitted`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.MoneyBalanceReplyPacket.MoneyDataBlock.SquareMetersCommitted`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub square_meters_committed: i32,
        /// C# member: `F:LibreMetaverse.Packets.MoneyBalanceReplyPacket.MoneyDataBlock.SquareMetersCredit`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.MoneyBalanceReplyPacket.MoneyDataBlock.SquareMetersCredit`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub square_meters_credit: i32,
        /// C# member: `F:LibreMetaverse.Packets.MoneyBalanceReplyPacket.MoneyDataBlock.TransactionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.MoneyBalanceReplyPacket.MoneyDataBlock.TransactionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub transaction_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.MoneyBalanceReplyPacket.MoneyDataBlock.TransactionSuccess`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.MoneyBalanceReplyPacket.MoneyDataBlock.TransactionSuccess`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub transaction_success: bool,
    }
    impl MoneyBalanceReplyPacketMoneyDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.MoneyBalanceReplyPacket.MoneyDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MoneyBalanceReplyPacket.MoneyDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.MoneyBalanceReplyPacket.MoneyDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MoneyBalanceReplyPacket.MoneyDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MoneyBalanceReplyPacket.MoneyDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MoneyBalanceReplyPacket.MoneyDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MoneyBalanceReplyPacket.MoneyDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MoneyBalanceReplyPacket.MoneyDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.MoneyBalanceReplyPacket.MoneyDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MoneyBalanceReplyPacket.MoneyDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MoneyBalanceReplyPacket.MoneyDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.MoneyBalanceReplyPacket.MoneyDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.MoneyBalanceReplyPacket.MoneyDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.MoneyBalanceReplyPacket.MoneyDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.MoneyBalanceReplyPacket.TransactionInfoBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.MoneyBalanceReplyPacket.TransactionInfoBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct MoneyBalanceReplyPacketTransactionInfoBlock {
        /// C# member: `F:LibreMetaverse.Packets.MoneyBalanceReplyPacket.TransactionInfoBlock.Amount`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.MoneyBalanceReplyPacket.TransactionInfoBlock.Amount`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub amount: i32,
        /// C# member: `F:LibreMetaverse.Packets.MoneyBalanceReplyPacket.TransactionInfoBlock.DestID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.MoneyBalanceReplyPacket.TransactionInfoBlock.DestID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub dest_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.MoneyBalanceReplyPacket.TransactionInfoBlock.IsDestGroup`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.MoneyBalanceReplyPacket.TransactionInfoBlock.IsDestGroup`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub is_dest_group: bool,
        /// C# member: `F:LibreMetaverse.Packets.MoneyBalanceReplyPacket.TransactionInfoBlock.IsSourceGroup`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.MoneyBalanceReplyPacket.TransactionInfoBlock.IsSourceGroup`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub is_source_group: bool,
        /// C# member: `F:LibreMetaverse.Packets.MoneyBalanceReplyPacket.TransactionInfoBlock.ItemDescription`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.MoneyBalanceReplyPacket.TransactionInfoBlock.ItemDescription`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub item_description: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.MoneyBalanceReplyPacket.TransactionInfoBlock.SourceID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.MoneyBalanceReplyPacket.TransactionInfoBlock.SourceID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub source_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.MoneyBalanceReplyPacket.TransactionInfoBlock.TransactionType`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.MoneyBalanceReplyPacket.TransactionInfoBlock.TransactionType`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub transaction_type: i32,
    }
    impl MoneyBalanceReplyPacketTransactionInfoBlock {
        /// C# member: `M:LibreMetaverse.Packets.MoneyBalanceReplyPacket.TransactionInfoBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MoneyBalanceReplyPacket.TransactionInfoBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.MoneyBalanceReplyPacket.TransactionInfoBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MoneyBalanceReplyPacket.TransactionInfoBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MoneyBalanceReplyPacket.TransactionInfoBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MoneyBalanceReplyPacket.TransactionInfoBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MoneyBalanceReplyPacket.TransactionInfoBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MoneyBalanceReplyPacket.TransactionInfoBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.MoneyBalanceReplyPacket.TransactionInfoBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MoneyBalanceReplyPacket.TransactionInfoBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MoneyBalanceReplyPacket.TransactionInfoBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.MoneyBalanceReplyPacket.TransactionInfoBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.MoneyBalanceReplyPacket.TransactionInfoBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.MoneyBalanceReplyPacket.TransactionInfoBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.MoneyBalanceRequestPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.MoneyBalanceRequestPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct MoneyBalanceRequestPacket {
        /// C# member: `F:LibreMetaverse.Packets.MoneyBalanceRequestPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MoneyBalanceRequestPacket.AgentDataBlock LibreMetaverse.Packets.MoneyBalanceRequestPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::MoneyBalanceRequestPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.MoneyBalanceRequestPacket.MoneyData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MoneyBalanceRequestPacket.MoneyDataBlock LibreMetaverse.Packets.MoneyBalanceRequestPacket.MoneyData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub money_data: libremetaverse::packets::MoneyBalanceRequestPacketMoneyDataBlock,
    }
    impl MoneyBalanceRequestPacket {
        /// C# member: `M:LibreMetaverse.Packets.MoneyBalanceRequestPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MoneyBalanceRequestPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.MoneyBalanceRequestPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MoneyBalanceRequestPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MoneyBalanceRequestPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MoneyBalanceRequestPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MoneyBalanceRequestPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MoneyBalanceRequestPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.MoneyBalanceRequestPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MoneyBalanceRequestPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.MoneyBalanceRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MoneyBalanceRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.MoneyBalanceRequestPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.MoneyBalanceRequestPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.MoneyBalanceRequestPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.MoneyBalanceRequestPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.MoneyBalanceRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.MoneyBalanceRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.MoneyBalanceRequestPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.MoneyBalanceRequestPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.MoneyBalanceRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.MoneyBalanceRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.MoneyBalanceRequestPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.MoneyBalanceRequestPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.MoneyBalanceRequestPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.MoneyBalanceRequestPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.MoneyBalanceRequestPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.MoneyBalanceRequestPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct MoneyBalanceRequestPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.MoneyBalanceRequestPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.MoneyBalanceRequestPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.MoneyBalanceRequestPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.MoneyBalanceRequestPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl MoneyBalanceRequestPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.MoneyBalanceRequestPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MoneyBalanceRequestPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.MoneyBalanceRequestPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MoneyBalanceRequestPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MoneyBalanceRequestPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MoneyBalanceRequestPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MoneyBalanceRequestPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MoneyBalanceRequestPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.MoneyBalanceRequestPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MoneyBalanceRequestPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MoneyBalanceRequestPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.MoneyBalanceRequestPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.MoneyBalanceRequestPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.MoneyBalanceRequestPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.MoneyBalanceRequestPacket.MoneyDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.MoneyBalanceRequestPacket.MoneyDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct MoneyBalanceRequestPacketMoneyDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.MoneyBalanceRequestPacket.MoneyDataBlock.TransactionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.MoneyBalanceRequestPacket.MoneyDataBlock.TransactionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub transaction_id: libremetaverse_types::UUID,
    }
    impl MoneyBalanceRequestPacketMoneyDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.MoneyBalanceRequestPacket.MoneyDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MoneyBalanceRequestPacket.MoneyDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.MoneyBalanceRequestPacket.MoneyDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MoneyBalanceRequestPacket.MoneyDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MoneyBalanceRequestPacket.MoneyDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MoneyBalanceRequestPacket.MoneyDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MoneyBalanceRequestPacket.MoneyDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MoneyBalanceRequestPacket.MoneyDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.MoneyBalanceRequestPacket.MoneyDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MoneyBalanceRequestPacket.MoneyDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MoneyBalanceRequestPacket.MoneyDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.MoneyBalanceRequestPacket.MoneyDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.MoneyBalanceRequestPacket.MoneyDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.MoneyBalanceRequestPacket.MoneyDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.MoneyTransferBackendPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.MoneyTransferBackendPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct MoneyTransferBackendPacket {
        /// C# member: `F:LibreMetaverse.Packets.MoneyTransferBackendPacket.MoneyData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MoneyTransferBackendPacket.MoneyDataBlock LibreMetaverse.Packets.MoneyTransferBackendPacket.MoneyData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub money_data: libremetaverse::packets::MoneyTransferBackendPacketMoneyDataBlock,
    }
    impl MoneyTransferBackendPacket {
        /// C# member: `M:LibreMetaverse.Packets.MoneyTransferBackendPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MoneyTransferBackendPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.MoneyTransferBackendPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MoneyTransferBackendPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MoneyTransferBackendPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MoneyTransferBackendPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MoneyTransferBackendPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MoneyTransferBackendPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.MoneyTransferBackendPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MoneyTransferBackendPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.MoneyTransferBackendPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MoneyTransferBackendPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.MoneyTransferBackendPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.MoneyTransferBackendPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.MoneyTransferBackendPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.MoneyTransferBackendPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.MoneyTransferBackendPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.MoneyTransferBackendPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.MoneyTransferBackendPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.MoneyTransferBackendPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.MoneyTransferBackendPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.MoneyTransferBackendPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.MoneyTransferBackendPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.MoneyTransferBackendPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.MoneyTransferBackendPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.MoneyTransferBackendPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.MoneyTransferBackendPacket.MoneyDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.MoneyTransferBackendPacket.MoneyDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct MoneyTransferBackendPacketMoneyDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.MoneyTransferBackendPacket.MoneyDataBlock.AggregatePermInventory`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.MoneyTransferBackendPacket.MoneyDataBlock.AggregatePermInventory`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub aggregate_perm_inventory: u8,
        /// C# member: `F:LibreMetaverse.Packets.MoneyTransferBackendPacket.MoneyDataBlock.AggregatePermNextOwner`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.MoneyTransferBackendPacket.MoneyDataBlock.AggregatePermNextOwner`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub aggregate_perm_next_owner: u8,
        /// C# member: `F:LibreMetaverse.Packets.MoneyTransferBackendPacket.MoneyDataBlock.Amount`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.MoneyTransferBackendPacket.MoneyDataBlock.Amount`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub amount: i32,
        /// C# member: `F:LibreMetaverse.Packets.MoneyTransferBackendPacket.MoneyDataBlock.Description`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.MoneyTransferBackendPacket.MoneyDataBlock.Description`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub description: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.MoneyTransferBackendPacket.MoneyDataBlock.DestID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.MoneyTransferBackendPacket.MoneyDataBlock.DestID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub dest_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.MoneyTransferBackendPacket.MoneyDataBlock.Flags`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.MoneyTransferBackendPacket.MoneyDataBlock.Flags`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub flags: u8,
        /// C# member: `F:LibreMetaverse.Packets.MoneyTransferBackendPacket.MoneyDataBlock.GridX`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.MoneyTransferBackendPacket.MoneyDataBlock.GridX`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub grid_x: u32,
        /// C# member: `F:LibreMetaverse.Packets.MoneyTransferBackendPacket.MoneyDataBlock.GridY`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.MoneyTransferBackendPacket.MoneyDataBlock.GridY`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub grid_y: u32,
        /// C# member: `F:LibreMetaverse.Packets.MoneyTransferBackendPacket.MoneyDataBlock.RegionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.MoneyTransferBackendPacket.MoneyDataBlock.RegionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub region_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.MoneyTransferBackendPacket.MoneyDataBlock.SourceID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.MoneyTransferBackendPacket.MoneyDataBlock.SourceID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub source_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.MoneyTransferBackendPacket.MoneyDataBlock.TransactionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.MoneyTransferBackendPacket.MoneyDataBlock.TransactionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub transaction_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.MoneyTransferBackendPacket.MoneyDataBlock.TransactionTime`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.MoneyTransferBackendPacket.MoneyDataBlock.TransactionTime`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub transaction_time: u32,
        /// C# member: `F:LibreMetaverse.Packets.MoneyTransferBackendPacket.MoneyDataBlock.TransactionType`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.MoneyTransferBackendPacket.MoneyDataBlock.TransactionType`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub transaction_type: i32,
    }
    impl MoneyTransferBackendPacketMoneyDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.MoneyTransferBackendPacket.MoneyDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MoneyTransferBackendPacket.MoneyDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.MoneyTransferBackendPacket.MoneyDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MoneyTransferBackendPacket.MoneyDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MoneyTransferBackendPacket.MoneyDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MoneyTransferBackendPacket.MoneyDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MoneyTransferBackendPacket.MoneyDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MoneyTransferBackendPacket.MoneyDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.MoneyTransferBackendPacket.MoneyDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MoneyTransferBackendPacket.MoneyDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MoneyTransferBackendPacket.MoneyDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.MoneyTransferBackendPacket.MoneyDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.MoneyTransferBackendPacket.MoneyDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.MoneyTransferBackendPacket.MoneyDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.MoneyTransferRequestPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.MoneyTransferRequestPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct MoneyTransferRequestPacket {
        /// C# member: `F:LibreMetaverse.Packets.MoneyTransferRequestPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MoneyTransferRequestPacket.AgentDataBlock LibreMetaverse.Packets.MoneyTransferRequestPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::MoneyTransferRequestPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.MoneyTransferRequestPacket.MoneyData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MoneyTransferRequestPacket.MoneyDataBlock LibreMetaverse.Packets.MoneyTransferRequestPacket.MoneyData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub money_data: libremetaverse::packets::MoneyTransferRequestPacketMoneyDataBlock,
    }
    impl MoneyTransferRequestPacket {
        /// C# member: `M:LibreMetaverse.Packets.MoneyTransferRequestPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MoneyTransferRequestPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.MoneyTransferRequestPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MoneyTransferRequestPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MoneyTransferRequestPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MoneyTransferRequestPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MoneyTransferRequestPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MoneyTransferRequestPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.MoneyTransferRequestPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MoneyTransferRequestPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.MoneyTransferRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MoneyTransferRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.MoneyTransferRequestPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.MoneyTransferRequestPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.MoneyTransferRequestPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.MoneyTransferRequestPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.MoneyTransferRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.MoneyTransferRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.MoneyTransferRequestPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.MoneyTransferRequestPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.MoneyTransferRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.MoneyTransferRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.MoneyTransferRequestPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.MoneyTransferRequestPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.MoneyTransferRequestPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.MoneyTransferRequestPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.MoneyTransferRequestPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.MoneyTransferRequestPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct MoneyTransferRequestPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.MoneyTransferRequestPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.MoneyTransferRequestPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.MoneyTransferRequestPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.MoneyTransferRequestPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl MoneyTransferRequestPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.MoneyTransferRequestPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MoneyTransferRequestPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.MoneyTransferRequestPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MoneyTransferRequestPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MoneyTransferRequestPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MoneyTransferRequestPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MoneyTransferRequestPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MoneyTransferRequestPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.MoneyTransferRequestPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MoneyTransferRequestPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MoneyTransferRequestPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.MoneyTransferRequestPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.MoneyTransferRequestPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.MoneyTransferRequestPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.MoneyTransferRequestPacket.MoneyDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.MoneyTransferRequestPacket.MoneyDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct MoneyTransferRequestPacketMoneyDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.MoneyTransferRequestPacket.MoneyDataBlock.AggregatePermInventory`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.MoneyTransferRequestPacket.MoneyDataBlock.AggregatePermInventory`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub aggregate_perm_inventory: u8,
        /// C# member: `F:LibreMetaverse.Packets.MoneyTransferRequestPacket.MoneyDataBlock.AggregatePermNextOwner`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.MoneyTransferRequestPacket.MoneyDataBlock.AggregatePermNextOwner`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub aggregate_perm_next_owner: u8,
        /// C# member: `F:LibreMetaverse.Packets.MoneyTransferRequestPacket.MoneyDataBlock.Amount`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.MoneyTransferRequestPacket.MoneyDataBlock.Amount`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub amount: i32,
        /// C# member: `F:LibreMetaverse.Packets.MoneyTransferRequestPacket.MoneyDataBlock.Description`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.MoneyTransferRequestPacket.MoneyDataBlock.Description`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub description: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.MoneyTransferRequestPacket.MoneyDataBlock.DestID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.MoneyTransferRequestPacket.MoneyDataBlock.DestID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub dest_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.MoneyTransferRequestPacket.MoneyDataBlock.Flags`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.MoneyTransferRequestPacket.MoneyDataBlock.Flags`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub flags: u8,
        /// C# member: `F:LibreMetaverse.Packets.MoneyTransferRequestPacket.MoneyDataBlock.SourceID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.MoneyTransferRequestPacket.MoneyDataBlock.SourceID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub source_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.MoneyTransferRequestPacket.MoneyDataBlock.TransactionType`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.MoneyTransferRequestPacket.MoneyDataBlock.TransactionType`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub transaction_type: i32,
    }
    impl MoneyTransferRequestPacketMoneyDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.MoneyTransferRequestPacket.MoneyDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MoneyTransferRequestPacket.MoneyDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.MoneyTransferRequestPacket.MoneyDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MoneyTransferRequestPacket.MoneyDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MoneyTransferRequestPacket.MoneyDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MoneyTransferRequestPacket.MoneyDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MoneyTransferRequestPacket.MoneyDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MoneyTransferRequestPacket.MoneyDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.MoneyTransferRequestPacket.MoneyDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MoneyTransferRequestPacket.MoneyDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MoneyTransferRequestPacket.MoneyDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.MoneyTransferRequestPacket.MoneyDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.MoneyTransferRequestPacket.MoneyDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.MoneyTransferRequestPacket.MoneyDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.MoveInventoryFolderPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.MoveInventoryFolderPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct MoveInventoryFolderPacket {
        /// C# member: `F:LibreMetaverse.Packets.MoveInventoryFolderPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MoveInventoryFolderPacket.AgentDataBlock LibreMetaverse.Packets.MoveInventoryFolderPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::MoveInventoryFolderPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.MoveInventoryFolderPacket.InventoryData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MoveInventoryFolderPacket.InventoryDataBlock[] LibreMetaverse.Packets.MoveInventoryFolderPacket.InventoryData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub inventory_data:
            Vec<libremetaverse::packets::MoveInventoryFolderPacketInventoryDataBlock>,
    }
    impl MoveInventoryFolderPacket {
        /// C# member: `M:LibreMetaverse.Packets.MoveInventoryFolderPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MoveInventoryFolderPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.MoveInventoryFolderPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MoveInventoryFolderPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MoveInventoryFolderPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MoveInventoryFolderPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MoveInventoryFolderPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MoveInventoryFolderPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.MoveInventoryFolderPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MoveInventoryFolderPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.MoveInventoryFolderPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MoveInventoryFolderPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.MoveInventoryFolderPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.MoveInventoryFolderPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.MoveInventoryFolderPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.MoveInventoryFolderPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.MoveInventoryFolderPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.MoveInventoryFolderPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.MoveInventoryFolderPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.MoveInventoryFolderPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.MoveInventoryFolderPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.MoveInventoryFolderPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.MoveInventoryFolderPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.MoveInventoryFolderPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.MoveInventoryFolderPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.MoveInventoryFolderPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.MoveInventoryFolderPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.MoveInventoryFolderPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct MoveInventoryFolderPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.MoveInventoryFolderPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.MoveInventoryFolderPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.MoveInventoryFolderPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.MoveInventoryFolderPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.MoveInventoryFolderPacket.AgentDataBlock.Stamp`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.MoveInventoryFolderPacket.AgentDataBlock.Stamp`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub stamp: bool,
    }
    impl MoveInventoryFolderPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.MoveInventoryFolderPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MoveInventoryFolderPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.MoveInventoryFolderPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MoveInventoryFolderPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MoveInventoryFolderPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MoveInventoryFolderPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MoveInventoryFolderPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MoveInventoryFolderPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.MoveInventoryFolderPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MoveInventoryFolderPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MoveInventoryFolderPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.MoveInventoryFolderPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.MoveInventoryFolderPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.MoveInventoryFolderPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.MoveInventoryFolderPacket.InventoryDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.MoveInventoryFolderPacket.InventoryDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct MoveInventoryFolderPacketInventoryDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.MoveInventoryFolderPacket.InventoryDataBlock.FolderID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.MoveInventoryFolderPacket.InventoryDataBlock.FolderID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub folder_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.MoveInventoryFolderPacket.InventoryDataBlock.ParentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.MoveInventoryFolderPacket.InventoryDataBlock.ParentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub parent_id: libremetaverse_types::UUID,
    }
    impl MoveInventoryFolderPacketInventoryDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.MoveInventoryFolderPacket.InventoryDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MoveInventoryFolderPacket.InventoryDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.MoveInventoryFolderPacket.InventoryDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MoveInventoryFolderPacket.InventoryDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MoveInventoryFolderPacket.InventoryDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MoveInventoryFolderPacket.InventoryDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MoveInventoryFolderPacket.InventoryDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MoveInventoryFolderPacket.InventoryDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.MoveInventoryFolderPacket.InventoryDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MoveInventoryFolderPacket.InventoryDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MoveInventoryFolderPacket.InventoryDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.MoveInventoryFolderPacket.InventoryDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.MoveInventoryFolderPacket.InventoryDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.MoveInventoryFolderPacket.InventoryDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.MoveInventoryItemPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.MoveInventoryItemPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct MoveInventoryItemPacket {
        /// C# member: `F:LibreMetaverse.Packets.MoveInventoryItemPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MoveInventoryItemPacket.AgentDataBlock LibreMetaverse.Packets.MoveInventoryItemPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::MoveInventoryItemPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.MoveInventoryItemPacket.InventoryData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MoveInventoryItemPacket.InventoryDataBlock[] LibreMetaverse.Packets.MoveInventoryItemPacket.InventoryData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub inventory_data: Vec<libremetaverse::packets::MoveInventoryItemPacketInventoryDataBlock>,
    }
    impl MoveInventoryItemPacket {
        /// C# member: `M:LibreMetaverse.Packets.MoveInventoryItemPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MoveInventoryItemPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.MoveInventoryItemPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MoveInventoryItemPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MoveInventoryItemPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MoveInventoryItemPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MoveInventoryItemPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MoveInventoryItemPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.MoveInventoryItemPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MoveInventoryItemPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.MoveInventoryItemPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MoveInventoryItemPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.MoveInventoryItemPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.MoveInventoryItemPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.MoveInventoryItemPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.MoveInventoryItemPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.MoveInventoryItemPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.MoveInventoryItemPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.MoveInventoryItemPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.MoveInventoryItemPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.MoveInventoryItemPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.MoveInventoryItemPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.MoveInventoryItemPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.MoveInventoryItemPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.MoveInventoryItemPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.MoveInventoryItemPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.MoveInventoryItemPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.MoveInventoryItemPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct MoveInventoryItemPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.MoveInventoryItemPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.MoveInventoryItemPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.MoveInventoryItemPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.MoveInventoryItemPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.MoveInventoryItemPacket.AgentDataBlock.Stamp`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.MoveInventoryItemPacket.AgentDataBlock.Stamp`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub stamp: bool,
    }
    impl MoveInventoryItemPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.MoveInventoryItemPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MoveInventoryItemPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.MoveInventoryItemPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MoveInventoryItemPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MoveInventoryItemPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MoveInventoryItemPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MoveInventoryItemPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MoveInventoryItemPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.MoveInventoryItemPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MoveInventoryItemPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MoveInventoryItemPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.MoveInventoryItemPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.MoveInventoryItemPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.MoveInventoryItemPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.MoveInventoryItemPacket.InventoryDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.MoveInventoryItemPacket.InventoryDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct MoveInventoryItemPacketInventoryDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.MoveInventoryItemPacket.InventoryDataBlock.FolderID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.MoveInventoryItemPacket.InventoryDataBlock.FolderID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub folder_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.MoveInventoryItemPacket.InventoryDataBlock.ItemID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.MoveInventoryItemPacket.InventoryDataBlock.ItemID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub item_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.MoveInventoryItemPacket.InventoryDataBlock.NewName`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.MoveInventoryItemPacket.InventoryDataBlock.NewName`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub new_name: Vec<u8>,
    }
    impl MoveInventoryItemPacketInventoryDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.MoveInventoryItemPacket.InventoryDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MoveInventoryItemPacket.InventoryDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.MoveInventoryItemPacket.InventoryDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MoveInventoryItemPacket.InventoryDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MoveInventoryItemPacket.InventoryDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MoveInventoryItemPacket.InventoryDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MoveInventoryItemPacket.InventoryDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MoveInventoryItemPacket.InventoryDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.MoveInventoryItemPacket.InventoryDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MoveInventoryItemPacket.InventoryDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MoveInventoryItemPacket.InventoryDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.MoveInventoryItemPacket.InventoryDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.MoveInventoryItemPacket.InventoryDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.MoveInventoryItemPacket.InventoryDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.MoveTaskInventoryPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.MoveTaskInventoryPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct MoveTaskInventoryPacket {
        /// C# member: `F:LibreMetaverse.Packets.MoveTaskInventoryPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MoveTaskInventoryPacket.AgentDataBlock LibreMetaverse.Packets.MoveTaskInventoryPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::MoveTaskInventoryPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.MoveTaskInventoryPacket.InventoryData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MoveTaskInventoryPacket.InventoryDataBlock LibreMetaverse.Packets.MoveTaskInventoryPacket.InventoryData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub inventory_data: libremetaverse::packets::MoveTaskInventoryPacketInventoryDataBlock,
    }
    impl MoveTaskInventoryPacket {
        /// C# member: `M:LibreMetaverse.Packets.MoveTaskInventoryPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MoveTaskInventoryPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.MoveTaskInventoryPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MoveTaskInventoryPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MoveTaskInventoryPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MoveTaskInventoryPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MoveTaskInventoryPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MoveTaskInventoryPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.MoveTaskInventoryPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MoveTaskInventoryPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.MoveTaskInventoryPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MoveTaskInventoryPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.MoveTaskInventoryPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.MoveTaskInventoryPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.MoveTaskInventoryPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.MoveTaskInventoryPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.MoveTaskInventoryPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.MoveTaskInventoryPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.MoveTaskInventoryPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.MoveTaskInventoryPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.MoveTaskInventoryPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.MoveTaskInventoryPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.MoveTaskInventoryPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.MoveTaskInventoryPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.MoveTaskInventoryPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.MoveTaskInventoryPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.MoveTaskInventoryPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.MoveTaskInventoryPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct MoveTaskInventoryPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.MoveTaskInventoryPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.MoveTaskInventoryPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.MoveTaskInventoryPacket.AgentDataBlock.FolderID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.MoveTaskInventoryPacket.AgentDataBlock.FolderID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub folder_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.MoveTaskInventoryPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.MoveTaskInventoryPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl MoveTaskInventoryPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.MoveTaskInventoryPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MoveTaskInventoryPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.MoveTaskInventoryPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MoveTaskInventoryPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MoveTaskInventoryPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MoveTaskInventoryPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MoveTaskInventoryPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MoveTaskInventoryPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.MoveTaskInventoryPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MoveTaskInventoryPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MoveTaskInventoryPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.MoveTaskInventoryPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.MoveTaskInventoryPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.MoveTaskInventoryPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.MoveTaskInventoryPacket.InventoryDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.MoveTaskInventoryPacket.InventoryDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct MoveTaskInventoryPacketInventoryDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.MoveTaskInventoryPacket.InventoryDataBlock.ItemID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.MoveTaskInventoryPacket.InventoryDataBlock.ItemID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub item_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.MoveTaskInventoryPacket.InventoryDataBlock.LocalID`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.MoveTaskInventoryPacket.InventoryDataBlock.LocalID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub local_id: u32,
    }
    impl MoveTaskInventoryPacketInventoryDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.MoveTaskInventoryPacket.InventoryDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MoveTaskInventoryPacket.InventoryDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.MoveTaskInventoryPacket.InventoryDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MoveTaskInventoryPacket.InventoryDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MoveTaskInventoryPacket.InventoryDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MoveTaskInventoryPacket.InventoryDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MoveTaskInventoryPacket.InventoryDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MoveTaskInventoryPacket.InventoryDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.MoveTaskInventoryPacket.InventoryDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MoveTaskInventoryPacket.InventoryDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MoveTaskInventoryPacket.InventoryDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.MoveTaskInventoryPacket.InventoryDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.MoveTaskInventoryPacket.InventoryDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.MoveTaskInventoryPacket.InventoryDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.MultipleObjectUpdatePacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.MultipleObjectUpdatePacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct MultipleObjectUpdatePacket {
        /// C# member: `F:LibreMetaverse.Packets.MultipleObjectUpdatePacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MultipleObjectUpdatePacket.AgentDataBlock LibreMetaverse.Packets.MultipleObjectUpdatePacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::MultipleObjectUpdatePacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.MultipleObjectUpdatePacket.ObjectData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MultipleObjectUpdatePacket.ObjectDataBlock[] LibreMetaverse.Packets.MultipleObjectUpdatePacket.ObjectData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_data: Vec<libremetaverse::packets::MultipleObjectUpdatePacketObjectDataBlock>,
    }
    impl MultipleObjectUpdatePacket {
        /// C# member: `M:LibreMetaverse.Packets.MultipleObjectUpdatePacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MultipleObjectUpdatePacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.MultipleObjectUpdatePacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MultipleObjectUpdatePacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MultipleObjectUpdatePacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MultipleObjectUpdatePacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MultipleObjectUpdatePacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MultipleObjectUpdatePacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.MultipleObjectUpdatePacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MultipleObjectUpdatePacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.MultipleObjectUpdatePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MultipleObjectUpdatePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.MultipleObjectUpdatePacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.MultipleObjectUpdatePacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.MultipleObjectUpdatePacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.MultipleObjectUpdatePacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.MultipleObjectUpdatePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.MultipleObjectUpdatePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.MultipleObjectUpdatePacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.MultipleObjectUpdatePacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.MultipleObjectUpdatePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.MultipleObjectUpdatePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.MultipleObjectUpdatePacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.MultipleObjectUpdatePacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.MultipleObjectUpdatePacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.MultipleObjectUpdatePacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.MultipleObjectUpdatePacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.MultipleObjectUpdatePacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct MultipleObjectUpdatePacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.MultipleObjectUpdatePacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.MultipleObjectUpdatePacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.MultipleObjectUpdatePacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.MultipleObjectUpdatePacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl MultipleObjectUpdatePacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.MultipleObjectUpdatePacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MultipleObjectUpdatePacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.MultipleObjectUpdatePacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MultipleObjectUpdatePacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MultipleObjectUpdatePacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MultipleObjectUpdatePacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MultipleObjectUpdatePacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MultipleObjectUpdatePacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.MultipleObjectUpdatePacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MultipleObjectUpdatePacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MultipleObjectUpdatePacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.MultipleObjectUpdatePacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.MultipleObjectUpdatePacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.MultipleObjectUpdatePacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.MultipleObjectUpdatePacket.ObjectDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.MultipleObjectUpdatePacket.ObjectDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct MultipleObjectUpdatePacketObjectDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.MultipleObjectUpdatePacket.ObjectDataBlock.Data`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.MultipleObjectUpdatePacket.ObjectDataBlock.Data`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub data: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.MultipleObjectUpdatePacket.ObjectDataBlock.ObjectLocalID`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.MultipleObjectUpdatePacket.ObjectDataBlock.ObjectLocalID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_local_id: u32,
        /// C# member: `F:LibreMetaverse.Packets.MultipleObjectUpdatePacket.ObjectDataBlock.Type`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.MultipleObjectUpdatePacket.ObjectDataBlock.Type`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub type_: u8,
    }
    impl MultipleObjectUpdatePacketObjectDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.MultipleObjectUpdatePacket.ObjectDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MultipleObjectUpdatePacket.ObjectDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.MultipleObjectUpdatePacket.ObjectDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MultipleObjectUpdatePacket.ObjectDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MultipleObjectUpdatePacket.ObjectDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MultipleObjectUpdatePacket.ObjectDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MultipleObjectUpdatePacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MultipleObjectUpdatePacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.MultipleObjectUpdatePacket.ObjectDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MultipleObjectUpdatePacket.ObjectDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MultipleObjectUpdatePacket.ObjectDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.MultipleObjectUpdatePacket.ObjectDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.MultipleObjectUpdatePacket.ObjectDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.MultipleObjectUpdatePacket.ObjectDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.MuteListRequestPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.MuteListRequestPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct MuteListRequestPacket {
        /// C# member: `F:LibreMetaverse.Packets.MuteListRequestPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MuteListRequestPacket.AgentDataBlock LibreMetaverse.Packets.MuteListRequestPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::MuteListRequestPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.MuteListRequestPacket.MuteData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MuteListRequestPacket.MuteDataBlock LibreMetaverse.Packets.MuteListRequestPacket.MuteData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub mute_data: libremetaverse::packets::MuteListRequestPacketMuteDataBlock,
    }
    impl MuteListRequestPacket {
        /// C# member: `M:LibreMetaverse.Packets.MuteListRequestPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MuteListRequestPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.MuteListRequestPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MuteListRequestPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MuteListRequestPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MuteListRequestPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MuteListRequestPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MuteListRequestPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.MuteListRequestPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MuteListRequestPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.MuteListRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MuteListRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.MuteListRequestPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.MuteListRequestPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.MuteListRequestPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.MuteListRequestPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.MuteListRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.MuteListRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.MuteListRequestPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.MuteListRequestPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.MuteListRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.MuteListRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.MuteListRequestPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.MuteListRequestPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.MuteListRequestPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.MuteListRequestPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.MuteListRequestPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.MuteListRequestPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct MuteListRequestPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.MuteListRequestPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.MuteListRequestPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.MuteListRequestPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.MuteListRequestPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl MuteListRequestPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.MuteListRequestPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MuteListRequestPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.MuteListRequestPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MuteListRequestPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MuteListRequestPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MuteListRequestPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MuteListRequestPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MuteListRequestPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.MuteListRequestPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MuteListRequestPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MuteListRequestPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.MuteListRequestPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.MuteListRequestPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.MuteListRequestPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.MuteListRequestPacket.MuteDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.MuteListRequestPacket.MuteDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct MuteListRequestPacketMuteDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.MuteListRequestPacket.MuteDataBlock.MuteCRC`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.MuteListRequestPacket.MuteDataBlock.MuteCRC`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub mute_crc: u32,
    }
    impl MuteListRequestPacketMuteDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.MuteListRequestPacket.MuteDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MuteListRequestPacket.MuteDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.MuteListRequestPacket.MuteDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MuteListRequestPacket.MuteDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MuteListRequestPacket.MuteDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MuteListRequestPacket.MuteDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MuteListRequestPacket.MuteDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MuteListRequestPacket.MuteDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.MuteListRequestPacket.MuteDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MuteListRequestPacket.MuteDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MuteListRequestPacket.MuteDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.MuteListRequestPacket.MuteDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.MuteListRequestPacket.MuteDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.MuteListRequestPacket.MuteDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.MuteListUpdatePacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.MuteListUpdatePacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct MuteListUpdatePacket {
        /// C# member: `F:LibreMetaverse.Packets.MuteListUpdatePacket.MuteData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MuteListUpdatePacket.MuteDataBlock LibreMetaverse.Packets.MuteListUpdatePacket.MuteData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub mute_data: libremetaverse::packets::MuteListUpdatePacketMuteDataBlock,
    }
    impl MuteListUpdatePacket {
        /// C# member: `M:LibreMetaverse.Packets.MuteListUpdatePacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MuteListUpdatePacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.MuteListUpdatePacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MuteListUpdatePacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MuteListUpdatePacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MuteListUpdatePacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MuteListUpdatePacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MuteListUpdatePacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.MuteListUpdatePacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MuteListUpdatePacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.MuteListUpdatePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MuteListUpdatePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.MuteListUpdatePacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.MuteListUpdatePacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.MuteListUpdatePacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.MuteListUpdatePacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.MuteListUpdatePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.MuteListUpdatePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.MuteListUpdatePacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.MuteListUpdatePacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.MuteListUpdatePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.MuteListUpdatePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.MuteListUpdatePacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.MuteListUpdatePacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.MuteListUpdatePacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.MuteListUpdatePacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.MuteListUpdatePacket.MuteDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.MuteListUpdatePacket.MuteDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct MuteListUpdatePacketMuteDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.MuteListUpdatePacket.MuteDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.MuteListUpdatePacket.MuteDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.MuteListUpdatePacket.MuteDataBlock.Filename`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.MuteListUpdatePacket.MuteDataBlock.Filename`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub filename: Vec<u8>,
    }
    impl MuteListUpdatePacketMuteDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.MuteListUpdatePacket.MuteDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MuteListUpdatePacket.MuteDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.MuteListUpdatePacket.MuteDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.MuteListUpdatePacket.MuteDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MuteListUpdatePacket.MuteDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MuteListUpdatePacket.MuteDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MuteListUpdatePacket.MuteDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MuteListUpdatePacket.MuteDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.MuteListUpdatePacket.MuteDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.MuteListUpdatePacket.MuteDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.MuteListUpdatePacket.MuteDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.MuteListUpdatePacket.MuteDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.MuteListUpdatePacket.MuteDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.MuteListUpdatePacket.MuteDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.NameValuePairPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.NameValuePairPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct NameValuePairPacket {
        /// C# member: `F:LibreMetaverse.Packets.NameValuePairPacket.NameValueData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.NameValuePairPacket.NameValueDataBlock[] LibreMetaverse.Packets.NameValuePairPacket.NameValueData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub name_value_data: Vec<libremetaverse::packets::NameValuePairPacketNameValueDataBlock>,
        /// C# member: `F:LibreMetaverse.Packets.NameValuePairPacket.TaskData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.NameValuePairPacket.TaskDataBlock LibreMetaverse.Packets.NameValuePairPacket.TaskData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub task_data: libremetaverse::packets::NameValuePairPacketTaskDataBlock,
    }
    impl NameValuePairPacket {
        /// C# member: `M:LibreMetaverse.Packets.NameValuePairPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.NameValuePairPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.NameValuePairPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.NameValuePairPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.NameValuePairPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.NameValuePairPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.NameValuePairPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.NameValuePairPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.NameValuePairPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.NameValuePairPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.NameValuePairPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.NameValuePairPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.NameValuePairPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.NameValuePairPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.NameValuePairPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.NameValuePairPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.NameValuePairPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.NameValuePairPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.NameValuePairPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.NameValuePairPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.NameValuePairPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.NameValuePairPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.NameValuePairPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.NameValuePairPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.NameValuePairPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.NameValuePairPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.NameValuePairPacket.NameValueDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.NameValuePairPacket.NameValueDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct NameValuePairPacketNameValueDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.NameValuePairPacket.NameValueDataBlock.NVPair`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.NameValuePairPacket.NameValueDataBlock.NVPair`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub nv_pair: Vec<u8>,
    }
    impl NameValuePairPacketNameValueDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.NameValuePairPacket.NameValueDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.NameValuePairPacket.NameValueDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.NameValuePairPacket.NameValueDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.NameValuePairPacket.NameValueDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.NameValuePairPacket.NameValueDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.NameValuePairPacket.NameValueDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.NameValuePairPacket.NameValueDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.NameValuePairPacket.NameValueDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.NameValuePairPacket.NameValueDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.NameValuePairPacket.NameValueDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.NameValuePairPacket.NameValueDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.NameValuePairPacket.NameValueDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.NameValuePairPacket.NameValueDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.NameValuePairPacket.NameValueDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.NameValuePairPacket.TaskDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.NameValuePairPacket.TaskDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct NameValuePairPacketTaskDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.NameValuePairPacket.TaskDataBlock.ID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.NameValuePairPacket.TaskDataBlock.ID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub id: libremetaverse_types::UUID,
    }
    impl NameValuePairPacketTaskDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.NameValuePairPacket.TaskDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.NameValuePairPacket.TaskDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.NameValuePairPacket.TaskDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.NameValuePairPacket.TaskDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.NameValuePairPacket.TaskDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.NameValuePairPacket.TaskDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.NameValuePairPacket.TaskDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.NameValuePairPacket.TaskDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.NameValuePairPacket.TaskDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.NameValuePairPacket.TaskDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.NameValuePairPacket.TaskDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.NameValuePairPacket.TaskDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.NameValuePairPacket.TaskDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.NameValuePairPacket.TaskDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.NearestLandingRegionReplyPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.NearestLandingRegionReplyPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct NearestLandingRegionReplyPacket {
        /// C# member: `F:LibreMetaverse.Packets.NearestLandingRegionReplyPacket.LandingRegionData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.NearestLandingRegionReplyPacket.LandingRegionDataBlock LibreMetaverse.Packets.NearestLandingRegionReplyPacket.LandingRegionData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub landing_region_data:
            libremetaverse::packets::NearestLandingRegionReplyPacketLandingRegionDataBlock,
    }
    impl NearestLandingRegionReplyPacket {
        /// C# member: `M:LibreMetaverse.Packets.NearestLandingRegionReplyPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.NearestLandingRegionReplyPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.NearestLandingRegionReplyPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.NearestLandingRegionReplyPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.NearestLandingRegionReplyPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.NearestLandingRegionReplyPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.NearestLandingRegionReplyPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.NearestLandingRegionReplyPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.NearestLandingRegionReplyPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.NearestLandingRegionReplyPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.NearestLandingRegionReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.NearestLandingRegionReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.NearestLandingRegionReplyPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.NearestLandingRegionReplyPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.NearestLandingRegionReplyPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.NearestLandingRegionReplyPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.NearestLandingRegionReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.NearestLandingRegionReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.NearestLandingRegionReplyPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.NearestLandingRegionReplyPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.NearestLandingRegionReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.NearestLandingRegionReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.NearestLandingRegionReplyPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.NearestLandingRegionReplyPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.NearestLandingRegionReplyPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.NearestLandingRegionReplyPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.NearestLandingRegionReplyPacket.LandingRegionDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.NearestLandingRegionReplyPacket.LandingRegionDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct NearestLandingRegionReplyPacketLandingRegionDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.NearestLandingRegionReplyPacket.LandingRegionDataBlock.RegionHandle`.
        ///
        /// C# signature: `System.UInt64 LibreMetaverse.Packets.NearestLandingRegionReplyPacket.LandingRegionDataBlock.RegionHandle`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub region_handle: u64,
    }
    impl NearestLandingRegionReplyPacketLandingRegionDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.NearestLandingRegionReplyPacket.LandingRegionDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.NearestLandingRegionReplyPacket.LandingRegionDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.NearestLandingRegionReplyPacket.LandingRegionDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.NearestLandingRegionReplyPacket.LandingRegionDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.NearestLandingRegionReplyPacket.LandingRegionDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.NearestLandingRegionReplyPacket.LandingRegionDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.NearestLandingRegionReplyPacket.LandingRegionDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.NearestLandingRegionReplyPacket.LandingRegionDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.NearestLandingRegionReplyPacket.LandingRegionDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.NearestLandingRegionReplyPacket.LandingRegionDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.NearestLandingRegionReplyPacket.LandingRegionDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.NearestLandingRegionReplyPacket.LandingRegionDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.NearestLandingRegionReplyPacket.LandingRegionDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.NearestLandingRegionReplyPacket.LandingRegionDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.NearestLandingRegionRequestPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.NearestLandingRegionRequestPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct NearestLandingRegionRequestPacket {
        /// C# member: `F:LibreMetaverse.Packets.NearestLandingRegionRequestPacket.RequestingRegionData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.NearestLandingRegionRequestPacket.RequestingRegionDataBlock LibreMetaverse.Packets.NearestLandingRegionRequestPacket.RequestingRegionData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub requesting_region_data:
            libremetaverse::packets::NearestLandingRegionRequestPacketRequestingRegionDataBlock,
    }
    impl NearestLandingRegionRequestPacket {
        /// C# member: `M:LibreMetaverse.Packets.NearestLandingRegionRequestPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.NearestLandingRegionRequestPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.NearestLandingRegionRequestPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.NearestLandingRegionRequestPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.NearestLandingRegionRequestPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.NearestLandingRegionRequestPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.NearestLandingRegionRequestPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.NearestLandingRegionRequestPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.NearestLandingRegionRequestPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.NearestLandingRegionRequestPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.NearestLandingRegionRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.NearestLandingRegionRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.NearestLandingRegionRequestPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.NearestLandingRegionRequestPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.NearestLandingRegionRequestPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.NearestLandingRegionRequestPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.NearestLandingRegionRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.NearestLandingRegionRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.NearestLandingRegionRequestPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.NearestLandingRegionRequestPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.NearestLandingRegionRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.NearestLandingRegionRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.NearestLandingRegionRequestPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.NearestLandingRegionRequestPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.NearestLandingRegionRequestPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.NearestLandingRegionRequestPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.NearestLandingRegionRequestPacket.RequestingRegionDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.NearestLandingRegionRequestPacket.RequestingRegionDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct NearestLandingRegionRequestPacketRequestingRegionDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.NearestLandingRegionRequestPacket.RequestingRegionDataBlock.RegionHandle`.
        ///
        /// C# signature: `System.UInt64 LibreMetaverse.Packets.NearestLandingRegionRequestPacket.RequestingRegionDataBlock.RegionHandle`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub region_handle: u64,
    }
    impl NearestLandingRegionRequestPacketRequestingRegionDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.NearestLandingRegionRequestPacket.RequestingRegionDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.NearestLandingRegionRequestPacket.RequestingRegionDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.NearestLandingRegionRequestPacket.RequestingRegionDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.NearestLandingRegionRequestPacket.RequestingRegionDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.NearestLandingRegionRequestPacket.RequestingRegionDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.NearestLandingRegionRequestPacket.RequestingRegionDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.NearestLandingRegionRequestPacket.RequestingRegionDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.NearestLandingRegionRequestPacket.RequestingRegionDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.NearestLandingRegionRequestPacket.RequestingRegionDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.NearestLandingRegionRequestPacket.RequestingRegionDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.NearestLandingRegionRequestPacket.RequestingRegionDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.NearestLandingRegionRequestPacket.RequestingRegionDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.NearestLandingRegionRequestPacket.RequestingRegionDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.NearestLandingRegionRequestPacket.RequestingRegionDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.NearestLandingRegionUpdatedPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.NearestLandingRegionUpdatedPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct NearestLandingRegionUpdatedPacket {
        /// C# member: `F:LibreMetaverse.Packets.NearestLandingRegionUpdatedPacket.RegionData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.NearestLandingRegionUpdatedPacket.RegionDataBlock LibreMetaverse.Packets.NearestLandingRegionUpdatedPacket.RegionData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub region_data: libremetaverse::packets::NearestLandingRegionUpdatedPacketRegionDataBlock,
    }
    impl NearestLandingRegionUpdatedPacket {
        /// C# member: `M:LibreMetaverse.Packets.NearestLandingRegionUpdatedPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.NearestLandingRegionUpdatedPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.NearestLandingRegionUpdatedPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.NearestLandingRegionUpdatedPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.NearestLandingRegionUpdatedPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.NearestLandingRegionUpdatedPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.NearestLandingRegionUpdatedPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.NearestLandingRegionUpdatedPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.NearestLandingRegionUpdatedPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.NearestLandingRegionUpdatedPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.NearestLandingRegionUpdatedPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.NearestLandingRegionUpdatedPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.NearestLandingRegionUpdatedPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.NearestLandingRegionUpdatedPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.NearestLandingRegionUpdatedPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.NearestLandingRegionUpdatedPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.NearestLandingRegionUpdatedPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.NearestLandingRegionUpdatedPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.NearestLandingRegionUpdatedPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.NearestLandingRegionUpdatedPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.NearestLandingRegionUpdatedPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.NearestLandingRegionUpdatedPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.NearestLandingRegionUpdatedPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.NearestLandingRegionUpdatedPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.NearestLandingRegionUpdatedPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.NearestLandingRegionUpdatedPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.NearestLandingRegionUpdatedPacket.RegionDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.NearestLandingRegionUpdatedPacket.RegionDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct NearestLandingRegionUpdatedPacketRegionDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.NearestLandingRegionUpdatedPacket.RegionDataBlock.RegionHandle`.
        ///
        /// C# signature: `System.UInt64 LibreMetaverse.Packets.NearestLandingRegionUpdatedPacket.RegionDataBlock.RegionHandle`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub region_handle: u64,
    }
    impl NearestLandingRegionUpdatedPacketRegionDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.NearestLandingRegionUpdatedPacket.RegionDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.NearestLandingRegionUpdatedPacket.RegionDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.NearestLandingRegionUpdatedPacket.RegionDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.NearestLandingRegionUpdatedPacket.RegionDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.NearestLandingRegionUpdatedPacket.RegionDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.NearestLandingRegionUpdatedPacket.RegionDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.NearestLandingRegionUpdatedPacket.RegionDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.NearestLandingRegionUpdatedPacket.RegionDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.NearestLandingRegionUpdatedPacket.RegionDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.NearestLandingRegionUpdatedPacket.RegionDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.NearestLandingRegionUpdatedPacket.RegionDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.NearestLandingRegionUpdatedPacket.RegionDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.NearestLandingRegionUpdatedPacket.RegionDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.NearestLandingRegionUpdatedPacket.RegionDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.NeighborListPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.NeighborListPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct NeighborListPacket {
        /// C# member: `F:LibreMetaverse.Packets.NeighborListPacket.NeighborBlock`.
        ///
        /// C# signature: `LibreMetaverse.Packets.NeighborListPacket.NeighborBlockBlock[] LibreMetaverse.Packets.NeighborListPacket.NeighborBlock`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub neighbor_block: Vec<libremetaverse::packets::NeighborListPacketNeighborBlockBlock>,
    }
    impl NeighborListPacket {
        /// C# member: `M:LibreMetaverse.Packets.NeighborListPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.NeighborListPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.NeighborListPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.NeighborListPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.NeighborListPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.NeighborListPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.NeighborListPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.NeighborListPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.NeighborListPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.NeighborListPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.NeighborListPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.NeighborListPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.NeighborListPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.NeighborListPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.NeighborListPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.NeighborListPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.NeighborListPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.NeighborListPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.NeighborListPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.NeighborListPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.NeighborListPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.NeighborListPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.NeighborListPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.NeighborListPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.NeighborListPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.NeighborListPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.NeighborListPacket.NeighborBlockBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.NeighborListPacket.NeighborBlockBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct NeighborListPacketNeighborBlockBlock {
        /// C# member: `F:LibreMetaverse.Packets.NeighborListPacket.NeighborBlockBlock.IP`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.NeighborListPacket.NeighborBlockBlock.IP`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub ip: u32,
        /// C# member: `F:LibreMetaverse.Packets.NeighborListPacket.NeighborBlockBlock.Name`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.NeighborListPacket.NeighborBlockBlock.Name`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub name: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.NeighborListPacket.NeighborBlockBlock.Port`.
        ///
        /// C# signature: `System.UInt16 LibreMetaverse.Packets.NeighborListPacket.NeighborBlockBlock.Port`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub port: u16,
        /// C# member: `F:LibreMetaverse.Packets.NeighborListPacket.NeighborBlockBlock.PublicIP`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.NeighborListPacket.NeighborBlockBlock.PublicIP`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub public_ip: u32,
        /// C# member: `F:LibreMetaverse.Packets.NeighborListPacket.NeighborBlockBlock.PublicPort`.
        ///
        /// C# signature: `System.UInt16 LibreMetaverse.Packets.NeighborListPacket.NeighborBlockBlock.PublicPort`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub public_port: u16,
        /// C# member: `F:LibreMetaverse.Packets.NeighborListPacket.NeighborBlockBlock.RegionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.NeighborListPacket.NeighborBlockBlock.RegionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub region_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.NeighborListPacket.NeighborBlockBlock.SimAccess`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.NeighborListPacket.NeighborBlockBlock.SimAccess`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub sim_access: u8,
    }
    impl NeighborListPacketNeighborBlockBlock {
        /// C# member: `M:LibreMetaverse.Packets.NeighborListPacket.NeighborBlockBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.NeighborListPacket.NeighborBlockBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.NeighborListPacket.NeighborBlockBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.NeighborListPacket.NeighborBlockBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.NeighborListPacket.NeighborBlockBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.NeighborListPacket.NeighborBlockBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.NeighborListPacket.NeighborBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.NeighborListPacket.NeighborBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.NeighborListPacket.NeighborBlockBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.NeighborListPacket.NeighborBlockBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.NeighborListPacket.NeighborBlockBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.NeighborListPacket.NeighborBlockBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.NeighborListPacket.NeighborBlockBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.NeighborListPacket.NeighborBlockBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.NetTestPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.NetTestPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct NetTestPacket {
        /// C# member: `F:LibreMetaverse.Packets.NetTestPacket.NetBlock`.
        ///
        /// C# signature: `LibreMetaverse.Packets.NetTestPacket.NetBlockBlock LibreMetaverse.Packets.NetTestPacket.NetBlock`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub net_block: libremetaverse::packets::NetTestPacketNetBlockBlock,
    }
    impl NetTestPacket {
        /// C# member: `M:LibreMetaverse.Packets.NetTestPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.NetTestPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.NetTestPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.NetTestPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.NetTestPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.NetTestPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.NetTestPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.NetTestPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.NetTestPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.NetTestPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.NetTestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.NetTestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.NetTestPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.NetTestPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.NetTestPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.NetTestPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.NetTestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.NetTestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.NetTestPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.NetTestPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.NetTestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.NetTestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.NetTestPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.NetTestPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.NetTestPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.NetTestPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.NetTestPacket.NetBlockBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.NetTestPacket.NetBlockBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct NetTestPacketNetBlockBlock {
        /// C# member: `F:LibreMetaverse.Packets.NetTestPacket.NetBlockBlock.Port`.
        ///
        /// C# signature: `System.UInt16 LibreMetaverse.Packets.NetTestPacket.NetBlockBlock.Port`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub port: u16,
    }
    impl NetTestPacketNetBlockBlock {
        /// C# member: `M:LibreMetaverse.Packets.NetTestPacket.NetBlockBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.NetTestPacket.NetBlockBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.NetTestPacket.NetBlockBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.NetTestPacket.NetBlockBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.NetTestPacket.NetBlockBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.NetTestPacket.NetBlockBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.NetTestPacket.NetBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.NetTestPacket.NetBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.NetTestPacket.NetBlockBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.NetTestPacket.NetBlockBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.NetTestPacket.NetBlockBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.NetTestPacket.NetBlockBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.NetTestPacket.NetBlockBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.NetTestPacket.NetBlockBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectAddPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectAddPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectAddPacket {
        /// C# member: `F:LibreMetaverse.Packets.ObjectAddPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectAddPacket.AgentDataBlock LibreMetaverse.Packets.ObjectAddPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::ObjectAddPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.ObjectAddPacket.ObjectData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectAddPacket.ObjectDataBlock LibreMetaverse.Packets.ObjectAddPacket.ObjectData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_data: libremetaverse::packets::ObjectAddPacketObjectDataBlock,
    }
    impl ObjectAddPacket {
        /// C# member: `M:LibreMetaverse.Packets.ObjectAddPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectAddPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectAddPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectAddPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectAddPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectAddPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectAddPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectAddPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectAddPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectAddPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectAddPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectAddPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectAddPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectAddPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectAddPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ObjectAddPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectAddPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ObjectAddPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectAddPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ObjectAddPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectAddPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ObjectAddPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectAddPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectAddPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectAddPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ObjectAddPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectAddPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectAddPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectAddPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ObjectAddPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ObjectAddPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ObjectAddPacket.AgentDataBlock.GroupID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ObjectAddPacket.AgentDataBlock.GroupID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ObjectAddPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ObjectAddPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl ObjectAddPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ObjectAddPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectAddPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectAddPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectAddPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectAddPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectAddPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectAddPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectAddPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectAddPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectAddPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectAddPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectAddPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectAddPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectAddPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectAddPacket.ObjectDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectAddPacket.ObjectDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectAddPacketObjectDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ObjectAddPacket.ObjectDataBlock.AddFlags`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ObjectAddPacket.ObjectDataBlock.AddFlags`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub add_flags: u32,
        /// C# member: `F:LibreMetaverse.Packets.ObjectAddPacket.ObjectDataBlock.BypassRaycast`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.ObjectAddPacket.ObjectDataBlock.BypassRaycast`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub bypass_raycast: u8,
        /// C# member: `F:LibreMetaverse.Packets.ObjectAddPacket.ObjectDataBlock.Material`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.ObjectAddPacket.ObjectDataBlock.Material`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub material: u8,
        /// C# member: `F:LibreMetaverse.Packets.ObjectAddPacket.ObjectDataBlock.PCode`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.ObjectAddPacket.ObjectDataBlock.PCode`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub p_code: u8,
        /// C# member: `F:LibreMetaverse.Packets.ObjectAddPacket.ObjectDataBlock.PathBegin`.
        ///
        /// C# signature: `System.UInt16 LibreMetaverse.Packets.ObjectAddPacket.ObjectDataBlock.PathBegin`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub path_begin: u16,
        /// C# member: `F:LibreMetaverse.Packets.ObjectAddPacket.ObjectDataBlock.PathCurve`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.ObjectAddPacket.ObjectDataBlock.PathCurve`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub path_curve: u8,
        /// C# member: `F:LibreMetaverse.Packets.ObjectAddPacket.ObjectDataBlock.PathEnd`.
        ///
        /// C# signature: `System.UInt16 LibreMetaverse.Packets.ObjectAddPacket.ObjectDataBlock.PathEnd`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub path_end: u16,
        /// C# member: `F:LibreMetaverse.Packets.ObjectAddPacket.ObjectDataBlock.PathRadiusOffset`.
        ///
        /// C# signature: `System.SByte LibreMetaverse.Packets.ObjectAddPacket.ObjectDataBlock.PathRadiusOffset`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub path_radius_offset: i8,
        /// C# member: `F:LibreMetaverse.Packets.ObjectAddPacket.ObjectDataBlock.PathRevolutions`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.ObjectAddPacket.ObjectDataBlock.PathRevolutions`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub path_revolutions: u8,
        /// C# member: `F:LibreMetaverse.Packets.ObjectAddPacket.ObjectDataBlock.PathScaleX`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.ObjectAddPacket.ObjectDataBlock.PathScaleX`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub path_scale_x: u8,
        /// C# member: `F:LibreMetaverse.Packets.ObjectAddPacket.ObjectDataBlock.PathScaleY`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.ObjectAddPacket.ObjectDataBlock.PathScaleY`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub path_scale_y: u8,
        /// C# member: `F:LibreMetaverse.Packets.ObjectAddPacket.ObjectDataBlock.PathShearX`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.ObjectAddPacket.ObjectDataBlock.PathShearX`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub path_shear_x: u8,
        /// C# member: `F:LibreMetaverse.Packets.ObjectAddPacket.ObjectDataBlock.PathShearY`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.ObjectAddPacket.ObjectDataBlock.PathShearY`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub path_shear_y: u8,
        /// C# member: `F:LibreMetaverse.Packets.ObjectAddPacket.ObjectDataBlock.PathSkew`.
        ///
        /// C# signature: `System.SByte LibreMetaverse.Packets.ObjectAddPacket.ObjectDataBlock.PathSkew`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub path_skew: i8,
        /// C# member: `F:LibreMetaverse.Packets.ObjectAddPacket.ObjectDataBlock.PathTaperX`.
        ///
        /// C# signature: `System.SByte LibreMetaverse.Packets.ObjectAddPacket.ObjectDataBlock.PathTaperX`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub path_taper_x: i8,
        /// C# member: `F:LibreMetaverse.Packets.ObjectAddPacket.ObjectDataBlock.PathTaperY`.
        ///
        /// C# signature: `System.SByte LibreMetaverse.Packets.ObjectAddPacket.ObjectDataBlock.PathTaperY`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub path_taper_y: i8,
        /// C# member: `F:LibreMetaverse.Packets.ObjectAddPacket.ObjectDataBlock.PathTwist`.
        ///
        /// C# signature: `System.SByte LibreMetaverse.Packets.ObjectAddPacket.ObjectDataBlock.PathTwist`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub path_twist: i8,
        /// C# member: `F:LibreMetaverse.Packets.ObjectAddPacket.ObjectDataBlock.PathTwistBegin`.
        ///
        /// C# signature: `System.SByte LibreMetaverse.Packets.ObjectAddPacket.ObjectDataBlock.PathTwistBegin`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub path_twist_begin: i8,
        /// C# member: `F:LibreMetaverse.Packets.ObjectAddPacket.ObjectDataBlock.ProfileBegin`.
        ///
        /// C# signature: `System.UInt16 LibreMetaverse.Packets.ObjectAddPacket.ObjectDataBlock.ProfileBegin`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub profile_begin: u16,
        /// C# member: `F:LibreMetaverse.Packets.ObjectAddPacket.ObjectDataBlock.ProfileCurve`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.ObjectAddPacket.ObjectDataBlock.ProfileCurve`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub profile_curve: u8,
        /// C# member: `F:LibreMetaverse.Packets.ObjectAddPacket.ObjectDataBlock.ProfileEnd`.
        ///
        /// C# signature: `System.UInt16 LibreMetaverse.Packets.ObjectAddPacket.ObjectDataBlock.ProfileEnd`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub profile_end: u16,
        /// C# member: `F:LibreMetaverse.Packets.ObjectAddPacket.ObjectDataBlock.ProfileHollow`.
        ///
        /// C# signature: `System.UInt16 LibreMetaverse.Packets.ObjectAddPacket.ObjectDataBlock.ProfileHollow`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub profile_hollow: u16,
        /// C# member: `F:LibreMetaverse.Packets.ObjectAddPacket.ObjectDataBlock.RayEnd`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Packets.ObjectAddPacket.ObjectDataBlock.RayEnd`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub ray_end: libremetaverse_types::Vector3,
        /// C# member: `F:LibreMetaverse.Packets.ObjectAddPacket.ObjectDataBlock.RayEndIsIntersection`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.ObjectAddPacket.ObjectDataBlock.RayEndIsIntersection`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub ray_end_is_intersection: u8,
        /// C# member: `F:LibreMetaverse.Packets.ObjectAddPacket.ObjectDataBlock.RayStart`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Packets.ObjectAddPacket.ObjectDataBlock.RayStart`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub ray_start: libremetaverse_types::Vector3,
        /// C# member: `F:LibreMetaverse.Packets.ObjectAddPacket.ObjectDataBlock.RayTargetID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ObjectAddPacket.ObjectDataBlock.RayTargetID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub ray_target_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ObjectAddPacket.ObjectDataBlock.Rotation`.
        ///
        /// C# signature: `LibreMetaverse.Quaternion LibreMetaverse.Packets.ObjectAddPacket.ObjectDataBlock.Rotation`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub rotation: libremetaverse_types::Quaternion,
        /// C# member: `F:LibreMetaverse.Packets.ObjectAddPacket.ObjectDataBlock.Scale`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Packets.ObjectAddPacket.ObjectDataBlock.Scale`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub scale: libremetaverse_types::Vector3,
        /// C# member: `F:LibreMetaverse.Packets.ObjectAddPacket.ObjectDataBlock.State`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.ObjectAddPacket.ObjectDataBlock.State`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub state: u8,
    }
    impl ObjectAddPacketObjectDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ObjectAddPacket.ObjectDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectAddPacket.ObjectDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectAddPacket.ObjectDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectAddPacket.ObjectDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectAddPacket.ObjectDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectAddPacket.ObjectDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectAddPacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectAddPacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectAddPacket.ObjectDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectAddPacket.ObjectDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectAddPacket.ObjectDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectAddPacket.ObjectDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectAddPacket.ObjectDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectAddPacket.ObjectDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectAnimationPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectAnimationPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectAnimationPacket {
        /// C# member: `F:LibreMetaverse.Packets.ObjectAnimationPacket.AnimationList`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectAnimationPacket.AnimationListBlock[] LibreMetaverse.Packets.ObjectAnimationPacket.AnimationList`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub animation_list: Vec<libremetaverse::packets::ObjectAnimationPacketAnimationListBlock>,
        /// C# member: `F:LibreMetaverse.Packets.ObjectAnimationPacket.Sender`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectAnimationPacket.SenderBlock LibreMetaverse.Packets.ObjectAnimationPacket.Sender`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub sender: libremetaverse::packets::ObjectAnimationPacketSenderBlock,
    }
    impl ObjectAnimationPacket {
        /// C# member: `M:LibreMetaverse.Packets.ObjectAnimationPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectAnimationPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectAnimationPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectAnimationPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectAnimationPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectAnimationPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectAnimationPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectAnimationPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectAnimationPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectAnimationPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectAnimationPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectAnimationPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectAnimationPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectAnimationPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectAnimationPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ObjectAnimationPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectAnimationPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ObjectAnimationPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectAnimationPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ObjectAnimationPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectAnimationPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ObjectAnimationPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectAnimationPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectAnimationPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectAnimationPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ObjectAnimationPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectAnimationPacket.AnimationListBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectAnimationPacket.AnimationListBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectAnimationPacketAnimationListBlock {
        /// C# member: `F:LibreMetaverse.Packets.ObjectAnimationPacket.AnimationListBlock.AnimID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ObjectAnimationPacket.AnimationListBlock.AnimID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub anim_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ObjectAnimationPacket.AnimationListBlock.AnimSequenceID`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectAnimationPacket.AnimationListBlock.AnimSequenceID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub anim_sequence_id: i32,
    }
    impl ObjectAnimationPacketAnimationListBlock {
        /// C# member: `M:LibreMetaverse.Packets.ObjectAnimationPacket.AnimationListBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectAnimationPacket.AnimationListBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectAnimationPacket.AnimationListBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectAnimationPacket.AnimationListBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectAnimationPacket.AnimationListBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectAnimationPacket.AnimationListBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectAnimationPacket.AnimationListBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectAnimationPacket.AnimationListBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectAnimationPacket.AnimationListBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectAnimationPacket.AnimationListBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectAnimationPacket.AnimationListBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectAnimationPacket.AnimationListBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectAnimationPacket.AnimationListBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectAnimationPacket.AnimationListBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectAnimationPacket.SenderBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectAnimationPacket.SenderBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectAnimationPacketSenderBlock {
        /// C# member: `F:LibreMetaverse.Packets.ObjectAnimationPacket.SenderBlock.ID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ObjectAnimationPacket.SenderBlock.ID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub id: libremetaverse_types::UUID,
    }
    impl ObjectAnimationPacketSenderBlock {
        /// C# member: `M:LibreMetaverse.Packets.ObjectAnimationPacket.SenderBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectAnimationPacket.SenderBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectAnimationPacket.SenderBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectAnimationPacket.SenderBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectAnimationPacket.SenderBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectAnimationPacket.SenderBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectAnimationPacket.SenderBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectAnimationPacket.SenderBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectAnimationPacket.SenderBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectAnimationPacket.SenderBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectAnimationPacket.SenderBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectAnimationPacket.SenderBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectAnimationPacket.SenderBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectAnimationPacket.SenderBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectAttachPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectAttachPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectAttachPacket {
        /// C# member: `F:LibreMetaverse.Packets.ObjectAttachPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectAttachPacket.AgentDataBlock LibreMetaverse.Packets.ObjectAttachPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::ObjectAttachPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.ObjectAttachPacket.ObjectData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectAttachPacket.ObjectDataBlock[] LibreMetaverse.Packets.ObjectAttachPacket.ObjectData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_data: Vec<libremetaverse::packets::ObjectAttachPacketObjectDataBlock>,
    }
    impl ObjectAttachPacket {
        /// C# member: `M:LibreMetaverse.Packets.ObjectAttachPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectAttachPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectAttachPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectAttachPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectAttachPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectAttachPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectAttachPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectAttachPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectAttachPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectAttachPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectAttachPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectAttachPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectAttachPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectAttachPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectAttachPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ObjectAttachPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectAttachPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ObjectAttachPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectAttachPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ObjectAttachPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectAttachPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ObjectAttachPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectAttachPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectAttachPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectAttachPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ObjectAttachPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectAttachPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectAttachPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectAttachPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ObjectAttachPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ObjectAttachPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ObjectAttachPacket.AgentDataBlock.AttachmentPoint`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.ObjectAttachPacket.AgentDataBlock.AttachmentPoint`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub attachment_point: u8,
        /// C# member: `F:LibreMetaverse.Packets.ObjectAttachPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ObjectAttachPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl ObjectAttachPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ObjectAttachPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectAttachPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectAttachPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectAttachPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectAttachPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectAttachPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectAttachPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectAttachPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectAttachPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectAttachPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectAttachPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectAttachPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectAttachPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectAttachPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectAttachPacket.ObjectDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectAttachPacket.ObjectDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectAttachPacketObjectDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ObjectAttachPacket.ObjectDataBlock.ObjectLocalID`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ObjectAttachPacket.ObjectDataBlock.ObjectLocalID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_local_id: u32,
        /// C# member: `F:LibreMetaverse.Packets.ObjectAttachPacket.ObjectDataBlock.Rotation`.
        ///
        /// C# signature: `LibreMetaverse.Quaternion LibreMetaverse.Packets.ObjectAttachPacket.ObjectDataBlock.Rotation`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub rotation: libremetaverse_types::Quaternion,
    }
    impl ObjectAttachPacketObjectDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ObjectAttachPacket.ObjectDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectAttachPacket.ObjectDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectAttachPacket.ObjectDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectAttachPacket.ObjectDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectAttachPacket.ObjectDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectAttachPacket.ObjectDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectAttachPacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectAttachPacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectAttachPacket.ObjectDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectAttachPacket.ObjectDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectAttachPacket.ObjectDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectAttachPacket.ObjectDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectAttachPacket.ObjectDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectAttachPacket.ObjectDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectBuyPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectBuyPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectBuyPacket {
        /// C# member: `F:LibreMetaverse.Packets.ObjectBuyPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectBuyPacket.AgentDataBlock LibreMetaverse.Packets.ObjectBuyPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::ObjectBuyPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.ObjectBuyPacket.ObjectData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectBuyPacket.ObjectDataBlock[] LibreMetaverse.Packets.ObjectBuyPacket.ObjectData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_data: Vec<libremetaverse::packets::ObjectBuyPacketObjectDataBlock>,
    }
    impl ObjectBuyPacket {
        /// C# member: `M:LibreMetaverse.Packets.ObjectBuyPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectBuyPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectBuyPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectBuyPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectBuyPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectBuyPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectBuyPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectBuyPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectBuyPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectBuyPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectBuyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectBuyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectBuyPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectBuyPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectBuyPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ObjectBuyPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectBuyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ObjectBuyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectBuyPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ObjectBuyPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectBuyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ObjectBuyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectBuyPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectBuyPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectBuyPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ObjectBuyPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectBuyPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectBuyPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectBuyPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ObjectBuyPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ObjectBuyPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ObjectBuyPacket.AgentDataBlock.CategoryID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ObjectBuyPacket.AgentDataBlock.CategoryID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub category_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ObjectBuyPacket.AgentDataBlock.GroupID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ObjectBuyPacket.AgentDataBlock.GroupID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ObjectBuyPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ObjectBuyPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl ObjectBuyPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ObjectBuyPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectBuyPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectBuyPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectBuyPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectBuyPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectBuyPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectBuyPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectBuyPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectBuyPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectBuyPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectBuyPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectBuyPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectBuyPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectBuyPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectBuyPacket.ObjectDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectBuyPacket.ObjectDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectBuyPacketObjectDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ObjectBuyPacket.ObjectDataBlock.ObjectLocalID`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ObjectBuyPacket.ObjectDataBlock.ObjectLocalID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_local_id: u32,
        /// C# member: `F:LibreMetaverse.Packets.ObjectBuyPacket.ObjectDataBlock.SalePrice`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectBuyPacket.ObjectDataBlock.SalePrice`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub sale_price: i32,
        /// C# member: `F:LibreMetaverse.Packets.ObjectBuyPacket.ObjectDataBlock.SaleType`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.ObjectBuyPacket.ObjectDataBlock.SaleType`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub sale_type: u8,
    }
    impl ObjectBuyPacketObjectDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ObjectBuyPacket.ObjectDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectBuyPacket.ObjectDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectBuyPacket.ObjectDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectBuyPacket.ObjectDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectBuyPacket.ObjectDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectBuyPacket.ObjectDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectBuyPacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectBuyPacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectBuyPacket.ObjectDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectBuyPacket.ObjectDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectBuyPacket.ObjectDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectBuyPacket.ObjectDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectBuyPacket.ObjectDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectBuyPacket.ObjectDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectBypassModUpdatePacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectBypassModUpdatePacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectBypassModUpdatePacket {
        /// C# member: `F:LibreMetaverse.Packets.ObjectBypassModUpdatePacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectBypassModUpdatePacket.AgentDataBlock LibreMetaverse.Packets.ObjectBypassModUpdatePacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::ObjectBypassModUpdatePacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.ObjectBypassModUpdatePacket.ObjectData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectBypassModUpdatePacket.ObjectDataBlock[] LibreMetaverse.Packets.ObjectBypassModUpdatePacket.ObjectData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_data: Vec<libremetaverse::packets::ObjectBypassModUpdatePacketObjectDataBlock>,
    }
    impl ObjectBypassModUpdatePacket {
        /// C# member: `M:LibreMetaverse.Packets.ObjectBypassModUpdatePacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectBypassModUpdatePacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectBypassModUpdatePacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectBypassModUpdatePacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectBypassModUpdatePacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectBypassModUpdatePacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectBypassModUpdatePacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectBypassModUpdatePacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectBypassModUpdatePacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectBypassModUpdatePacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectBypassModUpdatePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectBypassModUpdatePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectBypassModUpdatePacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectBypassModUpdatePacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectBypassModUpdatePacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ObjectBypassModUpdatePacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectBypassModUpdatePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ObjectBypassModUpdatePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectBypassModUpdatePacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ObjectBypassModUpdatePacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectBypassModUpdatePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ObjectBypassModUpdatePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectBypassModUpdatePacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectBypassModUpdatePacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectBypassModUpdatePacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ObjectBypassModUpdatePacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectBypassModUpdatePacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectBypassModUpdatePacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectBypassModUpdatePacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ObjectBypassModUpdatePacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ObjectBypassModUpdatePacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ObjectBypassModUpdatePacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ObjectBypassModUpdatePacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl ObjectBypassModUpdatePacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ObjectBypassModUpdatePacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectBypassModUpdatePacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectBypassModUpdatePacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectBypassModUpdatePacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectBypassModUpdatePacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectBypassModUpdatePacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectBypassModUpdatePacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectBypassModUpdatePacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectBypassModUpdatePacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectBypassModUpdatePacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectBypassModUpdatePacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectBypassModUpdatePacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectBypassModUpdatePacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectBypassModUpdatePacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectBypassModUpdatePacket.ObjectDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectBypassModUpdatePacket.ObjectDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectBypassModUpdatePacketObjectDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ObjectBypassModUpdatePacket.ObjectDataBlock.ObjectLocalID`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ObjectBypassModUpdatePacket.ObjectDataBlock.ObjectLocalID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_local_id: u32,
        /// C# member: `F:LibreMetaverse.Packets.ObjectBypassModUpdatePacket.ObjectDataBlock.PropertyID`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.ObjectBypassModUpdatePacket.ObjectDataBlock.PropertyID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub property_id: u8,
        /// C# member: `F:LibreMetaverse.Packets.ObjectBypassModUpdatePacket.ObjectDataBlock.Value`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ObjectBypassModUpdatePacket.ObjectDataBlock.Value`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub value: Vec<u8>,
    }
    impl ObjectBypassModUpdatePacketObjectDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ObjectBypassModUpdatePacket.ObjectDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectBypassModUpdatePacket.ObjectDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectBypassModUpdatePacket.ObjectDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectBypassModUpdatePacket.ObjectDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectBypassModUpdatePacket.ObjectDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectBypassModUpdatePacket.ObjectDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectBypassModUpdatePacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectBypassModUpdatePacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectBypassModUpdatePacket.ObjectDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectBypassModUpdatePacket.ObjectDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectBypassModUpdatePacket.ObjectDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectBypassModUpdatePacket.ObjectDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectBypassModUpdatePacket.ObjectDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectBypassModUpdatePacket.ObjectDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectCategoryPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectCategoryPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectCategoryPacket {
        /// C# member: `F:LibreMetaverse.Packets.ObjectCategoryPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectCategoryPacket.AgentDataBlock LibreMetaverse.Packets.ObjectCategoryPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::ObjectCategoryPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.ObjectCategoryPacket.ObjectData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectCategoryPacket.ObjectDataBlock[] LibreMetaverse.Packets.ObjectCategoryPacket.ObjectData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_data: Vec<libremetaverse::packets::ObjectCategoryPacketObjectDataBlock>,
    }
    impl ObjectCategoryPacket {
        /// C# member: `M:LibreMetaverse.Packets.ObjectCategoryPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectCategoryPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectCategoryPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectCategoryPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectCategoryPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectCategoryPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectCategoryPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectCategoryPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectCategoryPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectCategoryPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectCategoryPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectCategoryPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectCategoryPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectCategoryPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectCategoryPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ObjectCategoryPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectCategoryPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ObjectCategoryPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectCategoryPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ObjectCategoryPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectCategoryPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ObjectCategoryPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectCategoryPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectCategoryPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectCategoryPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ObjectCategoryPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectCategoryPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectCategoryPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectCategoryPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ObjectCategoryPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ObjectCategoryPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ObjectCategoryPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ObjectCategoryPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl ObjectCategoryPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ObjectCategoryPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectCategoryPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectCategoryPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectCategoryPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectCategoryPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectCategoryPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectCategoryPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectCategoryPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectCategoryPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectCategoryPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectCategoryPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectCategoryPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectCategoryPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectCategoryPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectCategoryPacket.ObjectDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectCategoryPacket.ObjectDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectCategoryPacketObjectDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ObjectCategoryPacket.ObjectDataBlock.Category`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ObjectCategoryPacket.ObjectDataBlock.Category`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub category: u32,
        /// C# member: `F:LibreMetaverse.Packets.ObjectCategoryPacket.ObjectDataBlock.LocalID`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ObjectCategoryPacket.ObjectDataBlock.LocalID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub local_id: u32,
    }
    impl ObjectCategoryPacketObjectDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ObjectCategoryPacket.ObjectDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectCategoryPacket.ObjectDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectCategoryPacket.ObjectDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectCategoryPacket.ObjectDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectCategoryPacket.ObjectDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectCategoryPacket.ObjectDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectCategoryPacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectCategoryPacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectCategoryPacket.ObjectDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectCategoryPacket.ObjectDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectCategoryPacket.ObjectDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectCategoryPacket.ObjectDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectCategoryPacket.ObjectDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectCategoryPacket.ObjectDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectClickActionPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectClickActionPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectClickActionPacket {
        /// C# member: `F:LibreMetaverse.Packets.ObjectClickActionPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectClickActionPacket.AgentDataBlock LibreMetaverse.Packets.ObjectClickActionPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::ObjectClickActionPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.ObjectClickActionPacket.ObjectData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectClickActionPacket.ObjectDataBlock[] LibreMetaverse.Packets.ObjectClickActionPacket.ObjectData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_data: Vec<libremetaverse::packets::ObjectClickActionPacketObjectDataBlock>,
    }
    impl ObjectClickActionPacket {
        /// C# member: `M:LibreMetaverse.Packets.ObjectClickActionPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectClickActionPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectClickActionPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectClickActionPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectClickActionPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectClickActionPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectClickActionPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectClickActionPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectClickActionPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectClickActionPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectClickActionPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectClickActionPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectClickActionPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectClickActionPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectClickActionPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ObjectClickActionPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectClickActionPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ObjectClickActionPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectClickActionPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ObjectClickActionPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectClickActionPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ObjectClickActionPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectClickActionPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectClickActionPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectClickActionPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ObjectClickActionPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectClickActionPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectClickActionPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectClickActionPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ObjectClickActionPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ObjectClickActionPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ObjectClickActionPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ObjectClickActionPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl ObjectClickActionPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ObjectClickActionPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectClickActionPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectClickActionPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectClickActionPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectClickActionPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectClickActionPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectClickActionPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectClickActionPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectClickActionPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectClickActionPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectClickActionPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectClickActionPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectClickActionPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectClickActionPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectClickActionPacket.ObjectDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectClickActionPacket.ObjectDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectClickActionPacketObjectDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ObjectClickActionPacket.ObjectDataBlock.ClickAction`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.ObjectClickActionPacket.ObjectDataBlock.ClickAction`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub click_action: u8,
        /// C# member: `F:LibreMetaverse.Packets.ObjectClickActionPacket.ObjectDataBlock.ObjectLocalID`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ObjectClickActionPacket.ObjectDataBlock.ObjectLocalID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_local_id: u32,
    }
    impl ObjectClickActionPacketObjectDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ObjectClickActionPacket.ObjectDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectClickActionPacket.ObjectDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectClickActionPacket.ObjectDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectClickActionPacket.ObjectDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectClickActionPacket.ObjectDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectClickActionPacket.ObjectDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectClickActionPacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectClickActionPacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectClickActionPacket.ObjectDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectClickActionPacket.ObjectDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectClickActionPacket.ObjectDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectClickActionPacket.ObjectDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectClickActionPacket.ObjectDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectClickActionPacket.ObjectDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectDeGrabPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectDeGrabPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectDeGrabPacket {
        /// C# member: `F:LibreMetaverse.Packets.ObjectDeGrabPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectDeGrabPacket.AgentDataBlock LibreMetaverse.Packets.ObjectDeGrabPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::ObjectDeGrabPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.ObjectDeGrabPacket.ObjectData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectDeGrabPacket.ObjectDataBlock LibreMetaverse.Packets.ObjectDeGrabPacket.ObjectData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_data: libremetaverse::packets::ObjectDeGrabPacketObjectDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.ObjectDeGrabPacket.SurfaceInfo`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectDeGrabPacket.SurfaceInfoBlock[] LibreMetaverse.Packets.ObjectDeGrabPacket.SurfaceInfo`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub surface_info: Vec<libremetaverse::packets::ObjectDeGrabPacketSurfaceInfoBlock>,
    }
    impl ObjectDeGrabPacket {
        /// C# member: `M:LibreMetaverse.Packets.ObjectDeGrabPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectDeGrabPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDeGrabPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectDeGrabPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDeGrabPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectDeGrabPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDeGrabPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectDeGrabPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDeGrabPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectDeGrabPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDeGrabPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectDeGrabPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDeGrabPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectDeGrabPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDeGrabPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ObjectDeGrabPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDeGrabPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ObjectDeGrabPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDeGrabPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ObjectDeGrabPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDeGrabPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ObjectDeGrabPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectDeGrabPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectDeGrabPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectDeGrabPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ObjectDeGrabPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectDeGrabPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectDeGrabPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectDeGrabPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ObjectDeGrabPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ObjectDeGrabPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ObjectDeGrabPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ObjectDeGrabPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl ObjectDeGrabPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ObjectDeGrabPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectDeGrabPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDeGrabPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectDeGrabPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDeGrabPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectDeGrabPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDeGrabPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectDeGrabPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDeGrabPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectDeGrabPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDeGrabPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectDeGrabPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectDeGrabPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectDeGrabPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectDeGrabPacket.ObjectDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectDeGrabPacket.ObjectDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectDeGrabPacketObjectDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ObjectDeGrabPacket.ObjectDataBlock.LocalID`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ObjectDeGrabPacket.ObjectDataBlock.LocalID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub local_id: u32,
    }
    impl ObjectDeGrabPacketObjectDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ObjectDeGrabPacket.ObjectDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectDeGrabPacket.ObjectDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDeGrabPacket.ObjectDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectDeGrabPacket.ObjectDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDeGrabPacket.ObjectDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectDeGrabPacket.ObjectDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDeGrabPacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectDeGrabPacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDeGrabPacket.ObjectDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectDeGrabPacket.ObjectDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDeGrabPacket.ObjectDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectDeGrabPacket.ObjectDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectDeGrabPacket.ObjectDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectDeGrabPacket.ObjectDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectDeGrabPacket.SurfaceInfoBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectDeGrabPacket.SurfaceInfoBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectDeGrabPacketSurfaceInfoBlock {
        /// C# member: `F:LibreMetaverse.Packets.ObjectDeGrabPacket.SurfaceInfoBlock.Binormal`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Packets.ObjectDeGrabPacket.SurfaceInfoBlock.Binormal`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub binormal: libremetaverse_types::Vector3,
        /// C# member: `F:LibreMetaverse.Packets.ObjectDeGrabPacket.SurfaceInfoBlock.FaceIndex`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectDeGrabPacket.SurfaceInfoBlock.FaceIndex`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub face_index: i32,
        /// C# member: `F:LibreMetaverse.Packets.ObjectDeGrabPacket.SurfaceInfoBlock.Normal`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Packets.ObjectDeGrabPacket.SurfaceInfoBlock.Normal`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub normal: libremetaverse_types::Vector3,
        /// C# member: `F:LibreMetaverse.Packets.ObjectDeGrabPacket.SurfaceInfoBlock.Position`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Packets.ObjectDeGrabPacket.SurfaceInfoBlock.Position`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub position: libremetaverse_types::Vector3,
        /// C# member: `F:LibreMetaverse.Packets.ObjectDeGrabPacket.SurfaceInfoBlock.STCoord`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Packets.ObjectDeGrabPacket.SurfaceInfoBlock.STCoord`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub st_coord: libremetaverse_types::Vector3,
        /// C# member: `F:LibreMetaverse.Packets.ObjectDeGrabPacket.SurfaceInfoBlock.UVCoord`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Packets.ObjectDeGrabPacket.SurfaceInfoBlock.UVCoord`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub uv_coord: libremetaverse_types::Vector3,
    }
    impl ObjectDeGrabPacketSurfaceInfoBlock {
        /// C# member: `M:LibreMetaverse.Packets.ObjectDeGrabPacket.SurfaceInfoBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectDeGrabPacket.SurfaceInfoBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDeGrabPacket.SurfaceInfoBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectDeGrabPacket.SurfaceInfoBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDeGrabPacket.SurfaceInfoBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectDeGrabPacket.SurfaceInfoBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDeGrabPacket.SurfaceInfoBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectDeGrabPacket.SurfaceInfoBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDeGrabPacket.SurfaceInfoBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectDeGrabPacket.SurfaceInfoBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDeGrabPacket.SurfaceInfoBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectDeGrabPacket.SurfaceInfoBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectDeGrabPacket.SurfaceInfoBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectDeGrabPacket.SurfaceInfoBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectDeletePacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectDeletePacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectDeletePacket {
        /// C# member: `F:LibreMetaverse.Packets.ObjectDeletePacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectDeletePacket.AgentDataBlock LibreMetaverse.Packets.ObjectDeletePacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::ObjectDeletePacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.ObjectDeletePacket.ObjectData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectDeletePacket.ObjectDataBlock[] LibreMetaverse.Packets.ObjectDeletePacket.ObjectData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_data: Vec<libremetaverse::packets::ObjectDeletePacketObjectDataBlock>,
    }
    impl ObjectDeletePacket {
        /// C# member: `M:LibreMetaverse.Packets.ObjectDeletePacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectDeletePacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDeletePacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectDeletePacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDeletePacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectDeletePacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDeletePacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectDeletePacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDeletePacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectDeletePacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDeletePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectDeletePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDeletePacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectDeletePacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDeletePacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ObjectDeletePacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDeletePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ObjectDeletePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDeletePacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ObjectDeletePacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDeletePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ObjectDeletePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectDeletePacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectDeletePacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectDeletePacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ObjectDeletePacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectDeletePacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectDeletePacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectDeletePacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ObjectDeletePacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ObjectDeletePacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ObjectDeletePacket.AgentDataBlock.Force`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ObjectDeletePacket.AgentDataBlock.Force`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub force: bool,
        /// C# member: `F:LibreMetaverse.Packets.ObjectDeletePacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ObjectDeletePacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl ObjectDeletePacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ObjectDeletePacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectDeletePacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDeletePacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectDeletePacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDeletePacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectDeletePacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDeletePacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectDeletePacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDeletePacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectDeletePacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDeletePacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectDeletePacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectDeletePacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectDeletePacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectDeletePacket.ObjectDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectDeletePacket.ObjectDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectDeletePacketObjectDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ObjectDeletePacket.ObjectDataBlock.ObjectLocalID`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ObjectDeletePacket.ObjectDataBlock.ObjectLocalID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_local_id: u32,
    }
    impl ObjectDeletePacketObjectDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ObjectDeletePacket.ObjectDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectDeletePacket.ObjectDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDeletePacket.ObjectDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectDeletePacket.ObjectDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDeletePacket.ObjectDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectDeletePacket.ObjectDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDeletePacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectDeletePacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDeletePacket.ObjectDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectDeletePacket.ObjectDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDeletePacket.ObjectDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectDeletePacket.ObjectDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectDeletePacket.ObjectDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectDeletePacket.ObjectDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectDelinkPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectDelinkPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectDelinkPacket {
        /// C# member: `F:LibreMetaverse.Packets.ObjectDelinkPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectDelinkPacket.AgentDataBlock LibreMetaverse.Packets.ObjectDelinkPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::ObjectDelinkPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.ObjectDelinkPacket.ObjectData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectDelinkPacket.ObjectDataBlock[] LibreMetaverse.Packets.ObjectDelinkPacket.ObjectData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_data: Vec<libremetaverse::packets::ObjectDelinkPacketObjectDataBlock>,
    }
    impl ObjectDelinkPacket {
        /// C# member: `M:LibreMetaverse.Packets.ObjectDelinkPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectDelinkPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDelinkPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectDelinkPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDelinkPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectDelinkPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDelinkPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectDelinkPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDelinkPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectDelinkPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDelinkPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectDelinkPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDelinkPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectDelinkPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDelinkPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ObjectDelinkPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDelinkPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ObjectDelinkPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDelinkPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ObjectDelinkPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDelinkPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ObjectDelinkPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectDelinkPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectDelinkPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectDelinkPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ObjectDelinkPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectDelinkPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectDelinkPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectDelinkPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ObjectDelinkPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ObjectDelinkPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ObjectDelinkPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ObjectDelinkPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl ObjectDelinkPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ObjectDelinkPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectDelinkPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDelinkPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectDelinkPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDelinkPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectDelinkPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDelinkPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectDelinkPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDelinkPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectDelinkPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDelinkPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectDelinkPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectDelinkPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectDelinkPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectDelinkPacket.ObjectDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectDelinkPacket.ObjectDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectDelinkPacketObjectDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ObjectDelinkPacket.ObjectDataBlock.ObjectLocalID`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ObjectDelinkPacket.ObjectDataBlock.ObjectLocalID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_local_id: u32,
    }
    impl ObjectDelinkPacketObjectDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ObjectDelinkPacket.ObjectDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectDelinkPacket.ObjectDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDelinkPacket.ObjectDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectDelinkPacket.ObjectDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDelinkPacket.ObjectDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectDelinkPacket.ObjectDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDelinkPacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectDelinkPacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDelinkPacket.ObjectDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectDelinkPacket.ObjectDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDelinkPacket.ObjectDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectDelinkPacket.ObjectDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectDelinkPacket.ObjectDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectDelinkPacket.ObjectDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectDescriptionPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectDescriptionPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectDescriptionPacket {
        /// C# member: `F:LibreMetaverse.Packets.ObjectDescriptionPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectDescriptionPacket.AgentDataBlock LibreMetaverse.Packets.ObjectDescriptionPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::ObjectDescriptionPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.ObjectDescriptionPacket.ObjectData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectDescriptionPacket.ObjectDataBlock[] LibreMetaverse.Packets.ObjectDescriptionPacket.ObjectData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_data: Vec<libremetaverse::packets::ObjectDescriptionPacketObjectDataBlock>,
    }
    impl ObjectDescriptionPacket {
        /// C# member: `M:LibreMetaverse.Packets.ObjectDescriptionPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectDescriptionPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDescriptionPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectDescriptionPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDescriptionPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectDescriptionPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDescriptionPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectDescriptionPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDescriptionPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectDescriptionPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDescriptionPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectDescriptionPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDescriptionPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectDescriptionPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDescriptionPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ObjectDescriptionPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDescriptionPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ObjectDescriptionPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDescriptionPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ObjectDescriptionPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDescriptionPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ObjectDescriptionPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectDescriptionPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectDescriptionPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectDescriptionPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ObjectDescriptionPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectDescriptionPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectDescriptionPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectDescriptionPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ObjectDescriptionPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ObjectDescriptionPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ObjectDescriptionPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ObjectDescriptionPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl ObjectDescriptionPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ObjectDescriptionPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectDescriptionPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDescriptionPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectDescriptionPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDescriptionPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectDescriptionPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDescriptionPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectDescriptionPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDescriptionPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectDescriptionPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDescriptionPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectDescriptionPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectDescriptionPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectDescriptionPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectDescriptionPacket.ObjectDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectDescriptionPacket.ObjectDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectDescriptionPacketObjectDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ObjectDescriptionPacket.ObjectDataBlock.Description`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ObjectDescriptionPacket.ObjectDataBlock.Description`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub description: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.ObjectDescriptionPacket.ObjectDataBlock.LocalID`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ObjectDescriptionPacket.ObjectDataBlock.LocalID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub local_id: u32,
    }
    impl ObjectDescriptionPacketObjectDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ObjectDescriptionPacket.ObjectDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectDescriptionPacket.ObjectDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDescriptionPacket.ObjectDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectDescriptionPacket.ObjectDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDescriptionPacket.ObjectDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectDescriptionPacket.ObjectDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDescriptionPacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectDescriptionPacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDescriptionPacket.ObjectDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectDescriptionPacket.ObjectDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDescriptionPacket.ObjectDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectDescriptionPacket.ObjectDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectDescriptionPacket.ObjectDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectDescriptionPacket.ObjectDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectDeselectPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectDeselectPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectDeselectPacket {
        /// C# member: `F:LibreMetaverse.Packets.ObjectDeselectPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectDeselectPacket.AgentDataBlock LibreMetaverse.Packets.ObjectDeselectPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::ObjectDeselectPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.ObjectDeselectPacket.ObjectData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectDeselectPacket.ObjectDataBlock[] LibreMetaverse.Packets.ObjectDeselectPacket.ObjectData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_data: Vec<libremetaverse::packets::ObjectDeselectPacketObjectDataBlock>,
    }
    impl ObjectDeselectPacket {
        /// C# member: `M:LibreMetaverse.Packets.ObjectDeselectPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectDeselectPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDeselectPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectDeselectPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDeselectPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectDeselectPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDeselectPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectDeselectPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDeselectPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectDeselectPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDeselectPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectDeselectPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDeselectPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectDeselectPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDeselectPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ObjectDeselectPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDeselectPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ObjectDeselectPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDeselectPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ObjectDeselectPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDeselectPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ObjectDeselectPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectDeselectPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectDeselectPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectDeselectPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ObjectDeselectPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectDeselectPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectDeselectPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectDeselectPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ObjectDeselectPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ObjectDeselectPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ObjectDeselectPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ObjectDeselectPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl ObjectDeselectPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ObjectDeselectPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectDeselectPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDeselectPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectDeselectPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDeselectPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectDeselectPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDeselectPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectDeselectPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDeselectPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectDeselectPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDeselectPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectDeselectPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectDeselectPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectDeselectPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectDeselectPacket.ObjectDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectDeselectPacket.ObjectDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectDeselectPacketObjectDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ObjectDeselectPacket.ObjectDataBlock.ObjectLocalID`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ObjectDeselectPacket.ObjectDataBlock.ObjectLocalID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_local_id: u32,
    }
    impl ObjectDeselectPacketObjectDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ObjectDeselectPacket.ObjectDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectDeselectPacket.ObjectDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDeselectPacket.ObjectDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectDeselectPacket.ObjectDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDeselectPacket.ObjectDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectDeselectPacket.ObjectDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDeselectPacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectDeselectPacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDeselectPacket.ObjectDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectDeselectPacket.ObjectDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDeselectPacket.ObjectDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectDeselectPacket.ObjectDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectDeselectPacket.ObjectDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectDeselectPacket.ObjectDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectDetachPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectDetachPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectDetachPacket {
        /// C# member: `F:LibreMetaverse.Packets.ObjectDetachPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectDetachPacket.AgentDataBlock LibreMetaverse.Packets.ObjectDetachPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::ObjectDetachPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.ObjectDetachPacket.ObjectData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectDetachPacket.ObjectDataBlock[] LibreMetaverse.Packets.ObjectDetachPacket.ObjectData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_data: Vec<libremetaverse::packets::ObjectDetachPacketObjectDataBlock>,
    }
    impl ObjectDetachPacket {
        /// C# member: `M:LibreMetaverse.Packets.ObjectDetachPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectDetachPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDetachPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectDetachPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDetachPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectDetachPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDetachPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectDetachPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDetachPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectDetachPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDetachPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectDetachPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDetachPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectDetachPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDetachPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ObjectDetachPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDetachPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ObjectDetachPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDetachPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ObjectDetachPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDetachPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ObjectDetachPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectDetachPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectDetachPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectDetachPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ObjectDetachPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectDetachPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectDetachPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectDetachPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ObjectDetachPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ObjectDetachPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ObjectDetachPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ObjectDetachPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl ObjectDetachPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ObjectDetachPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectDetachPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDetachPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectDetachPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDetachPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectDetachPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDetachPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectDetachPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDetachPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectDetachPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDetachPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectDetachPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectDetachPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectDetachPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectDetachPacket.ObjectDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectDetachPacket.ObjectDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectDetachPacketObjectDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ObjectDetachPacket.ObjectDataBlock.ObjectLocalID`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ObjectDetachPacket.ObjectDataBlock.ObjectLocalID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_local_id: u32,
    }
    impl ObjectDetachPacketObjectDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ObjectDetachPacket.ObjectDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectDetachPacket.ObjectDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDetachPacket.ObjectDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectDetachPacket.ObjectDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDetachPacket.ObjectDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectDetachPacket.ObjectDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDetachPacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectDetachPacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDetachPacket.ObjectDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectDetachPacket.ObjectDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDetachPacket.ObjectDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectDetachPacket.ObjectDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectDetachPacket.ObjectDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectDetachPacket.ObjectDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectDropPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectDropPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectDropPacket {
        /// C# member: `F:LibreMetaverse.Packets.ObjectDropPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectDropPacket.AgentDataBlock LibreMetaverse.Packets.ObjectDropPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::ObjectDropPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.ObjectDropPacket.ObjectData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectDropPacket.ObjectDataBlock[] LibreMetaverse.Packets.ObjectDropPacket.ObjectData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_data: Vec<libremetaverse::packets::ObjectDropPacketObjectDataBlock>,
    }
    impl ObjectDropPacket {
        /// C# member: `M:LibreMetaverse.Packets.ObjectDropPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectDropPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDropPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectDropPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDropPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectDropPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDropPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectDropPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDropPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectDropPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDropPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectDropPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDropPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectDropPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDropPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ObjectDropPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDropPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ObjectDropPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDropPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ObjectDropPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDropPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ObjectDropPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectDropPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectDropPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectDropPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ObjectDropPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectDropPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectDropPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectDropPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ObjectDropPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ObjectDropPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ObjectDropPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ObjectDropPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl ObjectDropPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ObjectDropPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectDropPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDropPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectDropPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDropPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectDropPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDropPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectDropPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDropPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectDropPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDropPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectDropPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectDropPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectDropPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectDropPacket.ObjectDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectDropPacket.ObjectDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectDropPacketObjectDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ObjectDropPacket.ObjectDataBlock.ObjectLocalID`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ObjectDropPacket.ObjectDataBlock.ObjectLocalID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_local_id: u32,
    }
    impl ObjectDropPacketObjectDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ObjectDropPacket.ObjectDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectDropPacket.ObjectDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDropPacket.ObjectDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectDropPacket.ObjectDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDropPacket.ObjectDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectDropPacket.ObjectDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDropPacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectDropPacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDropPacket.ObjectDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectDropPacket.ObjectDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDropPacket.ObjectDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectDropPacket.ObjectDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectDropPacket.ObjectDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectDropPacket.ObjectDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectDuplicateOnRayPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectDuplicateOnRayPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectDuplicateOnRayPacket {
        /// C# member: `F:LibreMetaverse.Packets.ObjectDuplicateOnRayPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectDuplicateOnRayPacket.AgentDataBlock LibreMetaverse.Packets.ObjectDuplicateOnRayPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::ObjectDuplicateOnRayPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.ObjectDuplicateOnRayPacket.ObjectData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectDuplicateOnRayPacket.ObjectDataBlock[] LibreMetaverse.Packets.ObjectDuplicateOnRayPacket.ObjectData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_data: Vec<libremetaverse::packets::ObjectDuplicateOnRayPacketObjectDataBlock>,
    }
    impl ObjectDuplicateOnRayPacket {
        /// C# member: `M:LibreMetaverse.Packets.ObjectDuplicateOnRayPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectDuplicateOnRayPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDuplicateOnRayPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectDuplicateOnRayPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDuplicateOnRayPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectDuplicateOnRayPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDuplicateOnRayPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectDuplicateOnRayPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDuplicateOnRayPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectDuplicateOnRayPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDuplicateOnRayPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectDuplicateOnRayPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDuplicateOnRayPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectDuplicateOnRayPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDuplicateOnRayPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ObjectDuplicateOnRayPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDuplicateOnRayPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ObjectDuplicateOnRayPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDuplicateOnRayPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ObjectDuplicateOnRayPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDuplicateOnRayPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ObjectDuplicateOnRayPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectDuplicateOnRayPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectDuplicateOnRayPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectDuplicateOnRayPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ObjectDuplicateOnRayPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectDuplicateOnRayPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectDuplicateOnRayPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectDuplicateOnRayPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ObjectDuplicateOnRayPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ObjectDuplicateOnRayPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ObjectDuplicateOnRayPacket.AgentDataBlock.BypassRaycast`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ObjectDuplicateOnRayPacket.AgentDataBlock.BypassRaycast`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub bypass_raycast: bool,
        /// C# member: `F:LibreMetaverse.Packets.ObjectDuplicateOnRayPacket.AgentDataBlock.CopyCenters`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ObjectDuplicateOnRayPacket.AgentDataBlock.CopyCenters`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub copy_centers: bool,
        /// C# member: `F:LibreMetaverse.Packets.ObjectDuplicateOnRayPacket.AgentDataBlock.CopyRotates`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ObjectDuplicateOnRayPacket.AgentDataBlock.CopyRotates`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub copy_rotates: bool,
        /// C# member: `F:LibreMetaverse.Packets.ObjectDuplicateOnRayPacket.AgentDataBlock.DuplicateFlags`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ObjectDuplicateOnRayPacket.AgentDataBlock.DuplicateFlags`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub duplicate_flags: u32,
        /// C# member: `F:LibreMetaverse.Packets.ObjectDuplicateOnRayPacket.AgentDataBlock.GroupID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ObjectDuplicateOnRayPacket.AgentDataBlock.GroupID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ObjectDuplicateOnRayPacket.AgentDataBlock.RayEnd`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Packets.ObjectDuplicateOnRayPacket.AgentDataBlock.RayEnd`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub ray_end: libremetaverse_types::Vector3,
        /// C# member: `F:LibreMetaverse.Packets.ObjectDuplicateOnRayPacket.AgentDataBlock.RayEndIsIntersection`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ObjectDuplicateOnRayPacket.AgentDataBlock.RayEndIsIntersection`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub ray_end_is_intersection: bool,
        /// C# member: `F:LibreMetaverse.Packets.ObjectDuplicateOnRayPacket.AgentDataBlock.RayStart`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Packets.ObjectDuplicateOnRayPacket.AgentDataBlock.RayStart`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub ray_start: libremetaverse_types::Vector3,
        /// C# member: `F:LibreMetaverse.Packets.ObjectDuplicateOnRayPacket.AgentDataBlock.RayTargetID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ObjectDuplicateOnRayPacket.AgentDataBlock.RayTargetID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub ray_target_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ObjectDuplicateOnRayPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ObjectDuplicateOnRayPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl ObjectDuplicateOnRayPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ObjectDuplicateOnRayPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectDuplicateOnRayPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDuplicateOnRayPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectDuplicateOnRayPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDuplicateOnRayPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectDuplicateOnRayPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDuplicateOnRayPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectDuplicateOnRayPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDuplicateOnRayPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectDuplicateOnRayPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDuplicateOnRayPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectDuplicateOnRayPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectDuplicateOnRayPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectDuplicateOnRayPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectDuplicateOnRayPacket.ObjectDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectDuplicateOnRayPacket.ObjectDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectDuplicateOnRayPacketObjectDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ObjectDuplicateOnRayPacket.ObjectDataBlock.ObjectLocalID`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ObjectDuplicateOnRayPacket.ObjectDataBlock.ObjectLocalID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_local_id: u32,
    }
    impl ObjectDuplicateOnRayPacketObjectDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ObjectDuplicateOnRayPacket.ObjectDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectDuplicateOnRayPacket.ObjectDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDuplicateOnRayPacket.ObjectDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectDuplicateOnRayPacket.ObjectDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDuplicateOnRayPacket.ObjectDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectDuplicateOnRayPacket.ObjectDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDuplicateOnRayPacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectDuplicateOnRayPacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDuplicateOnRayPacket.ObjectDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectDuplicateOnRayPacket.ObjectDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDuplicateOnRayPacket.ObjectDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectDuplicateOnRayPacket.ObjectDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectDuplicateOnRayPacket.ObjectDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectDuplicateOnRayPacket.ObjectDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectDuplicatePacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectDuplicatePacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectDuplicatePacket {
        /// C# member: `F:LibreMetaverse.Packets.ObjectDuplicatePacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectDuplicatePacket.AgentDataBlock LibreMetaverse.Packets.ObjectDuplicatePacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::ObjectDuplicatePacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.ObjectDuplicatePacket.ObjectData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectDuplicatePacket.ObjectDataBlock[] LibreMetaverse.Packets.ObjectDuplicatePacket.ObjectData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_data: Vec<libremetaverse::packets::ObjectDuplicatePacketObjectDataBlock>,
        /// C# member: `F:LibreMetaverse.Packets.ObjectDuplicatePacket.SharedData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectDuplicatePacket.SharedDataBlock LibreMetaverse.Packets.ObjectDuplicatePacket.SharedData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub shared_data: libremetaverse::packets::ObjectDuplicatePacketSharedDataBlock,
    }
    impl ObjectDuplicatePacket {
        /// C# member: `M:LibreMetaverse.Packets.ObjectDuplicatePacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectDuplicatePacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDuplicatePacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectDuplicatePacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDuplicatePacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectDuplicatePacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDuplicatePacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectDuplicatePacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDuplicatePacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectDuplicatePacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDuplicatePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectDuplicatePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDuplicatePacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectDuplicatePacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDuplicatePacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ObjectDuplicatePacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDuplicatePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ObjectDuplicatePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDuplicatePacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ObjectDuplicatePacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDuplicatePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ObjectDuplicatePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectDuplicatePacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectDuplicatePacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectDuplicatePacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ObjectDuplicatePacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectDuplicatePacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectDuplicatePacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectDuplicatePacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ObjectDuplicatePacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ObjectDuplicatePacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ObjectDuplicatePacket.AgentDataBlock.GroupID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ObjectDuplicatePacket.AgentDataBlock.GroupID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ObjectDuplicatePacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ObjectDuplicatePacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl ObjectDuplicatePacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ObjectDuplicatePacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectDuplicatePacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDuplicatePacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectDuplicatePacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDuplicatePacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectDuplicatePacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDuplicatePacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectDuplicatePacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDuplicatePacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectDuplicatePacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDuplicatePacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectDuplicatePacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectDuplicatePacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectDuplicatePacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectDuplicatePacket.ObjectDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectDuplicatePacket.ObjectDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectDuplicatePacketObjectDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ObjectDuplicatePacket.ObjectDataBlock.ObjectLocalID`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ObjectDuplicatePacket.ObjectDataBlock.ObjectLocalID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_local_id: u32,
    }
    impl ObjectDuplicatePacketObjectDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ObjectDuplicatePacket.ObjectDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectDuplicatePacket.ObjectDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDuplicatePacket.ObjectDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectDuplicatePacket.ObjectDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDuplicatePacket.ObjectDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectDuplicatePacket.ObjectDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDuplicatePacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectDuplicatePacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDuplicatePacket.ObjectDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectDuplicatePacket.ObjectDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDuplicatePacket.ObjectDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectDuplicatePacket.ObjectDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectDuplicatePacket.ObjectDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectDuplicatePacket.ObjectDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectDuplicatePacket.SharedDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectDuplicatePacket.SharedDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectDuplicatePacketSharedDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ObjectDuplicatePacket.SharedDataBlock.DuplicateFlags`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ObjectDuplicatePacket.SharedDataBlock.DuplicateFlags`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub duplicate_flags: u32,
        /// C# member: `F:LibreMetaverse.Packets.ObjectDuplicatePacket.SharedDataBlock.Offset`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Packets.ObjectDuplicatePacket.SharedDataBlock.Offset`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub offset: libremetaverse_types::Vector3,
    }
    impl ObjectDuplicatePacketSharedDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ObjectDuplicatePacket.SharedDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectDuplicatePacket.SharedDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDuplicatePacket.SharedDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectDuplicatePacket.SharedDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDuplicatePacket.SharedDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectDuplicatePacket.SharedDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDuplicatePacket.SharedDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectDuplicatePacket.SharedDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDuplicatePacket.SharedDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectDuplicatePacket.SharedDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectDuplicatePacket.SharedDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectDuplicatePacket.SharedDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectDuplicatePacket.SharedDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectDuplicatePacket.SharedDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectExportSelectedPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectExportSelectedPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectExportSelectedPacket {
        /// C# member: `F:LibreMetaverse.Packets.ObjectExportSelectedPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectExportSelectedPacket.AgentDataBlock LibreMetaverse.Packets.ObjectExportSelectedPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::ObjectExportSelectedPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.ObjectExportSelectedPacket.ObjectData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectExportSelectedPacket.ObjectDataBlock[] LibreMetaverse.Packets.ObjectExportSelectedPacket.ObjectData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_data: Vec<libremetaverse::packets::ObjectExportSelectedPacketObjectDataBlock>,
    }
    impl ObjectExportSelectedPacket {
        /// C# member: `M:LibreMetaverse.Packets.ObjectExportSelectedPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectExportSelectedPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectExportSelectedPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectExportSelectedPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectExportSelectedPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectExportSelectedPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectExportSelectedPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectExportSelectedPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectExportSelectedPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectExportSelectedPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectExportSelectedPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectExportSelectedPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectExportSelectedPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectExportSelectedPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectExportSelectedPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ObjectExportSelectedPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectExportSelectedPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ObjectExportSelectedPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectExportSelectedPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ObjectExportSelectedPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectExportSelectedPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ObjectExportSelectedPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectExportSelectedPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectExportSelectedPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectExportSelectedPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ObjectExportSelectedPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectExportSelectedPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectExportSelectedPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectExportSelectedPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ObjectExportSelectedPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ObjectExportSelectedPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ObjectExportSelectedPacket.AgentDataBlock.RequestID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ObjectExportSelectedPacket.AgentDataBlock.RequestID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub request_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ObjectExportSelectedPacket.AgentDataBlock.VolumeDetail`.
        ///
        /// C# signature: `System.Int16 LibreMetaverse.Packets.ObjectExportSelectedPacket.AgentDataBlock.VolumeDetail`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub volume_detail: i16,
    }
    impl ObjectExportSelectedPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ObjectExportSelectedPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectExportSelectedPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectExportSelectedPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectExportSelectedPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectExportSelectedPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectExportSelectedPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectExportSelectedPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectExportSelectedPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectExportSelectedPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectExportSelectedPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectExportSelectedPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectExportSelectedPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectExportSelectedPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectExportSelectedPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectExportSelectedPacket.ObjectDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectExportSelectedPacket.ObjectDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectExportSelectedPacketObjectDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ObjectExportSelectedPacket.ObjectDataBlock.ObjectID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ObjectExportSelectedPacket.ObjectDataBlock.ObjectID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_id: libremetaverse_types::UUID,
    }
    impl ObjectExportSelectedPacketObjectDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ObjectExportSelectedPacket.ObjectDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectExportSelectedPacket.ObjectDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectExportSelectedPacket.ObjectDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectExportSelectedPacket.ObjectDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectExportSelectedPacket.ObjectDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectExportSelectedPacket.ObjectDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectExportSelectedPacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectExportSelectedPacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectExportSelectedPacket.ObjectDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectExportSelectedPacket.ObjectDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectExportSelectedPacket.ObjectDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectExportSelectedPacket.ObjectDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectExportSelectedPacket.ObjectDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectExportSelectedPacket.ObjectDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectExtraParamsPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectExtraParamsPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectExtraParamsPacket {
        /// C# member: `F:LibreMetaverse.Packets.ObjectExtraParamsPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectExtraParamsPacket.AgentDataBlock LibreMetaverse.Packets.ObjectExtraParamsPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::ObjectExtraParamsPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.ObjectExtraParamsPacket.ObjectData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectExtraParamsPacket.ObjectDataBlock[] LibreMetaverse.Packets.ObjectExtraParamsPacket.ObjectData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_data: Vec<libremetaverse::packets::ObjectExtraParamsPacketObjectDataBlock>,
    }
    impl ObjectExtraParamsPacket {
        /// C# member: `M:LibreMetaverse.Packets.ObjectExtraParamsPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectExtraParamsPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectExtraParamsPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectExtraParamsPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectExtraParamsPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectExtraParamsPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectExtraParamsPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectExtraParamsPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectExtraParamsPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectExtraParamsPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectExtraParamsPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectExtraParamsPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectExtraParamsPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectExtraParamsPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectExtraParamsPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ObjectExtraParamsPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectExtraParamsPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ObjectExtraParamsPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectExtraParamsPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ObjectExtraParamsPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectExtraParamsPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ObjectExtraParamsPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectExtraParamsPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectExtraParamsPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectExtraParamsPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ObjectExtraParamsPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectExtraParamsPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectExtraParamsPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectExtraParamsPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ObjectExtraParamsPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ObjectExtraParamsPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ObjectExtraParamsPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ObjectExtraParamsPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl ObjectExtraParamsPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ObjectExtraParamsPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectExtraParamsPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectExtraParamsPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectExtraParamsPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectExtraParamsPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectExtraParamsPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectExtraParamsPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectExtraParamsPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectExtraParamsPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectExtraParamsPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectExtraParamsPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectExtraParamsPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectExtraParamsPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectExtraParamsPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectExtraParamsPacket.ObjectDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectExtraParamsPacket.ObjectDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectExtraParamsPacketObjectDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ObjectExtraParamsPacket.ObjectDataBlock.ObjectLocalID`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ObjectExtraParamsPacket.ObjectDataBlock.ObjectLocalID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_local_id: u32,
        /// C# member: `F:LibreMetaverse.Packets.ObjectExtraParamsPacket.ObjectDataBlock.ParamData`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ObjectExtraParamsPacket.ObjectDataBlock.ParamData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub param_data: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.ObjectExtraParamsPacket.ObjectDataBlock.ParamInUse`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ObjectExtraParamsPacket.ObjectDataBlock.ParamInUse`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub param_in_use: bool,
        /// C# member: `F:LibreMetaverse.Packets.ObjectExtraParamsPacket.ObjectDataBlock.ParamSize`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ObjectExtraParamsPacket.ObjectDataBlock.ParamSize`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub param_size: u32,
        /// C# member: `F:LibreMetaverse.Packets.ObjectExtraParamsPacket.ObjectDataBlock.ParamType`.
        ///
        /// C# signature: `System.UInt16 LibreMetaverse.Packets.ObjectExtraParamsPacket.ObjectDataBlock.ParamType`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub param_type: u16,
    }
    impl ObjectExtraParamsPacketObjectDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ObjectExtraParamsPacket.ObjectDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectExtraParamsPacket.ObjectDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectExtraParamsPacket.ObjectDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectExtraParamsPacket.ObjectDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectExtraParamsPacket.ObjectDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectExtraParamsPacket.ObjectDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectExtraParamsPacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectExtraParamsPacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectExtraParamsPacket.ObjectDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectExtraParamsPacket.ObjectDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectExtraParamsPacket.ObjectDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectExtraParamsPacket.ObjectDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectExtraParamsPacket.ObjectDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectExtraParamsPacket.ObjectDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectFlagUpdatePacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectFlagUpdatePacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectFlagUpdatePacket {
        /// C# member: `F:LibreMetaverse.Packets.ObjectFlagUpdatePacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectFlagUpdatePacket.AgentDataBlock LibreMetaverse.Packets.ObjectFlagUpdatePacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::ObjectFlagUpdatePacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.ObjectFlagUpdatePacket.ExtraPhysics`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectFlagUpdatePacket.ExtraPhysicsBlock[] LibreMetaverse.Packets.ObjectFlagUpdatePacket.ExtraPhysics`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub extra_physics: Vec<libremetaverse::packets::ObjectFlagUpdatePacketExtraPhysicsBlock>,
    }
    impl ObjectFlagUpdatePacket {
        /// C# member: `M:LibreMetaverse.Packets.ObjectFlagUpdatePacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectFlagUpdatePacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectFlagUpdatePacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectFlagUpdatePacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectFlagUpdatePacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectFlagUpdatePacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectFlagUpdatePacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectFlagUpdatePacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectFlagUpdatePacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectFlagUpdatePacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectFlagUpdatePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectFlagUpdatePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectFlagUpdatePacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectFlagUpdatePacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectFlagUpdatePacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ObjectFlagUpdatePacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectFlagUpdatePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ObjectFlagUpdatePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectFlagUpdatePacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ObjectFlagUpdatePacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectFlagUpdatePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ObjectFlagUpdatePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectFlagUpdatePacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectFlagUpdatePacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectFlagUpdatePacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ObjectFlagUpdatePacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectFlagUpdatePacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectFlagUpdatePacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectFlagUpdatePacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ObjectFlagUpdatePacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ObjectFlagUpdatePacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ObjectFlagUpdatePacket.AgentDataBlock.CastsShadows`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ObjectFlagUpdatePacket.AgentDataBlock.CastsShadows`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub casts_shadows: bool,
        /// C# member: `F:LibreMetaverse.Packets.ObjectFlagUpdatePacket.AgentDataBlock.IsPhantom`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ObjectFlagUpdatePacket.AgentDataBlock.IsPhantom`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub is_phantom: bool,
        /// C# member: `F:LibreMetaverse.Packets.ObjectFlagUpdatePacket.AgentDataBlock.IsTemporary`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ObjectFlagUpdatePacket.AgentDataBlock.IsTemporary`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub is_temporary: bool,
        /// C# member: `F:LibreMetaverse.Packets.ObjectFlagUpdatePacket.AgentDataBlock.ObjectLocalID`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ObjectFlagUpdatePacket.AgentDataBlock.ObjectLocalID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_local_id: u32,
        /// C# member: `F:LibreMetaverse.Packets.ObjectFlagUpdatePacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ObjectFlagUpdatePacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ObjectFlagUpdatePacket.AgentDataBlock.UsePhysics`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ObjectFlagUpdatePacket.AgentDataBlock.UsePhysics`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub use_physics: bool,
    }
    impl ObjectFlagUpdatePacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ObjectFlagUpdatePacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectFlagUpdatePacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectFlagUpdatePacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectFlagUpdatePacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectFlagUpdatePacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectFlagUpdatePacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectFlagUpdatePacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectFlagUpdatePacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectFlagUpdatePacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectFlagUpdatePacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectFlagUpdatePacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectFlagUpdatePacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectFlagUpdatePacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectFlagUpdatePacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectFlagUpdatePacket.ExtraPhysicsBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectFlagUpdatePacket.ExtraPhysicsBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectFlagUpdatePacketExtraPhysicsBlock {
        /// C# member: `F:LibreMetaverse.Packets.ObjectFlagUpdatePacket.ExtraPhysicsBlock.Density`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.ObjectFlagUpdatePacket.ExtraPhysicsBlock.Density`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub density: f32,
        /// C# member: `F:LibreMetaverse.Packets.ObjectFlagUpdatePacket.ExtraPhysicsBlock.Friction`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.ObjectFlagUpdatePacket.ExtraPhysicsBlock.Friction`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub friction: f32,
        /// C# member: `F:LibreMetaverse.Packets.ObjectFlagUpdatePacket.ExtraPhysicsBlock.GravityMultiplier`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.ObjectFlagUpdatePacket.ExtraPhysicsBlock.GravityMultiplier`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub gravity_multiplier: f32,
        /// C# member: `F:LibreMetaverse.Packets.ObjectFlagUpdatePacket.ExtraPhysicsBlock.PhysicsShapeType`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.ObjectFlagUpdatePacket.ExtraPhysicsBlock.PhysicsShapeType`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub physics_shape_type: u8,
        /// C# member: `F:LibreMetaverse.Packets.ObjectFlagUpdatePacket.ExtraPhysicsBlock.Restitution`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.ObjectFlagUpdatePacket.ExtraPhysicsBlock.Restitution`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub restitution: f32,
    }
    impl ObjectFlagUpdatePacketExtraPhysicsBlock {
        /// C# member: `M:LibreMetaverse.Packets.ObjectFlagUpdatePacket.ExtraPhysicsBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectFlagUpdatePacket.ExtraPhysicsBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectFlagUpdatePacket.ExtraPhysicsBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectFlagUpdatePacket.ExtraPhysicsBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectFlagUpdatePacket.ExtraPhysicsBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectFlagUpdatePacket.ExtraPhysicsBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectFlagUpdatePacket.ExtraPhysicsBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectFlagUpdatePacket.ExtraPhysicsBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectFlagUpdatePacket.ExtraPhysicsBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectFlagUpdatePacket.ExtraPhysicsBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectFlagUpdatePacket.ExtraPhysicsBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectFlagUpdatePacket.ExtraPhysicsBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectFlagUpdatePacket.ExtraPhysicsBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectFlagUpdatePacket.ExtraPhysicsBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectGrabPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectGrabPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectGrabPacket {
        /// C# member: `F:LibreMetaverse.Packets.ObjectGrabPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectGrabPacket.AgentDataBlock LibreMetaverse.Packets.ObjectGrabPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::ObjectGrabPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.ObjectGrabPacket.ObjectData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectGrabPacket.ObjectDataBlock LibreMetaverse.Packets.ObjectGrabPacket.ObjectData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_data: libremetaverse::packets::ObjectGrabPacketObjectDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.ObjectGrabPacket.SurfaceInfo`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectGrabPacket.SurfaceInfoBlock[] LibreMetaverse.Packets.ObjectGrabPacket.SurfaceInfo`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub surface_info: Vec<libremetaverse::packets::ObjectGrabPacketSurfaceInfoBlock>,
    }
    impl ObjectGrabPacket {
        /// C# member: `M:LibreMetaverse.Packets.ObjectGrabPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectGrabPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectGrabPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectGrabPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectGrabPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectGrabPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectGrabPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectGrabPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectGrabPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectGrabPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectGrabPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectGrabPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectGrabPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectGrabPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectGrabPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ObjectGrabPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectGrabPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ObjectGrabPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectGrabPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ObjectGrabPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectGrabPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ObjectGrabPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectGrabPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectGrabPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectGrabPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ObjectGrabPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectGrabPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectGrabPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectGrabPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ObjectGrabPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ObjectGrabPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ObjectGrabPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ObjectGrabPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl ObjectGrabPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ObjectGrabPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectGrabPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectGrabPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectGrabPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectGrabPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectGrabPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectGrabPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectGrabPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectGrabPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectGrabPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectGrabPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectGrabPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectGrabPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectGrabPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectGrabPacket.ObjectDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectGrabPacket.ObjectDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectGrabPacketObjectDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ObjectGrabPacket.ObjectDataBlock.GrabOffset`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Packets.ObjectGrabPacket.ObjectDataBlock.GrabOffset`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub grab_offset: libremetaverse_types::Vector3,
        /// C# member: `F:LibreMetaverse.Packets.ObjectGrabPacket.ObjectDataBlock.LocalID`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ObjectGrabPacket.ObjectDataBlock.LocalID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub local_id: u32,
    }
    impl ObjectGrabPacketObjectDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ObjectGrabPacket.ObjectDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectGrabPacket.ObjectDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectGrabPacket.ObjectDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectGrabPacket.ObjectDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectGrabPacket.ObjectDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectGrabPacket.ObjectDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectGrabPacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectGrabPacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectGrabPacket.ObjectDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectGrabPacket.ObjectDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectGrabPacket.ObjectDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectGrabPacket.ObjectDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectGrabPacket.ObjectDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectGrabPacket.ObjectDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectGrabPacket.SurfaceInfoBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectGrabPacket.SurfaceInfoBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectGrabPacketSurfaceInfoBlock {
        /// C# member: `F:LibreMetaverse.Packets.ObjectGrabPacket.SurfaceInfoBlock.Binormal`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Packets.ObjectGrabPacket.SurfaceInfoBlock.Binormal`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub binormal: libremetaverse_types::Vector3,
        /// C# member: `F:LibreMetaverse.Packets.ObjectGrabPacket.SurfaceInfoBlock.FaceIndex`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectGrabPacket.SurfaceInfoBlock.FaceIndex`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub face_index: i32,
        /// C# member: `F:LibreMetaverse.Packets.ObjectGrabPacket.SurfaceInfoBlock.Normal`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Packets.ObjectGrabPacket.SurfaceInfoBlock.Normal`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub normal: libremetaverse_types::Vector3,
        /// C# member: `F:LibreMetaverse.Packets.ObjectGrabPacket.SurfaceInfoBlock.Position`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Packets.ObjectGrabPacket.SurfaceInfoBlock.Position`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub position: libremetaverse_types::Vector3,
        /// C# member: `F:LibreMetaverse.Packets.ObjectGrabPacket.SurfaceInfoBlock.STCoord`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Packets.ObjectGrabPacket.SurfaceInfoBlock.STCoord`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub st_coord: libremetaverse_types::Vector3,
        /// C# member: `F:LibreMetaverse.Packets.ObjectGrabPacket.SurfaceInfoBlock.UVCoord`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Packets.ObjectGrabPacket.SurfaceInfoBlock.UVCoord`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub uv_coord: libremetaverse_types::Vector3,
    }
    impl ObjectGrabPacketSurfaceInfoBlock {
        /// C# member: `M:LibreMetaverse.Packets.ObjectGrabPacket.SurfaceInfoBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectGrabPacket.SurfaceInfoBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectGrabPacket.SurfaceInfoBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectGrabPacket.SurfaceInfoBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectGrabPacket.SurfaceInfoBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectGrabPacket.SurfaceInfoBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectGrabPacket.SurfaceInfoBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectGrabPacket.SurfaceInfoBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectGrabPacket.SurfaceInfoBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectGrabPacket.SurfaceInfoBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectGrabPacket.SurfaceInfoBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectGrabPacket.SurfaceInfoBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectGrabPacket.SurfaceInfoBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectGrabPacket.SurfaceInfoBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectGrabUpdatePacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectGrabUpdatePacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectGrabUpdatePacket {
        /// C# member: `F:LibreMetaverse.Packets.ObjectGrabUpdatePacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectGrabUpdatePacket.AgentDataBlock LibreMetaverse.Packets.ObjectGrabUpdatePacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::ObjectGrabUpdatePacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.ObjectGrabUpdatePacket.ObjectData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectGrabUpdatePacket.ObjectDataBlock LibreMetaverse.Packets.ObjectGrabUpdatePacket.ObjectData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_data: libremetaverse::packets::ObjectGrabUpdatePacketObjectDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.ObjectGrabUpdatePacket.SurfaceInfo`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectGrabUpdatePacket.SurfaceInfoBlock[] LibreMetaverse.Packets.ObjectGrabUpdatePacket.SurfaceInfo`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub surface_info: Vec<libremetaverse::packets::ObjectGrabUpdatePacketSurfaceInfoBlock>,
    }
    impl ObjectGrabUpdatePacket {
        /// C# member: `M:LibreMetaverse.Packets.ObjectGrabUpdatePacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectGrabUpdatePacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectGrabUpdatePacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectGrabUpdatePacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectGrabUpdatePacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectGrabUpdatePacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectGrabUpdatePacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectGrabUpdatePacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectGrabUpdatePacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectGrabUpdatePacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectGrabUpdatePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectGrabUpdatePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectGrabUpdatePacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectGrabUpdatePacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectGrabUpdatePacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ObjectGrabUpdatePacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectGrabUpdatePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ObjectGrabUpdatePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectGrabUpdatePacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ObjectGrabUpdatePacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectGrabUpdatePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ObjectGrabUpdatePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectGrabUpdatePacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectGrabUpdatePacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectGrabUpdatePacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ObjectGrabUpdatePacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectGrabUpdatePacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectGrabUpdatePacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectGrabUpdatePacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ObjectGrabUpdatePacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ObjectGrabUpdatePacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ObjectGrabUpdatePacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ObjectGrabUpdatePacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl ObjectGrabUpdatePacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ObjectGrabUpdatePacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectGrabUpdatePacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectGrabUpdatePacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectGrabUpdatePacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectGrabUpdatePacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectGrabUpdatePacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectGrabUpdatePacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectGrabUpdatePacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectGrabUpdatePacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectGrabUpdatePacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectGrabUpdatePacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectGrabUpdatePacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectGrabUpdatePacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectGrabUpdatePacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectGrabUpdatePacket.ObjectDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectGrabUpdatePacket.ObjectDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectGrabUpdatePacketObjectDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ObjectGrabUpdatePacket.ObjectDataBlock.GrabOffsetInitial`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Packets.ObjectGrabUpdatePacket.ObjectDataBlock.GrabOffsetInitial`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub grab_offset_initial: libremetaverse_types::Vector3,
        /// C# member: `F:LibreMetaverse.Packets.ObjectGrabUpdatePacket.ObjectDataBlock.GrabPosition`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Packets.ObjectGrabUpdatePacket.ObjectDataBlock.GrabPosition`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub grab_position: libremetaverse_types::Vector3,
        /// C# member: `F:LibreMetaverse.Packets.ObjectGrabUpdatePacket.ObjectDataBlock.ObjectID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ObjectGrabUpdatePacket.ObjectDataBlock.ObjectID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ObjectGrabUpdatePacket.ObjectDataBlock.TimeSinceLast`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ObjectGrabUpdatePacket.ObjectDataBlock.TimeSinceLast`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub time_since_last: u32,
    }
    impl ObjectGrabUpdatePacketObjectDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ObjectGrabUpdatePacket.ObjectDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectGrabUpdatePacket.ObjectDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectGrabUpdatePacket.ObjectDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectGrabUpdatePacket.ObjectDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectGrabUpdatePacket.ObjectDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectGrabUpdatePacket.ObjectDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectGrabUpdatePacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectGrabUpdatePacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectGrabUpdatePacket.ObjectDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectGrabUpdatePacket.ObjectDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectGrabUpdatePacket.ObjectDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectGrabUpdatePacket.ObjectDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectGrabUpdatePacket.ObjectDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectGrabUpdatePacket.ObjectDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectGrabUpdatePacket.SurfaceInfoBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectGrabUpdatePacket.SurfaceInfoBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectGrabUpdatePacketSurfaceInfoBlock {
        /// C# member: `F:LibreMetaverse.Packets.ObjectGrabUpdatePacket.SurfaceInfoBlock.Binormal`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Packets.ObjectGrabUpdatePacket.SurfaceInfoBlock.Binormal`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub binormal: libremetaverse_types::Vector3,
        /// C# member: `F:LibreMetaverse.Packets.ObjectGrabUpdatePacket.SurfaceInfoBlock.FaceIndex`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectGrabUpdatePacket.SurfaceInfoBlock.FaceIndex`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub face_index: i32,
        /// C# member: `F:LibreMetaverse.Packets.ObjectGrabUpdatePacket.SurfaceInfoBlock.Normal`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Packets.ObjectGrabUpdatePacket.SurfaceInfoBlock.Normal`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub normal: libremetaverse_types::Vector3,
        /// C# member: `F:LibreMetaverse.Packets.ObjectGrabUpdatePacket.SurfaceInfoBlock.Position`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Packets.ObjectGrabUpdatePacket.SurfaceInfoBlock.Position`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub position: libremetaverse_types::Vector3,
        /// C# member: `F:LibreMetaverse.Packets.ObjectGrabUpdatePacket.SurfaceInfoBlock.STCoord`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Packets.ObjectGrabUpdatePacket.SurfaceInfoBlock.STCoord`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub st_coord: libremetaverse_types::Vector3,
        /// C# member: `F:LibreMetaverse.Packets.ObjectGrabUpdatePacket.SurfaceInfoBlock.UVCoord`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Packets.ObjectGrabUpdatePacket.SurfaceInfoBlock.UVCoord`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub uv_coord: libremetaverse_types::Vector3,
    }
    impl ObjectGrabUpdatePacketSurfaceInfoBlock {
        /// C# member: `M:LibreMetaverse.Packets.ObjectGrabUpdatePacket.SurfaceInfoBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectGrabUpdatePacket.SurfaceInfoBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectGrabUpdatePacket.SurfaceInfoBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectGrabUpdatePacket.SurfaceInfoBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectGrabUpdatePacket.SurfaceInfoBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectGrabUpdatePacket.SurfaceInfoBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectGrabUpdatePacket.SurfaceInfoBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectGrabUpdatePacket.SurfaceInfoBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectGrabUpdatePacket.SurfaceInfoBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectGrabUpdatePacket.SurfaceInfoBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectGrabUpdatePacket.SurfaceInfoBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectGrabUpdatePacket.SurfaceInfoBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectGrabUpdatePacket.SurfaceInfoBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectGrabUpdatePacket.SurfaceInfoBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectGroupPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectGroupPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectGroupPacket {
        /// C# member: `F:LibreMetaverse.Packets.ObjectGroupPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectGroupPacket.AgentDataBlock LibreMetaverse.Packets.ObjectGroupPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::ObjectGroupPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.ObjectGroupPacket.ObjectData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectGroupPacket.ObjectDataBlock[] LibreMetaverse.Packets.ObjectGroupPacket.ObjectData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_data: Vec<libremetaverse::packets::ObjectGroupPacketObjectDataBlock>,
    }
    impl ObjectGroupPacket {
        /// C# member: `M:LibreMetaverse.Packets.ObjectGroupPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectGroupPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectGroupPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectGroupPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectGroupPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectGroupPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectGroupPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectGroupPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectGroupPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectGroupPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectGroupPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectGroupPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectGroupPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectGroupPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectGroupPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ObjectGroupPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectGroupPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ObjectGroupPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectGroupPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ObjectGroupPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectGroupPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ObjectGroupPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectGroupPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectGroupPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectGroupPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ObjectGroupPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectGroupPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectGroupPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectGroupPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ObjectGroupPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ObjectGroupPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ObjectGroupPacket.AgentDataBlock.GroupID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ObjectGroupPacket.AgentDataBlock.GroupID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ObjectGroupPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ObjectGroupPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl ObjectGroupPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ObjectGroupPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectGroupPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectGroupPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectGroupPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectGroupPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectGroupPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectGroupPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectGroupPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectGroupPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectGroupPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectGroupPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectGroupPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectGroupPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectGroupPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectGroupPacket.ObjectDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectGroupPacket.ObjectDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectGroupPacketObjectDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ObjectGroupPacket.ObjectDataBlock.ObjectLocalID`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ObjectGroupPacket.ObjectDataBlock.ObjectLocalID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_local_id: u32,
    }
    impl ObjectGroupPacketObjectDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ObjectGroupPacket.ObjectDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectGroupPacket.ObjectDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectGroupPacket.ObjectDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectGroupPacket.ObjectDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectGroupPacket.ObjectDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectGroupPacket.ObjectDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectGroupPacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectGroupPacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectGroupPacket.ObjectDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectGroupPacket.ObjectDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectGroupPacket.ObjectDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectGroupPacket.ObjectDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectGroupPacket.ObjectDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectGroupPacket.ObjectDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectImagePacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectImagePacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectImagePacket {
        /// C# member: `F:LibreMetaverse.Packets.ObjectImagePacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectImagePacket.AgentDataBlock LibreMetaverse.Packets.ObjectImagePacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::ObjectImagePacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.ObjectImagePacket.ObjectData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectImagePacket.ObjectDataBlock[] LibreMetaverse.Packets.ObjectImagePacket.ObjectData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_data: Vec<libremetaverse::packets::ObjectImagePacketObjectDataBlock>,
    }
    impl ObjectImagePacket {
        /// C# member: `M:LibreMetaverse.Packets.ObjectImagePacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectImagePacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectImagePacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectImagePacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectImagePacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectImagePacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectImagePacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectImagePacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectImagePacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectImagePacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectImagePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectImagePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectImagePacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectImagePacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectImagePacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ObjectImagePacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectImagePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ObjectImagePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectImagePacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ObjectImagePacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectImagePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ObjectImagePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectImagePacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectImagePacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectImagePacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ObjectImagePacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectImagePacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectImagePacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectImagePacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ObjectImagePacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ObjectImagePacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ObjectImagePacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ObjectImagePacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl ObjectImagePacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ObjectImagePacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectImagePacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectImagePacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectImagePacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectImagePacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectImagePacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectImagePacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectImagePacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectImagePacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectImagePacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectImagePacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectImagePacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectImagePacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectImagePacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectImagePacket.ObjectDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectImagePacket.ObjectDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectImagePacketObjectDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ObjectImagePacket.ObjectDataBlock.MediaURL`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ObjectImagePacket.ObjectDataBlock.MediaURL`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub media_url: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.ObjectImagePacket.ObjectDataBlock.ObjectLocalID`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ObjectImagePacket.ObjectDataBlock.ObjectLocalID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_local_id: u32,
        /// C# member: `F:LibreMetaverse.Packets.ObjectImagePacket.ObjectDataBlock.TextureEntry`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ObjectImagePacket.ObjectDataBlock.TextureEntry`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub texture_entry: Vec<u8>,
    }
    impl ObjectImagePacketObjectDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ObjectImagePacket.ObjectDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectImagePacket.ObjectDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectImagePacket.ObjectDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectImagePacket.ObjectDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectImagePacket.ObjectDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectImagePacket.ObjectDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectImagePacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectImagePacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectImagePacket.ObjectDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectImagePacket.ObjectDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectImagePacket.ObjectDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectImagePacket.ObjectDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectImagePacket.ObjectDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectImagePacket.ObjectDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectIncludeInSearchPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectIncludeInSearchPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectIncludeInSearchPacket {
        /// C# member: `F:LibreMetaverse.Packets.ObjectIncludeInSearchPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectIncludeInSearchPacket.AgentDataBlock LibreMetaverse.Packets.ObjectIncludeInSearchPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::ObjectIncludeInSearchPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.ObjectIncludeInSearchPacket.ObjectData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectIncludeInSearchPacket.ObjectDataBlock[] LibreMetaverse.Packets.ObjectIncludeInSearchPacket.ObjectData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_data: Vec<libremetaverse::packets::ObjectIncludeInSearchPacketObjectDataBlock>,
    }
    impl ObjectIncludeInSearchPacket {
        /// C# member: `M:LibreMetaverse.Packets.ObjectIncludeInSearchPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectIncludeInSearchPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectIncludeInSearchPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectIncludeInSearchPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectIncludeInSearchPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectIncludeInSearchPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectIncludeInSearchPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectIncludeInSearchPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectIncludeInSearchPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectIncludeInSearchPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectIncludeInSearchPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectIncludeInSearchPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectIncludeInSearchPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectIncludeInSearchPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectIncludeInSearchPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ObjectIncludeInSearchPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectIncludeInSearchPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ObjectIncludeInSearchPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectIncludeInSearchPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ObjectIncludeInSearchPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectIncludeInSearchPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ObjectIncludeInSearchPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectIncludeInSearchPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectIncludeInSearchPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectIncludeInSearchPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ObjectIncludeInSearchPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectIncludeInSearchPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectIncludeInSearchPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectIncludeInSearchPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ObjectIncludeInSearchPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ObjectIncludeInSearchPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ObjectIncludeInSearchPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ObjectIncludeInSearchPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl ObjectIncludeInSearchPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ObjectIncludeInSearchPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectIncludeInSearchPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectIncludeInSearchPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectIncludeInSearchPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectIncludeInSearchPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectIncludeInSearchPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectIncludeInSearchPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectIncludeInSearchPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectIncludeInSearchPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectIncludeInSearchPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectIncludeInSearchPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectIncludeInSearchPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectIncludeInSearchPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectIncludeInSearchPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectIncludeInSearchPacket.ObjectDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectIncludeInSearchPacket.ObjectDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectIncludeInSearchPacketObjectDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ObjectIncludeInSearchPacket.ObjectDataBlock.IncludeInSearch`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ObjectIncludeInSearchPacket.ObjectDataBlock.IncludeInSearch`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub include_in_search: bool,
        /// C# member: `F:LibreMetaverse.Packets.ObjectIncludeInSearchPacket.ObjectDataBlock.ObjectLocalID`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ObjectIncludeInSearchPacket.ObjectDataBlock.ObjectLocalID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_local_id: u32,
    }
    impl ObjectIncludeInSearchPacketObjectDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ObjectIncludeInSearchPacket.ObjectDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectIncludeInSearchPacket.ObjectDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectIncludeInSearchPacket.ObjectDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectIncludeInSearchPacket.ObjectDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectIncludeInSearchPacket.ObjectDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectIncludeInSearchPacket.ObjectDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectIncludeInSearchPacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectIncludeInSearchPacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectIncludeInSearchPacket.ObjectDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectIncludeInSearchPacket.ObjectDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectIncludeInSearchPacket.ObjectDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectIncludeInSearchPacket.ObjectDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectIncludeInSearchPacket.ObjectDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectIncludeInSearchPacket.ObjectDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectLinkPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectLinkPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectLinkPacket {
        /// C# member: `F:LibreMetaverse.Packets.ObjectLinkPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectLinkPacket.AgentDataBlock LibreMetaverse.Packets.ObjectLinkPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::ObjectLinkPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.ObjectLinkPacket.ObjectData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectLinkPacket.ObjectDataBlock[] LibreMetaverse.Packets.ObjectLinkPacket.ObjectData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_data: Vec<libremetaverse::packets::ObjectLinkPacketObjectDataBlock>,
    }
    impl ObjectLinkPacket {
        /// C# member: `M:LibreMetaverse.Packets.ObjectLinkPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectLinkPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectLinkPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectLinkPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectLinkPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectLinkPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectLinkPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectLinkPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectLinkPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectLinkPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectLinkPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectLinkPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectLinkPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectLinkPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectLinkPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ObjectLinkPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectLinkPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ObjectLinkPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectLinkPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ObjectLinkPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectLinkPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ObjectLinkPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectLinkPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectLinkPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectLinkPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ObjectLinkPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectLinkPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectLinkPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectLinkPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ObjectLinkPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ObjectLinkPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ObjectLinkPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ObjectLinkPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl ObjectLinkPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ObjectLinkPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectLinkPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectLinkPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectLinkPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectLinkPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectLinkPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectLinkPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectLinkPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectLinkPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectLinkPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectLinkPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectLinkPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectLinkPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectLinkPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectLinkPacket.ObjectDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectLinkPacket.ObjectDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectLinkPacketObjectDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ObjectLinkPacket.ObjectDataBlock.ObjectLocalID`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ObjectLinkPacket.ObjectDataBlock.ObjectLocalID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_local_id: u32,
    }
    impl ObjectLinkPacketObjectDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ObjectLinkPacket.ObjectDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectLinkPacket.ObjectDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectLinkPacket.ObjectDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectLinkPacket.ObjectDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectLinkPacket.ObjectDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectLinkPacket.ObjectDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectLinkPacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectLinkPacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectLinkPacket.ObjectDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectLinkPacket.ObjectDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectLinkPacket.ObjectDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectLinkPacket.ObjectDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectLinkPacket.ObjectDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectLinkPacket.ObjectDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectMaterialPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectMaterialPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectMaterialPacket {
        /// C# member: `F:LibreMetaverse.Packets.ObjectMaterialPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectMaterialPacket.AgentDataBlock LibreMetaverse.Packets.ObjectMaterialPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::ObjectMaterialPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.ObjectMaterialPacket.ObjectData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectMaterialPacket.ObjectDataBlock[] LibreMetaverse.Packets.ObjectMaterialPacket.ObjectData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_data: Vec<libremetaverse::packets::ObjectMaterialPacketObjectDataBlock>,
    }
    impl ObjectMaterialPacket {
        /// C# member: `M:LibreMetaverse.Packets.ObjectMaterialPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectMaterialPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectMaterialPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectMaterialPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectMaterialPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectMaterialPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectMaterialPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectMaterialPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectMaterialPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectMaterialPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectMaterialPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectMaterialPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectMaterialPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectMaterialPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectMaterialPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ObjectMaterialPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectMaterialPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ObjectMaterialPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectMaterialPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ObjectMaterialPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectMaterialPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ObjectMaterialPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectMaterialPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectMaterialPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectMaterialPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ObjectMaterialPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectMaterialPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectMaterialPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectMaterialPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ObjectMaterialPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ObjectMaterialPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ObjectMaterialPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ObjectMaterialPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl ObjectMaterialPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ObjectMaterialPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectMaterialPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectMaterialPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectMaterialPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectMaterialPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectMaterialPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectMaterialPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectMaterialPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectMaterialPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectMaterialPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectMaterialPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectMaterialPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectMaterialPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectMaterialPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectMaterialPacket.ObjectDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectMaterialPacket.ObjectDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectMaterialPacketObjectDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ObjectMaterialPacket.ObjectDataBlock.Material`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.ObjectMaterialPacket.ObjectDataBlock.Material`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub material: u8,
        /// C# member: `F:LibreMetaverse.Packets.ObjectMaterialPacket.ObjectDataBlock.ObjectLocalID`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ObjectMaterialPacket.ObjectDataBlock.ObjectLocalID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_local_id: u32,
    }
    impl ObjectMaterialPacketObjectDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ObjectMaterialPacket.ObjectDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectMaterialPacket.ObjectDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectMaterialPacket.ObjectDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectMaterialPacket.ObjectDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectMaterialPacket.ObjectDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectMaterialPacket.ObjectDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectMaterialPacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectMaterialPacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectMaterialPacket.ObjectDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectMaterialPacket.ObjectDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectMaterialPacket.ObjectDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectMaterialPacket.ObjectDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectMaterialPacket.ObjectDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectMaterialPacket.ObjectDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectNamePacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectNamePacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectNamePacket {
        /// C# member: `F:LibreMetaverse.Packets.ObjectNamePacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectNamePacket.AgentDataBlock LibreMetaverse.Packets.ObjectNamePacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::ObjectNamePacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.ObjectNamePacket.ObjectData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectNamePacket.ObjectDataBlock[] LibreMetaverse.Packets.ObjectNamePacket.ObjectData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_data: Vec<libremetaverse::packets::ObjectNamePacketObjectDataBlock>,
    }
    impl ObjectNamePacket {
        /// C# member: `M:LibreMetaverse.Packets.ObjectNamePacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectNamePacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectNamePacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectNamePacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectNamePacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectNamePacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectNamePacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectNamePacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectNamePacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectNamePacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectNamePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectNamePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectNamePacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectNamePacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectNamePacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ObjectNamePacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectNamePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ObjectNamePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectNamePacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ObjectNamePacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectNamePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ObjectNamePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectNamePacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectNamePacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectNamePacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ObjectNamePacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectNamePacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectNamePacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectNamePacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ObjectNamePacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ObjectNamePacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ObjectNamePacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ObjectNamePacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl ObjectNamePacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ObjectNamePacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectNamePacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectNamePacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectNamePacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectNamePacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectNamePacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectNamePacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectNamePacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectNamePacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectNamePacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectNamePacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectNamePacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectNamePacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectNamePacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectNamePacket.ObjectDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectNamePacket.ObjectDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectNamePacketObjectDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ObjectNamePacket.ObjectDataBlock.LocalID`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ObjectNamePacket.ObjectDataBlock.LocalID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub local_id: u32,
        /// C# member: `F:LibreMetaverse.Packets.ObjectNamePacket.ObjectDataBlock.Name`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ObjectNamePacket.ObjectDataBlock.Name`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub name: Vec<u8>,
    }
    impl ObjectNamePacketObjectDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ObjectNamePacket.ObjectDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectNamePacket.ObjectDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectNamePacket.ObjectDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectNamePacket.ObjectDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectNamePacket.ObjectDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectNamePacket.ObjectDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectNamePacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectNamePacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectNamePacket.ObjectDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectNamePacket.ObjectDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectNamePacket.ObjectDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectNamePacket.ObjectDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectNamePacket.ObjectDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectNamePacket.ObjectDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectOwnerPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectOwnerPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectOwnerPacket {
        /// C# member: `F:LibreMetaverse.Packets.ObjectOwnerPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectOwnerPacket.AgentDataBlock LibreMetaverse.Packets.ObjectOwnerPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::ObjectOwnerPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.ObjectOwnerPacket.HeaderData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectOwnerPacket.HeaderDataBlock LibreMetaverse.Packets.ObjectOwnerPacket.HeaderData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub header_data: libremetaverse::packets::ObjectOwnerPacketHeaderDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.ObjectOwnerPacket.ObjectData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectOwnerPacket.ObjectDataBlock[] LibreMetaverse.Packets.ObjectOwnerPacket.ObjectData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_data: Vec<libremetaverse::packets::ObjectOwnerPacketObjectDataBlock>,
    }
    impl ObjectOwnerPacket {
        /// C# member: `M:LibreMetaverse.Packets.ObjectOwnerPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectOwnerPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectOwnerPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectOwnerPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectOwnerPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectOwnerPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectOwnerPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectOwnerPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectOwnerPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectOwnerPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectOwnerPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectOwnerPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectOwnerPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectOwnerPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectOwnerPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ObjectOwnerPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectOwnerPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ObjectOwnerPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectOwnerPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ObjectOwnerPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectOwnerPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ObjectOwnerPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectOwnerPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectOwnerPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectOwnerPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ObjectOwnerPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectOwnerPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectOwnerPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectOwnerPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ObjectOwnerPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ObjectOwnerPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ObjectOwnerPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ObjectOwnerPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl ObjectOwnerPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ObjectOwnerPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectOwnerPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectOwnerPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectOwnerPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectOwnerPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectOwnerPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectOwnerPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectOwnerPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectOwnerPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectOwnerPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectOwnerPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectOwnerPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectOwnerPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectOwnerPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectOwnerPacket.HeaderDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectOwnerPacket.HeaderDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectOwnerPacketHeaderDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ObjectOwnerPacket.HeaderDataBlock.GroupID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ObjectOwnerPacket.HeaderDataBlock.GroupID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ObjectOwnerPacket.HeaderDataBlock.Override`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ObjectOwnerPacket.HeaderDataBlock.Override`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub override_: bool,
        /// C# member: `F:LibreMetaverse.Packets.ObjectOwnerPacket.HeaderDataBlock.OwnerID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ObjectOwnerPacket.HeaderDataBlock.OwnerID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub owner_id: libremetaverse_types::UUID,
    }
    impl ObjectOwnerPacketHeaderDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ObjectOwnerPacket.HeaderDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectOwnerPacket.HeaderDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectOwnerPacket.HeaderDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectOwnerPacket.HeaderDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectOwnerPacket.HeaderDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectOwnerPacket.HeaderDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectOwnerPacket.HeaderDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectOwnerPacket.HeaderDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectOwnerPacket.HeaderDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectOwnerPacket.HeaderDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectOwnerPacket.HeaderDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectOwnerPacket.HeaderDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectOwnerPacket.HeaderDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectOwnerPacket.HeaderDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectOwnerPacket.ObjectDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectOwnerPacket.ObjectDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectOwnerPacketObjectDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ObjectOwnerPacket.ObjectDataBlock.ObjectLocalID`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ObjectOwnerPacket.ObjectDataBlock.ObjectLocalID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_local_id: u32,
    }
    impl ObjectOwnerPacketObjectDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ObjectOwnerPacket.ObjectDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectOwnerPacket.ObjectDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectOwnerPacket.ObjectDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectOwnerPacket.ObjectDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectOwnerPacket.ObjectDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectOwnerPacket.ObjectDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectOwnerPacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectOwnerPacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectOwnerPacket.ObjectDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectOwnerPacket.ObjectDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectOwnerPacket.ObjectDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectOwnerPacket.ObjectDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectOwnerPacket.ObjectDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectOwnerPacket.ObjectDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectPermissionsPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectPermissionsPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectPermissionsPacket {
        /// C# member: `F:LibreMetaverse.Packets.ObjectPermissionsPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectPermissionsPacket.AgentDataBlock LibreMetaverse.Packets.ObjectPermissionsPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::ObjectPermissionsPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.ObjectPermissionsPacket.HeaderData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectPermissionsPacket.HeaderDataBlock LibreMetaverse.Packets.ObjectPermissionsPacket.HeaderData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub header_data: libremetaverse::packets::ObjectPermissionsPacketHeaderDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.ObjectPermissionsPacket.ObjectData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectPermissionsPacket.ObjectDataBlock[] LibreMetaverse.Packets.ObjectPermissionsPacket.ObjectData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_data: Vec<libremetaverse::packets::ObjectPermissionsPacketObjectDataBlock>,
    }
    impl ObjectPermissionsPacket {
        /// C# member: `M:LibreMetaverse.Packets.ObjectPermissionsPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectPermissionsPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectPermissionsPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectPermissionsPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectPermissionsPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectPermissionsPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectPermissionsPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectPermissionsPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectPermissionsPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectPermissionsPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectPermissionsPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectPermissionsPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectPermissionsPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectPermissionsPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectPermissionsPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ObjectPermissionsPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectPermissionsPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ObjectPermissionsPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectPermissionsPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ObjectPermissionsPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectPermissionsPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ObjectPermissionsPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectPermissionsPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectPermissionsPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectPermissionsPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ObjectPermissionsPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectPermissionsPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectPermissionsPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectPermissionsPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ObjectPermissionsPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ObjectPermissionsPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ObjectPermissionsPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ObjectPermissionsPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl ObjectPermissionsPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ObjectPermissionsPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectPermissionsPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectPermissionsPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectPermissionsPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectPermissionsPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectPermissionsPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectPermissionsPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectPermissionsPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectPermissionsPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectPermissionsPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectPermissionsPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectPermissionsPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectPermissionsPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectPermissionsPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectPermissionsPacket.HeaderDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectPermissionsPacket.HeaderDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectPermissionsPacketHeaderDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ObjectPermissionsPacket.HeaderDataBlock.Override`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ObjectPermissionsPacket.HeaderDataBlock.Override`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub override_: bool,
    }
    impl ObjectPermissionsPacketHeaderDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ObjectPermissionsPacket.HeaderDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectPermissionsPacket.HeaderDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectPermissionsPacket.HeaderDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectPermissionsPacket.HeaderDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectPermissionsPacket.HeaderDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectPermissionsPacket.HeaderDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectPermissionsPacket.HeaderDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectPermissionsPacket.HeaderDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectPermissionsPacket.HeaderDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectPermissionsPacket.HeaderDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectPermissionsPacket.HeaderDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectPermissionsPacket.HeaderDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectPermissionsPacket.HeaderDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectPermissionsPacket.HeaderDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectPermissionsPacket.ObjectDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectPermissionsPacket.ObjectDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectPermissionsPacketObjectDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ObjectPermissionsPacket.ObjectDataBlock.Field`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.ObjectPermissionsPacket.ObjectDataBlock.Field`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub field: u8,
        /// C# member: `F:LibreMetaverse.Packets.ObjectPermissionsPacket.ObjectDataBlock.Mask`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ObjectPermissionsPacket.ObjectDataBlock.Mask`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub mask: u32,
        /// C# member: `F:LibreMetaverse.Packets.ObjectPermissionsPacket.ObjectDataBlock.ObjectLocalID`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ObjectPermissionsPacket.ObjectDataBlock.ObjectLocalID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_local_id: u32,
        /// C# member: `F:LibreMetaverse.Packets.ObjectPermissionsPacket.ObjectDataBlock.Set`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.ObjectPermissionsPacket.ObjectDataBlock.Set`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub set: u8,
    }
    impl ObjectPermissionsPacketObjectDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ObjectPermissionsPacket.ObjectDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectPermissionsPacket.ObjectDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectPermissionsPacket.ObjectDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectPermissionsPacket.ObjectDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectPermissionsPacket.ObjectDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectPermissionsPacket.ObjectDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectPermissionsPacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectPermissionsPacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectPermissionsPacket.ObjectDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectPermissionsPacket.ObjectDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectPermissionsPacket.ObjectDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectPermissionsPacket.ObjectDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectPermissionsPacket.ObjectDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectPermissionsPacket.ObjectDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectPositionPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectPositionPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectPositionPacket {
        /// C# member: `F:LibreMetaverse.Packets.ObjectPositionPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectPositionPacket.AgentDataBlock LibreMetaverse.Packets.ObjectPositionPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::ObjectPositionPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.ObjectPositionPacket.ObjectData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectPositionPacket.ObjectDataBlock[] LibreMetaverse.Packets.ObjectPositionPacket.ObjectData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_data: Vec<libremetaverse::packets::ObjectPositionPacketObjectDataBlock>,
    }
    impl ObjectPositionPacket {
        /// C# member: `M:LibreMetaverse.Packets.ObjectPositionPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectPositionPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectPositionPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectPositionPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectPositionPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectPositionPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectPositionPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectPositionPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectPositionPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectPositionPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectPositionPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectPositionPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectPositionPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectPositionPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectPositionPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ObjectPositionPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectPositionPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ObjectPositionPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectPositionPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ObjectPositionPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectPositionPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ObjectPositionPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectPositionPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectPositionPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectPositionPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ObjectPositionPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectPositionPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectPositionPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectPositionPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ObjectPositionPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ObjectPositionPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ObjectPositionPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ObjectPositionPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl ObjectPositionPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ObjectPositionPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectPositionPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectPositionPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectPositionPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectPositionPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectPositionPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectPositionPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectPositionPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectPositionPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectPositionPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectPositionPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectPositionPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectPositionPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectPositionPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectPositionPacket.ObjectDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectPositionPacket.ObjectDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectPositionPacketObjectDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ObjectPositionPacket.ObjectDataBlock.ObjectLocalID`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ObjectPositionPacket.ObjectDataBlock.ObjectLocalID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_local_id: u32,
        /// C# member: `F:LibreMetaverse.Packets.ObjectPositionPacket.ObjectDataBlock.Position`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Packets.ObjectPositionPacket.ObjectDataBlock.Position`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub position: libremetaverse_types::Vector3,
    }
    impl ObjectPositionPacketObjectDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ObjectPositionPacket.ObjectDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectPositionPacket.ObjectDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectPositionPacket.ObjectDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectPositionPacket.ObjectDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectPositionPacket.ObjectDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectPositionPacket.ObjectDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectPositionPacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectPositionPacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectPositionPacket.ObjectDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectPositionPacket.ObjectDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectPositionPacket.ObjectDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectPositionPacket.ObjectDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectPositionPacket.ObjectDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectPositionPacket.ObjectDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectPropertiesFamilyPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectPropertiesFamilyPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectPropertiesFamilyPacket {
        /// C# member: `F:LibreMetaverse.Packets.ObjectPropertiesFamilyPacket.ObjectData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectPropertiesFamilyPacket.ObjectDataBlock LibreMetaverse.Packets.ObjectPropertiesFamilyPacket.ObjectData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_data: libremetaverse::packets::ObjectPropertiesFamilyPacketObjectDataBlock,
    }
    impl ObjectPropertiesFamilyPacket {
        /// C# member: `M:LibreMetaverse.Packets.ObjectPropertiesFamilyPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectPropertiesFamilyPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectPropertiesFamilyPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectPropertiesFamilyPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectPropertiesFamilyPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectPropertiesFamilyPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectPropertiesFamilyPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectPropertiesFamilyPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectPropertiesFamilyPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectPropertiesFamilyPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectPropertiesFamilyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectPropertiesFamilyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectPropertiesFamilyPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectPropertiesFamilyPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectPropertiesFamilyPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ObjectPropertiesFamilyPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectPropertiesFamilyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ObjectPropertiesFamilyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectPropertiesFamilyPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ObjectPropertiesFamilyPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectPropertiesFamilyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ObjectPropertiesFamilyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectPropertiesFamilyPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectPropertiesFamilyPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectPropertiesFamilyPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ObjectPropertiesFamilyPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectPropertiesFamilyPacket.ObjectDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectPropertiesFamilyPacket.ObjectDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectPropertiesFamilyPacketObjectDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ObjectPropertiesFamilyPacket.ObjectDataBlock.BaseMask`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ObjectPropertiesFamilyPacket.ObjectDataBlock.BaseMask`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub base_mask: u32,
        /// C# member: `F:LibreMetaverse.Packets.ObjectPropertiesFamilyPacket.ObjectDataBlock.Category`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ObjectPropertiesFamilyPacket.ObjectDataBlock.Category`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub category: u32,
        /// C# member: `F:LibreMetaverse.Packets.ObjectPropertiesFamilyPacket.ObjectDataBlock.Description`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ObjectPropertiesFamilyPacket.ObjectDataBlock.Description`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub description: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.ObjectPropertiesFamilyPacket.ObjectDataBlock.EveryoneMask`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ObjectPropertiesFamilyPacket.ObjectDataBlock.EveryoneMask`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub everyone_mask: u32,
        /// C# member: `F:LibreMetaverse.Packets.ObjectPropertiesFamilyPacket.ObjectDataBlock.GroupID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ObjectPropertiesFamilyPacket.ObjectDataBlock.GroupID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ObjectPropertiesFamilyPacket.ObjectDataBlock.GroupMask`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ObjectPropertiesFamilyPacket.ObjectDataBlock.GroupMask`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_mask: u32,
        /// C# member: `F:LibreMetaverse.Packets.ObjectPropertiesFamilyPacket.ObjectDataBlock.LastOwnerID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ObjectPropertiesFamilyPacket.ObjectDataBlock.LastOwnerID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub last_owner_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ObjectPropertiesFamilyPacket.ObjectDataBlock.Name`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ObjectPropertiesFamilyPacket.ObjectDataBlock.Name`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub name: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.ObjectPropertiesFamilyPacket.ObjectDataBlock.NextOwnerMask`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ObjectPropertiesFamilyPacket.ObjectDataBlock.NextOwnerMask`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub next_owner_mask: u32,
        /// C# member: `F:LibreMetaverse.Packets.ObjectPropertiesFamilyPacket.ObjectDataBlock.ObjectID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ObjectPropertiesFamilyPacket.ObjectDataBlock.ObjectID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ObjectPropertiesFamilyPacket.ObjectDataBlock.OwnerID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ObjectPropertiesFamilyPacket.ObjectDataBlock.OwnerID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub owner_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ObjectPropertiesFamilyPacket.ObjectDataBlock.OwnerMask`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ObjectPropertiesFamilyPacket.ObjectDataBlock.OwnerMask`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub owner_mask: u32,
        /// C# member: `F:LibreMetaverse.Packets.ObjectPropertiesFamilyPacket.ObjectDataBlock.OwnershipCost`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectPropertiesFamilyPacket.ObjectDataBlock.OwnershipCost`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub ownership_cost: i32,
        /// C# member: `F:LibreMetaverse.Packets.ObjectPropertiesFamilyPacket.ObjectDataBlock.RequestFlags`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ObjectPropertiesFamilyPacket.ObjectDataBlock.RequestFlags`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub request_flags: u32,
        /// C# member: `F:LibreMetaverse.Packets.ObjectPropertiesFamilyPacket.ObjectDataBlock.SalePrice`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectPropertiesFamilyPacket.ObjectDataBlock.SalePrice`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub sale_price: i32,
        /// C# member: `F:LibreMetaverse.Packets.ObjectPropertiesFamilyPacket.ObjectDataBlock.SaleType`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.ObjectPropertiesFamilyPacket.ObjectDataBlock.SaleType`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub sale_type: u8,
    }
    impl ObjectPropertiesFamilyPacketObjectDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ObjectPropertiesFamilyPacket.ObjectDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectPropertiesFamilyPacket.ObjectDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectPropertiesFamilyPacket.ObjectDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectPropertiesFamilyPacket.ObjectDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectPropertiesFamilyPacket.ObjectDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectPropertiesFamilyPacket.ObjectDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectPropertiesFamilyPacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectPropertiesFamilyPacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectPropertiesFamilyPacket.ObjectDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectPropertiesFamilyPacket.ObjectDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectPropertiesFamilyPacket.ObjectDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectPropertiesFamilyPacket.ObjectDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectPropertiesFamilyPacket.ObjectDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectPropertiesFamilyPacket.ObjectDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectPropertiesPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectPropertiesPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectPropertiesPacket {
        /// C# member: `F:LibreMetaverse.Packets.ObjectPropertiesPacket.ObjectData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectPropertiesPacket.ObjectDataBlock[] LibreMetaverse.Packets.ObjectPropertiesPacket.ObjectData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_data: Vec<libremetaverse::packets::ObjectPropertiesPacketObjectDataBlock>,
    }
    impl ObjectPropertiesPacket {
        /// C# member: `M:LibreMetaverse.Packets.ObjectPropertiesPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectPropertiesPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectPropertiesPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectPropertiesPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectPropertiesPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectPropertiesPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectPropertiesPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectPropertiesPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectPropertiesPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectPropertiesPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectPropertiesPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectPropertiesPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectPropertiesPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectPropertiesPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectPropertiesPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ObjectPropertiesPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectPropertiesPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ObjectPropertiesPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectPropertiesPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ObjectPropertiesPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectPropertiesPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ObjectPropertiesPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectPropertiesPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectPropertiesPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectPropertiesPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ObjectPropertiesPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectPropertiesPacket.ObjectDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectPropertiesPacket.ObjectDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectPropertiesPacketObjectDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ObjectPropertiesPacket.ObjectDataBlock.AggregatePermTextures`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.ObjectPropertiesPacket.ObjectDataBlock.AggregatePermTextures`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub aggregate_perm_textures: u8,
        /// C# member: `F:LibreMetaverse.Packets.ObjectPropertiesPacket.ObjectDataBlock.AggregatePermTexturesOwner`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.ObjectPropertiesPacket.ObjectDataBlock.AggregatePermTexturesOwner`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub aggregate_perm_textures_owner: u8,
        /// C# member: `F:LibreMetaverse.Packets.ObjectPropertiesPacket.ObjectDataBlock.AggregatePerms`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.ObjectPropertiesPacket.ObjectDataBlock.AggregatePerms`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub aggregate_perms: u8,
        /// C# member: `F:LibreMetaverse.Packets.ObjectPropertiesPacket.ObjectDataBlock.BaseMask`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ObjectPropertiesPacket.ObjectDataBlock.BaseMask`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub base_mask: u32,
        /// C# member: `F:LibreMetaverse.Packets.ObjectPropertiesPacket.ObjectDataBlock.Category`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ObjectPropertiesPacket.ObjectDataBlock.Category`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub category: u32,
        /// C# member: `F:LibreMetaverse.Packets.ObjectPropertiesPacket.ObjectDataBlock.CreationDate`.
        ///
        /// C# signature: `System.UInt64 LibreMetaverse.Packets.ObjectPropertiesPacket.ObjectDataBlock.CreationDate`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub creation_date: u64,
        /// C# member: `F:LibreMetaverse.Packets.ObjectPropertiesPacket.ObjectDataBlock.CreatorID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ObjectPropertiesPacket.ObjectDataBlock.CreatorID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub creator_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ObjectPropertiesPacket.ObjectDataBlock.Description`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ObjectPropertiesPacket.ObjectDataBlock.Description`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub description: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.ObjectPropertiesPacket.ObjectDataBlock.EveryoneMask`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ObjectPropertiesPacket.ObjectDataBlock.EveryoneMask`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub everyone_mask: u32,
        /// C# member: `F:LibreMetaverse.Packets.ObjectPropertiesPacket.ObjectDataBlock.FolderID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ObjectPropertiesPacket.ObjectDataBlock.FolderID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub folder_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ObjectPropertiesPacket.ObjectDataBlock.FromTaskID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ObjectPropertiesPacket.ObjectDataBlock.FromTaskID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub from_task_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ObjectPropertiesPacket.ObjectDataBlock.GroupID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ObjectPropertiesPacket.ObjectDataBlock.GroupID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ObjectPropertiesPacket.ObjectDataBlock.GroupMask`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ObjectPropertiesPacket.ObjectDataBlock.GroupMask`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_mask: u32,
        /// C# member: `F:LibreMetaverse.Packets.ObjectPropertiesPacket.ObjectDataBlock.InventorySerial`.
        ///
        /// C# signature: `System.Int16 LibreMetaverse.Packets.ObjectPropertiesPacket.ObjectDataBlock.InventorySerial`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub inventory_serial: i16,
        /// C# member: `F:LibreMetaverse.Packets.ObjectPropertiesPacket.ObjectDataBlock.ItemID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ObjectPropertiesPacket.ObjectDataBlock.ItemID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub item_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ObjectPropertiesPacket.ObjectDataBlock.LastOwnerID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ObjectPropertiesPacket.ObjectDataBlock.LastOwnerID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub last_owner_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ObjectPropertiesPacket.ObjectDataBlock.Name`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ObjectPropertiesPacket.ObjectDataBlock.Name`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub name: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.ObjectPropertiesPacket.ObjectDataBlock.NextOwnerMask`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ObjectPropertiesPacket.ObjectDataBlock.NextOwnerMask`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub next_owner_mask: u32,
        /// C# member: `F:LibreMetaverse.Packets.ObjectPropertiesPacket.ObjectDataBlock.ObjectID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ObjectPropertiesPacket.ObjectDataBlock.ObjectID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ObjectPropertiesPacket.ObjectDataBlock.OwnerID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ObjectPropertiesPacket.ObjectDataBlock.OwnerID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub owner_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ObjectPropertiesPacket.ObjectDataBlock.OwnerMask`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ObjectPropertiesPacket.ObjectDataBlock.OwnerMask`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub owner_mask: u32,
        /// C# member: `F:LibreMetaverse.Packets.ObjectPropertiesPacket.ObjectDataBlock.OwnershipCost`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectPropertiesPacket.ObjectDataBlock.OwnershipCost`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub ownership_cost: i32,
        /// C# member: `F:LibreMetaverse.Packets.ObjectPropertiesPacket.ObjectDataBlock.SalePrice`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectPropertiesPacket.ObjectDataBlock.SalePrice`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub sale_price: i32,
        /// C# member: `F:LibreMetaverse.Packets.ObjectPropertiesPacket.ObjectDataBlock.SaleType`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.ObjectPropertiesPacket.ObjectDataBlock.SaleType`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub sale_type: u8,
        /// C# member: `F:LibreMetaverse.Packets.ObjectPropertiesPacket.ObjectDataBlock.SitName`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ObjectPropertiesPacket.ObjectDataBlock.SitName`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub sit_name: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.ObjectPropertiesPacket.ObjectDataBlock.TextureID`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ObjectPropertiesPacket.ObjectDataBlock.TextureID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub texture_id: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.ObjectPropertiesPacket.ObjectDataBlock.TouchName`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ObjectPropertiesPacket.ObjectDataBlock.TouchName`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub touch_name: Vec<u8>,
    }
    impl ObjectPropertiesPacketObjectDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ObjectPropertiesPacket.ObjectDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectPropertiesPacket.ObjectDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectPropertiesPacket.ObjectDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectPropertiesPacket.ObjectDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectPropertiesPacket.ObjectDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectPropertiesPacket.ObjectDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectPropertiesPacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectPropertiesPacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectPropertiesPacket.ObjectDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectPropertiesPacket.ObjectDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectPropertiesPacket.ObjectDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectPropertiesPacket.ObjectDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectPropertiesPacket.ObjectDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectPropertiesPacket.ObjectDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectRotationPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectRotationPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectRotationPacket {
        /// C# member: `F:LibreMetaverse.Packets.ObjectRotationPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectRotationPacket.AgentDataBlock LibreMetaverse.Packets.ObjectRotationPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::ObjectRotationPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.ObjectRotationPacket.ObjectData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectRotationPacket.ObjectDataBlock[] LibreMetaverse.Packets.ObjectRotationPacket.ObjectData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_data: Vec<libremetaverse::packets::ObjectRotationPacketObjectDataBlock>,
    }
    impl ObjectRotationPacket {
        /// C# member: `M:LibreMetaverse.Packets.ObjectRotationPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectRotationPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectRotationPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectRotationPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectRotationPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectRotationPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectRotationPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectRotationPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectRotationPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectRotationPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectRotationPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectRotationPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectRotationPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectRotationPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectRotationPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ObjectRotationPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectRotationPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ObjectRotationPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectRotationPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ObjectRotationPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectRotationPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ObjectRotationPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectRotationPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectRotationPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectRotationPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ObjectRotationPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectRotationPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectRotationPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectRotationPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ObjectRotationPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ObjectRotationPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ObjectRotationPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ObjectRotationPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl ObjectRotationPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ObjectRotationPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectRotationPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectRotationPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectRotationPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectRotationPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectRotationPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectRotationPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectRotationPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectRotationPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectRotationPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectRotationPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectRotationPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectRotationPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectRotationPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectRotationPacket.ObjectDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectRotationPacket.ObjectDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectRotationPacketObjectDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ObjectRotationPacket.ObjectDataBlock.ObjectLocalID`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ObjectRotationPacket.ObjectDataBlock.ObjectLocalID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_local_id: u32,
        /// C# member: `F:LibreMetaverse.Packets.ObjectRotationPacket.ObjectDataBlock.Rotation`.
        ///
        /// C# signature: `LibreMetaverse.Quaternion LibreMetaverse.Packets.ObjectRotationPacket.ObjectDataBlock.Rotation`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub rotation: libremetaverse_types::Quaternion,
    }
    impl ObjectRotationPacketObjectDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ObjectRotationPacket.ObjectDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectRotationPacket.ObjectDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectRotationPacket.ObjectDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectRotationPacket.ObjectDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectRotationPacket.ObjectDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectRotationPacket.ObjectDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectRotationPacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectRotationPacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectRotationPacket.ObjectDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectRotationPacket.ObjectDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectRotationPacket.ObjectDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectRotationPacket.ObjectDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectRotationPacket.ObjectDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectRotationPacket.ObjectDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectSaleInfoPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectSaleInfoPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectSaleInfoPacket {
        /// C# member: `F:LibreMetaverse.Packets.ObjectSaleInfoPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectSaleInfoPacket.AgentDataBlock LibreMetaverse.Packets.ObjectSaleInfoPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::ObjectSaleInfoPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.ObjectSaleInfoPacket.ObjectData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectSaleInfoPacket.ObjectDataBlock[] LibreMetaverse.Packets.ObjectSaleInfoPacket.ObjectData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_data: Vec<libremetaverse::packets::ObjectSaleInfoPacketObjectDataBlock>,
    }
    impl ObjectSaleInfoPacket {
        /// C# member: `M:LibreMetaverse.Packets.ObjectSaleInfoPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectSaleInfoPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectSaleInfoPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectSaleInfoPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectSaleInfoPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectSaleInfoPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectSaleInfoPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectSaleInfoPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectSaleInfoPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectSaleInfoPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectSaleInfoPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectSaleInfoPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectSaleInfoPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectSaleInfoPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectSaleInfoPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ObjectSaleInfoPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectSaleInfoPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ObjectSaleInfoPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectSaleInfoPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ObjectSaleInfoPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectSaleInfoPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ObjectSaleInfoPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectSaleInfoPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectSaleInfoPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectSaleInfoPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ObjectSaleInfoPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectSaleInfoPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectSaleInfoPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectSaleInfoPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ObjectSaleInfoPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ObjectSaleInfoPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ObjectSaleInfoPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ObjectSaleInfoPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl ObjectSaleInfoPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ObjectSaleInfoPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectSaleInfoPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectSaleInfoPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectSaleInfoPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectSaleInfoPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectSaleInfoPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectSaleInfoPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectSaleInfoPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectSaleInfoPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectSaleInfoPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectSaleInfoPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectSaleInfoPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectSaleInfoPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectSaleInfoPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectSaleInfoPacket.ObjectDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectSaleInfoPacket.ObjectDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectSaleInfoPacketObjectDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ObjectSaleInfoPacket.ObjectDataBlock.LocalID`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ObjectSaleInfoPacket.ObjectDataBlock.LocalID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub local_id: u32,
        /// C# member: `F:LibreMetaverse.Packets.ObjectSaleInfoPacket.ObjectDataBlock.SalePrice`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectSaleInfoPacket.ObjectDataBlock.SalePrice`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub sale_price: i32,
        /// C# member: `F:LibreMetaverse.Packets.ObjectSaleInfoPacket.ObjectDataBlock.SaleType`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.ObjectSaleInfoPacket.ObjectDataBlock.SaleType`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub sale_type: u8,
    }
    impl ObjectSaleInfoPacketObjectDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ObjectSaleInfoPacket.ObjectDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectSaleInfoPacket.ObjectDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectSaleInfoPacket.ObjectDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectSaleInfoPacket.ObjectDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectSaleInfoPacket.ObjectDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectSaleInfoPacket.ObjectDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectSaleInfoPacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectSaleInfoPacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectSaleInfoPacket.ObjectDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectSaleInfoPacket.ObjectDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectSaleInfoPacket.ObjectDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectSaleInfoPacket.ObjectDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectSaleInfoPacket.ObjectDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectSaleInfoPacket.ObjectDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectScalePacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectScalePacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectScalePacket {
        /// C# member: `F:LibreMetaverse.Packets.ObjectScalePacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectScalePacket.AgentDataBlock LibreMetaverse.Packets.ObjectScalePacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::ObjectScalePacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.ObjectScalePacket.ObjectData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectScalePacket.ObjectDataBlock[] LibreMetaverse.Packets.ObjectScalePacket.ObjectData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_data: Vec<libremetaverse::packets::ObjectScalePacketObjectDataBlock>,
    }
    impl ObjectScalePacket {
        /// C# member: `M:LibreMetaverse.Packets.ObjectScalePacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectScalePacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectScalePacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectScalePacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectScalePacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectScalePacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectScalePacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectScalePacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectScalePacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectScalePacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectScalePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectScalePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectScalePacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectScalePacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectScalePacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ObjectScalePacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectScalePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ObjectScalePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectScalePacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ObjectScalePacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectScalePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ObjectScalePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectScalePacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectScalePacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectScalePacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ObjectScalePacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectScalePacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectScalePacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectScalePacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ObjectScalePacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ObjectScalePacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ObjectScalePacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ObjectScalePacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl ObjectScalePacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ObjectScalePacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectScalePacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectScalePacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectScalePacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectScalePacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectScalePacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectScalePacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectScalePacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectScalePacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectScalePacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectScalePacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectScalePacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectScalePacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectScalePacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectScalePacket.ObjectDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectScalePacket.ObjectDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectScalePacketObjectDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ObjectScalePacket.ObjectDataBlock.ObjectLocalID`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ObjectScalePacket.ObjectDataBlock.ObjectLocalID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_local_id: u32,
        /// C# member: `F:LibreMetaverse.Packets.ObjectScalePacket.ObjectDataBlock.Scale`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Packets.ObjectScalePacket.ObjectDataBlock.Scale`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub scale: libremetaverse_types::Vector3,
    }
    impl ObjectScalePacketObjectDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ObjectScalePacket.ObjectDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectScalePacket.ObjectDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectScalePacket.ObjectDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectScalePacket.ObjectDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectScalePacket.ObjectDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectScalePacket.ObjectDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectScalePacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectScalePacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectScalePacket.ObjectDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectScalePacket.ObjectDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectScalePacket.ObjectDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectScalePacket.ObjectDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectScalePacket.ObjectDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectScalePacket.ObjectDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectSelectPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectSelectPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectSelectPacket {
        /// C# member: `F:LibreMetaverse.Packets.ObjectSelectPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectSelectPacket.AgentDataBlock LibreMetaverse.Packets.ObjectSelectPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::ObjectSelectPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.ObjectSelectPacket.ObjectData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectSelectPacket.ObjectDataBlock[] LibreMetaverse.Packets.ObjectSelectPacket.ObjectData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_data: Vec<libremetaverse::packets::ObjectSelectPacketObjectDataBlock>,
    }
    impl ObjectSelectPacket {
        /// C# member: `M:LibreMetaverse.Packets.ObjectSelectPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectSelectPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectSelectPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectSelectPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectSelectPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectSelectPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectSelectPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectSelectPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectSelectPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectSelectPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectSelectPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectSelectPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectSelectPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectSelectPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectSelectPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ObjectSelectPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectSelectPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ObjectSelectPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectSelectPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ObjectSelectPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectSelectPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ObjectSelectPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectSelectPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectSelectPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectSelectPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ObjectSelectPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectSelectPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectSelectPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectSelectPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ObjectSelectPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ObjectSelectPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ObjectSelectPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ObjectSelectPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl ObjectSelectPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ObjectSelectPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectSelectPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectSelectPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectSelectPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectSelectPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectSelectPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectSelectPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectSelectPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectSelectPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectSelectPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectSelectPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectSelectPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectSelectPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectSelectPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectSelectPacket.ObjectDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectSelectPacket.ObjectDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectSelectPacketObjectDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ObjectSelectPacket.ObjectDataBlock.ObjectLocalID`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ObjectSelectPacket.ObjectDataBlock.ObjectLocalID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_local_id: u32,
    }
    impl ObjectSelectPacketObjectDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ObjectSelectPacket.ObjectDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectSelectPacket.ObjectDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectSelectPacket.ObjectDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectSelectPacket.ObjectDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectSelectPacket.ObjectDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectSelectPacket.ObjectDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectSelectPacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectSelectPacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectSelectPacket.ObjectDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectSelectPacket.ObjectDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectSelectPacket.ObjectDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectSelectPacket.ObjectDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectSelectPacket.ObjectDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectSelectPacket.ObjectDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectShapePacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectShapePacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectShapePacket {
        /// C# member: `F:LibreMetaverse.Packets.ObjectShapePacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectShapePacket.AgentDataBlock LibreMetaverse.Packets.ObjectShapePacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::ObjectShapePacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.ObjectShapePacket.ObjectData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectShapePacket.ObjectDataBlock[] LibreMetaverse.Packets.ObjectShapePacket.ObjectData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_data: Vec<libremetaverse::packets::ObjectShapePacketObjectDataBlock>,
    }
    impl ObjectShapePacket {
        /// C# member: `M:LibreMetaverse.Packets.ObjectShapePacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectShapePacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectShapePacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectShapePacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectShapePacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectShapePacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectShapePacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectShapePacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectShapePacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectShapePacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectShapePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectShapePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectShapePacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectShapePacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectShapePacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ObjectShapePacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectShapePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ObjectShapePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectShapePacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ObjectShapePacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectShapePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ObjectShapePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectShapePacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectShapePacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectShapePacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ObjectShapePacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectShapePacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectShapePacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectShapePacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ObjectShapePacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ObjectShapePacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ObjectShapePacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ObjectShapePacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl ObjectShapePacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ObjectShapePacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectShapePacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectShapePacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectShapePacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectShapePacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectShapePacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectShapePacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectShapePacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectShapePacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectShapePacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectShapePacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectShapePacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectShapePacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectShapePacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectShapePacket.ObjectDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectShapePacket.ObjectDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectShapePacketObjectDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ObjectShapePacket.ObjectDataBlock.ObjectLocalID`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ObjectShapePacket.ObjectDataBlock.ObjectLocalID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_local_id: u32,
        /// C# member: `F:LibreMetaverse.Packets.ObjectShapePacket.ObjectDataBlock.PathBegin`.
        ///
        /// C# signature: `System.UInt16 LibreMetaverse.Packets.ObjectShapePacket.ObjectDataBlock.PathBegin`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub path_begin: u16,
        /// C# member: `F:LibreMetaverse.Packets.ObjectShapePacket.ObjectDataBlock.PathCurve`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.ObjectShapePacket.ObjectDataBlock.PathCurve`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub path_curve: u8,
        /// C# member: `F:LibreMetaverse.Packets.ObjectShapePacket.ObjectDataBlock.PathEnd`.
        ///
        /// C# signature: `System.UInt16 LibreMetaverse.Packets.ObjectShapePacket.ObjectDataBlock.PathEnd`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub path_end: u16,
        /// C# member: `F:LibreMetaverse.Packets.ObjectShapePacket.ObjectDataBlock.PathRadiusOffset`.
        ///
        /// C# signature: `System.SByte LibreMetaverse.Packets.ObjectShapePacket.ObjectDataBlock.PathRadiusOffset`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub path_radius_offset: i8,
        /// C# member: `F:LibreMetaverse.Packets.ObjectShapePacket.ObjectDataBlock.PathRevolutions`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.ObjectShapePacket.ObjectDataBlock.PathRevolutions`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub path_revolutions: u8,
        /// C# member: `F:LibreMetaverse.Packets.ObjectShapePacket.ObjectDataBlock.PathScaleX`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.ObjectShapePacket.ObjectDataBlock.PathScaleX`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub path_scale_x: u8,
        /// C# member: `F:LibreMetaverse.Packets.ObjectShapePacket.ObjectDataBlock.PathScaleY`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.ObjectShapePacket.ObjectDataBlock.PathScaleY`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub path_scale_y: u8,
        /// C# member: `F:LibreMetaverse.Packets.ObjectShapePacket.ObjectDataBlock.PathShearX`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.ObjectShapePacket.ObjectDataBlock.PathShearX`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub path_shear_x: u8,
        /// C# member: `F:LibreMetaverse.Packets.ObjectShapePacket.ObjectDataBlock.PathShearY`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.ObjectShapePacket.ObjectDataBlock.PathShearY`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub path_shear_y: u8,
        /// C# member: `F:LibreMetaverse.Packets.ObjectShapePacket.ObjectDataBlock.PathSkew`.
        ///
        /// C# signature: `System.SByte LibreMetaverse.Packets.ObjectShapePacket.ObjectDataBlock.PathSkew`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub path_skew: i8,
        /// C# member: `F:LibreMetaverse.Packets.ObjectShapePacket.ObjectDataBlock.PathTaperX`.
        ///
        /// C# signature: `System.SByte LibreMetaverse.Packets.ObjectShapePacket.ObjectDataBlock.PathTaperX`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub path_taper_x: i8,
        /// C# member: `F:LibreMetaverse.Packets.ObjectShapePacket.ObjectDataBlock.PathTaperY`.
        ///
        /// C# signature: `System.SByte LibreMetaverse.Packets.ObjectShapePacket.ObjectDataBlock.PathTaperY`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub path_taper_y: i8,
        /// C# member: `F:LibreMetaverse.Packets.ObjectShapePacket.ObjectDataBlock.PathTwist`.
        ///
        /// C# signature: `System.SByte LibreMetaverse.Packets.ObjectShapePacket.ObjectDataBlock.PathTwist`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub path_twist: i8,
        /// C# member: `F:LibreMetaverse.Packets.ObjectShapePacket.ObjectDataBlock.PathTwistBegin`.
        ///
        /// C# signature: `System.SByte LibreMetaverse.Packets.ObjectShapePacket.ObjectDataBlock.PathTwistBegin`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub path_twist_begin: i8,
        /// C# member: `F:LibreMetaverse.Packets.ObjectShapePacket.ObjectDataBlock.ProfileBegin`.
        ///
        /// C# signature: `System.UInt16 LibreMetaverse.Packets.ObjectShapePacket.ObjectDataBlock.ProfileBegin`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub profile_begin: u16,
        /// C# member: `F:LibreMetaverse.Packets.ObjectShapePacket.ObjectDataBlock.ProfileCurve`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.ObjectShapePacket.ObjectDataBlock.ProfileCurve`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub profile_curve: u8,
        /// C# member: `F:LibreMetaverse.Packets.ObjectShapePacket.ObjectDataBlock.ProfileEnd`.
        ///
        /// C# signature: `System.UInt16 LibreMetaverse.Packets.ObjectShapePacket.ObjectDataBlock.ProfileEnd`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub profile_end: u16,
        /// C# member: `F:LibreMetaverse.Packets.ObjectShapePacket.ObjectDataBlock.ProfileHollow`.
        ///
        /// C# signature: `System.UInt16 LibreMetaverse.Packets.ObjectShapePacket.ObjectDataBlock.ProfileHollow`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub profile_hollow: u16,
    }
    impl ObjectShapePacketObjectDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ObjectShapePacket.ObjectDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectShapePacket.ObjectDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectShapePacket.ObjectDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectShapePacket.ObjectDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectShapePacket.ObjectDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectShapePacket.ObjectDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectShapePacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectShapePacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectShapePacket.ObjectDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectShapePacket.ObjectDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectShapePacket.ObjectDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectShapePacket.ObjectDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectShapePacket.ObjectDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectShapePacket.ObjectDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectSpinStartPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectSpinStartPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectSpinStartPacket {
        /// C# member: `F:LibreMetaverse.Packets.ObjectSpinStartPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectSpinStartPacket.AgentDataBlock LibreMetaverse.Packets.ObjectSpinStartPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::ObjectSpinStartPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.ObjectSpinStartPacket.ObjectData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectSpinStartPacket.ObjectDataBlock LibreMetaverse.Packets.ObjectSpinStartPacket.ObjectData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_data: libremetaverse::packets::ObjectSpinStartPacketObjectDataBlock,
    }
    impl ObjectSpinStartPacket {
        /// C# member: `M:LibreMetaverse.Packets.ObjectSpinStartPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectSpinStartPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectSpinStartPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectSpinStartPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectSpinStartPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectSpinStartPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectSpinStartPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectSpinStartPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectSpinStartPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectSpinStartPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectSpinStartPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectSpinStartPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectSpinStartPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectSpinStartPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectSpinStartPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ObjectSpinStartPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectSpinStartPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ObjectSpinStartPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectSpinStartPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ObjectSpinStartPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectSpinStartPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ObjectSpinStartPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectSpinStartPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectSpinStartPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectSpinStartPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ObjectSpinStartPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectSpinStartPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectSpinStartPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectSpinStartPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ObjectSpinStartPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ObjectSpinStartPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ObjectSpinStartPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ObjectSpinStartPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl ObjectSpinStartPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ObjectSpinStartPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectSpinStartPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectSpinStartPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectSpinStartPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectSpinStartPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectSpinStartPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectSpinStartPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectSpinStartPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectSpinStartPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectSpinStartPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectSpinStartPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectSpinStartPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectSpinStartPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectSpinStartPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectSpinStartPacket.ObjectDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectSpinStartPacket.ObjectDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectSpinStartPacketObjectDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ObjectSpinStartPacket.ObjectDataBlock.ObjectID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ObjectSpinStartPacket.ObjectDataBlock.ObjectID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_id: libremetaverse_types::UUID,
    }
    impl ObjectSpinStartPacketObjectDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ObjectSpinStartPacket.ObjectDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectSpinStartPacket.ObjectDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectSpinStartPacket.ObjectDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectSpinStartPacket.ObjectDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectSpinStartPacket.ObjectDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectSpinStartPacket.ObjectDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectSpinStartPacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectSpinStartPacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectSpinStartPacket.ObjectDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectSpinStartPacket.ObjectDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectSpinStartPacket.ObjectDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectSpinStartPacket.ObjectDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectSpinStartPacket.ObjectDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectSpinStartPacket.ObjectDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectSpinStopPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectSpinStopPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectSpinStopPacket {
        /// C# member: `F:LibreMetaverse.Packets.ObjectSpinStopPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectSpinStopPacket.AgentDataBlock LibreMetaverse.Packets.ObjectSpinStopPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::ObjectSpinStopPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.ObjectSpinStopPacket.ObjectData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectSpinStopPacket.ObjectDataBlock LibreMetaverse.Packets.ObjectSpinStopPacket.ObjectData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_data: libremetaverse::packets::ObjectSpinStopPacketObjectDataBlock,
    }
    impl ObjectSpinStopPacket {
        /// C# member: `M:LibreMetaverse.Packets.ObjectSpinStopPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectSpinStopPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectSpinStopPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectSpinStopPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectSpinStopPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectSpinStopPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectSpinStopPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectSpinStopPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectSpinStopPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectSpinStopPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectSpinStopPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectSpinStopPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectSpinStopPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectSpinStopPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectSpinStopPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ObjectSpinStopPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectSpinStopPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ObjectSpinStopPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectSpinStopPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ObjectSpinStopPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectSpinStopPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ObjectSpinStopPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectSpinStopPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectSpinStopPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectSpinStopPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ObjectSpinStopPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectSpinStopPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectSpinStopPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectSpinStopPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ObjectSpinStopPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ObjectSpinStopPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ObjectSpinStopPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ObjectSpinStopPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl ObjectSpinStopPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ObjectSpinStopPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectSpinStopPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectSpinStopPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectSpinStopPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectSpinStopPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectSpinStopPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectSpinStopPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectSpinStopPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectSpinStopPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectSpinStopPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectSpinStopPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectSpinStopPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectSpinStopPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectSpinStopPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectSpinStopPacket.ObjectDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectSpinStopPacket.ObjectDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectSpinStopPacketObjectDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ObjectSpinStopPacket.ObjectDataBlock.ObjectID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ObjectSpinStopPacket.ObjectDataBlock.ObjectID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_id: libremetaverse_types::UUID,
    }
    impl ObjectSpinStopPacketObjectDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ObjectSpinStopPacket.ObjectDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectSpinStopPacket.ObjectDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectSpinStopPacket.ObjectDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectSpinStopPacket.ObjectDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectSpinStopPacket.ObjectDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectSpinStopPacket.ObjectDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectSpinStopPacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectSpinStopPacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectSpinStopPacket.ObjectDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectSpinStopPacket.ObjectDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectSpinStopPacket.ObjectDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectSpinStopPacket.ObjectDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectSpinStopPacket.ObjectDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectSpinStopPacket.ObjectDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectSpinUpdatePacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectSpinUpdatePacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectSpinUpdatePacket {
        /// C# member: `F:LibreMetaverse.Packets.ObjectSpinUpdatePacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectSpinUpdatePacket.AgentDataBlock LibreMetaverse.Packets.ObjectSpinUpdatePacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::ObjectSpinUpdatePacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.ObjectSpinUpdatePacket.ObjectData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectSpinUpdatePacket.ObjectDataBlock LibreMetaverse.Packets.ObjectSpinUpdatePacket.ObjectData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_data: libremetaverse::packets::ObjectSpinUpdatePacketObjectDataBlock,
    }
    impl ObjectSpinUpdatePacket {
        /// C# member: `M:LibreMetaverse.Packets.ObjectSpinUpdatePacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectSpinUpdatePacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectSpinUpdatePacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectSpinUpdatePacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectSpinUpdatePacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectSpinUpdatePacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectSpinUpdatePacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectSpinUpdatePacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectSpinUpdatePacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectSpinUpdatePacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectSpinUpdatePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectSpinUpdatePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectSpinUpdatePacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectSpinUpdatePacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectSpinUpdatePacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ObjectSpinUpdatePacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectSpinUpdatePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ObjectSpinUpdatePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectSpinUpdatePacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ObjectSpinUpdatePacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectSpinUpdatePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ObjectSpinUpdatePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectSpinUpdatePacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectSpinUpdatePacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectSpinUpdatePacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ObjectSpinUpdatePacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectSpinUpdatePacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectSpinUpdatePacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectSpinUpdatePacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ObjectSpinUpdatePacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ObjectSpinUpdatePacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ObjectSpinUpdatePacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ObjectSpinUpdatePacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl ObjectSpinUpdatePacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ObjectSpinUpdatePacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectSpinUpdatePacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectSpinUpdatePacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectSpinUpdatePacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectSpinUpdatePacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectSpinUpdatePacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectSpinUpdatePacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectSpinUpdatePacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectSpinUpdatePacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectSpinUpdatePacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectSpinUpdatePacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectSpinUpdatePacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectSpinUpdatePacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectSpinUpdatePacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectSpinUpdatePacket.ObjectDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectSpinUpdatePacket.ObjectDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectSpinUpdatePacketObjectDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ObjectSpinUpdatePacket.ObjectDataBlock.ObjectID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ObjectSpinUpdatePacket.ObjectDataBlock.ObjectID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ObjectSpinUpdatePacket.ObjectDataBlock.Rotation`.
        ///
        /// C# signature: `LibreMetaverse.Quaternion LibreMetaverse.Packets.ObjectSpinUpdatePacket.ObjectDataBlock.Rotation`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub rotation: libremetaverse_types::Quaternion,
    }
    impl ObjectSpinUpdatePacketObjectDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ObjectSpinUpdatePacket.ObjectDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectSpinUpdatePacket.ObjectDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectSpinUpdatePacket.ObjectDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectSpinUpdatePacket.ObjectDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectSpinUpdatePacket.ObjectDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectSpinUpdatePacket.ObjectDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectSpinUpdatePacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectSpinUpdatePacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectSpinUpdatePacket.ObjectDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectSpinUpdatePacket.ObjectDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectSpinUpdatePacket.ObjectDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectSpinUpdatePacket.ObjectDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectSpinUpdatePacket.ObjectDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectSpinUpdatePacket.ObjectDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectUpdateCachedPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectUpdateCachedPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectUpdateCachedPacket {
        /// C# member: `F:LibreMetaverse.Packets.ObjectUpdateCachedPacket.ObjectData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectUpdateCachedPacket.ObjectDataBlock[] LibreMetaverse.Packets.ObjectUpdateCachedPacket.ObjectData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_data: Vec<libremetaverse::packets::ObjectUpdateCachedPacketObjectDataBlock>,
        /// C# member: `F:LibreMetaverse.Packets.ObjectUpdateCachedPacket.RegionData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectUpdateCachedPacket.RegionDataBlock LibreMetaverse.Packets.ObjectUpdateCachedPacket.RegionData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub region_data: libremetaverse::packets::ObjectUpdateCachedPacketRegionDataBlock,
    }
    impl ObjectUpdateCachedPacket {
        /// C# member: `M:LibreMetaverse.Packets.ObjectUpdateCachedPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectUpdateCachedPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectUpdateCachedPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectUpdateCachedPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectUpdateCachedPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectUpdateCachedPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectUpdateCachedPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectUpdateCachedPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectUpdateCachedPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectUpdateCachedPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectUpdateCachedPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectUpdateCachedPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectUpdateCachedPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectUpdateCachedPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectUpdateCachedPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ObjectUpdateCachedPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectUpdateCachedPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ObjectUpdateCachedPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectUpdateCachedPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ObjectUpdateCachedPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectUpdateCachedPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ObjectUpdateCachedPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectUpdateCachedPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectUpdateCachedPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectUpdateCachedPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ObjectUpdateCachedPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectUpdateCachedPacket.ObjectDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectUpdateCachedPacket.ObjectDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectUpdateCachedPacketObjectDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ObjectUpdateCachedPacket.ObjectDataBlock.CRC`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ObjectUpdateCachedPacket.ObjectDataBlock.CRC`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub crc: u32,
        /// C# member: `F:LibreMetaverse.Packets.ObjectUpdateCachedPacket.ObjectDataBlock.ID`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ObjectUpdateCachedPacket.ObjectDataBlock.ID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub id: u32,
        /// C# member: `F:LibreMetaverse.Packets.ObjectUpdateCachedPacket.ObjectDataBlock.UpdateFlags`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ObjectUpdateCachedPacket.ObjectDataBlock.UpdateFlags`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub update_flags: u32,
    }
    impl ObjectUpdateCachedPacketObjectDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ObjectUpdateCachedPacket.ObjectDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectUpdateCachedPacket.ObjectDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectUpdateCachedPacket.ObjectDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectUpdateCachedPacket.ObjectDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectUpdateCachedPacket.ObjectDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectUpdateCachedPacket.ObjectDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectUpdateCachedPacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectUpdateCachedPacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectUpdateCachedPacket.ObjectDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectUpdateCachedPacket.ObjectDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectUpdateCachedPacket.ObjectDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectUpdateCachedPacket.ObjectDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectUpdateCachedPacket.ObjectDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectUpdateCachedPacket.ObjectDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectUpdateCachedPacket.RegionDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectUpdateCachedPacket.RegionDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectUpdateCachedPacketRegionDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ObjectUpdateCachedPacket.RegionDataBlock.RegionHandle`.
        ///
        /// C# signature: `System.UInt64 LibreMetaverse.Packets.ObjectUpdateCachedPacket.RegionDataBlock.RegionHandle`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub region_handle: u64,
        /// C# member: `F:LibreMetaverse.Packets.ObjectUpdateCachedPacket.RegionDataBlock.TimeDilation`.
        ///
        /// C# signature: `System.UInt16 LibreMetaverse.Packets.ObjectUpdateCachedPacket.RegionDataBlock.TimeDilation`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub time_dilation: u16,
    }
    impl ObjectUpdateCachedPacketRegionDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ObjectUpdateCachedPacket.RegionDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectUpdateCachedPacket.RegionDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectUpdateCachedPacket.RegionDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectUpdateCachedPacket.RegionDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectUpdateCachedPacket.RegionDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectUpdateCachedPacket.RegionDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectUpdateCachedPacket.RegionDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectUpdateCachedPacket.RegionDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectUpdateCachedPacket.RegionDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectUpdateCachedPacket.RegionDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectUpdateCachedPacket.RegionDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectUpdateCachedPacket.RegionDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectUpdateCachedPacket.RegionDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectUpdateCachedPacket.RegionDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectUpdateCompressedPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectUpdateCompressedPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectUpdateCompressedPacket {
        /// C# member: `F:LibreMetaverse.Packets.ObjectUpdateCompressedPacket.ObjectData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectUpdateCompressedPacket.ObjectDataBlock[] LibreMetaverse.Packets.ObjectUpdateCompressedPacket.ObjectData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_data: Vec<libremetaverse::packets::ObjectUpdateCompressedPacketObjectDataBlock>,
        /// C# member: `F:LibreMetaverse.Packets.ObjectUpdateCompressedPacket.RegionData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectUpdateCompressedPacket.RegionDataBlock LibreMetaverse.Packets.ObjectUpdateCompressedPacket.RegionData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub region_data: libremetaverse::packets::ObjectUpdateCompressedPacketRegionDataBlock,
    }
    impl ObjectUpdateCompressedPacket {
        /// C# member: `M:LibreMetaverse.Packets.ObjectUpdateCompressedPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectUpdateCompressedPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectUpdateCompressedPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectUpdateCompressedPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectUpdateCompressedPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectUpdateCompressedPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectUpdateCompressedPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectUpdateCompressedPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectUpdateCompressedPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectUpdateCompressedPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectUpdateCompressedPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectUpdateCompressedPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectUpdateCompressedPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectUpdateCompressedPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectUpdateCompressedPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ObjectUpdateCompressedPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectUpdateCompressedPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ObjectUpdateCompressedPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectUpdateCompressedPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ObjectUpdateCompressedPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectUpdateCompressedPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ObjectUpdateCompressedPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectUpdateCompressedPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectUpdateCompressedPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectUpdateCompressedPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ObjectUpdateCompressedPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectUpdateCompressedPacket.ObjectDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectUpdateCompressedPacket.ObjectDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectUpdateCompressedPacketObjectDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ObjectUpdateCompressedPacket.ObjectDataBlock.Data`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ObjectUpdateCompressedPacket.ObjectDataBlock.Data`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub data: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.ObjectUpdateCompressedPacket.ObjectDataBlock.UpdateFlags`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ObjectUpdateCompressedPacket.ObjectDataBlock.UpdateFlags`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub update_flags: u32,
    }
    impl ObjectUpdateCompressedPacketObjectDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ObjectUpdateCompressedPacket.ObjectDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectUpdateCompressedPacket.ObjectDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectUpdateCompressedPacket.ObjectDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectUpdateCompressedPacket.ObjectDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectUpdateCompressedPacket.ObjectDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectUpdateCompressedPacket.ObjectDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectUpdateCompressedPacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectUpdateCompressedPacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectUpdateCompressedPacket.ObjectDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectUpdateCompressedPacket.ObjectDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectUpdateCompressedPacket.ObjectDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectUpdateCompressedPacket.ObjectDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectUpdateCompressedPacket.ObjectDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectUpdateCompressedPacket.ObjectDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectUpdateCompressedPacket.RegionDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectUpdateCompressedPacket.RegionDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectUpdateCompressedPacketRegionDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ObjectUpdateCompressedPacket.RegionDataBlock.RegionHandle`.
        ///
        /// C# signature: `System.UInt64 LibreMetaverse.Packets.ObjectUpdateCompressedPacket.RegionDataBlock.RegionHandle`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub region_handle: u64,
        /// C# member: `F:LibreMetaverse.Packets.ObjectUpdateCompressedPacket.RegionDataBlock.TimeDilation`.
        ///
        /// C# signature: `System.UInt16 LibreMetaverse.Packets.ObjectUpdateCompressedPacket.RegionDataBlock.TimeDilation`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub time_dilation: u16,
    }
    impl ObjectUpdateCompressedPacketRegionDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ObjectUpdateCompressedPacket.RegionDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectUpdateCompressedPacket.RegionDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectUpdateCompressedPacket.RegionDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectUpdateCompressedPacket.RegionDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectUpdateCompressedPacket.RegionDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectUpdateCompressedPacket.RegionDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectUpdateCompressedPacket.RegionDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectUpdateCompressedPacket.RegionDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectUpdateCompressedPacket.RegionDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectUpdateCompressedPacket.RegionDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectUpdateCompressedPacket.RegionDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectUpdateCompressedPacket.RegionDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectUpdateCompressedPacket.RegionDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectUpdateCompressedPacket.RegionDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectUpdatePacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectUpdatePacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectUpdatePacket {
        /// C# member: `F:LibreMetaverse.Packets.ObjectUpdatePacket.ObjectData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock[] LibreMetaverse.Packets.ObjectUpdatePacket.ObjectData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_data: Vec<libremetaverse::packets::ObjectUpdatePacketObjectDataBlock>,
        /// C# member: `F:LibreMetaverse.Packets.ObjectUpdatePacket.RegionData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectUpdatePacket.RegionDataBlock LibreMetaverse.Packets.ObjectUpdatePacket.RegionData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub region_data: libremetaverse::packets::ObjectUpdatePacketRegionDataBlock,
    }
    impl ObjectUpdatePacket {
        /// C# member: `M:LibreMetaverse.Packets.ObjectUpdatePacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectUpdatePacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectUpdatePacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectUpdatePacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectUpdatePacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectUpdatePacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectUpdatePacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectUpdatePacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectUpdatePacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectUpdatePacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectUpdatePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectUpdatePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectUpdatePacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectUpdatePacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectUpdatePacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ObjectUpdatePacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectUpdatePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ObjectUpdatePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectUpdatePacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ObjectUpdatePacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectUpdatePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ObjectUpdatePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectUpdatePacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectUpdatePacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectUpdatePacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ObjectUpdatePacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    #[derive(Clone, Debug)]
    pub struct ObjectUpdatePacketObjectDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock.CRC`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock.CRC`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub crc: u32,
        /// C# member: `F:LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock.ClickAction`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock.ClickAction`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub click_action: u8,
        /// C# member: `F:LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock.Data`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock.Data`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub data: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock.ExtraParams`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock.ExtraParams`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub extra_params: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock.Flags`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock.Flags`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub flags: u8,
        /// C# member: `F:LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock.FullID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock.FullID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub full_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock.Gain`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock.Gain`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub gain: f32,
        /// C# member: `F:LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock.ID`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock.ID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub id: u32,
        /// C# member: `F:LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock.JointAxisOrAnchor`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock.JointAxisOrAnchor`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub joint_axis_or_anchor: libremetaverse_types::Vector3,
        /// C# member: `F:LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock.JointPivot`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock.JointPivot`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub joint_pivot: libremetaverse_types::Vector3,
        /// C# member: `F:LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock.JointType`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock.JointType`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub joint_type: u8,
        /// C# member: `F:LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock.Material`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock.Material`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub material: u8,
        /// C# member: `F:LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock.MediaURL`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock.MediaURL`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub media_url: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock.NameValue`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock.NameValue`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub name_value: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock.ObjectData`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock.ObjectData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_data: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock.OwnerID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock.OwnerID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub owner_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock.PCode`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock.PCode`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub p_code: u8,
        /// C# member: `F:LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock.PSBlock`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock.PSBlock`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub ps_block: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock.ParentID`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock.ParentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub parent_id: u32,
        /// C# member: `F:LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock.PathBegin`.
        ///
        /// C# signature: `System.UInt16 LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock.PathBegin`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub path_begin: u16,
        /// C# member: `F:LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock.PathCurve`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock.PathCurve`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub path_curve: u8,
        /// C# member: `F:LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock.PathEnd`.
        ///
        /// C# signature: `System.UInt16 LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock.PathEnd`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub path_end: u16,
        /// C# member: `F:LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock.PathRadiusOffset`.
        ///
        /// C# signature: `System.SByte LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock.PathRadiusOffset`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub path_radius_offset: i8,
        /// C# member: `F:LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock.PathRevolutions`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock.PathRevolutions`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub path_revolutions: u8,
        /// C# member: `F:LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock.PathScaleX`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock.PathScaleX`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub path_scale_x: u8,
        /// C# member: `F:LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock.PathScaleY`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock.PathScaleY`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub path_scale_y: u8,
        /// C# member: `F:LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock.PathShearX`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock.PathShearX`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub path_shear_x: u8,
        /// C# member: `F:LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock.PathShearY`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock.PathShearY`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub path_shear_y: u8,
        /// C# member: `F:LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock.PathSkew`.
        ///
        /// C# signature: `System.SByte LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock.PathSkew`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub path_skew: i8,
        /// C# member: `F:LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock.PathTaperX`.
        ///
        /// C# signature: `System.SByte LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock.PathTaperX`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub path_taper_x: i8,
        /// C# member: `F:LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock.PathTaperY`.
        ///
        /// C# signature: `System.SByte LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock.PathTaperY`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub path_taper_y: i8,
        /// C# member: `F:LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock.PathTwist`.
        ///
        /// C# signature: `System.SByte LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock.PathTwist`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub path_twist: i8,
        /// C# member: `F:LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock.PathTwistBegin`.
        ///
        /// C# signature: `System.SByte LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock.PathTwistBegin`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub path_twist_begin: i8,
        /// C# member: `F:LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock.ProfileBegin`.
        ///
        /// C# signature: `System.UInt16 LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock.ProfileBegin`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub profile_begin: u16,
        /// C# member: `F:LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock.ProfileCurve`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock.ProfileCurve`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub profile_curve: u8,
        /// C# member: `F:LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock.ProfileEnd`.
        ///
        /// C# signature: `System.UInt16 LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock.ProfileEnd`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub profile_end: u16,
        /// C# member: `F:LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock.ProfileHollow`.
        ///
        /// C# signature: `System.UInt16 LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock.ProfileHollow`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub profile_hollow: u16,
        /// C# member: `F:LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock.Radius`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock.Radius`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub radius: f32,
        /// C# member: `F:LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock.Scale`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock.Scale`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub scale: libremetaverse_types::Vector3,
        /// C# member: `F:LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock.Sound`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock.Sound`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub sound: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock.State`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock.State`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub state: u8,
        /// C# member: `F:LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock.Text`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock.Text`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub text: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock.TextColor`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock.TextColor`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub text_color: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock.TextureAnim`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock.TextureAnim`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub texture_anim: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock.TextureEntry`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock.TextureEntry`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub texture_entry: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock.UpdateFlags`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock.UpdateFlags`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub update_flags: u32,
    }
    impl ObjectUpdatePacketObjectDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectUpdatePacket.ObjectDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ObjectUpdatePacket.RegionDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ObjectUpdatePacket.RegionDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ObjectUpdatePacketRegionDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ObjectUpdatePacket.RegionDataBlock.RegionHandle`.
        ///
        /// C# signature: `System.UInt64 LibreMetaverse.Packets.ObjectUpdatePacket.RegionDataBlock.RegionHandle`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub region_handle: u64,
        /// C# member: `F:LibreMetaverse.Packets.ObjectUpdatePacket.RegionDataBlock.TimeDilation`.
        ///
        /// C# signature: `System.UInt16 LibreMetaverse.Packets.ObjectUpdatePacket.RegionDataBlock.TimeDilation`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub time_dilation: u16,
    }
    impl ObjectUpdatePacketRegionDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ObjectUpdatePacket.RegionDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectUpdatePacket.RegionDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectUpdatePacket.RegionDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ObjectUpdatePacket.RegionDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectUpdatePacket.RegionDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectUpdatePacket.RegionDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectUpdatePacket.RegionDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectUpdatePacket.RegionDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectUpdatePacket.RegionDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ObjectUpdatePacket.RegionDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ObjectUpdatePacket.RegionDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ObjectUpdatePacket.RegionDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ObjectUpdatePacket.RegionDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ObjectUpdatePacket.RegionDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.OfferCallingCardPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.OfferCallingCardPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct OfferCallingCardPacket {
        /// C# member: `F:LibreMetaverse.Packets.OfferCallingCardPacket.AgentBlock`.
        ///
        /// C# signature: `LibreMetaverse.Packets.OfferCallingCardPacket.AgentBlockBlock LibreMetaverse.Packets.OfferCallingCardPacket.AgentBlock`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_block: libremetaverse::packets::OfferCallingCardPacketAgentBlockBlock,
        /// C# member: `F:LibreMetaverse.Packets.OfferCallingCardPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.OfferCallingCardPacket.AgentDataBlock LibreMetaverse.Packets.OfferCallingCardPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::OfferCallingCardPacketAgentDataBlock,
    }
    impl OfferCallingCardPacket {
        /// C# member: `M:LibreMetaverse.Packets.OfferCallingCardPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.OfferCallingCardPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.OfferCallingCardPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.OfferCallingCardPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.OfferCallingCardPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.OfferCallingCardPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.OfferCallingCardPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.OfferCallingCardPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.OfferCallingCardPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.OfferCallingCardPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.OfferCallingCardPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.OfferCallingCardPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.OfferCallingCardPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.OfferCallingCardPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.OfferCallingCardPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.OfferCallingCardPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.OfferCallingCardPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.OfferCallingCardPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.OfferCallingCardPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.OfferCallingCardPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.OfferCallingCardPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.OfferCallingCardPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.OfferCallingCardPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.OfferCallingCardPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.OfferCallingCardPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.OfferCallingCardPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.OfferCallingCardPacket.AgentBlockBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.OfferCallingCardPacket.AgentBlockBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct OfferCallingCardPacketAgentBlockBlock {
        /// C# member: `F:LibreMetaverse.Packets.OfferCallingCardPacket.AgentBlockBlock.DestID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.OfferCallingCardPacket.AgentBlockBlock.DestID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub dest_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.OfferCallingCardPacket.AgentBlockBlock.TransactionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.OfferCallingCardPacket.AgentBlockBlock.TransactionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub transaction_id: libremetaverse_types::UUID,
    }
    impl OfferCallingCardPacketAgentBlockBlock {
        /// C# member: `M:LibreMetaverse.Packets.OfferCallingCardPacket.AgentBlockBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.OfferCallingCardPacket.AgentBlockBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.OfferCallingCardPacket.AgentBlockBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.OfferCallingCardPacket.AgentBlockBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.OfferCallingCardPacket.AgentBlockBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.OfferCallingCardPacket.AgentBlockBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.OfferCallingCardPacket.AgentBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.OfferCallingCardPacket.AgentBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.OfferCallingCardPacket.AgentBlockBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.OfferCallingCardPacket.AgentBlockBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.OfferCallingCardPacket.AgentBlockBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.OfferCallingCardPacket.AgentBlockBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.OfferCallingCardPacket.AgentBlockBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.OfferCallingCardPacket.AgentBlockBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.OfferCallingCardPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.OfferCallingCardPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct OfferCallingCardPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.OfferCallingCardPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.OfferCallingCardPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.OfferCallingCardPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.OfferCallingCardPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl OfferCallingCardPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.OfferCallingCardPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.OfferCallingCardPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.OfferCallingCardPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.OfferCallingCardPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.OfferCallingCardPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.OfferCallingCardPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.OfferCallingCardPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.OfferCallingCardPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.OfferCallingCardPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.OfferCallingCardPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.OfferCallingCardPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.OfferCallingCardPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.OfferCallingCardPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.OfferCallingCardPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.OfflineNotificationPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.OfflineNotificationPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct OfflineNotificationPacket {
        /// C# member: `F:LibreMetaverse.Packets.OfflineNotificationPacket.AgentBlock`.
        ///
        /// C# signature: `LibreMetaverse.Packets.OfflineNotificationPacket.AgentBlockBlock[] LibreMetaverse.Packets.OfflineNotificationPacket.AgentBlock`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_block: Vec<libremetaverse::packets::OfflineNotificationPacketAgentBlockBlock>,
    }
    impl OfflineNotificationPacket {
        /// C# member: `M:LibreMetaverse.Packets.OfflineNotificationPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.OfflineNotificationPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.OfflineNotificationPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.OfflineNotificationPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.OfflineNotificationPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.OfflineNotificationPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.OfflineNotificationPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.OfflineNotificationPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.OfflineNotificationPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.OfflineNotificationPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.OfflineNotificationPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.OfflineNotificationPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.OfflineNotificationPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.OfflineNotificationPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.OfflineNotificationPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.OfflineNotificationPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.OfflineNotificationPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.OfflineNotificationPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.OfflineNotificationPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.OfflineNotificationPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.OfflineNotificationPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.OfflineNotificationPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.OfflineNotificationPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.OfflineNotificationPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.OfflineNotificationPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.OfflineNotificationPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.OfflineNotificationPacket.AgentBlockBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.OfflineNotificationPacket.AgentBlockBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct OfflineNotificationPacketAgentBlockBlock {
        /// C# member: `F:LibreMetaverse.Packets.OfflineNotificationPacket.AgentBlockBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.OfflineNotificationPacket.AgentBlockBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
    }
    impl OfflineNotificationPacketAgentBlockBlock {
        /// C# member: `M:LibreMetaverse.Packets.OfflineNotificationPacket.AgentBlockBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.OfflineNotificationPacket.AgentBlockBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.OfflineNotificationPacket.AgentBlockBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.OfflineNotificationPacket.AgentBlockBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.OfflineNotificationPacket.AgentBlockBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.OfflineNotificationPacket.AgentBlockBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.OfflineNotificationPacket.AgentBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.OfflineNotificationPacket.AgentBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.OfflineNotificationPacket.AgentBlockBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.OfflineNotificationPacket.AgentBlockBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.OfflineNotificationPacket.AgentBlockBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.OfflineNotificationPacket.AgentBlockBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.OfflineNotificationPacket.AgentBlockBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.OfflineNotificationPacket.AgentBlockBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.OnlineNotificationPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.OnlineNotificationPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct OnlineNotificationPacket {
        /// C# member: `F:LibreMetaverse.Packets.OnlineNotificationPacket.AgentBlock`.
        ///
        /// C# signature: `LibreMetaverse.Packets.OnlineNotificationPacket.AgentBlockBlock[] LibreMetaverse.Packets.OnlineNotificationPacket.AgentBlock`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_block: Vec<libremetaverse::packets::OnlineNotificationPacketAgentBlockBlock>,
    }
    impl OnlineNotificationPacket {
        /// C# member: `M:LibreMetaverse.Packets.OnlineNotificationPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.OnlineNotificationPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.OnlineNotificationPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.OnlineNotificationPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.OnlineNotificationPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.OnlineNotificationPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.OnlineNotificationPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.OnlineNotificationPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.OnlineNotificationPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.OnlineNotificationPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.OnlineNotificationPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.OnlineNotificationPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.OnlineNotificationPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.OnlineNotificationPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.OnlineNotificationPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.OnlineNotificationPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.OnlineNotificationPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.OnlineNotificationPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.OnlineNotificationPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.OnlineNotificationPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.OnlineNotificationPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.OnlineNotificationPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.OnlineNotificationPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.OnlineNotificationPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.OnlineNotificationPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.OnlineNotificationPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.OnlineNotificationPacket.AgentBlockBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.OnlineNotificationPacket.AgentBlockBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct OnlineNotificationPacketAgentBlockBlock {
        /// C# member: `F:LibreMetaverse.Packets.OnlineNotificationPacket.AgentBlockBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.OnlineNotificationPacket.AgentBlockBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
    }
    impl OnlineNotificationPacketAgentBlockBlock {
        /// C# member: `M:LibreMetaverse.Packets.OnlineNotificationPacket.AgentBlockBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.OnlineNotificationPacket.AgentBlockBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.OnlineNotificationPacket.AgentBlockBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.OnlineNotificationPacket.AgentBlockBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.OnlineNotificationPacket.AgentBlockBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.OnlineNotificationPacket.AgentBlockBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.OnlineNotificationPacket.AgentBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.OnlineNotificationPacket.AgentBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.OnlineNotificationPacket.AgentBlockBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.OnlineNotificationPacket.AgentBlockBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.OnlineNotificationPacket.AgentBlockBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.OnlineNotificationPacket.AgentBlockBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.OnlineNotificationPacket.AgentBlockBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.OnlineNotificationPacket.AgentBlockBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.OpenCircuitPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.OpenCircuitPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct OpenCircuitPacket {
        /// C# member: `F:LibreMetaverse.Packets.OpenCircuitPacket.CircuitInfo`.
        ///
        /// C# signature: `LibreMetaverse.Packets.OpenCircuitPacket.CircuitInfoBlock LibreMetaverse.Packets.OpenCircuitPacket.CircuitInfo`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub circuit_info: libremetaverse::packets::OpenCircuitPacketCircuitInfoBlock,
    }
    impl OpenCircuitPacket {
        /// C# member: `M:LibreMetaverse.Packets.OpenCircuitPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.OpenCircuitPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.OpenCircuitPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.OpenCircuitPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.OpenCircuitPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.OpenCircuitPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.OpenCircuitPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.OpenCircuitPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.OpenCircuitPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.OpenCircuitPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.OpenCircuitPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.OpenCircuitPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.OpenCircuitPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.OpenCircuitPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.OpenCircuitPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.OpenCircuitPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.OpenCircuitPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.OpenCircuitPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.OpenCircuitPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.OpenCircuitPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.OpenCircuitPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.OpenCircuitPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.OpenCircuitPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.OpenCircuitPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.OpenCircuitPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.OpenCircuitPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.OpenCircuitPacket.CircuitInfoBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.OpenCircuitPacket.CircuitInfoBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct OpenCircuitPacketCircuitInfoBlock {
        /// C# member: `F:LibreMetaverse.Packets.OpenCircuitPacket.CircuitInfoBlock.IP`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.OpenCircuitPacket.CircuitInfoBlock.IP`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub ip: u32,
        /// C# member: `F:LibreMetaverse.Packets.OpenCircuitPacket.CircuitInfoBlock.Port`.
        ///
        /// C# signature: `System.UInt16 LibreMetaverse.Packets.OpenCircuitPacket.CircuitInfoBlock.Port`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub port: u16,
    }
    impl OpenCircuitPacketCircuitInfoBlock {
        /// C# member: `M:LibreMetaverse.Packets.OpenCircuitPacket.CircuitInfoBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.OpenCircuitPacket.CircuitInfoBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.OpenCircuitPacket.CircuitInfoBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.OpenCircuitPacket.CircuitInfoBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.OpenCircuitPacket.CircuitInfoBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.OpenCircuitPacket.CircuitInfoBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.OpenCircuitPacket.CircuitInfoBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.OpenCircuitPacket.CircuitInfoBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.OpenCircuitPacket.CircuitInfoBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.OpenCircuitPacket.CircuitInfoBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.OpenCircuitPacket.CircuitInfoBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.OpenCircuitPacket.CircuitInfoBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.OpenCircuitPacket.CircuitInfoBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.OpenCircuitPacket.CircuitInfoBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.Packet`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.Packet` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct Packet {
        /// C# member: `F:LibreMetaverse.Packets.Packet.HasVariableBlocks`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.Packet.HasVariableBlocks`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub has_variable_blocks: bool,
        /// C# member: `F:LibreMetaverse.Packets.Packet.Header`.
        ///
        /// C# signature: `LibreMetaverse.Packets.Header LibreMetaverse.Packets.Packet.Header`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub header: libremetaverse::packets::Header,
        /// C# member: `F:LibreMetaverse.Packets.Packet.Type`.
        ///
        /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.Packet.Type`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub type_: libremetaverse::packets::PacketType,
        pub(crate) native_body: Option<libremetaverse_structured_data::OSDMap>,
        pub(crate) native_payload_length: i32,
    }
    impl Packet {
        /// C# member: `F:LibreMetaverse.Packets.Packet.MTU`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.Packet.MTU`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub const MTU: i32 = 1200;
        /// C# member: `M:LibreMetaverse.Packets.Packet.BuildPacket(LibreMetaverse.Packets.PacketType)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.Packet LibreMetaverse.Packets.Packet.BuildPacket(LibreMetaverse.Packets.PacketType type)`.
        /// Mapping contract: ownership `owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn build_packet_with_packet_type(
            type_: libremetaverse::packets::PacketType,
        ) -> Result<libremetaverse::packets::Packet, crate::Error> {
            /* reviewed native compatibility body */
            crate::packet_catalog::build_packet(type_)
        }
        /// C# member: `M:LibreMetaverse.Packets.Packet.BuildPacket(System.Byte[],System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `LibreMetaverse.Packets.Packet LibreMetaverse.Packets.Packet.BuildPacket(System.Byte[] packetBuffer, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `owned,mutable_borrow,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn build_packet_with_bytes_int32_bytes(
            packet_buffer: Vec<u8>,
            packet_end: &mut i32,
            zero_buffer: Vec<u8>,
        ) -> Result<libremetaverse::packets::Packet, crate::Error> {
            /* reviewed native compatibility body */
            {
                let mut zero_buffer = zero_buffer;
                crate::packet_wire::build_packet_from_bytes(
                    &packet_buffer,
                    packet_end,
                    &mut zero_buffer,
                )
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.Packet.BuildPacket(System.String,LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.Packet LibreMetaverse.Packets.Packet.BuildPacket(System.String capsEventName, LibreMetaverse.StructuredData.OSDMap body)`.
        /// Mapping contract: ownership `owned,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn build_packet_with_string_osd_map(
            caps_event_name: String,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<Option<libremetaverse::packets::Packet>, crate::Error> {
            /* reviewed native compatibility body */
            crate::packet_catalog::build_packet_from_osd(&caps_event_name, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.Packet.BuildPacketFromOSD(System.String,LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.Packet LibreMetaverse.Packets.Packet.BuildPacketFromOSD(System.String capsEventName, LibreMetaverse.StructuredData.OSDMap body)`.
        /// Mapping contract: ownership `owned,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn build_packet_from_osd(
            caps_event_name: String,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<Option<libremetaverse::packets::Packet>, crate::Error> {
            /* reviewed native compatibility body */
            crate::packet_catalog::build_packet_from_osd(&caps_event_name, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.Packet.FromBinary(System.Byte[])`.
        ///
        /// C# signature: `LibreMetaverse.Packets.Packet LibreMetaverse.Packets.Packet.FromBinary(System.Byte[] binary)`.
        /// Mapping contract: ownership `owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_binary(
            binary: Vec<u8>,
        ) -> Result<Option<libremetaverse::packets::Packet>, crate::Error> {
            /* reviewed native compatibility body */
            crate::packet_base::from_binary(binary)
        }
        /// C# member: `M:LibreMetaverse.Packets.Packet.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.Packet.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            crate::packet_base::from_bytes_with_header(self, header, &bytes, i, packet_end)
        }
        /// C# member: `M:LibreMetaverse.Packets.Packet.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.Packet.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            crate::packet_base::from_bytes(self, &bytes, i, packet_end, zero_buffer)
        }
        /// C# member: `M:LibreMetaverse.Packets.Packet.FromLLSD(LibreMetaverse.StructuredData.OSD)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.Packet LibreMetaverse.Packets.Packet.FromLLSD(LibreMetaverse.StructuredData.OSD osd)`.
        /// Mapping contract: ownership `owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_llsd(
            osd: libremetaverse_structured_data::OSD,
        ) -> Result<Option<libremetaverse::packets::Packet>, crate::Error> {
            /* reviewed native compatibility body */
            crate::packet_base::from_llsd(osd)
        }
        /// C# member: `M:LibreMetaverse.Packets.Packet.FromXmlString(System.String)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.Packet LibreMetaverse.Packets.Packet.FromXmlString(System.String xml)`.
        /// Mapping contract: ownership `owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_xml_string(
            xml: String,
        ) -> Result<Option<libremetaverse::packets::Packet>, crate::Error> {
            /* reviewed native compatibility body */
            crate::packet_base::from_xml_string(xml)
        }
        /// C# member: `M:LibreMetaverse.Packets.Packet.GetLLSD(LibreMetaverse.Packets.Packet)`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSD LibreMetaverse.Packets.Packet.GetLLSD(LibreMetaverse.Packets.Packet packet)`.
        /// Mapping contract: ownership `owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn get_llsd(
            packet: libremetaverse::packets::Packet,
        ) -> Result<libremetaverse_structured_data::OSD, crate::Error> {
            /* reviewed native compatibility body */
            crate::packet_base::get_llsd(&packet)
        }
        /// C# member: `M:LibreMetaverse.Packets.Packet.GetType(System.UInt16,LibreMetaverse.PacketFrequency)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.Packet.GetType(System.UInt16 id, LibreMetaverse.PacketFrequency frequency)`.
        /// Mapping contract: ownership `owned,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn get_type(
            id: u16,
            frequency: libremetaverse::PacketFrequency,
        ) -> Result<libremetaverse::packets::PacketType, crate::Error> {
            /* reviewed native compatibility body */
            Ok(crate::packet_catalog::packet_type(id, frequency))
        }
        /// C# member: `M:LibreMetaverse.Packets.Packet.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.Packet.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap osd)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            osd: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            crate::packet_base::packet_from_osd(self, osd)
        }
        /// C# member: `M:LibreMetaverse.Packets.Packet.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.Packet.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            crate::packet_base::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.Packet.ToBinary(LibreMetaverse.Packets.Packet)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.Packet.ToBinary(LibreMetaverse.Packets.Packet packet)`.
        /// Mapping contract: ownership `owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_binary(packet: libremetaverse::packets::Packet) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            crate::packet_base::to_binary(&packet)
        }
        /// C# member: `M:LibreMetaverse.Packets.Packet.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.Packet.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            crate::packet_base::to_bytes(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.Packet.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.Packet.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            crate::packet_base::to_bytes_pooled(self, pool.as_ref(), size)
        }
        /// C# member: `M:LibreMetaverse.Packets.Packet.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.Packet.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            crate::packet_base::to_bytes_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.Packet.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.Packet.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            crate::packet_base::to_bytes_multiple_pooled(self, pool.as_ref(), sizes)
        }
        /// C# member: `M:LibreMetaverse.Packets.Packet.ToXmlString(LibreMetaverse.Packets.Packet)`.
        ///
        /// C# signature: `System.String LibreMetaverse.Packets.Packet.ToXmlString(LibreMetaverse.Packets.Packet packet)`.
        /// Mapping contract: ownership `owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_xml_string(
            packet: libremetaverse::packets::Packet,
        ) -> Result<String, crate::Error> {
            /* reviewed native compatibility body */
            crate::packet_base::to_xml_string(&packet)
        }
        /// C# member: `P:LibreMetaverse.Packets.Packet.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.Packet.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            crate::packet_base::length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.Packet.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.Packet.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            crate::packet_catalog::packet_uses_buffer_pooling(self.type_)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.PacketAckPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.PacketAckPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct PacketAckPacket {
        /// C# member: `F:LibreMetaverse.Packets.PacketAckPacket.Packets`.
        ///
        /// C# signature: `LibreMetaverse.Packets.PacketAckPacket.PacketsBlock[] LibreMetaverse.Packets.PacketAckPacket.Packets`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub packets: Vec<libremetaverse::packets::PacketAckPacketPacketsBlock>,
    }
    impl PacketAckPacket {
        /// C# member: `M:LibreMetaverse.Packets.PacketAckPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.PacketAckPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.PacketAckPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.PacketAckPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.PacketAckPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.PacketAckPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.PacketAckPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.PacketAckPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.PacketAckPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.PacketAckPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.PacketAckPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.PacketAckPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.PacketAckPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.PacketAckPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.PacketAckPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.PacketAckPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.PacketAckPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.PacketAckPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.PacketAckPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.PacketAckPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.PacketAckPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.PacketAckPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.PacketAckPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.PacketAckPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.PacketAckPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.PacketAckPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.PacketAckPacket.PacketsBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.PacketAckPacket.PacketsBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct PacketAckPacketPacketsBlock {
        /// C# member: `F:LibreMetaverse.Packets.PacketAckPacket.PacketsBlock.ID`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.PacketAckPacket.PacketsBlock.ID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub id: u32,
    }
    impl PacketAckPacketPacketsBlock {
        /// C# member: `M:LibreMetaverse.Packets.PacketAckPacket.PacketsBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.PacketAckPacket.PacketsBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.PacketAckPacket.PacketsBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.PacketAckPacket.PacketsBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.PacketAckPacket.PacketsBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.PacketAckPacket.PacketsBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.PacketAckPacket.PacketsBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.PacketAckPacket.PacketsBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.PacketAckPacket.PacketsBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.PacketAckPacket.PacketsBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.PacketAckPacket.PacketsBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.PacketAckPacket.PacketsBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.PacketAckPacket.PacketsBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.PacketAckPacket.PacketsBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.PacketBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.PacketBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct PacketBlock {
        native_data: Vec<u8>,
    }
    impl PacketBlock {
        /// C# member: `M:LibreMetaverse.Packets.PacketBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.PacketBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            crate::packet_base::block_from_bytes(&mut self.native_data, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.PacketBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.PacketBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            crate::packet_base::block_to_bytes(&self.native_data, bytes, i)
        }
        /// C# member: `P:LibreMetaverse.Packets.PacketBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.PacketBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            i32::try_from(self.native_data.len()).unwrap_or(i32::MAX)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.PacketDecoder`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.PacketDecoder` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct PacketDecoder;
    impl PacketDecoder {
        /// C# member: `M:LibreMetaverse.Packets.PacketDecoder.InterpretOptions(LibreMetaverse.Packets.Header)`.
        ///
        /// C# signature: `System.String LibreMetaverse.Packets.PacketDecoder.InterpretOptions(LibreMetaverse.Packets.Header header)`.
        /// Mapping contract: ownership `owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn interpret_options(
            header: libremetaverse::packets::Header,
        ) -> Result<String, crate::Error> {
            /* reviewed native compatibility body */
            Ok(crate::packet_decoder::interpret_options(&header))
        }
        /// C# member: `M:LibreMetaverse.Packets.PacketDecoder.MessageToString(System.Object,System.Int32)`.
        ///
        /// C# signature: `System.String LibreMetaverse.Packets.PacketDecoder.MessageToString(System.Object message, System.Int32 recurseLevel)`.
        /// Mapping contract: ownership `owned,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn message_to_string(
            message: libremetaverse_types::compat::Object,
            recurse_level: i32,
        ) -> Result<String, crate::Error> {
            /* reviewed native compatibility body */
            crate::packet_decoder::message_to_string(&message, recurse_level)
        }
        /// C# member: `M:LibreMetaverse.Packets.PacketDecoder.PacketToString(LibreMetaverse.Packets.Packet)`.
        ///
        /// C# signature: `System.String LibreMetaverse.Packets.PacketDecoder.PacketToString(LibreMetaverse.Packets.Packet packet)`.
        /// Mapping contract: ownership `owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_string(
            packet: libremetaverse::packets::Packet,
        ) -> Result<String, crate::Error> {
            /* reviewed native compatibility body */
            crate::packet_decoder::packet_to_string(&packet)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.PacketType`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.PacketType` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    /// C# member: `F:LibreMetaverse.Packets.PacketType.AbortXfer`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.AbortXfer`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.AcceptCallingCard`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.AcceptCallingCard`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.AcceptFriendship`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.AcceptFriendship`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ActivateGestures`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ActivateGestures`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ActivateGroup`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ActivateGroup`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.AddCircuitCode`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.AddCircuitCode`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.AgentAlertMessage`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.AgentAlertMessage`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.AgentAnimation`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.AgentAnimation`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.AgentCachedTexture`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.AgentCachedTexture`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.AgentCachedTextureResponse`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.AgentCachedTextureResponse`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.AgentDataUpdate`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.AgentDataUpdate`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.AgentDataUpdateRequest`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.AgentDataUpdateRequest`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.AgentDropGroup`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.AgentDropGroup`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.AgentFOV`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.AgentFOV`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.AgentGroupDataUpdate`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.AgentGroupDataUpdate`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.AgentHeightWidth`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.AgentHeightWidth`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.AgentIsNowWearing`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.AgentIsNowWearing`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.AgentMovementComplete`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.AgentMovementComplete`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.AgentPause`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.AgentPause`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.AgentQuitCopy`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.AgentQuitCopy`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.AgentRequestSit`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.AgentRequestSit`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.AgentResume`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.AgentResume`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.AgentSetAppearance`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.AgentSetAppearance`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.AgentSit`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.AgentSit`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.AgentThrottle`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.AgentThrottle`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.AgentUpdate`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.AgentUpdate`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.AgentWearablesRequest`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.AgentWearablesRequest`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.AgentWearablesUpdate`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.AgentWearablesUpdate`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.AlertMessage`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.AlertMessage`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.AssetUploadComplete`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.AssetUploadComplete`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.AssetUploadRequest`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.AssetUploadRequest`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.AtomicPassObject`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.AtomicPassObject`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.AttachedSound`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.AttachedSound`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.AttachedSoundGainChange`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.AttachedSoundGainChange`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.AvatarAnimation`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.AvatarAnimation`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.AvatarAppearance`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.AvatarAppearance`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.AvatarClassifiedReply`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.AvatarClassifiedReply`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.AvatarGroupsReply`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.AvatarGroupsReply`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.AvatarInterestsReply`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.AvatarInterestsReply`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.AvatarInterestsUpdate`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.AvatarInterestsUpdate`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.AvatarNotesReply`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.AvatarNotesReply`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.AvatarNotesUpdate`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.AvatarNotesUpdate`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.AvatarPickerReply`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.AvatarPickerReply`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.AvatarPickerRequest`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.AvatarPickerRequest`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.AvatarPickerRequestBackend`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.AvatarPickerRequestBackend`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.AvatarPicksReply`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.AvatarPicksReply`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.AvatarPropertiesReply`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.AvatarPropertiesReply`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.AvatarPropertiesRequest`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.AvatarPropertiesRequest`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.AvatarPropertiesRequestBackend`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.AvatarPropertiesRequestBackend`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.AvatarPropertiesUpdate`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.AvatarPropertiesUpdate`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.AvatarSitResponse`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.AvatarSitResponse`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.AvatarTextureUpdate`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.AvatarTextureUpdate`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.BulkUpdateInventory`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.BulkUpdateInventory`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.BuyObjectInventory`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.BuyObjectInventory`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.CameraConstraint`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.CameraConstraint`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.CancelAuction`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.CancelAuction`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ChangeInventoryItemFlags`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ChangeInventoryItemFlags`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ChangeUserRights`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ChangeUserRights`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ChatFromSimulator`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ChatFromSimulator`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ChatFromViewer`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ChatFromViewer`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ChatPass`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ChatPass`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.CheckParcelAuctions`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.CheckParcelAuctions`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.CheckParcelSales`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.CheckParcelSales`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ChildAgentAlive`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ChildAgentAlive`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ChildAgentDying`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ChildAgentDying`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ChildAgentPositionUpdate`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ChildAgentPositionUpdate`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ChildAgentUnknown`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ChildAgentUnknown`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ChildAgentUpdate`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ChildAgentUpdate`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ClassifiedDelete`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ClassifiedDelete`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ClassifiedGodDelete`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ClassifiedGodDelete`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ClassifiedInfoReply`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ClassifiedInfoReply`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ClassifiedInfoRequest`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ClassifiedInfoRequest`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ClassifiedInfoUpdate`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ClassifiedInfoUpdate`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ClearFollowCamProperties`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ClearFollowCamProperties`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.CloseCircuit`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.CloseCircuit`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.CoarseLocationUpdate`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.CoarseLocationUpdate`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.CompleteAgentMovement`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.CompleteAgentMovement`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.CompleteAuction`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.CompleteAuction`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.CompletePingCheck`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.CompletePingCheck`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ConfirmAuctionStart`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ConfirmAuctionStart`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ConfirmEnableSimulator`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ConfirmEnableSimulator`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ConfirmXferPacket`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ConfirmXferPacket`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.CopyInventoryFromNotecard`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.CopyInventoryFromNotecard`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.CopyInventoryItem`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.CopyInventoryItem`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.CreateGroupReply`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.CreateGroupReply`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.CreateGroupRequest`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.CreateGroupRequest`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.CreateGroupRequestExtended`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.CreateGroupRequestExtended`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.CreateInventoryFolder`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.CreateInventoryFolder`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.CreateInventoryItem`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.CreateInventoryItem`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.CreateLandmarkForEvent`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.CreateLandmarkForEvent`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.CreateNewOutfitAttachments`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.CreateNewOutfitAttachments`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.CreateTrustedCircuit`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.CreateTrustedCircuit`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.CrossedRegion`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.CrossedRegion`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.DataHomeLocationReply`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.DataHomeLocationReply`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.DataHomeLocationRequest`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.DataHomeLocationRequest`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.DataServerLogout`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.DataServerLogout`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.DeRezAck`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.DeRezAck`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.DeRezObject`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.DeRezObject`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.DeactivateGestures`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.DeactivateGestures`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.DeclineCallingCard`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.DeclineCallingCard`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.DeclineFriendship`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.DeclineFriendship`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.Default`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.Default`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.DenyTrustedCircuit`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.DenyTrustedCircuit`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.DerezContainer`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.DerezContainer`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.DetachAttachmentIntoInv`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.DetachAttachmentIntoInv`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.DirClassifiedQuery`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.DirClassifiedQuery`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.DirClassifiedQueryBackend`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.DirClassifiedQueryBackend`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.DirClassifiedReply`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.DirClassifiedReply`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.DirEventsReply`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.DirEventsReply`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.DirFindQuery`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.DirFindQuery`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.DirFindQueryBackend`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.DirFindQueryBackend`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.DirGroupsReply`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.DirGroupsReply`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.DirLandQuery`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.DirLandQuery`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.DirLandQueryBackend`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.DirLandQueryBackend`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.DirLandReply`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.DirLandReply`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.DirPeopleReply`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.DirPeopleReply`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.DirPlacesQuery`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.DirPlacesQuery`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.DirPlacesQueryBackend`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.DirPlacesQueryBackend`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.DirPlacesReply`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.DirPlacesReply`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.DirPopularQuery`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.DirPopularQuery`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.DirPopularQueryBackend`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.DirPopularQueryBackend`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.DirPopularReply`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.DirPopularReply`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.DisableSimulator`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.DisableSimulator`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.EconomyData`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.EconomyData`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.EconomyDataRequest`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.EconomyDataRequest`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.EdgeDataPacket`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.EdgeDataPacket`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.EjectGroupMemberReply`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.EjectGroupMemberReply`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.EjectGroupMemberRequest`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.EjectGroupMemberRequest`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.EjectUser`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.EjectUser`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.EmailMessageReply`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.EmailMessageReply`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.EmailMessageRequest`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.EmailMessageRequest`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.EnableSimulator`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.EnableSimulator`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.Error`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.Error`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.EstateCovenantReply`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.EstateCovenantReply`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.EstateCovenantRequest`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.EstateCovenantRequest`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.EstateOwnerMessage`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.EstateOwnerMessage`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.EventGodDelete`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.EventGodDelete`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.EventInfoReply`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.EventInfoReply`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.EventInfoRequest`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.EventInfoRequest`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.EventLocationReply`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.EventLocationReply`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.EventLocationRequest`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.EventLocationRequest`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.EventNotificationAddRequest`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.EventNotificationAddRequest`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.EventNotificationRemoveRequest`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.EventNotificationRemoveRequest`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.FeatureDisabled`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.FeatureDisabled`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.FetchInventory`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.FetchInventory`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.FetchInventoryDescendents`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.FetchInventoryDescendents`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.FetchInventoryReply`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.FetchInventoryReply`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.FindAgent`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.FindAgent`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ForceObjectSelect`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ForceObjectSelect`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ForceScriptControlRelease`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ForceScriptControlRelease`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.FormFriendship`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.FormFriendship`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.FreezeUser`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.FreezeUser`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.GameControlInput`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.GameControlInput`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.GenericMessage`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.GenericMessage`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.GenericStreamingMessage`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.GenericStreamingMessage`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.GetScriptRunning`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.GetScriptRunning`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.GodKickUser`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.GodKickUser`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.GodUpdateRegionInfo`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.GodUpdateRegionInfo`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.GodlikeMessage`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.GodlikeMessage`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.GrantGodlikePowers`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.GrantGodlikePowers`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.GrantUserRights`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.GrantUserRights`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.GroupAccountDetailsReply`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.GroupAccountDetailsReply`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.GroupAccountDetailsRequest`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.GroupAccountDetailsRequest`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.GroupAccountSummaryReply`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.GroupAccountSummaryReply`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.GroupAccountSummaryRequest`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.GroupAccountSummaryRequest`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.GroupAccountTransactionsReply`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.GroupAccountTransactionsReply`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.GroupAccountTransactionsRequest`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.GroupAccountTransactionsRequest`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.GroupActiveProposalItemReply`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.GroupActiveProposalItemReply`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.GroupActiveProposalsRequest`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.GroupActiveProposalsRequest`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.GroupDataUpdate`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.GroupDataUpdate`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.GroupMembersReply`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.GroupMembersReply`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.GroupMembersRequest`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.GroupMembersRequest`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.GroupNoticeAdd`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.GroupNoticeAdd`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.GroupNoticeRequest`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.GroupNoticeRequest`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.GroupNoticesListReply`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.GroupNoticesListReply`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.GroupNoticesListRequest`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.GroupNoticesListRequest`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.GroupProfileReply`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.GroupProfileReply`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.GroupProfileRequest`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.GroupProfileRequest`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.GroupProposalBallot`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.GroupProposalBallot`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.GroupRoleChanges`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.GroupRoleChanges`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.GroupRoleDataReply`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.GroupRoleDataReply`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.GroupRoleDataRequest`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.GroupRoleDataRequest`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.GroupRoleMembersReply`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.GroupRoleMembersReply`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.GroupRoleMembersRequest`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.GroupRoleMembersRequest`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.GroupRoleUpdate`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.GroupRoleUpdate`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.GroupTitleUpdate`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.GroupTitleUpdate`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.GroupTitlesReply`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.GroupTitlesReply`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.GroupTitlesRequest`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.GroupTitlesRequest`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.GroupVoteHistoryItemReply`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.GroupVoteHistoryItemReply`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.GroupVoteHistoryRequest`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.GroupVoteHistoryRequest`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.HealthMessage`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.HealthMessage`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ImageData`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ImageData`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ImageNotInDatabase`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ImageNotInDatabase`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ImagePacket`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ImagePacket`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ImprovedInstantMessage`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ImprovedInstantMessage`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ImprovedTerseObjectUpdate`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ImprovedTerseObjectUpdate`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.InitiateDownload`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.InitiateDownload`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.InternalScriptMail`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.InternalScriptMail`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.InventoryAssetResponse`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.InventoryAssetResponse`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.InventoryDescendents`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.InventoryDescendents`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.InviteGroupRequest`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.InviteGroupRequest`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.InviteGroupResponse`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.InviteGroupResponse`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.JoinGroupReply`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.JoinGroupReply`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.JoinGroupRequest`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.JoinGroupRequest`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.JoinGroupRequestExtended`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.JoinGroupRequestExtended`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.KickUser`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.KickUser`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.KickUserAck`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.KickUserAck`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.KillChildAgents`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.KillChildAgents`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.KillObject`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.KillObject`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.LandStatReply`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.LandStatReply`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.LandStatRequest`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.LandStatRequest`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.LargeGenericMessage`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.LargeGenericMessage`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.LayerData`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.LayerData`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.LeaveGroupReply`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.LeaveGroupReply`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.LeaveGroupRequest`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.LeaveGroupRequest`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.LinkInventoryItem`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.LinkInventoryItem`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.LiveHelpGroupReply`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.LiveHelpGroupReply`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.LiveHelpGroupRequest`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.LiveHelpGroupRequest`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.LoadURL`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.LoadURL`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.LogDwellTime`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.LogDwellTime`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.LogFailedMoneyTransaction`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.LogFailedMoneyTransaction`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.LogParcelChanges`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.LogParcelChanges`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.LogTextMessage`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.LogTextMessage`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.LogoutReply`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.LogoutReply`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.LogoutRequest`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.LogoutRequest`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.MapBlockReply`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.MapBlockReply`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.MapBlockRequest`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.MapBlockRequest`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.MapItemReply`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.MapItemReply`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.MapItemRequest`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.MapItemRequest`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.MapLayerReply`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.MapLayerReply`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.MapLayerRequest`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.MapLayerRequest`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.MapNameRequest`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.MapNameRequest`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.MeanCollisionAlert`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.MeanCollisionAlert`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.MergeParcel`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.MergeParcel`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ModifyLand`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ModifyLand`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.MoneyBalanceReply`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.MoneyBalanceReply`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.MoneyBalanceRequest`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.MoneyBalanceRequest`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.MoneyTransferBackend`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.MoneyTransferBackend`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.MoneyTransferRequest`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.MoneyTransferRequest`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.MoveInventoryFolder`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.MoveInventoryFolder`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.MoveInventoryItem`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.MoveInventoryItem`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.MoveTaskInventory`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.MoveTaskInventory`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.MultipleObjectUpdate`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.MultipleObjectUpdate`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.MuteListRequest`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.MuteListRequest`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.MuteListUpdate`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.MuteListUpdate`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.NameValuePair`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.NameValuePair`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.NearestLandingRegionReply`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.NearestLandingRegionReply`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.NearestLandingRegionRequest`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.NearestLandingRegionRequest`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.NearestLandingRegionUpdated`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.NearestLandingRegionUpdated`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.NeighborList`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.NeighborList`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.NetTest`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.NetTest`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ObjectAdd`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ObjectAdd`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ObjectAnimation`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ObjectAnimation`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ObjectAttach`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ObjectAttach`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ObjectBuy`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ObjectBuy`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ObjectBypassModUpdate`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ObjectBypassModUpdate`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ObjectCategory`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ObjectCategory`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ObjectClickAction`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ObjectClickAction`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ObjectDeGrab`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ObjectDeGrab`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ObjectDelete`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ObjectDelete`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ObjectDelink`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ObjectDelink`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ObjectDescription`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ObjectDescription`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ObjectDeselect`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ObjectDeselect`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ObjectDetach`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ObjectDetach`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ObjectDrop`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ObjectDrop`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ObjectDuplicate`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ObjectDuplicate`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ObjectDuplicateOnRay`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ObjectDuplicateOnRay`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ObjectExportSelected`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ObjectExportSelected`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ObjectExtraParams`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ObjectExtraParams`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ObjectFlagUpdate`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ObjectFlagUpdate`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ObjectGrab`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ObjectGrab`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ObjectGrabUpdate`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ObjectGrabUpdate`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ObjectGroup`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ObjectGroup`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ObjectImage`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ObjectImage`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ObjectIncludeInSearch`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ObjectIncludeInSearch`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ObjectLink`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ObjectLink`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ObjectMaterial`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ObjectMaterial`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ObjectName`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ObjectName`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ObjectOwner`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ObjectOwner`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ObjectPermissions`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ObjectPermissions`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ObjectPosition`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ObjectPosition`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ObjectProperties`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ObjectProperties`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ObjectPropertiesFamily`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ObjectPropertiesFamily`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ObjectRotation`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ObjectRotation`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ObjectSaleInfo`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ObjectSaleInfo`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ObjectScale`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ObjectScale`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ObjectSelect`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ObjectSelect`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ObjectShape`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ObjectShape`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ObjectSpinStart`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ObjectSpinStart`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ObjectSpinStop`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ObjectSpinStop`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ObjectSpinUpdate`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ObjectSpinUpdate`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ObjectUpdate`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ObjectUpdate`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ObjectUpdateCached`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ObjectUpdateCached`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ObjectUpdateCompressed`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ObjectUpdateCompressed`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.OfferCallingCard`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.OfferCallingCard`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.OfflineNotification`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.OfflineNotification`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.OnlineNotification`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.OnlineNotification`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.OpenCircuit`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.OpenCircuit`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.PacketAck`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.PacketAck`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ParcelAccessListReply`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ParcelAccessListReply`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ParcelAccessListRequest`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ParcelAccessListRequest`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ParcelAccessListUpdate`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ParcelAccessListUpdate`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ParcelAuctions`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ParcelAuctions`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ParcelBuy`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ParcelBuy`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ParcelBuyPass`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ParcelBuyPass`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ParcelClaim`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ParcelClaim`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ParcelDeedToGroup`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ParcelDeedToGroup`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ParcelDisableObjects`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ParcelDisableObjects`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ParcelDivide`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ParcelDivide`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ParcelDwellReply`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ParcelDwellReply`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ParcelDwellRequest`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ParcelDwellRequest`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ParcelGodForceOwner`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ParcelGodForceOwner`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ParcelGodMarkAsContent`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ParcelGodMarkAsContent`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ParcelInfoReply`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ParcelInfoReply`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ParcelInfoRequest`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ParcelInfoRequest`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ParcelJoin`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ParcelJoin`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ParcelMediaCommandMessage`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ParcelMediaCommandMessage`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ParcelMediaUpdate`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ParcelMediaUpdate`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ParcelObjectOwnersReply`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ParcelObjectOwnersReply`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ParcelObjectOwnersRequest`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ParcelObjectOwnersRequest`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ParcelOverlay`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ParcelOverlay`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ParcelProperties`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ParcelProperties`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ParcelPropertiesRequest`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ParcelPropertiesRequest`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ParcelPropertiesRequestByID`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ParcelPropertiesRequestByID`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ParcelPropertiesUpdate`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ParcelPropertiesUpdate`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ParcelReclaim`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ParcelReclaim`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ParcelRelease`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ParcelRelease`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ParcelRename`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ParcelRename`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ParcelReturnObjects`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ParcelReturnObjects`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ParcelSales`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ParcelSales`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ParcelSelectObjects`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ParcelSelectObjects`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ParcelSetOtherCleanTime`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ParcelSetOtherCleanTime`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.PayPriceReply`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.PayPriceReply`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.PickDelete`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.PickDelete`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.PickGodDelete`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.PickGodDelete`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.PickInfoReply`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.PickInfoReply`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.PickInfoUpdate`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.PickInfoUpdate`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.PlacesQuery`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.PlacesQuery`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.PlacesReply`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.PlacesReply`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.PreloadSound`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.PreloadSound`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.PurgeInventoryDescendents`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.PurgeInventoryDescendents`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.RebakeAvatarTextures`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.RebakeAvatarTextures`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.Redo`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.Redo`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.RegionHandleRequest`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.RegionHandleRequest`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.RegionHandshake`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.RegionHandshake`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.RegionHandshakeReply`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.RegionHandshakeReply`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.RegionIDAndHandleReply`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.RegionIDAndHandleReply`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.RegionInfo`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.RegionInfo`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.RegionPresenceRequestByHandle`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.RegionPresenceRequestByHandle`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.RegionPresenceRequestByRegionID`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.RegionPresenceRequestByRegionID`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.RegionPresenceResponse`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.RegionPresenceResponse`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.RemoveAttachment`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.RemoveAttachment`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.RemoveInventoryFolder`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.RemoveInventoryFolder`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.RemoveInventoryItem`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.RemoveInventoryItem`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.RemoveInventoryObjects`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.RemoveInventoryObjects`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.RemoveMuteListEntry`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.RemoveMuteListEntry`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.RemoveNameValuePair`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.RemoveNameValuePair`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.RemoveParcel`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.RemoveParcel`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.RemoveTaskInventory`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.RemoveTaskInventory`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ReplyTaskInventory`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ReplyTaskInventory`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ReportAutosaveCrash`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ReportAutosaveCrash`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.RequestGodlikePowers`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.RequestGodlikePowers`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.RequestImage`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.RequestImage`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.RequestInventoryAsset`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.RequestInventoryAsset`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.RequestMultipleObjects`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.RequestMultipleObjects`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.RequestObjectPropertiesFamily`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.RequestObjectPropertiesFamily`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.RequestParcelTransfer`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.RequestParcelTransfer`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.RequestPayPrice`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.RequestPayPrice`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.RequestRegionInfo`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.RequestRegionInfo`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.RequestTaskInventory`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.RequestTaskInventory`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.RequestTrustedCircuit`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.RequestTrustedCircuit`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.RequestXfer`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.RequestXfer`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.RetrieveIMsExtended`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.RetrieveIMsExtended`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.RetrieveInstantMessages`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.RetrieveInstantMessages`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.RevokePermissions`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.RevokePermissions`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.RezMultipleAttachmentsFromInv`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.RezMultipleAttachmentsFromInv`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.RezObject`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.RezObject`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.RezObjectFromNotecard`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.RezObjectFromNotecard`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.RezRestoreToWorld`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.RezRestoreToWorld`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.RezScript`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.RezScript`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.RezSingleAttachmentFromInv`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.RezSingleAttachmentFromInv`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.RoutedMoneyBalanceReply`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.RoutedMoneyBalanceReply`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.RpcChannelReply`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.RpcChannelReply`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.RpcChannelRequest`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.RpcChannelRequest`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.RpcScriptReplyInbound`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.RpcScriptReplyInbound`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.RpcScriptRequestInbound`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.RpcScriptRequestInbound`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.RpcScriptRequestInboundForward`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.RpcScriptRequestInboundForward`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.SaveAssetIntoInventory`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.SaveAssetIntoInventory`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ScriptAnswerYes`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ScriptAnswerYes`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ScriptControlChange`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ScriptControlChange`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ScriptDataReply`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ScriptDataReply`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ScriptDataRequest`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ScriptDataRequest`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ScriptDialog`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ScriptDialog`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ScriptDialogReply`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ScriptDialogReply`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ScriptMailRegistration`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ScriptMailRegistration`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ScriptQuestion`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ScriptQuestion`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ScriptReset`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ScriptReset`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ScriptRunningReply`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ScriptRunningReply`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ScriptSensorReply`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ScriptSensorReply`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ScriptSensorRequest`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ScriptSensorRequest`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ScriptTeleportRequest`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ScriptTeleportRequest`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.SendPostcard`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.SendPostcard`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.SendXferPacket`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.SendXferPacket`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.SetAlwaysRun`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.SetAlwaysRun`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.SetCPURatio`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.SetCPURatio`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.SetFollowCamProperties`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.SetFollowCamProperties`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.SetGroupAcceptNotices`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.SetGroupAcceptNotices`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.SetGroupContribution`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.SetGroupContribution`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.SetScriptRunning`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.SetScriptRunning`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.SetSimPresenceInDatabase`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.SetSimPresenceInDatabase`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.SetSimStatusInDatabase`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.SetSimStatusInDatabase`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.SetStartLocation`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.SetStartLocation`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.SetStartLocationRequest`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.SetStartLocationRequest`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.SimCrashed`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.SimCrashed`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.SimStats`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.SimStats`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.SimStatus`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.SimStatus`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.SimWideDeletes`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.SimWideDeletes`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.SimulatorLoad`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.SimulatorLoad`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.SimulatorMapUpdate`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.SimulatorMapUpdate`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.SimulatorPresentAtLocation`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.SimulatorPresentAtLocation`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.SimulatorReady`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.SimulatorReady`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.SimulatorSetMap`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.SimulatorSetMap`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.SimulatorShutdownRequest`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.SimulatorShutdownRequest`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.SimulatorViewerTimeMessage`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.SimulatorViewerTimeMessage`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.SoundTrigger`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.SoundTrigger`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.StartAuction`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.StartAuction`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.StartGroupProposal`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.StartGroupProposal`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.StartLure`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.StartLure`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.StartPingCheck`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.StartPingCheck`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.StateSave`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.StateSave`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.SubscribeLoad`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.SubscribeLoad`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.SystemKickUser`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.SystemKickUser`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.SystemMessage`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.SystemMessage`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.TallyVotes`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.TallyVotes`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.TelehubInfo`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.TelehubInfo`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.TeleportCancel`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.TeleportCancel`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.TeleportFailed`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.TeleportFailed`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.TeleportFinish`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.TeleportFinish`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.TeleportLandingStatusChanged`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.TeleportLandingStatusChanged`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.TeleportLandmarkRequest`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.TeleportLandmarkRequest`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.TeleportLocal`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.TeleportLocal`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.TeleportLocationRequest`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.TeleportLocationRequest`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.TeleportLureRequest`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.TeleportLureRequest`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.TeleportProgress`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.TeleportProgress`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.TeleportRequest`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.TeleportRequest`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.TeleportStart`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.TeleportStart`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.TerminateFriendship`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.TerminateFriendship`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.TestMessage`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.TestMessage`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.TrackAgent`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.TrackAgent`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.TransferAbort`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.TransferAbort`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.TransferInfo`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.TransferInfo`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.TransferInventory`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.TransferInventory`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.TransferInventoryAck`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.TransferInventoryAck`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.TransferPacket`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.TransferPacket`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.TransferRequest`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.TransferRequest`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.UUIDGroupNameReply`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.UUIDGroupNameReply`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.UUIDGroupNameRequest`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.UUIDGroupNameRequest`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.UUIDNameReply`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.UUIDNameReply`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.UUIDNameRequest`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.UUIDNameRequest`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.Undo`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.Undo`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.UndoLand`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.UndoLand`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.UnsubscribeLoad`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.UnsubscribeLoad`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.UpdateAttachment`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.UpdateAttachment`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.UpdateCreateInventoryItem`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.UpdateCreateInventoryItem`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.UpdateGroupInfo`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.UpdateGroupInfo`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.UpdateInventoryFolder`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.UpdateInventoryFolder`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.UpdateInventoryItem`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.UpdateInventoryItem`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.UpdateMuteListEntry`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.UpdateMuteListEntry`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.UpdateParcel`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.UpdateParcel`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.UpdateSimulator`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.UpdateSimulator`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.UpdateTaskInventory`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.UpdateTaskInventory`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.UpdateUserInfo`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.UpdateUserInfo`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.UseCachedMuteList`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.UseCachedMuteList`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.UseCircuitCode`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.UseCircuitCode`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.UserInfoReply`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.UserInfoReply`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.UserInfoRequest`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.UserInfoRequest`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.UserReport`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.UserReport`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.UserReportInternal`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.UserReportInternal`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.VelocityInterpolateOff`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.VelocityInterpolateOff`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.VelocityInterpolateOn`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.VelocityInterpolateOn`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ViewerEffect`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ViewerEffect`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ViewerFrozenMessage`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ViewerFrozenMessage`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ViewerStartAuction`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ViewerStartAuction`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Packets.PacketType.ViewerStats`.
    ///
    /// C# signature: `LibreMetaverse.Packets.PacketType LibreMetaverse.Packets.PacketType.ViewerStats`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub use crate::packet_catalog::PacketType;

    /// C# type: `T:LibreMetaverse.Packets.ParcelAccessListReplyPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ParcelAccessListReplyPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ParcelAccessListReplyPacket {
        /// C# member: `F:LibreMetaverse.Packets.ParcelAccessListReplyPacket.Data`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelAccessListReplyPacket.DataBlock LibreMetaverse.Packets.ParcelAccessListReplyPacket.Data`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub data: libremetaverse::packets::ParcelAccessListReplyPacketDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.ParcelAccessListReplyPacket.List`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelAccessListReplyPacket.ListBlock[] LibreMetaverse.Packets.ParcelAccessListReplyPacket.List`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub list: Vec<libremetaverse::packets::ParcelAccessListReplyPacketListBlock>,
    }
    impl ParcelAccessListReplyPacket {
        /// C# member: `M:LibreMetaverse.Packets.ParcelAccessListReplyPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelAccessListReplyPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelAccessListReplyPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelAccessListReplyPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelAccessListReplyPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelAccessListReplyPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelAccessListReplyPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelAccessListReplyPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelAccessListReplyPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelAccessListReplyPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelAccessListReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelAccessListReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelAccessListReplyPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ParcelAccessListReplyPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelAccessListReplyPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ParcelAccessListReplyPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelAccessListReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ParcelAccessListReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelAccessListReplyPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ParcelAccessListReplyPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelAccessListReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ParcelAccessListReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelAccessListReplyPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelAccessListReplyPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelAccessListReplyPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ParcelAccessListReplyPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ParcelAccessListReplyPacket.DataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ParcelAccessListReplyPacket.DataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ParcelAccessListReplyPacketDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ParcelAccessListReplyPacket.DataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ParcelAccessListReplyPacket.DataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ParcelAccessListReplyPacket.DataBlock.Flags`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ParcelAccessListReplyPacket.DataBlock.Flags`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub flags: u32,
        /// C# member: `F:LibreMetaverse.Packets.ParcelAccessListReplyPacket.DataBlock.LocalID`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelAccessListReplyPacket.DataBlock.LocalID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub local_id: i32,
        /// C# member: `F:LibreMetaverse.Packets.ParcelAccessListReplyPacket.DataBlock.SequenceID`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelAccessListReplyPacket.DataBlock.SequenceID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub sequence_id: i32,
    }
    impl ParcelAccessListReplyPacketDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ParcelAccessListReplyPacket.DataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelAccessListReplyPacket.DataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelAccessListReplyPacket.DataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelAccessListReplyPacket.DataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelAccessListReplyPacket.DataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelAccessListReplyPacket.DataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelAccessListReplyPacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelAccessListReplyPacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelAccessListReplyPacket.DataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelAccessListReplyPacket.DataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelAccessListReplyPacket.DataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ParcelAccessListReplyPacket.DataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelAccessListReplyPacket.DataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelAccessListReplyPacket.DataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ParcelAccessListReplyPacket.ListBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ParcelAccessListReplyPacket.ListBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ParcelAccessListReplyPacketListBlock {
        /// C# member: `F:LibreMetaverse.Packets.ParcelAccessListReplyPacket.ListBlock.Flags`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ParcelAccessListReplyPacket.ListBlock.Flags`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub flags: u32,
        /// C# member: `F:LibreMetaverse.Packets.ParcelAccessListReplyPacket.ListBlock.ID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ParcelAccessListReplyPacket.ListBlock.ID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ParcelAccessListReplyPacket.ListBlock.Time`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelAccessListReplyPacket.ListBlock.Time`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub time: i32,
    }
    impl ParcelAccessListReplyPacketListBlock {
        /// C# member: `M:LibreMetaverse.Packets.ParcelAccessListReplyPacket.ListBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelAccessListReplyPacket.ListBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelAccessListReplyPacket.ListBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelAccessListReplyPacket.ListBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelAccessListReplyPacket.ListBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelAccessListReplyPacket.ListBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelAccessListReplyPacket.ListBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelAccessListReplyPacket.ListBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelAccessListReplyPacket.ListBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelAccessListReplyPacket.ListBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelAccessListReplyPacket.ListBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ParcelAccessListReplyPacket.ListBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelAccessListReplyPacket.ListBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelAccessListReplyPacket.ListBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ParcelAccessListRequestPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ParcelAccessListRequestPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ParcelAccessListRequestPacket {
        /// C# member: `F:LibreMetaverse.Packets.ParcelAccessListRequestPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelAccessListRequestPacket.AgentDataBlock LibreMetaverse.Packets.ParcelAccessListRequestPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::ParcelAccessListRequestPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.ParcelAccessListRequestPacket.Data`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelAccessListRequestPacket.DataBlock LibreMetaverse.Packets.ParcelAccessListRequestPacket.Data`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub data: libremetaverse::packets::ParcelAccessListRequestPacketDataBlock,
    }
    impl ParcelAccessListRequestPacket {
        /// C# member: `M:LibreMetaverse.Packets.ParcelAccessListRequestPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelAccessListRequestPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelAccessListRequestPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelAccessListRequestPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelAccessListRequestPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelAccessListRequestPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelAccessListRequestPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelAccessListRequestPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelAccessListRequestPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelAccessListRequestPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelAccessListRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelAccessListRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelAccessListRequestPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ParcelAccessListRequestPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelAccessListRequestPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ParcelAccessListRequestPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelAccessListRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ParcelAccessListRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelAccessListRequestPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ParcelAccessListRequestPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelAccessListRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ParcelAccessListRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelAccessListRequestPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelAccessListRequestPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelAccessListRequestPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ParcelAccessListRequestPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ParcelAccessListRequestPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ParcelAccessListRequestPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ParcelAccessListRequestPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ParcelAccessListRequestPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ParcelAccessListRequestPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ParcelAccessListRequestPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ParcelAccessListRequestPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl ParcelAccessListRequestPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ParcelAccessListRequestPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelAccessListRequestPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelAccessListRequestPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelAccessListRequestPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelAccessListRequestPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelAccessListRequestPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelAccessListRequestPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelAccessListRequestPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelAccessListRequestPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelAccessListRequestPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelAccessListRequestPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ParcelAccessListRequestPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelAccessListRequestPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelAccessListRequestPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ParcelAccessListRequestPacket.DataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ParcelAccessListRequestPacket.DataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ParcelAccessListRequestPacketDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ParcelAccessListRequestPacket.DataBlock.Flags`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ParcelAccessListRequestPacket.DataBlock.Flags`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub flags: u32,
        /// C# member: `F:LibreMetaverse.Packets.ParcelAccessListRequestPacket.DataBlock.LocalID`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelAccessListRequestPacket.DataBlock.LocalID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub local_id: i32,
        /// C# member: `F:LibreMetaverse.Packets.ParcelAccessListRequestPacket.DataBlock.SequenceID`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelAccessListRequestPacket.DataBlock.SequenceID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub sequence_id: i32,
    }
    impl ParcelAccessListRequestPacketDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ParcelAccessListRequestPacket.DataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelAccessListRequestPacket.DataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelAccessListRequestPacket.DataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelAccessListRequestPacket.DataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelAccessListRequestPacket.DataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelAccessListRequestPacket.DataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelAccessListRequestPacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelAccessListRequestPacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelAccessListRequestPacket.DataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelAccessListRequestPacket.DataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelAccessListRequestPacket.DataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ParcelAccessListRequestPacket.DataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelAccessListRequestPacket.DataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelAccessListRequestPacket.DataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ParcelAccessListUpdatePacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ParcelAccessListUpdatePacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ParcelAccessListUpdatePacket {
        /// C# member: `F:LibreMetaverse.Packets.ParcelAccessListUpdatePacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelAccessListUpdatePacket.AgentDataBlock LibreMetaverse.Packets.ParcelAccessListUpdatePacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::ParcelAccessListUpdatePacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.ParcelAccessListUpdatePacket.Data`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelAccessListUpdatePacket.DataBlock LibreMetaverse.Packets.ParcelAccessListUpdatePacket.Data`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub data: libremetaverse::packets::ParcelAccessListUpdatePacketDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.ParcelAccessListUpdatePacket.List`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelAccessListUpdatePacket.ListBlock[] LibreMetaverse.Packets.ParcelAccessListUpdatePacket.List`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub list: Vec<libremetaverse::packets::ParcelAccessListUpdatePacketListBlock>,
    }
    impl ParcelAccessListUpdatePacket {
        /// C# member: `M:LibreMetaverse.Packets.ParcelAccessListUpdatePacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelAccessListUpdatePacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelAccessListUpdatePacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelAccessListUpdatePacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelAccessListUpdatePacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelAccessListUpdatePacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelAccessListUpdatePacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelAccessListUpdatePacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelAccessListUpdatePacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelAccessListUpdatePacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelAccessListUpdatePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelAccessListUpdatePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelAccessListUpdatePacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ParcelAccessListUpdatePacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelAccessListUpdatePacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ParcelAccessListUpdatePacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelAccessListUpdatePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ParcelAccessListUpdatePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelAccessListUpdatePacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ParcelAccessListUpdatePacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelAccessListUpdatePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ParcelAccessListUpdatePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelAccessListUpdatePacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelAccessListUpdatePacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelAccessListUpdatePacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ParcelAccessListUpdatePacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ParcelAccessListUpdatePacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ParcelAccessListUpdatePacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ParcelAccessListUpdatePacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ParcelAccessListUpdatePacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ParcelAccessListUpdatePacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ParcelAccessListUpdatePacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ParcelAccessListUpdatePacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl ParcelAccessListUpdatePacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ParcelAccessListUpdatePacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelAccessListUpdatePacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelAccessListUpdatePacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelAccessListUpdatePacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelAccessListUpdatePacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelAccessListUpdatePacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelAccessListUpdatePacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelAccessListUpdatePacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelAccessListUpdatePacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelAccessListUpdatePacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelAccessListUpdatePacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ParcelAccessListUpdatePacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelAccessListUpdatePacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelAccessListUpdatePacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ParcelAccessListUpdatePacket.DataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ParcelAccessListUpdatePacket.DataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ParcelAccessListUpdatePacketDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ParcelAccessListUpdatePacket.DataBlock.Flags`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ParcelAccessListUpdatePacket.DataBlock.Flags`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub flags: u32,
        /// C# member: `F:LibreMetaverse.Packets.ParcelAccessListUpdatePacket.DataBlock.LocalID`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelAccessListUpdatePacket.DataBlock.LocalID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub local_id: i32,
        /// C# member: `F:LibreMetaverse.Packets.ParcelAccessListUpdatePacket.DataBlock.Sections`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelAccessListUpdatePacket.DataBlock.Sections`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub sections: i32,
        /// C# member: `F:LibreMetaverse.Packets.ParcelAccessListUpdatePacket.DataBlock.SequenceID`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelAccessListUpdatePacket.DataBlock.SequenceID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub sequence_id: i32,
        /// C# member: `F:LibreMetaverse.Packets.ParcelAccessListUpdatePacket.DataBlock.TransactionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ParcelAccessListUpdatePacket.DataBlock.TransactionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub transaction_id: libremetaverse_types::UUID,
    }
    impl ParcelAccessListUpdatePacketDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ParcelAccessListUpdatePacket.DataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelAccessListUpdatePacket.DataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelAccessListUpdatePacket.DataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelAccessListUpdatePacket.DataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelAccessListUpdatePacket.DataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelAccessListUpdatePacket.DataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelAccessListUpdatePacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelAccessListUpdatePacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelAccessListUpdatePacket.DataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelAccessListUpdatePacket.DataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelAccessListUpdatePacket.DataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ParcelAccessListUpdatePacket.DataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelAccessListUpdatePacket.DataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelAccessListUpdatePacket.DataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ParcelAccessListUpdatePacket.ListBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ParcelAccessListUpdatePacket.ListBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ParcelAccessListUpdatePacketListBlock {
        /// C# member: `F:LibreMetaverse.Packets.ParcelAccessListUpdatePacket.ListBlock.Flags`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ParcelAccessListUpdatePacket.ListBlock.Flags`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub flags: u32,
        /// C# member: `F:LibreMetaverse.Packets.ParcelAccessListUpdatePacket.ListBlock.ID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ParcelAccessListUpdatePacket.ListBlock.ID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ParcelAccessListUpdatePacket.ListBlock.Time`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelAccessListUpdatePacket.ListBlock.Time`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub time: i32,
    }
    impl ParcelAccessListUpdatePacketListBlock {
        /// C# member: `M:LibreMetaverse.Packets.ParcelAccessListUpdatePacket.ListBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelAccessListUpdatePacket.ListBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelAccessListUpdatePacket.ListBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelAccessListUpdatePacket.ListBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelAccessListUpdatePacket.ListBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelAccessListUpdatePacket.ListBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelAccessListUpdatePacket.ListBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelAccessListUpdatePacket.ListBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelAccessListUpdatePacket.ListBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelAccessListUpdatePacket.ListBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelAccessListUpdatePacket.ListBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ParcelAccessListUpdatePacket.ListBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelAccessListUpdatePacket.ListBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelAccessListUpdatePacket.ListBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ParcelAuctionsPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ParcelAuctionsPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ParcelAuctionsPacket {
        /// C# member: `F:LibreMetaverse.Packets.ParcelAuctionsPacket.ParcelData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelAuctionsPacket.ParcelDataBlock[] LibreMetaverse.Packets.ParcelAuctionsPacket.ParcelData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub parcel_data: Vec<libremetaverse::packets::ParcelAuctionsPacketParcelDataBlock>,
    }
    impl ParcelAuctionsPacket {
        /// C# member: `M:LibreMetaverse.Packets.ParcelAuctionsPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelAuctionsPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelAuctionsPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelAuctionsPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelAuctionsPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelAuctionsPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelAuctionsPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelAuctionsPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelAuctionsPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelAuctionsPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelAuctionsPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelAuctionsPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelAuctionsPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ParcelAuctionsPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelAuctionsPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ParcelAuctionsPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelAuctionsPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ParcelAuctionsPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelAuctionsPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ParcelAuctionsPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelAuctionsPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ParcelAuctionsPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelAuctionsPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelAuctionsPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelAuctionsPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ParcelAuctionsPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ParcelAuctionsPacket.ParcelDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ParcelAuctionsPacket.ParcelDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ParcelAuctionsPacketParcelDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ParcelAuctionsPacket.ParcelDataBlock.ParcelID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ParcelAuctionsPacket.ParcelDataBlock.ParcelID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub parcel_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ParcelAuctionsPacket.ParcelDataBlock.WinnerID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ParcelAuctionsPacket.ParcelDataBlock.WinnerID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub winner_id: libremetaverse_types::UUID,
    }
    impl ParcelAuctionsPacketParcelDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ParcelAuctionsPacket.ParcelDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelAuctionsPacket.ParcelDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelAuctionsPacket.ParcelDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelAuctionsPacket.ParcelDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelAuctionsPacket.ParcelDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelAuctionsPacket.ParcelDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelAuctionsPacket.ParcelDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelAuctionsPacket.ParcelDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelAuctionsPacket.ParcelDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelAuctionsPacket.ParcelDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelAuctionsPacket.ParcelDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ParcelAuctionsPacket.ParcelDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelAuctionsPacket.ParcelDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelAuctionsPacket.ParcelDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ParcelBuyPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ParcelBuyPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ParcelBuyPacket {
        /// C# member: `F:LibreMetaverse.Packets.ParcelBuyPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelBuyPacket.AgentDataBlock LibreMetaverse.Packets.ParcelBuyPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::ParcelBuyPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.ParcelBuyPacket.Data`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelBuyPacket.DataBlock LibreMetaverse.Packets.ParcelBuyPacket.Data`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub data: libremetaverse::packets::ParcelBuyPacketDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.ParcelBuyPacket.ParcelData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelBuyPacket.ParcelDataBlock LibreMetaverse.Packets.ParcelBuyPacket.ParcelData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub parcel_data: libremetaverse::packets::ParcelBuyPacketParcelDataBlock,
    }
    impl ParcelBuyPacket {
        /// C# member: `M:LibreMetaverse.Packets.ParcelBuyPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelBuyPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelBuyPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelBuyPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelBuyPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelBuyPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelBuyPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelBuyPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelBuyPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelBuyPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelBuyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelBuyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelBuyPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ParcelBuyPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelBuyPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ParcelBuyPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelBuyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ParcelBuyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelBuyPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ParcelBuyPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelBuyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ParcelBuyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelBuyPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelBuyPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelBuyPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ParcelBuyPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ParcelBuyPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ParcelBuyPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ParcelBuyPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ParcelBuyPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ParcelBuyPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ParcelBuyPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ParcelBuyPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl ParcelBuyPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ParcelBuyPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelBuyPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelBuyPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelBuyPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelBuyPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelBuyPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelBuyPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelBuyPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelBuyPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelBuyPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelBuyPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ParcelBuyPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelBuyPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelBuyPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ParcelBuyPacket.DataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ParcelBuyPacket.DataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ParcelBuyPacketDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ParcelBuyPacket.DataBlock.Final`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ParcelBuyPacket.DataBlock.Final`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub final_: bool,
        /// C# member: `F:LibreMetaverse.Packets.ParcelBuyPacket.DataBlock.GroupID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ParcelBuyPacket.DataBlock.GroupID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ParcelBuyPacket.DataBlock.IsGroupOwned`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ParcelBuyPacket.DataBlock.IsGroupOwned`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub is_group_owned: bool,
        /// C# member: `F:LibreMetaverse.Packets.ParcelBuyPacket.DataBlock.LocalID`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelBuyPacket.DataBlock.LocalID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub local_id: i32,
        /// C# member: `F:LibreMetaverse.Packets.ParcelBuyPacket.DataBlock.RemoveContribution`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ParcelBuyPacket.DataBlock.RemoveContribution`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub remove_contribution: bool,
    }
    impl ParcelBuyPacketDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ParcelBuyPacket.DataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelBuyPacket.DataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelBuyPacket.DataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelBuyPacket.DataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelBuyPacket.DataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelBuyPacket.DataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelBuyPacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelBuyPacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelBuyPacket.DataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelBuyPacket.DataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelBuyPacket.DataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ParcelBuyPacket.DataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelBuyPacket.DataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelBuyPacket.DataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ParcelBuyPacket.ParcelDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ParcelBuyPacket.ParcelDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ParcelBuyPacketParcelDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ParcelBuyPacket.ParcelDataBlock.Area`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelBuyPacket.ParcelDataBlock.Area`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub area: i32,
        /// C# member: `F:LibreMetaverse.Packets.ParcelBuyPacket.ParcelDataBlock.Price`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelBuyPacket.ParcelDataBlock.Price`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub price: i32,
    }
    impl ParcelBuyPacketParcelDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ParcelBuyPacket.ParcelDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelBuyPacket.ParcelDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelBuyPacket.ParcelDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelBuyPacket.ParcelDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelBuyPacket.ParcelDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelBuyPacket.ParcelDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelBuyPacket.ParcelDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelBuyPacket.ParcelDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelBuyPacket.ParcelDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelBuyPacket.ParcelDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelBuyPacket.ParcelDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ParcelBuyPacket.ParcelDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelBuyPacket.ParcelDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelBuyPacket.ParcelDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ParcelBuyPassPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ParcelBuyPassPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ParcelBuyPassPacket {
        /// C# member: `F:LibreMetaverse.Packets.ParcelBuyPassPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelBuyPassPacket.AgentDataBlock LibreMetaverse.Packets.ParcelBuyPassPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::ParcelBuyPassPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.ParcelBuyPassPacket.ParcelData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelBuyPassPacket.ParcelDataBlock LibreMetaverse.Packets.ParcelBuyPassPacket.ParcelData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub parcel_data: libremetaverse::packets::ParcelBuyPassPacketParcelDataBlock,
    }
    impl ParcelBuyPassPacket {
        /// C# member: `M:LibreMetaverse.Packets.ParcelBuyPassPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelBuyPassPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelBuyPassPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelBuyPassPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelBuyPassPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelBuyPassPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelBuyPassPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelBuyPassPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelBuyPassPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelBuyPassPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelBuyPassPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelBuyPassPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelBuyPassPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ParcelBuyPassPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelBuyPassPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ParcelBuyPassPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelBuyPassPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ParcelBuyPassPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelBuyPassPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ParcelBuyPassPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelBuyPassPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ParcelBuyPassPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelBuyPassPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelBuyPassPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelBuyPassPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ParcelBuyPassPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ParcelBuyPassPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ParcelBuyPassPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ParcelBuyPassPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ParcelBuyPassPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ParcelBuyPassPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ParcelBuyPassPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ParcelBuyPassPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl ParcelBuyPassPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ParcelBuyPassPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelBuyPassPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelBuyPassPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelBuyPassPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelBuyPassPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelBuyPassPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelBuyPassPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelBuyPassPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelBuyPassPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelBuyPassPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelBuyPassPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ParcelBuyPassPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelBuyPassPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelBuyPassPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ParcelBuyPassPacket.ParcelDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ParcelBuyPassPacket.ParcelDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ParcelBuyPassPacketParcelDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ParcelBuyPassPacket.ParcelDataBlock.LocalID`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelBuyPassPacket.ParcelDataBlock.LocalID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub local_id: i32,
    }
    impl ParcelBuyPassPacketParcelDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ParcelBuyPassPacket.ParcelDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelBuyPassPacket.ParcelDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelBuyPassPacket.ParcelDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelBuyPassPacket.ParcelDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelBuyPassPacket.ParcelDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelBuyPassPacket.ParcelDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelBuyPassPacket.ParcelDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelBuyPassPacket.ParcelDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelBuyPassPacket.ParcelDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelBuyPassPacket.ParcelDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelBuyPassPacket.ParcelDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ParcelBuyPassPacket.ParcelDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelBuyPassPacket.ParcelDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelBuyPassPacket.ParcelDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ParcelClaimPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ParcelClaimPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ParcelClaimPacket {
        /// C# member: `F:LibreMetaverse.Packets.ParcelClaimPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelClaimPacket.AgentDataBlock LibreMetaverse.Packets.ParcelClaimPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::ParcelClaimPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.ParcelClaimPacket.Data`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelClaimPacket.DataBlock LibreMetaverse.Packets.ParcelClaimPacket.Data`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub data: libremetaverse::packets::ParcelClaimPacketDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.ParcelClaimPacket.ParcelData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelClaimPacket.ParcelDataBlock[] LibreMetaverse.Packets.ParcelClaimPacket.ParcelData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub parcel_data: Vec<libremetaverse::packets::ParcelClaimPacketParcelDataBlock>,
    }
    impl ParcelClaimPacket {
        /// C# member: `M:LibreMetaverse.Packets.ParcelClaimPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelClaimPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelClaimPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelClaimPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelClaimPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelClaimPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelClaimPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelClaimPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelClaimPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelClaimPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelClaimPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelClaimPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelClaimPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ParcelClaimPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelClaimPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ParcelClaimPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelClaimPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ParcelClaimPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelClaimPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ParcelClaimPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelClaimPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ParcelClaimPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelClaimPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelClaimPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelClaimPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ParcelClaimPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ParcelClaimPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ParcelClaimPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ParcelClaimPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ParcelClaimPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ParcelClaimPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ParcelClaimPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ParcelClaimPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl ParcelClaimPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ParcelClaimPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelClaimPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelClaimPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelClaimPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelClaimPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelClaimPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelClaimPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelClaimPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelClaimPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelClaimPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelClaimPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ParcelClaimPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelClaimPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelClaimPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ParcelClaimPacket.DataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ParcelClaimPacket.DataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ParcelClaimPacketDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ParcelClaimPacket.DataBlock.Final`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ParcelClaimPacket.DataBlock.Final`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub final_: bool,
        /// C# member: `F:LibreMetaverse.Packets.ParcelClaimPacket.DataBlock.GroupID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ParcelClaimPacket.DataBlock.GroupID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ParcelClaimPacket.DataBlock.IsGroupOwned`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ParcelClaimPacket.DataBlock.IsGroupOwned`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub is_group_owned: bool,
    }
    impl ParcelClaimPacketDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ParcelClaimPacket.DataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelClaimPacket.DataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelClaimPacket.DataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelClaimPacket.DataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelClaimPacket.DataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelClaimPacket.DataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelClaimPacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelClaimPacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelClaimPacket.DataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelClaimPacket.DataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelClaimPacket.DataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ParcelClaimPacket.DataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelClaimPacket.DataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelClaimPacket.DataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ParcelClaimPacket.ParcelDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ParcelClaimPacket.ParcelDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ParcelClaimPacketParcelDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ParcelClaimPacket.ParcelDataBlock.East`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.ParcelClaimPacket.ParcelDataBlock.East`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub east: f32,
        /// C# member: `F:LibreMetaverse.Packets.ParcelClaimPacket.ParcelDataBlock.North`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.ParcelClaimPacket.ParcelDataBlock.North`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub north: f32,
        /// C# member: `F:LibreMetaverse.Packets.ParcelClaimPacket.ParcelDataBlock.South`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.ParcelClaimPacket.ParcelDataBlock.South`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub south: f32,
        /// C# member: `F:LibreMetaverse.Packets.ParcelClaimPacket.ParcelDataBlock.West`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.ParcelClaimPacket.ParcelDataBlock.West`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub west: f32,
    }
    impl ParcelClaimPacketParcelDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ParcelClaimPacket.ParcelDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelClaimPacket.ParcelDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelClaimPacket.ParcelDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelClaimPacket.ParcelDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelClaimPacket.ParcelDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelClaimPacket.ParcelDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelClaimPacket.ParcelDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelClaimPacket.ParcelDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelClaimPacket.ParcelDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelClaimPacket.ParcelDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelClaimPacket.ParcelDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ParcelClaimPacket.ParcelDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelClaimPacket.ParcelDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelClaimPacket.ParcelDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ParcelDeedToGroupPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ParcelDeedToGroupPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ParcelDeedToGroupPacket {
        /// C# member: `F:LibreMetaverse.Packets.ParcelDeedToGroupPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelDeedToGroupPacket.AgentDataBlock LibreMetaverse.Packets.ParcelDeedToGroupPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::ParcelDeedToGroupPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.ParcelDeedToGroupPacket.Data`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelDeedToGroupPacket.DataBlock LibreMetaverse.Packets.ParcelDeedToGroupPacket.Data`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub data: libremetaverse::packets::ParcelDeedToGroupPacketDataBlock,
    }
    impl ParcelDeedToGroupPacket {
        /// C# member: `M:LibreMetaverse.Packets.ParcelDeedToGroupPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelDeedToGroupPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelDeedToGroupPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelDeedToGroupPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelDeedToGroupPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelDeedToGroupPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelDeedToGroupPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelDeedToGroupPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelDeedToGroupPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelDeedToGroupPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelDeedToGroupPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelDeedToGroupPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelDeedToGroupPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ParcelDeedToGroupPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelDeedToGroupPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ParcelDeedToGroupPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelDeedToGroupPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ParcelDeedToGroupPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelDeedToGroupPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ParcelDeedToGroupPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelDeedToGroupPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ParcelDeedToGroupPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelDeedToGroupPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelDeedToGroupPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelDeedToGroupPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ParcelDeedToGroupPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ParcelDeedToGroupPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ParcelDeedToGroupPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ParcelDeedToGroupPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ParcelDeedToGroupPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ParcelDeedToGroupPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ParcelDeedToGroupPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ParcelDeedToGroupPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl ParcelDeedToGroupPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ParcelDeedToGroupPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelDeedToGroupPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelDeedToGroupPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelDeedToGroupPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelDeedToGroupPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelDeedToGroupPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelDeedToGroupPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelDeedToGroupPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelDeedToGroupPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelDeedToGroupPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelDeedToGroupPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ParcelDeedToGroupPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelDeedToGroupPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelDeedToGroupPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ParcelDeedToGroupPacket.DataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ParcelDeedToGroupPacket.DataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ParcelDeedToGroupPacketDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ParcelDeedToGroupPacket.DataBlock.GroupID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ParcelDeedToGroupPacket.DataBlock.GroupID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ParcelDeedToGroupPacket.DataBlock.LocalID`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelDeedToGroupPacket.DataBlock.LocalID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub local_id: i32,
    }
    impl ParcelDeedToGroupPacketDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ParcelDeedToGroupPacket.DataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelDeedToGroupPacket.DataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelDeedToGroupPacket.DataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelDeedToGroupPacket.DataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelDeedToGroupPacket.DataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelDeedToGroupPacket.DataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelDeedToGroupPacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelDeedToGroupPacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelDeedToGroupPacket.DataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelDeedToGroupPacket.DataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelDeedToGroupPacket.DataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ParcelDeedToGroupPacket.DataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelDeedToGroupPacket.DataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelDeedToGroupPacket.DataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ParcelDisableObjectsPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ParcelDisableObjectsPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ParcelDisableObjectsPacket {
        /// C# member: `F:LibreMetaverse.Packets.ParcelDisableObjectsPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelDisableObjectsPacket.AgentDataBlock LibreMetaverse.Packets.ParcelDisableObjectsPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::ParcelDisableObjectsPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.ParcelDisableObjectsPacket.OwnerIDs`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelDisableObjectsPacket.OwnerIDsBlock[] LibreMetaverse.Packets.ParcelDisableObjectsPacket.OwnerIDs`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub owner_i_ds: Vec<libremetaverse::packets::ParcelDisableObjectsPacketOwnerIDsBlock>,
        /// C# member: `F:LibreMetaverse.Packets.ParcelDisableObjectsPacket.ParcelData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelDisableObjectsPacket.ParcelDataBlock LibreMetaverse.Packets.ParcelDisableObjectsPacket.ParcelData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub parcel_data: libremetaverse::packets::ParcelDisableObjectsPacketParcelDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.ParcelDisableObjectsPacket.TaskIDs`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelDisableObjectsPacket.TaskIDsBlock[] LibreMetaverse.Packets.ParcelDisableObjectsPacket.TaskIDs`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub task_i_ds: Vec<libremetaverse::packets::ParcelDisableObjectsPacketTaskIDsBlock>,
    }
    impl ParcelDisableObjectsPacket {
        /// C# member: `M:LibreMetaverse.Packets.ParcelDisableObjectsPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelDisableObjectsPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelDisableObjectsPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelDisableObjectsPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelDisableObjectsPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelDisableObjectsPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelDisableObjectsPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelDisableObjectsPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelDisableObjectsPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelDisableObjectsPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelDisableObjectsPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelDisableObjectsPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelDisableObjectsPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ParcelDisableObjectsPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelDisableObjectsPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ParcelDisableObjectsPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelDisableObjectsPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ParcelDisableObjectsPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelDisableObjectsPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ParcelDisableObjectsPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelDisableObjectsPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ParcelDisableObjectsPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelDisableObjectsPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelDisableObjectsPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelDisableObjectsPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ParcelDisableObjectsPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ParcelDisableObjectsPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ParcelDisableObjectsPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ParcelDisableObjectsPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ParcelDisableObjectsPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ParcelDisableObjectsPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ParcelDisableObjectsPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ParcelDisableObjectsPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl ParcelDisableObjectsPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ParcelDisableObjectsPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelDisableObjectsPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelDisableObjectsPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelDisableObjectsPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelDisableObjectsPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelDisableObjectsPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelDisableObjectsPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelDisableObjectsPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelDisableObjectsPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelDisableObjectsPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelDisableObjectsPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ParcelDisableObjectsPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelDisableObjectsPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelDisableObjectsPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ParcelDisableObjectsPacket.OwnerIDsBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ParcelDisableObjectsPacket.OwnerIDsBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ParcelDisableObjectsPacketOwnerIDsBlock {
        /// C# member: `F:LibreMetaverse.Packets.ParcelDisableObjectsPacket.OwnerIDsBlock.OwnerID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ParcelDisableObjectsPacket.OwnerIDsBlock.OwnerID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub owner_id: libremetaverse_types::UUID,
    }
    impl ParcelDisableObjectsPacketOwnerIDsBlock {
        /// C# member: `M:LibreMetaverse.Packets.ParcelDisableObjectsPacket.OwnerIDsBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelDisableObjectsPacket.OwnerIDsBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelDisableObjectsPacket.OwnerIDsBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelDisableObjectsPacket.OwnerIDsBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelDisableObjectsPacket.OwnerIDsBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelDisableObjectsPacket.OwnerIDsBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelDisableObjectsPacket.OwnerIDsBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelDisableObjectsPacket.OwnerIDsBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelDisableObjectsPacket.OwnerIDsBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelDisableObjectsPacket.OwnerIDsBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelDisableObjectsPacket.OwnerIDsBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ParcelDisableObjectsPacket.OwnerIDsBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelDisableObjectsPacket.OwnerIDsBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelDisableObjectsPacket.OwnerIDsBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ParcelDisableObjectsPacket.ParcelDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ParcelDisableObjectsPacket.ParcelDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ParcelDisableObjectsPacketParcelDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ParcelDisableObjectsPacket.ParcelDataBlock.LocalID`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelDisableObjectsPacket.ParcelDataBlock.LocalID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub local_id: i32,
        /// C# member: `F:LibreMetaverse.Packets.ParcelDisableObjectsPacket.ParcelDataBlock.ReturnType`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ParcelDisableObjectsPacket.ParcelDataBlock.ReturnType`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub return_type: u32,
    }
    impl ParcelDisableObjectsPacketParcelDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ParcelDisableObjectsPacket.ParcelDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelDisableObjectsPacket.ParcelDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelDisableObjectsPacket.ParcelDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelDisableObjectsPacket.ParcelDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelDisableObjectsPacket.ParcelDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelDisableObjectsPacket.ParcelDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelDisableObjectsPacket.ParcelDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelDisableObjectsPacket.ParcelDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelDisableObjectsPacket.ParcelDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelDisableObjectsPacket.ParcelDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelDisableObjectsPacket.ParcelDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ParcelDisableObjectsPacket.ParcelDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelDisableObjectsPacket.ParcelDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelDisableObjectsPacket.ParcelDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ParcelDisableObjectsPacket.TaskIDsBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ParcelDisableObjectsPacket.TaskIDsBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ParcelDisableObjectsPacketTaskIDsBlock {
        /// C# member: `F:LibreMetaverse.Packets.ParcelDisableObjectsPacket.TaskIDsBlock.TaskID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ParcelDisableObjectsPacket.TaskIDsBlock.TaskID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub task_id: libremetaverse_types::UUID,
    }
    impl ParcelDisableObjectsPacketTaskIDsBlock {
        /// C# member: `M:LibreMetaverse.Packets.ParcelDisableObjectsPacket.TaskIDsBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelDisableObjectsPacket.TaskIDsBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelDisableObjectsPacket.TaskIDsBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelDisableObjectsPacket.TaskIDsBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelDisableObjectsPacket.TaskIDsBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelDisableObjectsPacket.TaskIDsBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelDisableObjectsPacket.TaskIDsBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelDisableObjectsPacket.TaskIDsBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelDisableObjectsPacket.TaskIDsBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelDisableObjectsPacket.TaskIDsBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelDisableObjectsPacket.TaskIDsBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ParcelDisableObjectsPacket.TaskIDsBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelDisableObjectsPacket.TaskIDsBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelDisableObjectsPacket.TaskIDsBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ParcelDividePacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ParcelDividePacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ParcelDividePacket {
        /// C# member: `F:LibreMetaverse.Packets.ParcelDividePacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelDividePacket.AgentDataBlock LibreMetaverse.Packets.ParcelDividePacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::ParcelDividePacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.ParcelDividePacket.ParcelData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelDividePacket.ParcelDataBlock LibreMetaverse.Packets.ParcelDividePacket.ParcelData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub parcel_data: libremetaverse::packets::ParcelDividePacketParcelDataBlock,
    }
    impl ParcelDividePacket {
        /// C# member: `M:LibreMetaverse.Packets.ParcelDividePacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelDividePacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelDividePacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelDividePacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelDividePacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelDividePacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelDividePacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelDividePacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelDividePacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelDividePacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelDividePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelDividePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelDividePacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ParcelDividePacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelDividePacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ParcelDividePacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelDividePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ParcelDividePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelDividePacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ParcelDividePacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelDividePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ParcelDividePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelDividePacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelDividePacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelDividePacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ParcelDividePacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ParcelDividePacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ParcelDividePacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ParcelDividePacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ParcelDividePacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ParcelDividePacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ParcelDividePacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ParcelDividePacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl ParcelDividePacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ParcelDividePacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelDividePacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelDividePacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelDividePacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelDividePacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelDividePacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelDividePacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelDividePacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelDividePacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelDividePacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelDividePacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ParcelDividePacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelDividePacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelDividePacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ParcelDividePacket.ParcelDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ParcelDividePacket.ParcelDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ParcelDividePacketParcelDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ParcelDividePacket.ParcelDataBlock.East`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.ParcelDividePacket.ParcelDataBlock.East`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub east: f32,
        /// C# member: `F:LibreMetaverse.Packets.ParcelDividePacket.ParcelDataBlock.North`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.ParcelDividePacket.ParcelDataBlock.North`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub north: f32,
        /// C# member: `F:LibreMetaverse.Packets.ParcelDividePacket.ParcelDataBlock.South`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.ParcelDividePacket.ParcelDataBlock.South`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub south: f32,
        /// C# member: `F:LibreMetaverse.Packets.ParcelDividePacket.ParcelDataBlock.West`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.ParcelDividePacket.ParcelDataBlock.West`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub west: f32,
    }
    impl ParcelDividePacketParcelDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ParcelDividePacket.ParcelDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelDividePacket.ParcelDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelDividePacket.ParcelDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelDividePacket.ParcelDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelDividePacket.ParcelDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelDividePacket.ParcelDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelDividePacket.ParcelDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelDividePacket.ParcelDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelDividePacket.ParcelDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelDividePacket.ParcelDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelDividePacket.ParcelDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ParcelDividePacket.ParcelDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelDividePacket.ParcelDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelDividePacket.ParcelDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ParcelDwellReplyPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ParcelDwellReplyPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ParcelDwellReplyPacket {
        /// C# member: `F:LibreMetaverse.Packets.ParcelDwellReplyPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelDwellReplyPacket.AgentDataBlock LibreMetaverse.Packets.ParcelDwellReplyPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::ParcelDwellReplyPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.ParcelDwellReplyPacket.Data`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelDwellReplyPacket.DataBlock LibreMetaverse.Packets.ParcelDwellReplyPacket.Data`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub data: libremetaverse::packets::ParcelDwellReplyPacketDataBlock,
    }
    impl ParcelDwellReplyPacket {
        /// C# member: `M:LibreMetaverse.Packets.ParcelDwellReplyPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelDwellReplyPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelDwellReplyPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelDwellReplyPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelDwellReplyPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelDwellReplyPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelDwellReplyPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelDwellReplyPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelDwellReplyPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelDwellReplyPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelDwellReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelDwellReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelDwellReplyPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ParcelDwellReplyPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelDwellReplyPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ParcelDwellReplyPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelDwellReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ParcelDwellReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelDwellReplyPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ParcelDwellReplyPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelDwellReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ParcelDwellReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelDwellReplyPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelDwellReplyPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelDwellReplyPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ParcelDwellReplyPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ParcelDwellReplyPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ParcelDwellReplyPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ParcelDwellReplyPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ParcelDwellReplyPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ParcelDwellReplyPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
    }
    impl ParcelDwellReplyPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ParcelDwellReplyPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelDwellReplyPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelDwellReplyPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelDwellReplyPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelDwellReplyPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelDwellReplyPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelDwellReplyPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelDwellReplyPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelDwellReplyPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelDwellReplyPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelDwellReplyPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ParcelDwellReplyPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelDwellReplyPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelDwellReplyPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ParcelDwellReplyPacket.DataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ParcelDwellReplyPacket.DataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ParcelDwellReplyPacketDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ParcelDwellReplyPacket.DataBlock.Dwell`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.ParcelDwellReplyPacket.DataBlock.Dwell`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub dwell: f32,
        /// C# member: `F:LibreMetaverse.Packets.ParcelDwellReplyPacket.DataBlock.LocalID`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelDwellReplyPacket.DataBlock.LocalID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub local_id: i32,
        /// C# member: `F:LibreMetaverse.Packets.ParcelDwellReplyPacket.DataBlock.ParcelID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ParcelDwellReplyPacket.DataBlock.ParcelID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub parcel_id: libremetaverse_types::UUID,
    }
    impl ParcelDwellReplyPacketDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ParcelDwellReplyPacket.DataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelDwellReplyPacket.DataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelDwellReplyPacket.DataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelDwellReplyPacket.DataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelDwellReplyPacket.DataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelDwellReplyPacket.DataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelDwellReplyPacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelDwellReplyPacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelDwellReplyPacket.DataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelDwellReplyPacket.DataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelDwellReplyPacket.DataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ParcelDwellReplyPacket.DataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelDwellReplyPacket.DataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelDwellReplyPacket.DataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ParcelDwellRequestPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ParcelDwellRequestPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ParcelDwellRequestPacket {
        /// C# member: `F:LibreMetaverse.Packets.ParcelDwellRequestPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelDwellRequestPacket.AgentDataBlock LibreMetaverse.Packets.ParcelDwellRequestPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::ParcelDwellRequestPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.ParcelDwellRequestPacket.Data`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelDwellRequestPacket.DataBlock LibreMetaverse.Packets.ParcelDwellRequestPacket.Data`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub data: libremetaverse::packets::ParcelDwellRequestPacketDataBlock,
    }
    impl ParcelDwellRequestPacket {
        /// C# member: `M:LibreMetaverse.Packets.ParcelDwellRequestPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelDwellRequestPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelDwellRequestPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelDwellRequestPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelDwellRequestPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelDwellRequestPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelDwellRequestPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelDwellRequestPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelDwellRequestPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelDwellRequestPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelDwellRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelDwellRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelDwellRequestPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ParcelDwellRequestPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelDwellRequestPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ParcelDwellRequestPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelDwellRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ParcelDwellRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelDwellRequestPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ParcelDwellRequestPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelDwellRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ParcelDwellRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelDwellRequestPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelDwellRequestPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelDwellRequestPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ParcelDwellRequestPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ParcelDwellRequestPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ParcelDwellRequestPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ParcelDwellRequestPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ParcelDwellRequestPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ParcelDwellRequestPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ParcelDwellRequestPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ParcelDwellRequestPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl ParcelDwellRequestPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ParcelDwellRequestPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelDwellRequestPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelDwellRequestPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelDwellRequestPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelDwellRequestPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelDwellRequestPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelDwellRequestPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelDwellRequestPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelDwellRequestPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelDwellRequestPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelDwellRequestPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ParcelDwellRequestPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelDwellRequestPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelDwellRequestPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ParcelDwellRequestPacket.DataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ParcelDwellRequestPacket.DataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ParcelDwellRequestPacketDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ParcelDwellRequestPacket.DataBlock.LocalID`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelDwellRequestPacket.DataBlock.LocalID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub local_id: i32,
        /// C# member: `F:LibreMetaverse.Packets.ParcelDwellRequestPacket.DataBlock.ParcelID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ParcelDwellRequestPacket.DataBlock.ParcelID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub parcel_id: libremetaverse_types::UUID,
    }
    impl ParcelDwellRequestPacketDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ParcelDwellRequestPacket.DataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelDwellRequestPacket.DataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelDwellRequestPacket.DataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelDwellRequestPacket.DataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelDwellRequestPacket.DataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelDwellRequestPacket.DataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelDwellRequestPacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelDwellRequestPacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelDwellRequestPacket.DataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelDwellRequestPacket.DataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelDwellRequestPacket.DataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ParcelDwellRequestPacket.DataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelDwellRequestPacket.DataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelDwellRequestPacket.DataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ParcelGodForceOwnerPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ParcelGodForceOwnerPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ParcelGodForceOwnerPacket {
        /// C# member: `F:LibreMetaverse.Packets.ParcelGodForceOwnerPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelGodForceOwnerPacket.AgentDataBlock LibreMetaverse.Packets.ParcelGodForceOwnerPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::ParcelGodForceOwnerPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.ParcelGodForceOwnerPacket.Data`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelGodForceOwnerPacket.DataBlock LibreMetaverse.Packets.ParcelGodForceOwnerPacket.Data`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub data: libremetaverse::packets::ParcelGodForceOwnerPacketDataBlock,
    }
    impl ParcelGodForceOwnerPacket {
        /// C# member: `M:LibreMetaverse.Packets.ParcelGodForceOwnerPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelGodForceOwnerPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelGodForceOwnerPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelGodForceOwnerPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelGodForceOwnerPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelGodForceOwnerPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelGodForceOwnerPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelGodForceOwnerPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelGodForceOwnerPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelGodForceOwnerPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelGodForceOwnerPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelGodForceOwnerPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelGodForceOwnerPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ParcelGodForceOwnerPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelGodForceOwnerPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ParcelGodForceOwnerPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelGodForceOwnerPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ParcelGodForceOwnerPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelGodForceOwnerPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ParcelGodForceOwnerPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelGodForceOwnerPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ParcelGodForceOwnerPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelGodForceOwnerPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelGodForceOwnerPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelGodForceOwnerPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ParcelGodForceOwnerPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ParcelGodForceOwnerPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ParcelGodForceOwnerPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ParcelGodForceOwnerPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ParcelGodForceOwnerPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ParcelGodForceOwnerPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ParcelGodForceOwnerPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ParcelGodForceOwnerPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl ParcelGodForceOwnerPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ParcelGodForceOwnerPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelGodForceOwnerPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelGodForceOwnerPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelGodForceOwnerPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelGodForceOwnerPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelGodForceOwnerPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelGodForceOwnerPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelGodForceOwnerPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelGodForceOwnerPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelGodForceOwnerPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelGodForceOwnerPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ParcelGodForceOwnerPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelGodForceOwnerPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelGodForceOwnerPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ParcelGodForceOwnerPacket.DataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ParcelGodForceOwnerPacket.DataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ParcelGodForceOwnerPacketDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ParcelGodForceOwnerPacket.DataBlock.LocalID`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelGodForceOwnerPacket.DataBlock.LocalID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub local_id: i32,
        /// C# member: `F:LibreMetaverse.Packets.ParcelGodForceOwnerPacket.DataBlock.OwnerID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ParcelGodForceOwnerPacket.DataBlock.OwnerID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub owner_id: libremetaverse_types::UUID,
    }
    impl ParcelGodForceOwnerPacketDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ParcelGodForceOwnerPacket.DataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelGodForceOwnerPacket.DataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelGodForceOwnerPacket.DataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelGodForceOwnerPacket.DataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelGodForceOwnerPacket.DataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelGodForceOwnerPacket.DataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelGodForceOwnerPacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelGodForceOwnerPacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelGodForceOwnerPacket.DataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelGodForceOwnerPacket.DataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelGodForceOwnerPacket.DataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ParcelGodForceOwnerPacket.DataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelGodForceOwnerPacket.DataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelGodForceOwnerPacket.DataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ParcelGodMarkAsContentPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ParcelGodMarkAsContentPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ParcelGodMarkAsContentPacket {
        /// C# member: `F:LibreMetaverse.Packets.ParcelGodMarkAsContentPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelGodMarkAsContentPacket.AgentDataBlock LibreMetaverse.Packets.ParcelGodMarkAsContentPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::ParcelGodMarkAsContentPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.ParcelGodMarkAsContentPacket.ParcelData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelGodMarkAsContentPacket.ParcelDataBlock LibreMetaverse.Packets.ParcelGodMarkAsContentPacket.ParcelData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub parcel_data: libremetaverse::packets::ParcelGodMarkAsContentPacketParcelDataBlock,
    }
    impl ParcelGodMarkAsContentPacket {
        /// C# member: `M:LibreMetaverse.Packets.ParcelGodMarkAsContentPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelGodMarkAsContentPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelGodMarkAsContentPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelGodMarkAsContentPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelGodMarkAsContentPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelGodMarkAsContentPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelGodMarkAsContentPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelGodMarkAsContentPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelGodMarkAsContentPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelGodMarkAsContentPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelGodMarkAsContentPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelGodMarkAsContentPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelGodMarkAsContentPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ParcelGodMarkAsContentPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelGodMarkAsContentPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ParcelGodMarkAsContentPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelGodMarkAsContentPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ParcelGodMarkAsContentPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelGodMarkAsContentPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ParcelGodMarkAsContentPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelGodMarkAsContentPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ParcelGodMarkAsContentPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelGodMarkAsContentPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelGodMarkAsContentPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelGodMarkAsContentPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ParcelGodMarkAsContentPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ParcelGodMarkAsContentPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ParcelGodMarkAsContentPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ParcelGodMarkAsContentPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ParcelGodMarkAsContentPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ParcelGodMarkAsContentPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ParcelGodMarkAsContentPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ParcelGodMarkAsContentPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl ParcelGodMarkAsContentPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ParcelGodMarkAsContentPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelGodMarkAsContentPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelGodMarkAsContentPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelGodMarkAsContentPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelGodMarkAsContentPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelGodMarkAsContentPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelGodMarkAsContentPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelGodMarkAsContentPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelGodMarkAsContentPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelGodMarkAsContentPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelGodMarkAsContentPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ParcelGodMarkAsContentPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelGodMarkAsContentPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelGodMarkAsContentPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ParcelGodMarkAsContentPacket.ParcelDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ParcelGodMarkAsContentPacket.ParcelDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ParcelGodMarkAsContentPacketParcelDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ParcelGodMarkAsContentPacket.ParcelDataBlock.LocalID`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelGodMarkAsContentPacket.ParcelDataBlock.LocalID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub local_id: i32,
    }
    impl ParcelGodMarkAsContentPacketParcelDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ParcelGodMarkAsContentPacket.ParcelDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelGodMarkAsContentPacket.ParcelDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelGodMarkAsContentPacket.ParcelDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelGodMarkAsContentPacket.ParcelDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelGodMarkAsContentPacket.ParcelDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelGodMarkAsContentPacket.ParcelDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelGodMarkAsContentPacket.ParcelDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelGodMarkAsContentPacket.ParcelDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelGodMarkAsContentPacket.ParcelDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelGodMarkAsContentPacket.ParcelDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelGodMarkAsContentPacket.ParcelDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ParcelGodMarkAsContentPacket.ParcelDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelGodMarkAsContentPacket.ParcelDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelGodMarkAsContentPacket.ParcelDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ParcelInfoReplyPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ParcelInfoReplyPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ParcelInfoReplyPacket {
        /// C# member: `F:LibreMetaverse.Packets.ParcelInfoReplyPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelInfoReplyPacket.AgentDataBlock LibreMetaverse.Packets.ParcelInfoReplyPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::ParcelInfoReplyPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.ParcelInfoReplyPacket.Data`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelInfoReplyPacket.DataBlock LibreMetaverse.Packets.ParcelInfoReplyPacket.Data`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub data: libremetaverse::packets::ParcelInfoReplyPacketDataBlock,
    }
    impl ParcelInfoReplyPacket {
        /// C# member: `M:LibreMetaverse.Packets.ParcelInfoReplyPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelInfoReplyPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelInfoReplyPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelInfoReplyPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelInfoReplyPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelInfoReplyPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelInfoReplyPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelInfoReplyPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelInfoReplyPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelInfoReplyPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelInfoReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelInfoReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelInfoReplyPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ParcelInfoReplyPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelInfoReplyPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ParcelInfoReplyPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelInfoReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ParcelInfoReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelInfoReplyPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ParcelInfoReplyPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelInfoReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ParcelInfoReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelInfoReplyPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelInfoReplyPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelInfoReplyPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ParcelInfoReplyPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ParcelInfoReplyPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ParcelInfoReplyPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ParcelInfoReplyPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ParcelInfoReplyPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ParcelInfoReplyPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
    }
    impl ParcelInfoReplyPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ParcelInfoReplyPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelInfoReplyPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelInfoReplyPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelInfoReplyPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelInfoReplyPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelInfoReplyPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelInfoReplyPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelInfoReplyPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelInfoReplyPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelInfoReplyPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelInfoReplyPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ParcelInfoReplyPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelInfoReplyPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelInfoReplyPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ParcelInfoReplyPacket.DataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ParcelInfoReplyPacket.DataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ParcelInfoReplyPacketDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ParcelInfoReplyPacket.DataBlock.ActualArea`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelInfoReplyPacket.DataBlock.ActualArea`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub actual_area: i32,
        /// C# member: `F:LibreMetaverse.Packets.ParcelInfoReplyPacket.DataBlock.AuctionID`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelInfoReplyPacket.DataBlock.AuctionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub auction_id: i32,
        /// C# member: `F:LibreMetaverse.Packets.ParcelInfoReplyPacket.DataBlock.BillableArea`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelInfoReplyPacket.DataBlock.BillableArea`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub billable_area: i32,
        /// C# member: `F:LibreMetaverse.Packets.ParcelInfoReplyPacket.DataBlock.Desc`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ParcelInfoReplyPacket.DataBlock.Desc`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub desc: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.ParcelInfoReplyPacket.DataBlock.Dwell`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.ParcelInfoReplyPacket.DataBlock.Dwell`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub dwell: f32,
        /// C# member: `F:LibreMetaverse.Packets.ParcelInfoReplyPacket.DataBlock.Flags`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.ParcelInfoReplyPacket.DataBlock.Flags`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub flags: u8,
        /// C# member: `F:LibreMetaverse.Packets.ParcelInfoReplyPacket.DataBlock.GlobalX`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.ParcelInfoReplyPacket.DataBlock.GlobalX`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub global_x: f32,
        /// C# member: `F:LibreMetaverse.Packets.ParcelInfoReplyPacket.DataBlock.GlobalY`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.ParcelInfoReplyPacket.DataBlock.GlobalY`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub global_y: f32,
        /// C# member: `F:LibreMetaverse.Packets.ParcelInfoReplyPacket.DataBlock.GlobalZ`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.ParcelInfoReplyPacket.DataBlock.GlobalZ`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub global_z: f32,
        /// C# member: `F:LibreMetaverse.Packets.ParcelInfoReplyPacket.DataBlock.Name`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ParcelInfoReplyPacket.DataBlock.Name`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub name: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.ParcelInfoReplyPacket.DataBlock.OwnerID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ParcelInfoReplyPacket.DataBlock.OwnerID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub owner_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ParcelInfoReplyPacket.DataBlock.ParcelID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ParcelInfoReplyPacket.DataBlock.ParcelID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub parcel_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ParcelInfoReplyPacket.DataBlock.SalePrice`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelInfoReplyPacket.DataBlock.SalePrice`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub sale_price: i32,
        /// C# member: `F:LibreMetaverse.Packets.ParcelInfoReplyPacket.DataBlock.SimName`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ParcelInfoReplyPacket.DataBlock.SimName`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub sim_name: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.ParcelInfoReplyPacket.DataBlock.SnapshotID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ParcelInfoReplyPacket.DataBlock.SnapshotID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub snapshot_id: libremetaverse_types::UUID,
    }
    impl ParcelInfoReplyPacketDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ParcelInfoReplyPacket.DataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelInfoReplyPacket.DataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelInfoReplyPacket.DataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelInfoReplyPacket.DataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelInfoReplyPacket.DataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelInfoReplyPacket.DataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelInfoReplyPacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelInfoReplyPacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelInfoReplyPacket.DataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelInfoReplyPacket.DataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelInfoReplyPacket.DataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ParcelInfoReplyPacket.DataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelInfoReplyPacket.DataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelInfoReplyPacket.DataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ParcelInfoRequestPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ParcelInfoRequestPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ParcelInfoRequestPacket {
        /// C# member: `F:LibreMetaverse.Packets.ParcelInfoRequestPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelInfoRequestPacket.AgentDataBlock LibreMetaverse.Packets.ParcelInfoRequestPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::ParcelInfoRequestPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.ParcelInfoRequestPacket.Data`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelInfoRequestPacket.DataBlock LibreMetaverse.Packets.ParcelInfoRequestPacket.Data`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub data: libremetaverse::packets::ParcelInfoRequestPacketDataBlock,
    }
    impl ParcelInfoRequestPacket {
        /// C# member: `M:LibreMetaverse.Packets.ParcelInfoRequestPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelInfoRequestPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelInfoRequestPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelInfoRequestPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelInfoRequestPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelInfoRequestPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelInfoRequestPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelInfoRequestPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelInfoRequestPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelInfoRequestPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelInfoRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelInfoRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelInfoRequestPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ParcelInfoRequestPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelInfoRequestPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ParcelInfoRequestPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelInfoRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ParcelInfoRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelInfoRequestPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ParcelInfoRequestPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelInfoRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ParcelInfoRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelInfoRequestPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelInfoRequestPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelInfoRequestPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ParcelInfoRequestPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ParcelInfoRequestPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ParcelInfoRequestPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ParcelInfoRequestPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ParcelInfoRequestPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ParcelInfoRequestPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ParcelInfoRequestPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ParcelInfoRequestPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl ParcelInfoRequestPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ParcelInfoRequestPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelInfoRequestPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelInfoRequestPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelInfoRequestPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelInfoRequestPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelInfoRequestPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelInfoRequestPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelInfoRequestPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelInfoRequestPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelInfoRequestPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelInfoRequestPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ParcelInfoRequestPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelInfoRequestPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelInfoRequestPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ParcelInfoRequestPacket.DataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ParcelInfoRequestPacket.DataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ParcelInfoRequestPacketDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ParcelInfoRequestPacket.DataBlock.ParcelID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ParcelInfoRequestPacket.DataBlock.ParcelID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub parcel_id: libremetaverse_types::UUID,
    }
    impl ParcelInfoRequestPacketDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ParcelInfoRequestPacket.DataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelInfoRequestPacket.DataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelInfoRequestPacket.DataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelInfoRequestPacket.DataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelInfoRequestPacket.DataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelInfoRequestPacket.DataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelInfoRequestPacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelInfoRequestPacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelInfoRequestPacket.DataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelInfoRequestPacket.DataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelInfoRequestPacket.DataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ParcelInfoRequestPacket.DataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelInfoRequestPacket.DataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelInfoRequestPacket.DataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ParcelJoinPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ParcelJoinPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ParcelJoinPacket {
        /// C# member: `F:LibreMetaverse.Packets.ParcelJoinPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelJoinPacket.AgentDataBlock LibreMetaverse.Packets.ParcelJoinPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::ParcelJoinPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.ParcelJoinPacket.ParcelData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelJoinPacket.ParcelDataBlock LibreMetaverse.Packets.ParcelJoinPacket.ParcelData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub parcel_data: libremetaverse::packets::ParcelJoinPacketParcelDataBlock,
    }
    impl ParcelJoinPacket {
        /// C# member: `M:LibreMetaverse.Packets.ParcelJoinPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelJoinPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelJoinPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelJoinPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelJoinPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelJoinPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelJoinPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelJoinPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelJoinPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelJoinPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelJoinPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelJoinPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelJoinPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ParcelJoinPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelJoinPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ParcelJoinPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelJoinPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ParcelJoinPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelJoinPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ParcelJoinPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelJoinPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ParcelJoinPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelJoinPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelJoinPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelJoinPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ParcelJoinPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ParcelJoinPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ParcelJoinPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ParcelJoinPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ParcelJoinPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ParcelJoinPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ParcelJoinPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ParcelJoinPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl ParcelJoinPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ParcelJoinPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelJoinPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelJoinPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelJoinPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelJoinPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelJoinPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelJoinPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelJoinPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelJoinPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelJoinPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelJoinPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ParcelJoinPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelJoinPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelJoinPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ParcelJoinPacket.ParcelDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ParcelJoinPacket.ParcelDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ParcelJoinPacketParcelDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ParcelJoinPacket.ParcelDataBlock.East`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.ParcelJoinPacket.ParcelDataBlock.East`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub east: f32,
        /// C# member: `F:LibreMetaverse.Packets.ParcelJoinPacket.ParcelDataBlock.North`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.ParcelJoinPacket.ParcelDataBlock.North`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub north: f32,
        /// C# member: `F:LibreMetaverse.Packets.ParcelJoinPacket.ParcelDataBlock.South`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.ParcelJoinPacket.ParcelDataBlock.South`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub south: f32,
        /// C# member: `F:LibreMetaverse.Packets.ParcelJoinPacket.ParcelDataBlock.West`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.ParcelJoinPacket.ParcelDataBlock.West`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub west: f32,
    }
    impl ParcelJoinPacketParcelDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ParcelJoinPacket.ParcelDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelJoinPacket.ParcelDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelJoinPacket.ParcelDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelJoinPacket.ParcelDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelJoinPacket.ParcelDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelJoinPacket.ParcelDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelJoinPacket.ParcelDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelJoinPacket.ParcelDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelJoinPacket.ParcelDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelJoinPacket.ParcelDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelJoinPacket.ParcelDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ParcelJoinPacket.ParcelDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelJoinPacket.ParcelDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelJoinPacket.ParcelDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ParcelMediaCommandMessagePacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ParcelMediaCommandMessagePacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ParcelMediaCommandMessagePacket {
        /// C# member: `F:LibreMetaverse.Packets.ParcelMediaCommandMessagePacket.CommandBlock`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelMediaCommandMessagePacket.CommandBlockBlock LibreMetaverse.Packets.ParcelMediaCommandMessagePacket.CommandBlock`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub command_block:
            libremetaverse::packets::ParcelMediaCommandMessagePacketCommandBlockBlock,
    }
    impl ParcelMediaCommandMessagePacket {
        /// C# member: `M:LibreMetaverse.Packets.ParcelMediaCommandMessagePacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelMediaCommandMessagePacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelMediaCommandMessagePacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelMediaCommandMessagePacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelMediaCommandMessagePacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelMediaCommandMessagePacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelMediaCommandMessagePacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelMediaCommandMessagePacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelMediaCommandMessagePacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelMediaCommandMessagePacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelMediaCommandMessagePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelMediaCommandMessagePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelMediaCommandMessagePacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ParcelMediaCommandMessagePacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelMediaCommandMessagePacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ParcelMediaCommandMessagePacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelMediaCommandMessagePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ParcelMediaCommandMessagePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelMediaCommandMessagePacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ParcelMediaCommandMessagePacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelMediaCommandMessagePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ParcelMediaCommandMessagePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelMediaCommandMessagePacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelMediaCommandMessagePacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelMediaCommandMessagePacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ParcelMediaCommandMessagePacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ParcelMediaCommandMessagePacket.CommandBlockBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ParcelMediaCommandMessagePacket.CommandBlockBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ParcelMediaCommandMessagePacketCommandBlockBlock {
        /// C# member: `F:LibreMetaverse.Packets.ParcelMediaCommandMessagePacket.CommandBlockBlock.Command`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ParcelMediaCommandMessagePacket.CommandBlockBlock.Command`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub command: u32,
        /// C# member: `F:LibreMetaverse.Packets.ParcelMediaCommandMessagePacket.CommandBlockBlock.Flags`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ParcelMediaCommandMessagePacket.CommandBlockBlock.Flags`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub flags: u32,
        /// C# member: `F:LibreMetaverse.Packets.ParcelMediaCommandMessagePacket.CommandBlockBlock.Time`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.ParcelMediaCommandMessagePacket.CommandBlockBlock.Time`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub time: f32,
    }
    impl ParcelMediaCommandMessagePacketCommandBlockBlock {
        /// C# member: `M:LibreMetaverse.Packets.ParcelMediaCommandMessagePacket.CommandBlockBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelMediaCommandMessagePacket.CommandBlockBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelMediaCommandMessagePacket.CommandBlockBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelMediaCommandMessagePacket.CommandBlockBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelMediaCommandMessagePacket.CommandBlockBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelMediaCommandMessagePacket.CommandBlockBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelMediaCommandMessagePacket.CommandBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelMediaCommandMessagePacket.CommandBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelMediaCommandMessagePacket.CommandBlockBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelMediaCommandMessagePacket.CommandBlockBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelMediaCommandMessagePacket.CommandBlockBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ParcelMediaCommandMessagePacket.CommandBlockBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelMediaCommandMessagePacket.CommandBlockBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelMediaCommandMessagePacket.CommandBlockBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ParcelMediaUpdatePacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ParcelMediaUpdatePacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ParcelMediaUpdatePacket {
        /// C# member: `F:LibreMetaverse.Packets.ParcelMediaUpdatePacket.DataBlock`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelMediaUpdatePacket.DataBlockBlock LibreMetaverse.Packets.ParcelMediaUpdatePacket.DataBlock`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub data_block: libremetaverse::packets::ParcelMediaUpdatePacketDataBlockBlock,
        /// C# member: `F:LibreMetaverse.Packets.ParcelMediaUpdatePacket.DataBlockExtended`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelMediaUpdatePacket.DataBlockExtendedBlock LibreMetaverse.Packets.ParcelMediaUpdatePacket.DataBlockExtended`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub data_block_extended:
            libremetaverse::packets::ParcelMediaUpdatePacketDataBlockExtendedBlock,
    }
    impl ParcelMediaUpdatePacket {
        /// C# member: `M:LibreMetaverse.Packets.ParcelMediaUpdatePacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelMediaUpdatePacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelMediaUpdatePacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelMediaUpdatePacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelMediaUpdatePacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelMediaUpdatePacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelMediaUpdatePacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelMediaUpdatePacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelMediaUpdatePacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelMediaUpdatePacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelMediaUpdatePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelMediaUpdatePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelMediaUpdatePacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ParcelMediaUpdatePacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelMediaUpdatePacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ParcelMediaUpdatePacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelMediaUpdatePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ParcelMediaUpdatePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelMediaUpdatePacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ParcelMediaUpdatePacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelMediaUpdatePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ParcelMediaUpdatePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelMediaUpdatePacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelMediaUpdatePacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelMediaUpdatePacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ParcelMediaUpdatePacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ParcelMediaUpdatePacket.DataBlockBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ParcelMediaUpdatePacket.DataBlockBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ParcelMediaUpdatePacketDataBlockBlock {
        /// C# member: `F:LibreMetaverse.Packets.ParcelMediaUpdatePacket.DataBlockBlock.MediaAutoScale`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.ParcelMediaUpdatePacket.DataBlockBlock.MediaAutoScale`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub media_auto_scale: u8,
        /// C# member: `F:LibreMetaverse.Packets.ParcelMediaUpdatePacket.DataBlockBlock.MediaID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ParcelMediaUpdatePacket.DataBlockBlock.MediaID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub media_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ParcelMediaUpdatePacket.DataBlockBlock.MediaURL`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ParcelMediaUpdatePacket.DataBlockBlock.MediaURL`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub media_url: Vec<u8>,
    }
    impl ParcelMediaUpdatePacketDataBlockBlock {
        /// C# member: `M:LibreMetaverse.Packets.ParcelMediaUpdatePacket.DataBlockBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelMediaUpdatePacket.DataBlockBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelMediaUpdatePacket.DataBlockBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelMediaUpdatePacket.DataBlockBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelMediaUpdatePacket.DataBlockBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelMediaUpdatePacket.DataBlockBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelMediaUpdatePacket.DataBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelMediaUpdatePacket.DataBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelMediaUpdatePacket.DataBlockBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelMediaUpdatePacket.DataBlockBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelMediaUpdatePacket.DataBlockBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ParcelMediaUpdatePacket.DataBlockBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelMediaUpdatePacket.DataBlockBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelMediaUpdatePacket.DataBlockBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ParcelMediaUpdatePacket.DataBlockExtendedBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ParcelMediaUpdatePacket.DataBlockExtendedBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ParcelMediaUpdatePacketDataBlockExtendedBlock {
        /// C# member: `F:LibreMetaverse.Packets.ParcelMediaUpdatePacket.DataBlockExtendedBlock.MediaDesc`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ParcelMediaUpdatePacket.DataBlockExtendedBlock.MediaDesc`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub media_desc: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.ParcelMediaUpdatePacket.DataBlockExtendedBlock.MediaHeight`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelMediaUpdatePacket.DataBlockExtendedBlock.MediaHeight`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub media_height: i32,
        /// C# member: `F:LibreMetaverse.Packets.ParcelMediaUpdatePacket.DataBlockExtendedBlock.MediaLoop`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.ParcelMediaUpdatePacket.DataBlockExtendedBlock.MediaLoop`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub media_loop: u8,
        /// C# member: `F:LibreMetaverse.Packets.ParcelMediaUpdatePacket.DataBlockExtendedBlock.MediaType`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ParcelMediaUpdatePacket.DataBlockExtendedBlock.MediaType`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub media_type: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.ParcelMediaUpdatePacket.DataBlockExtendedBlock.MediaWidth`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelMediaUpdatePacket.DataBlockExtendedBlock.MediaWidth`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub media_width: i32,
    }
    impl ParcelMediaUpdatePacketDataBlockExtendedBlock {
        /// C# member: `M:LibreMetaverse.Packets.ParcelMediaUpdatePacket.DataBlockExtendedBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelMediaUpdatePacket.DataBlockExtendedBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelMediaUpdatePacket.DataBlockExtendedBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelMediaUpdatePacket.DataBlockExtendedBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelMediaUpdatePacket.DataBlockExtendedBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelMediaUpdatePacket.DataBlockExtendedBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelMediaUpdatePacket.DataBlockExtendedBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelMediaUpdatePacket.DataBlockExtendedBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelMediaUpdatePacket.DataBlockExtendedBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelMediaUpdatePacket.DataBlockExtendedBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelMediaUpdatePacket.DataBlockExtendedBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ParcelMediaUpdatePacket.DataBlockExtendedBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelMediaUpdatePacket.DataBlockExtendedBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelMediaUpdatePacket.DataBlockExtendedBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ParcelObjectOwnersReplyPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ParcelObjectOwnersReplyPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ParcelObjectOwnersReplyPacket {
        /// C# member: `F:LibreMetaverse.Packets.ParcelObjectOwnersReplyPacket.Data`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelObjectOwnersReplyPacket.DataBlock[] LibreMetaverse.Packets.ParcelObjectOwnersReplyPacket.Data`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub data: Vec<libremetaverse::packets::ParcelObjectOwnersReplyPacketDataBlock>,
    }
    impl ParcelObjectOwnersReplyPacket {
        /// C# member: `M:LibreMetaverse.Packets.ParcelObjectOwnersReplyPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelObjectOwnersReplyPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelObjectOwnersReplyPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelObjectOwnersReplyPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelObjectOwnersReplyPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelObjectOwnersReplyPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelObjectOwnersReplyPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelObjectOwnersReplyPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelObjectOwnersReplyPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelObjectOwnersReplyPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelObjectOwnersReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelObjectOwnersReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelObjectOwnersReplyPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ParcelObjectOwnersReplyPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelObjectOwnersReplyPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ParcelObjectOwnersReplyPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelObjectOwnersReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ParcelObjectOwnersReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelObjectOwnersReplyPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ParcelObjectOwnersReplyPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelObjectOwnersReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ParcelObjectOwnersReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelObjectOwnersReplyPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelObjectOwnersReplyPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelObjectOwnersReplyPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ParcelObjectOwnersReplyPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ParcelObjectOwnersReplyPacket.DataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ParcelObjectOwnersReplyPacket.DataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ParcelObjectOwnersReplyPacketDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ParcelObjectOwnersReplyPacket.DataBlock.Count`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelObjectOwnersReplyPacket.DataBlock.Count`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub count: i32,
        /// C# member: `F:LibreMetaverse.Packets.ParcelObjectOwnersReplyPacket.DataBlock.IsGroupOwned`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ParcelObjectOwnersReplyPacket.DataBlock.IsGroupOwned`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub is_group_owned: bool,
        /// C# member: `F:LibreMetaverse.Packets.ParcelObjectOwnersReplyPacket.DataBlock.OnlineStatus`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ParcelObjectOwnersReplyPacket.DataBlock.OnlineStatus`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub online_status: bool,
        /// C# member: `F:LibreMetaverse.Packets.ParcelObjectOwnersReplyPacket.DataBlock.OwnerID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ParcelObjectOwnersReplyPacket.DataBlock.OwnerID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub owner_id: libremetaverse_types::UUID,
    }
    impl ParcelObjectOwnersReplyPacketDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ParcelObjectOwnersReplyPacket.DataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelObjectOwnersReplyPacket.DataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelObjectOwnersReplyPacket.DataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelObjectOwnersReplyPacket.DataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelObjectOwnersReplyPacket.DataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelObjectOwnersReplyPacket.DataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelObjectOwnersReplyPacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelObjectOwnersReplyPacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelObjectOwnersReplyPacket.DataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelObjectOwnersReplyPacket.DataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelObjectOwnersReplyPacket.DataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ParcelObjectOwnersReplyPacket.DataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelObjectOwnersReplyPacket.DataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelObjectOwnersReplyPacket.DataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ParcelObjectOwnersRequestPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ParcelObjectOwnersRequestPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ParcelObjectOwnersRequestPacket {
        /// C# member: `F:LibreMetaverse.Packets.ParcelObjectOwnersRequestPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelObjectOwnersRequestPacket.AgentDataBlock LibreMetaverse.Packets.ParcelObjectOwnersRequestPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::ParcelObjectOwnersRequestPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.ParcelObjectOwnersRequestPacket.ParcelData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelObjectOwnersRequestPacket.ParcelDataBlock LibreMetaverse.Packets.ParcelObjectOwnersRequestPacket.ParcelData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub parcel_data: libremetaverse::packets::ParcelObjectOwnersRequestPacketParcelDataBlock,
    }
    impl ParcelObjectOwnersRequestPacket {
        /// C# member: `M:LibreMetaverse.Packets.ParcelObjectOwnersRequestPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelObjectOwnersRequestPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelObjectOwnersRequestPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelObjectOwnersRequestPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelObjectOwnersRequestPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelObjectOwnersRequestPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelObjectOwnersRequestPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelObjectOwnersRequestPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelObjectOwnersRequestPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelObjectOwnersRequestPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelObjectOwnersRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelObjectOwnersRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelObjectOwnersRequestPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ParcelObjectOwnersRequestPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelObjectOwnersRequestPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ParcelObjectOwnersRequestPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelObjectOwnersRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ParcelObjectOwnersRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelObjectOwnersRequestPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ParcelObjectOwnersRequestPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelObjectOwnersRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ParcelObjectOwnersRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelObjectOwnersRequestPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelObjectOwnersRequestPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelObjectOwnersRequestPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ParcelObjectOwnersRequestPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ParcelObjectOwnersRequestPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ParcelObjectOwnersRequestPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ParcelObjectOwnersRequestPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ParcelObjectOwnersRequestPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ParcelObjectOwnersRequestPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ParcelObjectOwnersRequestPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ParcelObjectOwnersRequestPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl ParcelObjectOwnersRequestPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ParcelObjectOwnersRequestPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelObjectOwnersRequestPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelObjectOwnersRequestPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelObjectOwnersRequestPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelObjectOwnersRequestPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelObjectOwnersRequestPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelObjectOwnersRequestPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelObjectOwnersRequestPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelObjectOwnersRequestPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelObjectOwnersRequestPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelObjectOwnersRequestPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ParcelObjectOwnersRequestPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelObjectOwnersRequestPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelObjectOwnersRequestPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ParcelObjectOwnersRequestPacket.ParcelDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ParcelObjectOwnersRequestPacket.ParcelDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ParcelObjectOwnersRequestPacketParcelDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ParcelObjectOwnersRequestPacket.ParcelDataBlock.LocalID`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelObjectOwnersRequestPacket.ParcelDataBlock.LocalID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub local_id: i32,
    }
    impl ParcelObjectOwnersRequestPacketParcelDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ParcelObjectOwnersRequestPacket.ParcelDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelObjectOwnersRequestPacket.ParcelDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelObjectOwnersRequestPacket.ParcelDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelObjectOwnersRequestPacket.ParcelDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelObjectOwnersRequestPacket.ParcelDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelObjectOwnersRequestPacket.ParcelDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelObjectOwnersRequestPacket.ParcelDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelObjectOwnersRequestPacket.ParcelDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelObjectOwnersRequestPacket.ParcelDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelObjectOwnersRequestPacket.ParcelDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelObjectOwnersRequestPacket.ParcelDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ParcelObjectOwnersRequestPacket.ParcelDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelObjectOwnersRequestPacket.ParcelDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelObjectOwnersRequestPacket.ParcelDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ParcelOverlayPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ParcelOverlayPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ParcelOverlayPacket {
        /// C# member: `F:LibreMetaverse.Packets.ParcelOverlayPacket.ParcelData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelOverlayPacket.ParcelDataBlock LibreMetaverse.Packets.ParcelOverlayPacket.ParcelData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub parcel_data: libremetaverse::packets::ParcelOverlayPacketParcelDataBlock,
    }
    impl ParcelOverlayPacket {
        /// C# member: `M:LibreMetaverse.Packets.ParcelOverlayPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelOverlayPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelOverlayPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelOverlayPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelOverlayPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelOverlayPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelOverlayPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelOverlayPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelOverlayPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelOverlayPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelOverlayPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelOverlayPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelOverlayPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ParcelOverlayPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelOverlayPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ParcelOverlayPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelOverlayPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ParcelOverlayPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelOverlayPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ParcelOverlayPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelOverlayPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ParcelOverlayPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelOverlayPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelOverlayPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelOverlayPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ParcelOverlayPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ParcelOverlayPacket.ParcelDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ParcelOverlayPacket.ParcelDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ParcelOverlayPacketParcelDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ParcelOverlayPacket.ParcelDataBlock.Data`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ParcelOverlayPacket.ParcelDataBlock.Data`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub data: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.ParcelOverlayPacket.ParcelDataBlock.SequenceID`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelOverlayPacket.ParcelDataBlock.SequenceID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub sequence_id: i32,
    }
    impl ParcelOverlayPacketParcelDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ParcelOverlayPacket.ParcelDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelOverlayPacket.ParcelDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelOverlayPacket.ParcelDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelOverlayPacket.ParcelDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelOverlayPacket.ParcelDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelOverlayPacket.ParcelDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelOverlayPacket.ParcelDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelOverlayPacket.ParcelDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelOverlayPacket.ParcelDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelOverlayPacket.ParcelDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelOverlayPacket.ParcelDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ParcelOverlayPacket.ParcelDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelOverlayPacket.ParcelDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelOverlayPacket.ParcelDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ParcelPropertiesPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ParcelPropertiesPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ParcelPropertiesPacket {
        /// C# member: `F:LibreMetaverse.Packets.ParcelPropertiesPacket.AgeVerificationBlock`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelPropertiesPacket.AgeVerificationBlockBlock LibreMetaverse.Packets.ParcelPropertiesPacket.AgeVerificationBlock`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub age_verification_block:
            libremetaverse::packets::ParcelPropertiesPacketAgeVerificationBlockBlock,
        /// C# member: `F:LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub parcel_data: libremetaverse::packets::ParcelPropertiesPacketParcelDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelEnvironmentBlock`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelEnvironmentBlockBlock LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelEnvironmentBlock`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub parcel_environment_block:
            libremetaverse::packets::ParcelPropertiesPacketParcelEnvironmentBlockBlock,
        /// C# member: `F:LibreMetaverse.Packets.ParcelPropertiesPacket.RegionAllowAccessBlock`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelPropertiesPacket.RegionAllowAccessBlockBlock LibreMetaverse.Packets.ParcelPropertiesPacket.RegionAllowAccessBlock`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub region_allow_access_block:
            libremetaverse::packets::ParcelPropertiesPacketRegionAllowAccessBlockBlock,
    }
    impl ParcelPropertiesPacket {
        /// C# member: `M:LibreMetaverse.Packets.ParcelPropertiesPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelPropertiesPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelPropertiesPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelPropertiesPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelPropertiesPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelPropertiesPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelPropertiesPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelPropertiesPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelPropertiesPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelPropertiesPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelPropertiesPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelPropertiesPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelPropertiesPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ParcelPropertiesPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelPropertiesPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ParcelPropertiesPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelPropertiesPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ParcelPropertiesPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelPropertiesPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ParcelPropertiesPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelPropertiesPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ParcelPropertiesPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelPropertiesPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelPropertiesPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelPropertiesPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ParcelPropertiesPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ParcelPropertiesPacket.AgeVerificationBlockBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ParcelPropertiesPacket.AgeVerificationBlockBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ParcelPropertiesPacketAgeVerificationBlockBlock {
        /// C# member: `F:LibreMetaverse.Packets.ParcelPropertiesPacket.AgeVerificationBlockBlock.RegionDenyAgeUnverified`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ParcelPropertiesPacket.AgeVerificationBlockBlock.RegionDenyAgeUnverified`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub region_deny_age_unverified: bool,
    }
    impl ParcelPropertiesPacketAgeVerificationBlockBlock {
        /// C# member: `M:LibreMetaverse.Packets.ParcelPropertiesPacket.AgeVerificationBlockBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelPropertiesPacket.AgeVerificationBlockBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelPropertiesPacket.AgeVerificationBlockBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelPropertiesPacket.AgeVerificationBlockBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelPropertiesPacket.AgeVerificationBlockBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelPropertiesPacket.AgeVerificationBlockBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelPropertiesPacket.AgeVerificationBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelPropertiesPacket.AgeVerificationBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelPropertiesPacket.AgeVerificationBlockBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelPropertiesPacket.AgeVerificationBlockBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelPropertiesPacket.AgeVerificationBlockBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ParcelPropertiesPacket.AgeVerificationBlockBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelPropertiesPacket.AgeVerificationBlockBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelPropertiesPacket.AgeVerificationBlockBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ParcelPropertiesPacketParcelDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock.AABBMax`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock.AABBMax`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub aabb_max: libremetaverse_types::Vector3,
        /// C# member: `F:LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock.AABBMin`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock.AABBMin`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub aabb_min: libremetaverse_types::Vector3,
        /// C# member: `F:LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock.Area`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock.Area`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub area: i32,
        /// C# member: `F:LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock.AuctionID`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock.AuctionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub auction_id: u32,
        /// C# member: `F:LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock.AuthBuyerID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock.AuthBuyerID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub auth_buyer_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock.Bitmap`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock.Bitmap`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub bitmap: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock.Category`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock.Category`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub category: u8,
        /// C# member: `F:LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock.ClaimDate`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock.ClaimDate`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub claim_date: i32,
        /// C# member: `F:LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock.ClaimPrice`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock.ClaimPrice`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub claim_price: i32,
        /// C# member: `F:LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock.Desc`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock.Desc`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub desc: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock.GroupID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock.GroupID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock.GroupPrims`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock.GroupPrims`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_prims: i32,
        /// C# member: `F:LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock.IsGroupOwned`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock.IsGroupOwned`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub is_group_owned: bool,
        /// C# member: `F:LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock.LandingType`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock.LandingType`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub landing_type: u8,
        /// C# member: `F:LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock.LocalID`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock.LocalID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub local_id: i32,
        /// C# member: `F:LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock.MaxPrims`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock.MaxPrims`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub max_prims: i32,
        /// C# member: `F:LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock.MediaAutoScale`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock.MediaAutoScale`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub media_auto_scale: u8,
        /// C# member: `F:LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock.MediaID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock.MediaID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub media_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock.MediaURL`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock.MediaURL`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub media_url: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock.MusicURL`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock.MusicURL`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub music_url: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock.Name`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock.Name`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub name: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock.OtherCleanTime`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock.OtherCleanTime`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub other_clean_time: i32,
        /// C# member: `F:LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock.OtherCount`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock.OtherCount`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub other_count: i32,
        /// C# member: `F:LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock.OtherPrims`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock.OtherPrims`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub other_prims: i32,
        /// C# member: `F:LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock.OwnerID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock.OwnerID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub owner_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock.OwnerPrims`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock.OwnerPrims`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub owner_prims: i32,
        /// C# member: `F:LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock.ParcelFlags`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock.ParcelFlags`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub parcel_flags: u32,
        /// C# member: `F:LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock.ParcelPrimBonus`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock.ParcelPrimBonus`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub parcel_prim_bonus: f32,
        /// C# member: `F:LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock.PassHours`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock.PassHours`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub pass_hours: f32,
        /// C# member: `F:LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock.PassPrice`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock.PassPrice`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub pass_price: i32,
        /// C# member: `F:LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock.PublicCount`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock.PublicCount`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub public_count: i32,
        /// C# member: `F:LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock.RegionDenyAnonymous`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock.RegionDenyAnonymous`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub region_deny_anonymous: bool,
        /// C# member: `F:LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock.RegionDenyIdentified`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock.RegionDenyIdentified`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub region_deny_identified: bool,
        /// C# member: `F:LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock.RegionDenyTransacted`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock.RegionDenyTransacted`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub region_deny_transacted: bool,
        /// C# member: `F:LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock.RegionPushOverride`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock.RegionPushOverride`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub region_push_override: bool,
        /// C# member: `F:LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock.RentPrice`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock.RentPrice`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub rent_price: i32,
        /// C# member: `F:LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock.RequestResult`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock.RequestResult`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub request_result: i32,
        /// C# member: `F:LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock.SalePrice`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock.SalePrice`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub sale_price: i32,
        /// C# member: `F:LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock.SelectedPrims`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock.SelectedPrims`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub selected_prims: i32,
        /// C# member: `F:LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock.SelfCount`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock.SelfCount`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub self_count: i32,
        /// C# member: `F:LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock.SequenceID`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock.SequenceID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub sequence_id: i32,
        /// C# member: `F:LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock.SimWideMaxPrims`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock.SimWideMaxPrims`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub sim_wide_max_prims: i32,
        /// C# member: `F:LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock.SimWideTotalPrims`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock.SimWideTotalPrims`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub sim_wide_total_prims: i32,
        /// C# member: `F:LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock.SnapSelection`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock.SnapSelection`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub snap_selection: bool,
        /// C# member: `F:LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock.SnapshotID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock.SnapshotID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub snapshot_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock.Status`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock.Status`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub status: u8,
        /// C# member: `F:LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock.TotalPrims`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock.TotalPrims`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub total_prims: i32,
        /// C# member: `F:LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock.UserLocation`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock.UserLocation`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub user_location: libremetaverse_types::Vector3,
        /// C# member: `F:LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock.UserLookAt`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock.UserLookAt`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub user_look_at: libremetaverse_types::Vector3,
    }
    impl ParcelPropertiesPacketParcelDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelEnvironmentBlockBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelEnvironmentBlockBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ParcelPropertiesPacketParcelEnvironmentBlockBlock {
        /// C# member: `F:LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelEnvironmentBlockBlock.ParcelEnvironmentVersion`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelEnvironmentBlockBlock.ParcelEnvironmentVersion`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub parcel_environment_version: i32,
        /// C# member: `F:LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelEnvironmentBlockBlock.RegionAllowEnvironmentOverride`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelEnvironmentBlockBlock.RegionAllowEnvironmentOverride`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub region_allow_environment_override: bool,
    }
    impl ParcelPropertiesPacketParcelEnvironmentBlockBlock {
        /// C# member: `M:LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelEnvironmentBlockBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelEnvironmentBlockBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelEnvironmentBlockBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelEnvironmentBlockBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelEnvironmentBlockBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelEnvironmentBlockBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelEnvironmentBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelEnvironmentBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelEnvironmentBlockBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelEnvironmentBlockBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelEnvironmentBlockBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelEnvironmentBlockBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelEnvironmentBlockBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelPropertiesPacket.ParcelEnvironmentBlockBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ParcelPropertiesPacket.RegionAllowAccessBlockBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ParcelPropertiesPacket.RegionAllowAccessBlockBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ParcelPropertiesPacketRegionAllowAccessBlockBlock {
        /// C# member: `F:LibreMetaverse.Packets.ParcelPropertiesPacket.RegionAllowAccessBlockBlock.RegionAllowAccessOverride`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ParcelPropertiesPacket.RegionAllowAccessBlockBlock.RegionAllowAccessOverride`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub region_allow_access_override: bool,
    }
    impl ParcelPropertiesPacketRegionAllowAccessBlockBlock {
        /// C# member: `M:LibreMetaverse.Packets.ParcelPropertiesPacket.RegionAllowAccessBlockBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelPropertiesPacket.RegionAllowAccessBlockBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelPropertiesPacket.RegionAllowAccessBlockBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelPropertiesPacket.RegionAllowAccessBlockBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelPropertiesPacket.RegionAllowAccessBlockBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelPropertiesPacket.RegionAllowAccessBlockBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelPropertiesPacket.RegionAllowAccessBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelPropertiesPacket.RegionAllowAccessBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelPropertiesPacket.RegionAllowAccessBlockBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelPropertiesPacket.RegionAllowAccessBlockBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelPropertiesPacket.RegionAllowAccessBlockBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ParcelPropertiesPacket.RegionAllowAccessBlockBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelPropertiesPacket.RegionAllowAccessBlockBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelPropertiesPacket.RegionAllowAccessBlockBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ParcelPropertiesRequestByIDPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ParcelPropertiesRequestByIDPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ParcelPropertiesRequestByIDPacket {
        /// C# member: `F:LibreMetaverse.Packets.ParcelPropertiesRequestByIDPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelPropertiesRequestByIDPacket.AgentDataBlock LibreMetaverse.Packets.ParcelPropertiesRequestByIDPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::ParcelPropertiesRequestByIDPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.ParcelPropertiesRequestByIDPacket.ParcelData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelPropertiesRequestByIDPacket.ParcelDataBlock LibreMetaverse.Packets.ParcelPropertiesRequestByIDPacket.ParcelData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub parcel_data: libremetaverse::packets::ParcelPropertiesRequestByIDPacketParcelDataBlock,
    }
    impl ParcelPropertiesRequestByIDPacket {
        /// C# member: `M:LibreMetaverse.Packets.ParcelPropertiesRequestByIDPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelPropertiesRequestByIDPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelPropertiesRequestByIDPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelPropertiesRequestByIDPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelPropertiesRequestByIDPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelPropertiesRequestByIDPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelPropertiesRequestByIDPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelPropertiesRequestByIDPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelPropertiesRequestByIDPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelPropertiesRequestByIDPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelPropertiesRequestByIDPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelPropertiesRequestByIDPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelPropertiesRequestByIDPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ParcelPropertiesRequestByIDPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelPropertiesRequestByIDPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ParcelPropertiesRequestByIDPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelPropertiesRequestByIDPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ParcelPropertiesRequestByIDPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelPropertiesRequestByIDPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ParcelPropertiesRequestByIDPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelPropertiesRequestByIDPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ParcelPropertiesRequestByIDPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelPropertiesRequestByIDPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelPropertiesRequestByIDPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelPropertiesRequestByIDPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ParcelPropertiesRequestByIDPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ParcelPropertiesRequestByIDPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ParcelPropertiesRequestByIDPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ParcelPropertiesRequestByIDPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ParcelPropertiesRequestByIDPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ParcelPropertiesRequestByIDPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ParcelPropertiesRequestByIDPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ParcelPropertiesRequestByIDPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl ParcelPropertiesRequestByIDPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ParcelPropertiesRequestByIDPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelPropertiesRequestByIDPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelPropertiesRequestByIDPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelPropertiesRequestByIDPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelPropertiesRequestByIDPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelPropertiesRequestByIDPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelPropertiesRequestByIDPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelPropertiesRequestByIDPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelPropertiesRequestByIDPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelPropertiesRequestByIDPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelPropertiesRequestByIDPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ParcelPropertiesRequestByIDPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelPropertiesRequestByIDPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelPropertiesRequestByIDPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ParcelPropertiesRequestByIDPacket.ParcelDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ParcelPropertiesRequestByIDPacket.ParcelDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ParcelPropertiesRequestByIDPacketParcelDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ParcelPropertiesRequestByIDPacket.ParcelDataBlock.LocalID`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelPropertiesRequestByIDPacket.ParcelDataBlock.LocalID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub local_id: i32,
        /// C# member: `F:LibreMetaverse.Packets.ParcelPropertiesRequestByIDPacket.ParcelDataBlock.SequenceID`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelPropertiesRequestByIDPacket.ParcelDataBlock.SequenceID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub sequence_id: i32,
    }
    impl ParcelPropertiesRequestByIDPacketParcelDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ParcelPropertiesRequestByIDPacket.ParcelDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelPropertiesRequestByIDPacket.ParcelDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelPropertiesRequestByIDPacket.ParcelDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelPropertiesRequestByIDPacket.ParcelDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelPropertiesRequestByIDPacket.ParcelDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelPropertiesRequestByIDPacket.ParcelDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelPropertiesRequestByIDPacket.ParcelDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelPropertiesRequestByIDPacket.ParcelDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelPropertiesRequestByIDPacket.ParcelDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelPropertiesRequestByIDPacket.ParcelDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelPropertiesRequestByIDPacket.ParcelDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ParcelPropertiesRequestByIDPacket.ParcelDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelPropertiesRequestByIDPacket.ParcelDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelPropertiesRequestByIDPacket.ParcelDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ParcelPropertiesRequestPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ParcelPropertiesRequestPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ParcelPropertiesRequestPacket {
        /// C# member: `F:LibreMetaverse.Packets.ParcelPropertiesRequestPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelPropertiesRequestPacket.AgentDataBlock LibreMetaverse.Packets.ParcelPropertiesRequestPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::ParcelPropertiesRequestPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.ParcelPropertiesRequestPacket.ParcelData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelPropertiesRequestPacket.ParcelDataBlock LibreMetaverse.Packets.ParcelPropertiesRequestPacket.ParcelData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub parcel_data: libremetaverse::packets::ParcelPropertiesRequestPacketParcelDataBlock,
    }
    impl ParcelPropertiesRequestPacket {
        /// C# member: `M:LibreMetaverse.Packets.ParcelPropertiesRequestPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelPropertiesRequestPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelPropertiesRequestPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelPropertiesRequestPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelPropertiesRequestPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelPropertiesRequestPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelPropertiesRequestPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelPropertiesRequestPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelPropertiesRequestPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelPropertiesRequestPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelPropertiesRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelPropertiesRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelPropertiesRequestPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ParcelPropertiesRequestPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelPropertiesRequestPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ParcelPropertiesRequestPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelPropertiesRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ParcelPropertiesRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelPropertiesRequestPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ParcelPropertiesRequestPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelPropertiesRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ParcelPropertiesRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelPropertiesRequestPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelPropertiesRequestPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelPropertiesRequestPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ParcelPropertiesRequestPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ParcelPropertiesRequestPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ParcelPropertiesRequestPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ParcelPropertiesRequestPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ParcelPropertiesRequestPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ParcelPropertiesRequestPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ParcelPropertiesRequestPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ParcelPropertiesRequestPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl ParcelPropertiesRequestPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ParcelPropertiesRequestPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelPropertiesRequestPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelPropertiesRequestPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelPropertiesRequestPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelPropertiesRequestPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelPropertiesRequestPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelPropertiesRequestPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelPropertiesRequestPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelPropertiesRequestPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelPropertiesRequestPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelPropertiesRequestPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ParcelPropertiesRequestPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelPropertiesRequestPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelPropertiesRequestPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ParcelPropertiesRequestPacket.ParcelDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ParcelPropertiesRequestPacket.ParcelDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ParcelPropertiesRequestPacketParcelDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ParcelPropertiesRequestPacket.ParcelDataBlock.East`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.ParcelPropertiesRequestPacket.ParcelDataBlock.East`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub east: f32,
        /// C# member: `F:LibreMetaverse.Packets.ParcelPropertiesRequestPacket.ParcelDataBlock.North`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.ParcelPropertiesRequestPacket.ParcelDataBlock.North`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub north: f32,
        /// C# member: `F:LibreMetaverse.Packets.ParcelPropertiesRequestPacket.ParcelDataBlock.SequenceID`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelPropertiesRequestPacket.ParcelDataBlock.SequenceID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub sequence_id: i32,
        /// C# member: `F:LibreMetaverse.Packets.ParcelPropertiesRequestPacket.ParcelDataBlock.SnapSelection`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ParcelPropertiesRequestPacket.ParcelDataBlock.SnapSelection`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub snap_selection: bool,
        /// C# member: `F:LibreMetaverse.Packets.ParcelPropertiesRequestPacket.ParcelDataBlock.South`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.ParcelPropertiesRequestPacket.ParcelDataBlock.South`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub south: f32,
        /// C# member: `F:LibreMetaverse.Packets.ParcelPropertiesRequestPacket.ParcelDataBlock.West`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.ParcelPropertiesRequestPacket.ParcelDataBlock.West`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub west: f32,
    }
    impl ParcelPropertiesRequestPacketParcelDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ParcelPropertiesRequestPacket.ParcelDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelPropertiesRequestPacket.ParcelDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelPropertiesRequestPacket.ParcelDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelPropertiesRequestPacket.ParcelDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelPropertiesRequestPacket.ParcelDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelPropertiesRequestPacket.ParcelDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelPropertiesRequestPacket.ParcelDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelPropertiesRequestPacket.ParcelDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelPropertiesRequestPacket.ParcelDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelPropertiesRequestPacket.ParcelDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelPropertiesRequestPacket.ParcelDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ParcelPropertiesRequestPacket.ParcelDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelPropertiesRequestPacket.ParcelDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelPropertiesRequestPacket.ParcelDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ParcelPropertiesUpdatePacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ParcelPropertiesUpdatePacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ParcelPropertiesUpdatePacket {
        /// C# member: `F:LibreMetaverse.Packets.ParcelPropertiesUpdatePacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelPropertiesUpdatePacket.AgentDataBlock LibreMetaverse.Packets.ParcelPropertiesUpdatePacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::ParcelPropertiesUpdatePacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.ParcelPropertiesUpdatePacket.ParcelData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelPropertiesUpdatePacket.ParcelDataBlock LibreMetaverse.Packets.ParcelPropertiesUpdatePacket.ParcelData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub parcel_data: libremetaverse::packets::ParcelPropertiesUpdatePacketParcelDataBlock,
    }
    impl ParcelPropertiesUpdatePacket {
        /// C# member: `M:LibreMetaverse.Packets.ParcelPropertiesUpdatePacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelPropertiesUpdatePacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelPropertiesUpdatePacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelPropertiesUpdatePacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelPropertiesUpdatePacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelPropertiesUpdatePacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelPropertiesUpdatePacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelPropertiesUpdatePacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelPropertiesUpdatePacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelPropertiesUpdatePacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelPropertiesUpdatePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelPropertiesUpdatePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelPropertiesUpdatePacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ParcelPropertiesUpdatePacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelPropertiesUpdatePacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ParcelPropertiesUpdatePacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelPropertiesUpdatePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ParcelPropertiesUpdatePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelPropertiesUpdatePacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ParcelPropertiesUpdatePacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelPropertiesUpdatePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ParcelPropertiesUpdatePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelPropertiesUpdatePacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelPropertiesUpdatePacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelPropertiesUpdatePacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ParcelPropertiesUpdatePacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ParcelPropertiesUpdatePacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ParcelPropertiesUpdatePacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ParcelPropertiesUpdatePacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ParcelPropertiesUpdatePacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ParcelPropertiesUpdatePacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ParcelPropertiesUpdatePacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ParcelPropertiesUpdatePacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl ParcelPropertiesUpdatePacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ParcelPropertiesUpdatePacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelPropertiesUpdatePacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelPropertiesUpdatePacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelPropertiesUpdatePacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelPropertiesUpdatePacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelPropertiesUpdatePacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelPropertiesUpdatePacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelPropertiesUpdatePacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelPropertiesUpdatePacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelPropertiesUpdatePacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelPropertiesUpdatePacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ParcelPropertiesUpdatePacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelPropertiesUpdatePacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelPropertiesUpdatePacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ParcelPropertiesUpdatePacket.ParcelDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ParcelPropertiesUpdatePacket.ParcelDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ParcelPropertiesUpdatePacketParcelDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ParcelPropertiesUpdatePacket.ParcelDataBlock.AuthBuyerID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ParcelPropertiesUpdatePacket.ParcelDataBlock.AuthBuyerID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub auth_buyer_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ParcelPropertiesUpdatePacket.ParcelDataBlock.Category`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.ParcelPropertiesUpdatePacket.ParcelDataBlock.Category`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub category: u8,
        /// C# member: `F:LibreMetaverse.Packets.ParcelPropertiesUpdatePacket.ParcelDataBlock.Desc`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ParcelPropertiesUpdatePacket.ParcelDataBlock.Desc`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub desc: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.ParcelPropertiesUpdatePacket.ParcelDataBlock.Flags`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ParcelPropertiesUpdatePacket.ParcelDataBlock.Flags`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub flags: u32,
        /// C# member: `F:LibreMetaverse.Packets.ParcelPropertiesUpdatePacket.ParcelDataBlock.GroupID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ParcelPropertiesUpdatePacket.ParcelDataBlock.GroupID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ParcelPropertiesUpdatePacket.ParcelDataBlock.LandingType`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.ParcelPropertiesUpdatePacket.ParcelDataBlock.LandingType`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub landing_type: u8,
        /// C# member: `F:LibreMetaverse.Packets.ParcelPropertiesUpdatePacket.ParcelDataBlock.LocalID`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelPropertiesUpdatePacket.ParcelDataBlock.LocalID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub local_id: i32,
        /// C# member: `F:LibreMetaverse.Packets.ParcelPropertiesUpdatePacket.ParcelDataBlock.MediaAutoScale`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.ParcelPropertiesUpdatePacket.ParcelDataBlock.MediaAutoScale`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub media_auto_scale: u8,
        /// C# member: `F:LibreMetaverse.Packets.ParcelPropertiesUpdatePacket.ParcelDataBlock.MediaID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ParcelPropertiesUpdatePacket.ParcelDataBlock.MediaID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub media_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ParcelPropertiesUpdatePacket.ParcelDataBlock.MediaURL`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ParcelPropertiesUpdatePacket.ParcelDataBlock.MediaURL`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub media_url: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.ParcelPropertiesUpdatePacket.ParcelDataBlock.MusicURL`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ParcelPropertiesUpdatePacket.ParcelDataBlock.MusicURL`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub music_url: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.ParcelPropertiesUpdatePacket.ParcelDataBlock.Name`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ParcelPropertiesUpdatePacket.ParcelDataBlock.Name`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub name: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.ParcelPropertiesUpdatePacket.ParcelDataBlock.ParcelFlags`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ParcelPropertiesUpdatePacket.ParcelDataBlock.ParcelFlags`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub parcel_flags: u32,
        /// C# member: `F:LibreMetaverse.Packets.ParcelPropertiesUpdatePacket.ParcelDataBlock.PassHours`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.ParcelPropertiesUpdatePacket.ParcelDataBlock.PassHours`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub pass_hours: f32,
        /// C# member: `F:LibreMetaverse.Packets.ParcelPropertiesUpdatePacket.ParcelDataBlock.PassPrice`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelPropertiesUpdatePacket.ParcelDataBlock.PassPrice`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub pass_price: i32,
        /// C# member: `F:LibreMetaverse.Packets.ParcelPropertiesUpdatePacket.ParcelDataBlock.SalePrice`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelPropertiesUpdatePacket.ParcelDataBlock.SalePrice`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub sale_price: i32,
        /// C# member: `F:LibreMetaverse.Packets.ParcelPropertiesUpdatePacket.ParcelDataBlock.SnapshotID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ParcelPropertiesUpdatePacket.ParcelDataBlock.SnapshotID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub snapshot_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ParcelPropertiesUpdatePacket.ParcelDataBlock.UserLocation`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Packets.ParcelPropertiesUpdatePacket.ParcelDataBlock.UserLocation`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub user_location: libremetaverse_types::Vector3,
        /// C# member: `F:LibreMetaverse.Packets.ParcelPropertiesUpdatePacket.ParcelDataBlock.UserLookAt`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Packets.ParcelPropertiesUpdatePacket.ParcelDataBlock.UserLookAt`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub user_look_at: libremetaverse_types::Vector3,
    }
    impl ParcelPropertiesUpdatePacketParcelDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ParcelPropertiesUpdatePacket.ParcelDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelPropertiesUpdatePacket.ParcelDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelPropertiesUpdatePacket.ParcelDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelPropertiesUpdatePacket.ParcelDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelPropertiesUpdatePacket.ParcelDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelPropertiesUpdatePacket.ParcelDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelPropertiesUpdatePacket.ParcelDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelPropertiesUpdatePacket.ParcelDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelPropertiesUpdatePacket.ParcelDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelPropertiesUpdatePacket.ParcelDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelPropertiesUpdatePacket.ParcelDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ParcelPropertiesUpdatePacket.ParcelDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelPropertiesUpdatePacket.ParcelDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelPropertiesUpdatePacket.ParcelDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ParcelReclaimPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ParcelReclaimPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ParcelReclaimPacket {
        /// C# member: `F:LibreMetaverse.Packets.ParcelReclaimPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelReclaimPacket.AgentDataBlock LibreMetaverse.Packets.ParcelReclaimPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::ParcelReclaimPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.ParcelReclaimPacket.Data`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelReclaimPacket.DataBlock LibreMetaverse.Packets.ParcelReclaimPacket.Data`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub data: libremetaverse::packets::ParcelReclaimPacketDataBlock,
    }
    impl ParcelReclaimPacket {
        /// C# member: `M:LibreMetaverse.Packets.ParcelReclaimPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelReclaimPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelReclaimPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelReclaimPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelReclaimPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelReclaimPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelReclaimPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelReclaimPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelReclaimPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelReclaimPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelReclaimPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelReclaimPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelReclaimPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ParcelReclaimPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelReclaimPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ParcelReclaimPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelReclaimPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ParcelReclaimPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelReclaimPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ParcelReclaimPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelReclaimPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ParcelReclaimPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelReclaimPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelReclaimPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelReclaimPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ParcelReclaimPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ParcelReclaimPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ParcelReclaimPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ParcelReclaimPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ParcelReclaimPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ParcelReclaimPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ParcelReclaimPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ParcelReclaimPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl ParcelReclaimPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ParcelReclaimPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelReclaimPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelReclaimPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelReclaimPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelReclaimPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelReclaimPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelReclaimPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelReclaimPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelReclaimPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelReclaimPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelReclaimPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ParcelReclaimPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelReclaimPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelReclaimPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ParcelReclaimPacket.DataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ParcelReclaimPacket.DataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ParcelReclaimPacketDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ParcelReclaimPacket.DataBlock.LocalID`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelReclaimPacket.DataBlock.LocalID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub local_id: i32,
    }
    impl ParcelReclaimPacketDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ParcelReclaimPacket.DataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelReclaimPacket.DataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelReclaimPacket.DataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelReclaimPacket.DataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelReclaimPacket.DataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelReclaimPacket.DataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelReclaimPacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelReclaimPacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelReclaimPacket.DataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelReclaimPacket.DataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelReclaimPacket.DataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ParcelReclaimPacket.DataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelReclaimPacket.DataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelReclaimPacket.DataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ParcelReleasePacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ParcelReleasePacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ParcelReleasePacket {
        /// C# member: `F:LibreMetaverse.Packets.ParcelReleasePacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelReleasePacket.AgentDataBlock LibreMetaverse.Packets.ParcelReleasePacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::ParcelReleasePacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.ParcelReleasePacket.Data`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelReleasePacket.DataBlock LibreMetaverse.Packets.ParcelReleasePacket.Data`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub data: libremetaverse::packets::ParcelReleasePacketDataBlock,
    }
    impl ParcelReleasePacket {
        /// C# member: `M:LibreMetaverse.Packets.ParcelReleasePacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelReleasePacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelReleasePacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelReleasePacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelReleasePacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelReleasePacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelReleasePacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelReleasePacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelReleasePacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelReleasePacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelReleasePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelReleasePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelReleasePacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ParcelReleasePacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelReleasePacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ParcelReleasePacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelReleasePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ParcelReleasePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelReleasePacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ParcelReleasePacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelReleasePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ParcelReleasePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelReleasePacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelReleasePacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelReleasePacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ParcelReleasePacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ParcelReleasePacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ParcelReleasePacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ParcelReleasePacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ParcelReleasePacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ParcelReleasePacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ParcelReleasePacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ParcelReleasePacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl ParcelReleasePacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ParcelReleasePacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelReleasePacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelReleasePacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelReleasePacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelReleasePacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelReleasePacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelReleasePacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelReleasePacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelReleasePacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelReleasePacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelReleasePacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ParcelReleasePacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelReleasePacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelReleasePacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ParcelReleasePacket.DataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ParcelReleasePacket.DataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ParcelReleasePacketDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ParcelReleasePacket.DataBlock.LocalID`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelReleasePacket.DataBlock.LocalID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub local_id: i32,
    }
    impl ParcelReleasePacketDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ParcelReleasePacket.DataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelReleasePacket.DataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelReleasePacket.DataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelReleasePacket.DataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelReleasePacket.DataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelReleasePacket.DataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelReleasePacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelReleasePacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelReleasePacket.DataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelReleasePacket.DataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelReleasePacket.DataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ParcelReleasePacket.DataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelReleasePacket.DataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelReleasePacket.DataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ParcelRenamePacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ParcelRenamePacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ParcelRenamePacket {
        /// C# member: `F:LibreMetaverse.Packets.ParcelRenamePacket.ParcelData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelRenamePacket.ParcelDataBlock[] LibreMetaverse.Packets.ParcelRenamePacket.ParcelData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub parcel_data: Vec<libremetaverse::packets::ParcelRenamePacketParcelDataBlock>,
    }
    impl ParcelRenamePacket {
        /// C# member: `M:LibreMetaverse.Packets.ParcelRenamePacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelRenamePacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelRenamePacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelRenamePacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelRenamePacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelRenamePacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelRenamePacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelRenamePacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelRenamePacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelRenamePacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelRenamePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelRenamePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelRenamePacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ParcelRenamePacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelRenamePacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ParcelRenamePacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelRenamePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ParcelRenamePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelRenamePacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ParcelRenamePacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelRenamePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ParcelRenamePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelRenamePacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelRenamePacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelRenamePacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ParcelRenamePacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ParcelRenamePacket.ParcelDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ParcelRenamePacket.ParcelDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ParcelRenamePacketParcelDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ParcelRenamePacket.ParcelDataBlock.NewName`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ParcelRenamePacket.ParcelDataBlock.NewName`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub new_name: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.ParcelRenamePacket.ParcelDataBlock.ParcelID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ParcelRenamePacket.ParcelDataBlock.ParcelID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub parcel_id: libremetaverse_types::UUID,
    }
    impl ParcelRenamePacketParcelDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ParcelRenamePacket.ParcelDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelRenamePacket.ParcelDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelRenamePacket.ParcelDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelRenamePacket.ParcelDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelRenamePacket.ParcelDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelRenamePacket.ParcelDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelRenamePacket.ParcelDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelRenamePacket.ParcelDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelRenamePacket.ParcelDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelRenamePacket.ParcelDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelRenamePacket.ParcelDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ParcelRenamePacket.ParcelDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelRenamePacket.ParcelDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelRenamePacket.ParcelDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ParcelReturnObjectsPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ParcelReturnObjectsPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ParcelReturnObjectsPacket {
        /// C# member: `F:LibreMetaverse.Packets.ParcelReturnObjectsPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelReturnObjectsPacket.AgentDataBlock LibreMetaverse.Packets.ParcelReturnObjectsPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::ParcelReturnObjectsPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.ParcelReturnObjectsPacket.OwnerIDs`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelReturnObjectsPacket.OwnerIDsBlock[] LibreMetaverse.Packets.ParcelReturnObjectsPacket.OwnerIDs`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub owner_i_ds: Vec<libremetaverse::packets::ParcelReturnObjectsPacketOwnerIDsBlock>,
        /// C# member: `F:LibreMetaverse.Packets.ParcelReturnObjectsPacket.ParcelData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelReturnObjectsPacket.ParcelDataBlock LibreMetaverse.Packets.ParcelReturnObjectsPacket.ParcelData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub parcel_data: libremetaverse::packets::ParcelReturnObjectsPacketParcelDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.ParcelReturnObjectsPacket.TaskIDs`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelReturnObjectsPacket.TaskIDsBlock[] LibreMetaverse.Packets.ParcelReturnObjectsPacket.TaskIDs`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub task_i_ds: Vec<libremetaverse::packets::ParcelReturnObjectsPacketTaskIDsBlock>,
    }
    impl ParcelReturnObjectsPacket {
        /// C# member: `M:LibreMetaverse.Packets.ParcelReturnObjectsPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelReturnObjectsPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelReturnObjectsPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelReturnObjectsPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelReturnObjectsPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelReturnObjectsPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelReturnObjectsPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelReturnObjectsPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelReturnObjectsPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelReturnObjectsPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelReturnObjectsPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelReturnObjectsPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelReturnObjectsPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ParcelReturnObjectsPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelReturnObjectsPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ParcelReturnObjectsPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelReturnObjectsPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ParcelReturnObjectsPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelReturnObjectsPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ParcelReturnObjectsPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelReturnObjectsPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ParcelReturnObjectsPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelReturnObjectsPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelReturnObjectsPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelReturnObjectsPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ParcelReturnObjectsPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ParcelReturnObjectsPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ParcelReturnObjectsPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ParcelReturnObjectsPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ParcelReturnObjectsPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ParcelReturnObjectsPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ParcelReturnObjectsPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ParcelReturnObjectsPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl ParcelReturnObjectsPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ParcelReturnObjectsPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelReturnObjectsPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelReturnObjectsPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelReturnObjectsPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelReturnObjectsPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelReturnObjectsPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelReturnObjectsPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelReturnObjectsPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelReturnObjectsPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelReturnObjectsPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelReturnObjectsPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ParcelReturnObjectsPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelReturnObjectsPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelReturnObjectsPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ParcelReturnObjectsPacket.OwnerIDsBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ParcelReturnObjectsPacket.OwnerIDsBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ParcelReturnObjectsPacketOwnerIDsBlock {
        /// C# member: `F:LibreMetaverse.Packets.ParcelReturnObjectsPacket.OwnerIDsBlock.OwnerID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ParcelReturnObjectsPacket.OwnerIDsBlock.OwnerID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub owner_id: libremetaverse_types::UUID,
    }
    impl ParcelReturnObjectsPacketOwnerIDsBlock {
        /// C# member: `M:LibreMetaverse.Packets.ParcelReturnObjectsPacket.OwnerIDsBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelReturnObjectsPacket.OwnerIDsBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelReturnObjectsPacket.OwnerIDsBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelReturnObjectsPacket.OwnerIDsBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelReturnObjectsPacket.OwnerIDsBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelReturnObjectsPacket.OwnerIDsBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelReturnObjectsPacket.OwnerIDsBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelReturnObjectsPacket.OwnerIDsBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelReturnObjectsPacket.OwnerIDsBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelReturnObjectsPacket.OwnerIDsBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelReturnObjectsPacket.OwnerIDsBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ParcelReturnObjectsPacket.OwnerIDsBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelReturnObjectsPacket.OwnerIDsBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelReturnObjectsPacket.OwnerIDsBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ParcelReturnObjectsPacket.ParcelDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ParcelReturnObjectsPacket.ParcelDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ParcelReturnObjectsPacketParcelDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ParcelReturnObjectsPacket.ParcelDataBlock.LocalID`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelReturnObjectsPacket.ParcelDataBlock.LocalID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub local_id: i32,
        /// C# member: `F:LibreMetaverse.Packets.ParcelReturnObjectsPacket.ParcelDataBlock.ReturnType`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ParcelReturnObjectsPacket.ParcelDataBlock.ReturnType`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub return_type: u32,
    }
    impl ParcelReturnObjectsPacketParcelDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ParcelReturnObjectsPacket.ParcelDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelReturnObjectsPacket.ParcelDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelReturnObjectsPacket.ParcelDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelReturnObjectsPacket.ParcelDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelReturnObjectsPacket.ParcelDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelReturnObjectsPacket.ParcelDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelReturnObjectsPacket.ParcelDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelReturnObjectsPacket.ParcelDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelReturnObjectsPacket.ParcelDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelReturnObjectsPacket.ParcelDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelReturnObjectsPacket.ParcelDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ParcelReturnObjectsPacket.ParcelDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelReturnObjectsPacket.ParcelDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelReturnObjectsPacket.ParcelDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ParcelReturnObjectsPacket.TaskIDsBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ParcelReturnObjectsPacket.TaskIDsBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ParcelReturnObjectsPacketTaskIDsBlock {
        /// C# member: `F:LibreMetaverse.Packets.ParcelReturnObjectsPacket.TaskIDsBlock.TaskID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ParcelReturnObjectsPacket.TaskIDsBlock.TaskID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub task_id: libremetaverse_types::UUID,
    }
    impl ParcelReturnObjectsPacketTaskIDsBlock {
        /// C# member: `M:LibreMetaverse.Packets.ParcelReturnObjectsPacket.TaskIDsBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelReturnObjectsPacket.TaskIDsBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelReturnObjectsPacket.TaskIDsBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelReturnObjectsPacket.TaskIDsBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelReturnObjectsPacket.TaskIDsBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelReturnObjectsPacket.TaskIDsBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelReturnObjectsPacket.TaskIDsBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelReturnObjectsPacket.TaskIDsBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelReturnObjectsPacket.TaskIDsBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelReturnObjectsPacket.TaskIDsBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelReturnObjectsPacket.TaskIDsBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ParcelReturnObjectsPacket.TaskIDsBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelReturnObjectsPacket.TaskIDsBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelReturnObjectsPacket.TaskIDsBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ParcelSalesPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ParcelSalesPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ParcelSalesPacket {
        /// C# member: `F:LibreMetaverse.Packets.ParcelSalesPacket.ParcelData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelSalesPacket.ParcelDataBlock[] LibreMetaverse.Packets.ParcelSalesPacket.ParcelData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub parcel_data: Vec<libremetaverse::packets::ParcelSalesPacketParcelDataBlock>,
    }
    impl ParcelSalesPacket {
        /// C# member: `M:LibreMetaverse.Packets.ParcelSalesPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelSalesPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelSalesPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelSalesPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelSalesPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelSalesPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelSalesPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelSalesPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelSalesPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelSalesPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelSalesPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelSalesPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelSalesPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ParcelSalesPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelSalesPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ParcelSalesPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelSalesPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ParcelSalesPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelSalesPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ParcelSalesPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelSalesPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ParcelSalesPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelSalesPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelSalesPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelSalesPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ParcelSalesPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ParcelSalesPacket.ParcelDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ParcelSalesPacket.ParcelDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ParcelSalesPacketParcelDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ParcelSalesPacket.ParcelDataBlock.BuyerID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ParcelSalesPacket.ParcelDataBlock.BuyerID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub buyer_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ParcelSalesPacket.ParcelDataBlock.ParcelID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ParcelSalesPacket.ParcelDataBlock.ParcelID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub parcel_id: libremetaverse_types::UUID,
    }
    impl ParcelSalesPacketParcelDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ParcelSalesPacket.ParcelDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelSalesPacket.ParcelDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelSalesPacket.ParcelDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelSalesPacket.ParcelDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelSalesPacket.ParcelDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelSalesPacket.ParcelDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelSalesPacket.ParcelDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelSalesPacket.ParcelDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelSalesPacket.ParcelDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelSalesPacket.ParcelDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelSalesPacket.ParcelDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ParcelSalesPacket.ParcelDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelSalesPacket.ParcelDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelSalesPacket.ParcelDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ParcelSelectObjectsPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ParcelSelectObjectsPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ParcelSelectObjectsPacket {
        /// C# member: `F:LibreMetaverse.Packets.ParcelSelectObjectsPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelSelectObjectsPacket.AgentDataBlock LibreMetaverse.Packets.ParcelSelectObjectsPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::ParcelSelectObjectsPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.ParcelSelectObjectsPacket.ParcelData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelSelectObjectsPacket.ParcelDataBlock LibreMetaverse.Packets.ParcelSelectObjectsPacket.ParcelData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub parcel_data: libremetaverse::packets::ParcelSelectObjectsPacketParcelDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.ParcelSelectObjectsPacket.ReturnIDs`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelSelectObjectsPacket.ReturnIDsBlock[] LibreMetaverse.Packets.ParcelSelectObjectsPacket.ReturnIDs`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub return_i_ds: Vec<libremetaverse::packets::ParcelSelectObjectsPacketReturnIDsBlock>,
    }
    impl ParcelSelectObjectsPacket {
        /// C# member: `M:LibreMetaverse.Packets.ParcelSelectObjectsPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelSelectObjectsPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelSelectObjectsPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelSelectObjectsPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelSelectObjectsPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelSelectObjectsPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelSelectObjectsPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelSelectObjectsPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelSelectObjectsPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelSelectObjectsPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelSelectObjectsPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelSelectObjectsPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelSelectObjectsPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ParcelSelectObjectsPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelSelectObjectsPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ParcelSelectObjectsPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelSelectObjectsPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ParcelSelectObjectsPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelSelectObjectsPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ParcelSelectObjectsPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelSelectObjectsPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ParcelSelectObjectsPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelSelectObjectsPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelSelectObjectsPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelSelectObjectsPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ParcelSelectObjectsPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ParcelSelectObjectsPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ParcelSelectObjectsPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ParcelSelectObjectsPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ParcelSelectObjectsPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ParcelSelectObjectsPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ParcelSelectObjectsPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ParcelSelectObjectsPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl ParcelSelectObjectsPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ParcelSelectObjectsPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelSelectObjectsPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelSelectObjectsPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelSelectObjectsPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelSelectObjectsPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelSelectObjectsPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelSelectObjectsPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelSelectObjectsPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelSelectObjectsPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelSelectObjectsPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelSelectObjectsPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ParcelSelectObjectsPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelSelectObjectsPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelSelectObjectsPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ParcelSelectObjectsPacket.ParcelDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ParcelSelectObjectsPacket.ParcelDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ParcelSelectObjectsPacketParcelDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ParcelSelectObjectsPacket.ParcelDataBlock.LocalID`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelSelectObjectsPacket.ParcelDataBlock.LocalID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub local_id: i32,
        /// C# member: `F:LibreMetaverse.Packets.ParcelSelectObjectsPacket.ParcelDataBlock.ReturnType`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ParcelSelectObjectsPacket.ParcelDataBlock.ReturnType`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub return_type: u32,
    }
    impl ParcelSelectObjectsPacketParcelDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ParcelSelectObjectsPacket.ParcelDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelSelectObjectsPacket.ParcelDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelSelectObjectsPacket.ParcelDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelSelectObjectsPacket.ParcelDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelSelectObjectsPacket.ParcelDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelSelectObjectsPacket.ParcelDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelSelectObjectsPacket.ParcelDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelSelectObjectsPacket.ParcelDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelSelectObjectsPacket.ParcelDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelSelectObjectsPacket.ParcelDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelSelectObjectsPacket.ParcelDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ParcelSelectObjectsPacket.ParcelDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelSelectObjectsPacket.ParcelDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelSelectObjectsPacket.ParcelDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ParcelSelectObjectsPacket.ReturnIDsBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ParcelSelectObjectsPacket.ReturnIDsBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ParcelSelectObjectsPacketReturnIDsBlock {
        /// C# member: `F:LibreMetaverse.Packets.ParcelSelectObjectsPacket.ReturnIDsBlock.ReturnID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ParcelSelectObjectsPacket.ReturnIDsBlock.ReturnID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub return_id: libremetaverse_types::UUID,
    }
    impl ParcelSelectObjectsPacketReturnIDsBlock {
        /// C# member: `M:LibreMetaverse.Packets.ParcelSelectObjectsPacket.ReturnIDsBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelSelectObjectsPacket.ReturnIDsBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelSelectObjectsPacket.ReturnIDsBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelSelectObjectsPacket.ReturnIDsBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelSelectObjectsPacket.ReturnIDsBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelSelectObjectsPacket.ReturnIDsBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelSelectObjectsPacket.ReturnIDsBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelSelectObjectsPacket.ReturnIDsBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelSelectObjectsPacket.ReturnIDsBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelSelectObjectsPacket.ReturnIDsBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelSelectObjectsPacket.ReturnIDsBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ParcelSelectObjectsPacket.ReturnIDsBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelSelectObjectsPacket.ReturnIDsBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelSelectObjectsPacket.ReturnIDsBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ParcelSetOtherCleanTimePacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ParcelSetOtherCleanTimePacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ParcelSetOtherCleanTimePacket {
        /// C# member: `F:LibreMetaverse.Packets.ParcelSetOtherCleanTimePacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelSetOtherCleanTimePacket.AgentDataBlock LibreMetaverse.Packets.ParcelSetOtherCleanTimePacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::ParcelSetOtherCleanTimePacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.ParcelSetOtherCleanTimePacket.ParcelData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelSetOtherCleanTimePacket.ParcelDataBlock LibreMetaverse.Packets.ParcelSetOtherCleanTimePacket.ParcelData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub parcel_data: libremetaverse::packets::ParcelSetOtherCleanTimePacketParcelDataBlock,
    }
    impl ParcelSetOtherCleanTimePacket {
        /// C# member: `M:LibreMetaverse.Packets.ParcelSetOtherCleanTimePacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelSetOtherCleanTimePacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelSetOtherCleanTimePacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelSetOtherCleanTimePacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelSetOtherCleanTimePacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelSetOtherCleanTimePacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelSetOtherCleanTimePacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelSetOtherCleanTimePacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelSetOtherCleanTimePacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelSetOtherCleanTimePacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelSetOtherCleanTimePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelSetOtherCleanTimePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelSetOtherCleanTimePacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ParcelSetOtherCleanTimePacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelSetOtherCleanTimePacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ParcelSetOtherCleanTimePacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelSetOtherCleanTimePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ParcelSetOtherCleanTimePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelSetOtherCleanTimePacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ParcelSetOtherCleanTimePacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelSetOtherCleanTimePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ParcelSetOtherCleanTimePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelSetOtherCleanTimePacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelSetOtherCleanTimePacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelSetOtherCleanTimePacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ParcelSetOtherCleanTimePacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ParcelSetOtherCleanTimePacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ParcelSetOtherCleanTimePacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ParcelSetOtherCleanTimePacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ParcelSetOtherCleanTimePacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ParcelSetOtherCleanTimePacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ParcelSetOtherCleanTimePacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ParcelSetOtherCleanTimePacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl ParcelSetOtherCleanTimePacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ParcelSetOtherCleanTimePacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelSetOtherCleanTimePacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelSetOtherCleanTimePacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelSetOtherCleanTimePacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelSetOtherCleanTimePacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelSetOtherCleanTimePacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelSetOtherCleanTimePacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelSetOtherCleanTimePacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelSetOtherCleanTimePacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelSetOtherCleanTimePacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelSetOtherCleanTimePacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ParcelSetOtherCleanTimePacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelSetOtherCleanTimePacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelSetOtherCleanTimePacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ParcelSetOtherCleanTimePacket.ParcelDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ParcelSetOtherCleanTimePacket.ParcelDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ParcelSetOtherCleanTimePacketParcelDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ParcelSetOtherCleanTimePacket.ParcelDataBlock.LocalID`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelSetOtherCleanTimePacket.ParcelDataBlock.LocalID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub local_id: i32,
        /// C# member: `F:LibreMetaverse.Packets.ParcelSetOtherCleanTimePacket.ParcelDataBlock.OtherCleanTime`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelSetOtherCleanTimePacket.ParcelDataBlock.OtherCleanTime`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub other_clean_time: i32,
    }
    impl ParcelSetOtherCleanTimePacketParcelDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ParcelSetOtherCleanTimePacket.ParcelDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelSetOtherCleanTimePacket.ParcelDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelSetOtherCleanTimePacket.ParcelDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ParcelSetOtherCleanTimePacket.ParcelDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelSetOtherCleanTimePacket.ParcelDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelSetOtherCleanTimePacket.ParcelDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelSetOtherCleanTimePacket.ParcelDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelSetOtherCleanTimePacket.ParcelDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelSetOtherCleanTimePacket.ParcelDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ParcelSetOtherCleanTimePacket.ParcelDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ParcelSetOtherCleanTimePacket.ParcelDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ParcelSetOtherCleanTimePacket.ParcelDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ParcelSetOtherCleanTimePacket.ParcelDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ParcelSetOtherCleanTimePacket.ParcelDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.PayPriceReplyPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.PayPriceReplyPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct PayPriceReplyPacket {
        /// C# member: `F:LibreMetaverse.Packets.PayPriceReplyPacket.ButtonData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.PayPriceReplyPacket.ButtonDataBlock[] LibreMetaverse.Packets.PayPriceReplyPacket.ButtonData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub button_data: Vec<libremetaverse::packets::PayPriceReplyPacketButtonDataBlock>,
        /// C# member: `F:LibreMetaverse.Packets.PayPriceReplyPacket.ObjectData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.PayPriceReplyPacket.ObjectDataBlock LibreMetaverse.Packets.PayPriceReplyPacket.ObjectData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_data: libremetaverse::packets::PayPriceReplyPacketObjectDataBlock,
    }
    impl PayPriceReplyPacket {
        /// C# member: `M:LibreMetaverse.Packets.PayPriceReplyPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.PayPriceReplyPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.PayPriceReplyPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.PayPriceReplyPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.PayPriceReplyPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.PayPriceReplyPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.PayPriceReplyPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.PayPriceReplyPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.PayPriceReplyPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.PayPriceReplyPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.PayPriceReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.PayPriceReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.PayPriceReplyPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.PayPriceReplyPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.PayPriceReplyPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.PayPriceReplyPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.PayPriceReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.PayPriceReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.PayPriceReplyPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.PayPriceReplyPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.PayPriceReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.PayPriceReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.PayPriceReplyPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.PayPriceReplyPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.PayPriceReplyPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.PayPriceReplyPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.PayPriceReplyPacket.ButtonDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.PayPriceReplyPacket.ButtonDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct PayPriceReplyPacketButtonDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.PayPriceReplyPacket.ButtonDataBlock.PayButton`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.PayPriceReplyPacket.ButtonDataBlock.PayButton`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub pay_button: i32,
    }
    impl PayPriceReplyPacketButtonDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.PayPriceReplyPacket.ButtonDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.PayPriceReplyPacket.ButtonDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.PayPriceReplyPacket.ButtonDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.PayPriceReplyPacket.ButtonDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.PayPriceReplyPacket.ButtonDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.PayPriceReplyPacket.ButtonDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.PayPriceReplyPacket.ButtonDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.PayPriceReplyPacket.ButtonDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.PayPriceReplyPacket.ButtonDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.PayPriceReplyPacket.ButtonDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.PayPriceReplyPacket.ButtonDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.PayPriceReplyPacket.ButtonDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.PayPriceReplyPacket.ButtonDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.PayPriceReplyPacket.ButtonDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.PayPriceReplyPacket.ObjectDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.PayPriceReplyPacket.ObjectDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct PayPriceReplyPacketObjectDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.PayPriceReplyPacket.ObjectDataBlock.DefaultPayPrice`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.PayPriceReplyPacket.ObjectDataBlock.DefaultPayPrice`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub default_pay_price: i32,
        /// C# member: `F:LibreMetaverse.Packets.PayPriceReplyPacket.ObjectDataBlock.ObjectID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.PayPriceReplyPacket.ObjectDataBlock.ObjectID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_id: libremetaverse_types::UUID,
    }
    impl PayPriceReplyPacketObjectDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.PayPriceReplyPacket.ObjectDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.PayPriceReplyPacket.ObjectDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.PayPriceReplyPacket.ObjectDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.PayPriceReplyPacket.ObjectDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.PayPriceReplyPacket.ObjectDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.PayPriceReplyPacket.ObjectDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.PayPriceReplyPacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.PayPriceReplyPacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.PayPriceReplyPacket.ObjectDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.PayPriceReplyPacket.ObjectDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.PayPriceReplyPacket.ObjectDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.PayPriceReplyPacket.ObjectDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.PayPriceReplyPacket.ObjectDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.PayPriceReplyPacket.ObjectDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.PickDeletePacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.PickDeletePacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct PickDeletePacket {
        /// C# member: `F:LibreMetaverse.Packets.PickDeletePacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.PickDeletePacket.AgentDataBlock LibreMetaverse.Packets.PickDeletePacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::PickDeletePacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.PickDeletePacket.Data`.
        ///
        /// C# signature: `LibreMetaverse.Packets.PickDeletePacket.DataBlock LibreMetaverse.Packets.PickDeletePacket.Data`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub data: libremetaverse::packets::PickDeletePacketDataBlock,
    }
    impl PickDeletePacket {
        /// C# member: `M:LibreMetaverse.Packets.PickDeletePacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.PickDeletePacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.PickDeletePacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.PickDeletePacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.PickDeletePacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.PickDeletePacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.PickDeletePacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.PickDeletePacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.PickDeletePacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.PickDeletePacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.PickDeletePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.PickDeletePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.PickDeletePacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.PickDeletePacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.PickDeletePacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.PickDeletePacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.PickDeletePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.PickDeletePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.PickDeletePacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.PickDeletePacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.PickDeletePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.PickDeletePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.PickDeletePacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.PickDeletePacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.PickDeletePacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.PickDeletePacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.PickDeletePacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.PickDeletePacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct PickDeletePacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.PickDeletePacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.PickDeletePacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.PickDeletePacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.PickDeletePacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl PickDeletePacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.PickDeletePacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.PickDeletePacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.PickDeletePacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.PickDeletePacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.PickDeletePacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.PickDeletePacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.PickDeletePacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.PickDeletePacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.PickDeletePacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.PickDeletePacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.PickDeletePacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.PickDeletePacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.PickDeletePacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.PickDeletePacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.PickDeletePacket.DataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.PickDeletePacket.DataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct PickDeletePacketDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.PickDeletePacket.DataBlock.PickID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.PickDeletePacket.DataBlock.PickID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub pick_id: libremetaverse_types::UUID,
    }
    impl PickDeletePacketDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.PickDeletePacket.DataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.PickDeletePacket.DataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.PickDeletePacket.DataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.PickDeletePacket.DataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.PickDeletePacket.DataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.PickDeletePacket.DataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.PickDeletePacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.PickDeletePacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.PickDeletePacket.DataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.PickDeletePacket.DataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.PickDeletePacket.DataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.PickDeletePacket.DataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.PickDeletePacket.DataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.PickDeletePacket.DataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.PickGodDeletePacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.PickGodDeletePacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct PickGodDeletePacket {
        /// C# member: `F:LibreMetaverse.Packets.PickGodDeletePacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.PickGodDeletePacket.AgentDataBlock LibreMetaverse.Packets.PickGodDeletePacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::PickGodDeletePacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.PickGodDeletePacket.Data`.
        ///
        /// C# signature: `LibreMetaverse.Packets.PickGodDeletePacket.DataBlock LibreMetaverse.Packets.PickGodDeletePacket.Data`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub data: libremetaverse::packets::PickGodDeletePacketDataBlock,
    }
    impl PickGodDeletePacket {
        /// C# member: `M:LibreMetaverse.Packets.PickGodDeletePacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.PickGodDeletePacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.PickGodDeletePacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.PickGodDeletePacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.PickGodDeletePacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.PickGodDeletePacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.PickGodDeletePacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.PickGodDeletePacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.PickGodDeletePacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.PickGodDeletePacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.PickGodDeletePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.PickGodDeletePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.PickGodDeletePacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.PickGodDeletePacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.PickGodDeletePacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.PickGodDeletePacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.PickGodDeletePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.PickGodDeletePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.PickGodDeletePacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.PickGodDeletePacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.PickGodDeletePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.PickGodDeletePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.PickGodDeletePacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.PickGodDeletePacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.PickGodDeletePacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.PickGodDeletePacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.PickGodDeletePacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.PickGodDeletePacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct PickGodDeletePacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.PickGodDeletePacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.PickGodDeletePacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.PickGodDeletePacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.PickGodDeletePacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl PickGodDeletePacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.PickGodDeletePacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.PickGodDeletePacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.PickGodDeletePacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.PickGodDeletePacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.PickGodDeletePacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.PickGodDeletePacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.PickGodDeletePacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.PickGodDeletePacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.PickGodDeletePacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.PickGodDeletePacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.PickGodDeletePacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.PickGodDeletePacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.PickGodDeletePacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.PickGodDeletePacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.PickGodDeletePacket.DataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.PickGodDeletePacket.DataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct PickGodDeletePacketDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.PickGodDeletePacket.DataBlock.PickID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.PickGodDeletePacket.DataBlock.PickID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub pick_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.PickGodDeletePacket.DataBlock.QueryID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.PickGodDeletePacket.DataBlock.QueryID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub query_id: libremetaverse_types::UUID,
    }
    impl PickGodDeletePacketDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.PickGodDeletePacket.DataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.PickGodDeletePacket.DataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.PickGodDeletePacket.DataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.PickGodDeletePacket.DataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.PickGodDeletePacket.DataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.PickGodDeletePacket.DataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.PickGodDeletePacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.PickGodDeletePacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.PickGodDeletePacket.DataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.PickGodDeletePacket.DataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.PickGodDeletePacket.DataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.PickGodDeletePacket.DataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.PickGodDeletePacket.DataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.PickGodDeletePacket.DataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.PickInfoReplyPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.PickInfoReplyPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct PickInfoReplyPacket {
        /// C# member: `F:LibreMetaverse.Packets.PickInfoReplyPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.PickInfoReplyPacket.AgentDataBlock LibreMetaverse.Packets.PickInfoReplyPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::PickInfoReplyPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.PickInfoReplyPacket.Data`.
        ///
        /// C# signature: `LibreMetaverse.Packets.PickInfoReplyPacket.DataBlock LibreMetaverse.Packets.PickInfoReplyPacket.Data`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub data: libremetaverse::packets::PickInfoReplyPacketDataBlock,
    }
    impl PickInfoReplyPacket {
        /// C# member: `M:LibreMetaverse.Packets.PickInfoReplyPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.PickInfoReplyPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.PickInfoReplyPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.PickInfoReplyPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.PickInfoReplyPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.PickInfoReplyPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.PickInfoReplyPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.PickInfoReplyPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.PickInfoReplyPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.PickInfoReplyPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.PickInfoReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.PickInfoReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.PickInfoReplyPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.PickInfoReplyPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.PickInfoReplyPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.PickInfoReplyPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.PickInfoReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.PickInfoReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.PickInfoReplyPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.PickInfoReplyPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.PickInfoReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.PickInfoReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.PickInfoReplyPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.PickInfoReplyPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.PickInfoReplyPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.PickInfoReplyPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.PickInfoReplyPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.PickInfoReplyPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct PickInfoReplyPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.PickInfoReplyPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.PickInfoReplyPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
    }
    impl PickInfoReplyPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.PickInfoReplyPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.PickInfoReplyPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.PickInfoReplyPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.PickInfoReplyPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.PickInfoReplyPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.PickInfoReplyPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.PickInfoReplyPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.PickInfoReplyPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.PickInfoReplyPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.PickInfoReplyPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.PickInfoReplyPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.PickInfoReplyPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.PickInfoReplyPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.PickInfoReplyPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.PickInfoReplyPacket.DataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.PickInfoReplyPacket.DataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct PickInfoReplyPacketDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.PickInfoReplyPacket.DataBlock.CreatorID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.PickInfoReplyPacket.DataBlock.CreatorID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub creator_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.PickInfoReplyPacket.DataBlock.Desc`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.PickInfoReplyPacket.DataBlock.Desc`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub desc: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.PickInfoReplyPacket.DataBlock.Enabled`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.PickInfoReplyPacket.DataBlock.Enabled`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub enabled: bool,
        /// C# member: `F:LibreMetaverse.Packets.PickInfoReplyPacket.DataBlock.Name`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.PickInfoReplyPacket.DataBlock.Name`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub name: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.PickInfoReplyPacket.DataBlock.OriginalName`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.PickInfoReplyPacket.DataBlock.OriginalName`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub original_name: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.PickInfoReplyPacket.DataBlock.ParcelID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.PickInfoReplyPacket.DataBlock.ParcelID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub parcel_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.PickInfoReplyPacket.DataBlock.PickID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.PickInfoReplyPacket.DataBlock.PickID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub pick_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.PickInfoReplyPacket.DataBlock.PosGlobal`.
        ///
        /// C# signature: `LibreMetaverse.Vector3d LibreMetaverse.Packets.PickInfoReplyPacket.DataBlock.PosGlobal`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub pos_global: libremetaverse_types::Vector3d,
        /// C# member: `F:LibreMetaverse.Packets.PickInfoReplyPacket.DataBlock.SimName`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.PickInfoReplyPacket.DataBlock.SimName`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub sim_name: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.PickInfoReplyPacket.DataBlock.SnapshotID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.PickInfoReplyPacket.DataBlock.SnapshotID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub snapshot_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.PickInfoReplyPacket.DataBlock.SortOrder`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.PickInfoReplyPacket.DataBlock.SortOrder`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub sort_order: i32,
        /// C# member: `F:LibreMetaverse.Packets.PickInfoReplyPacket.DataBlock.TopPick`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.PickInfoReplyPacket.DataBlock.TopPick`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub top_pick: bool,
        /// C# member: `F:LibreMetaverse.Packets.PickInfoReplyPacket.DataBlock.User`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.PickInfoReplyPacket.DataBlock.User`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub user: Vec<u8>,
    }
    impl PickInfoReplyPacketDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.PickInfoReplyPacket.DataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.PickInfoReplyPacket.DataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.PickInfoReplyPacket.DataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.PickInfoReplyPacket.DataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.PickInfoReplyPacket.DataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.PickInfoReplyPacket.DataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.PickInfoReplyPacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.PickInfoReplyPacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.PickInfoReplyPacket.DataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.PickInfoReplyPacket.DataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.PickInfoReplyPacket.DataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.PickInfoReplyPacket.DataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.PickInfoReplyPacket.DataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.PickInfoReplyPacket.DataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.PickInfoUpdatePacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.PickInfoUpdatePacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct PickInfoUpdatePacket {
        /// C# member: `F:LibreMetaverse.Packets.PickInfoUpdatePacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.PickInfoUpdatePacket.AgentDataBlock LibreMetaverse.Packets.PickInfoUpdatePacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::PickInfoUpdatePacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.PickInfoUpdatePacket.Data`.
        ///
        /// C# signature: `LibreMetaverse.Packets.PickInfoUpdatePacket.DataBlock LibreMetaverse.Packets.PickInfoUpdatePacket.Data`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub data: libremetaverse::packets::PickInfoUpdatePacketDataBlock,
    }
    impl PickInfoUpdatePacket {
        /// C# member: `M:LibreMetaverse.Packets.PickInfoUpdatePacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.PickInfoUpdatePacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.PickInfoUpdatePacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.PickInfoUpdatePacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.PickInfoUpdatePacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.PickInfoUpdatePacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.PickInfoUpdatePacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.PickInfoUpdatePacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.PickInfoUpdatePacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.PickInfoUpdatePacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.PickInfoUpdatePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.PickInfoUpdatePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.PickInfoUpdatePacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.PickInfoUpdatePacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.PickInfoUpdatePacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.PickInfoUpdatePacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.PickInfoUpdatePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.PickInfoUpdatePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.PickInfoUpdatePacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.PickInfoUpdatePacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.PickInfoUpdatePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.PickInfoUpdatePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.PickInfoUpdatePacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.PickInfoUpdatePacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.PickInfoUpdatePacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.PickInfoUpdatePacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.PickInfoUpdatePacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.PickInfoUpdatePacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct PickInfoUpdatePacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.PickInfoUpdatePacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.PickInfoUpdatePacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.PickInfoUpdatePacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.PickInfoUpdatePacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl PickInfoUpdatePacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.PickInfoUpdatePacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.PickInfoUpdatePacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.PickInfoUpdatePacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.PickInfoUpdatePacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.PickInfoUpdatePacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.PickInfoUpdatePacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.PickInfoUpdatePacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.PickInfoUpdatePacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.PickInfoUpdatePacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.PickInfoUpdatePacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.PickInfoUpdatePacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.PickInfoUpdatePacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.PickInfoUpdatePacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.PickInfoUpdatePacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.PickInfoUpdatePacket.DataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.PickInfoUpdatePacket.DataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct PickInfoUpdatePacketDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.PickInfoUpdatePacket.DataBlock.CreatorID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.PickInfoUpdatePacket.DataBlock.CreatorID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub creator_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.PickInfoUpdatePacket.DataBlock.Desc`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.PickInfoUpdatePacket.DataBlock.Desc`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub desc: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.PickInfoUpdatePacket.DataBlock.Enabled`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.PickInfoUpdatePacket.DataBlock.Enabled`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub enabled: bool,
        /// C# member: `F:LibreMetaverse.Packets.PickInfoUpdatePacket.DataBlock.Name`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.PickInfoUpdatePacket.DataBlock.Name`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub name: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.PickInfoUpdatePacket.DataBlock.ParcelID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.PickInfoUpdatePacket.DataBlock.ParcelID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub parcel_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.PickInfoUpdatePacket.DataBlock.PickID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.PickInfoUpdatePacket.DataBlock.PickID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub pick_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.PickInfoUpdatePacket.DataBlock.PosGlobal`.
        ///
        /// C# signature: `LibreMetaverse.Vector3d LibreMetaverse.Packets.PickInfoUpdatePacket.DataBlock.PosGlobal`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub pos_global: libremetaverse_types::Vector3d,
        /// C# member: `F:LibreMetaverse.Packets.PickInfoUpdatePacket.DataBlock.SnapshotID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.PickInfoUpdatePacket.DataBlock.SnapshotID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub snapshot_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.PickInfoUpdatePacket.DataBlock.SortOrder`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.PickInfoUpdatePacket.DataBlock.SortOrder`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub sort_order: i32,
        /// C# member: `F:LibreMetaverse.Packets.PickInfoUpdatePacket.DataBlock.TopPick`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.PickInfoUpdatePacket.DataBlock.TopPick`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub top_pick: bool,
    }
    impl PickInfoUpdatePacketDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.PickInfoUpdatePacket.DataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.PickInfoUpdatePacket.DataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.PickInfoUpdatePacket.DataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.PickInfoUpdatePacket.DataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.PickInfoUpdatePacket.DataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.PickInfoUpdatePacket.DataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.PickInfoUpdatePacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.PickInfoUpdatePacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.PickInfoUpdatePacket.DataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.PickInfoUpdatePacket.DataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.PickInfoUpdatePacket.DataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.PickInfoUpdatePacket.DataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.PickInfoUpdatePacket.DataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.PickInfoUpdatePacket.DataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.PlacesQueryPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.PlacesQueryPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct PlacesQueryPacket {
        /// C# member: `F:LibreMetaverse.Packets.PlacesQueryPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.PlacesQueryPacket.AgentDataBlock LibreMetaverse.Packets.PlacesQueryPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::PlacesQueryPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.PlacesQueryPacket.QueryData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.PlacesQueryPacket.QueryDataBlock LibreMetaverse.Packets.PlacesQueryPacket.QueryData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub query_data: libremetaverse::packets::PlacesQueryPacketQueryDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.PlacesQueryPacket.TransactionData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.PlacesQueryPacket.TransactionDataBlock LibreMetaverse.Packets.PlacesQueryPacket.TransactionData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub transaction_data: libremetaverse::packets::PlacesQueryPacketTransactionDataBlock,
    }
    impl PlacesQueryPacket {
        /// C# member: `M:LibreMetaverse.Packets.PlacesQueryPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.PlacesQueryPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.PlacesQueryPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.PlacesQueryPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.PlacesQueryPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.PlacesQueryPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.PlacesQueryPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.PlacesQueryPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.PlacesQueryPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.PlacesQueryPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.PlacesQueryPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.PlacesQueryPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.PlacesQueryPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.PlacesQueryPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.PlacesQueryPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.PlacesQueryPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.PlacesQueryPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.PlacesQueryPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.PlacesQueryPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.PlacesQueryPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.PlacesQueryPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.PlacesQueryPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.PlacesQueryPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.PlacesQueryPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.PlacesQueryPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.PlacesQueryPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.PlacesQueryPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.PlacesQueryPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct PlacesQueryPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.PlacesQueryPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.PlacesQueryPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.PlacesQueryPacket.AgentDataBlock.QueryID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.PlacesQueryPacket.AgentDataBlock.QueryID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub query_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.PlacesQueryPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.PlacesQueryPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl PlacesQueryPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.PlacesQueryPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.PlacesQueryPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.PlacesQueryPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.PlacesQueryPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.PlacesQueryPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.PlacesQueryPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.PlacesQueryPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.PlacesQueryPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.PlacesQueryPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.PlacesQueryPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.PlacesQueryPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.PlacesQueryPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.PlacesQueryPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.PlacesQueryPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.PlacesQueryPacket.QueryDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.PlacesQueryPacket.QueryDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct PlacesQueryPacketQueryDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.PlacesQueryPacket.QueryDataBlock.Category`.
        ///
        /// C# signature: `System.SByte LibreMetaverse.Packets.PlacesQueryPacket.QueryDataBlock.Category`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub category: i8,
        /// C# member: `F:LibreMetaverse.Packets.PlacesQueryPacket.QueryDataBlock.QueryFlags`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.PlacesQueryPacket.QueryDataBlock.QueryFlags`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub query_flags: u32,
        /// C# member: `F:LibreMetaverse.Packets.PlacesQueryPacket.QueryDataBlock.QueryText`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.PlacesQueryPacket.QueryDataBlock.QueryText`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub query_text: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.PlacesQueryPacket.QueryDataBlock.SimName`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.PlacesQueryPacket.QueryDataBlock.SimName`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub sim_name: Vec<u8>,
    }
    impl PlacesQueryPacketQueryDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.PlacesQueryPacket.QueryDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.PlacesQueryPacket.QueryDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.PlacesQueryPacket.QueryDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.PlacesQueryPacket.QueryDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.PlacesQueryPacket.QueryDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.PlacesQueryPacket.QueryDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.PlacesQueryPacket.QueryDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.PlacesQueryPacket.QueryDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.PlacesQueryPacket.QueryDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.PlacesQueryPacket.QueryDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.PlacesQueryPacket.QueryDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.PlacesQueryPacket.QueryDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.PlacesQueryPacket.QueryDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.PlacesQueryPacket.QueryDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.PlacesQueryPacket.TransactionDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.PlacesQueryPacket.TransactionDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct PlacesQueryPacketTransactionDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.PlacesQueryPacket.TransactionDataBlock.TransactionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.PlacesQueryPacket.TransactionDataBlock.TransactionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub transaction_id: libremetaverse_types::UUID,
    }
    impl PlacesQueryPacketTransactionDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.PlacesQueryPacket.TransactionDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.PlacesQueryPacket.TransactionDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.PlacesQueryPacket.TransactionDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.PlacesQueryPacket.TransactionDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.PlacesQueryPacket.TransactionDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.PlacesQueryPacket.TransactionDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.PlacesQueryPacket.TransactionDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.PlacesQueryPacket.TransactionDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.PlacesQueryPacket.TransactionDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.PlacesQueryPacket.TransactionDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.PlacesQueryPacket.TransactionDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.PlacesQueryPacket.TransactionDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.PlacesQueryPacket.TransactionDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.PlacesQueryPacket.TransactionDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.PlacesReplyPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.PlacesReplyPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct PlacesReplyPacket {
        /// C# member: `F:LibreMetaverse.Packets.PlacesReplyPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.PlacesReplyPacket.AgentDataBlock LibreMetaverse.Packets.PlacesReplyPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::PlacesReplyPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.PlacesReplyPacket.QueryData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.PlacesReplyPacket.QueryDataBlock[] LibreMetaverse.Packets.PlacesReplyPacket.QueryData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub query_data: Vec<libremetaverse::packets::PlacesReplyPacketQueryDataBlock>,
        /// C# member: `F:LibreMetaverse.Packets.PlacesReplyPacket.TransactionData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.PlacesReplyPacket.TransactionDataBlock LibreMetaverse.Packets.PlacesReplyPacket.TransactionData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub transaction_data: libremetaverse::packets::PlacesReplyPacketTransactionDataBlock,
    }
    impl PlacesReplyPacket {
        /// C# member: `M:LibreMetaverse.Packets.PlacesReplyPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.PlacesReplyPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.PlacesReplyPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.PlacesReplyPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.PlacesReplyPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.PlacesReplyPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.PlacesReplyPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.PlacesReplyPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.PlacesReplyPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.PlacesReplyPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.PlacesReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.PlacesReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.PlacesReplyPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.PlacesReplyPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.PlacesReplyPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.PlacesReplyPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.PlacesReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.PlacesReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.PlacesReplyPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.PlacesReplyPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.PlacesReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.PlacesReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.PlacesReplyPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.PlacesReplyPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.PlacesReplyPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.PlacesReplyPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.PlacesReplyPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.PlacesReplyPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct PlacesReplyPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.PlacesReplyPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.PlacesReplyPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.PlacesReplyPacket.AgentDataBlock.QueryID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.PlacesReplyPacket.AgentDataBlock.QueryID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub query_id: libremetaverse_types::UUID,
    }
    impl PlacesReplyPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.PlacesReplyPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.PlacesReplyPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.PlacesReplyPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.PlacesReplyPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.PlacesReplyPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.PlacesReplyPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.PlacesReplyPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.PlacesReplyPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.PlacesReplyPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.PlacesReplyPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.PlacesReplyPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.PlacesReplyPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.PlacesReplyPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.PlacesReplyPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.PlacesReplyPacket.QueryDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.PlacesReplyPacket.QueryDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct PlacesReplyPacketQueryDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.PlacesReplyPacket.QueryDataBlock.ActualArea`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.PlacesReplyPacket.QueryDataBlock.ActualArea`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub actual_area: i32,
        /// C# member: `F:LibreMetaverse.Packets.PlacesReplyPacket.QueryDataBlock.BillableArea`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.PlacesReplyPacket.QueryDataBlock.BillableArea`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub billable_area: i32,
        /// C# member: `F:LibreMetaverse.Packets.PlacesReplyPacket.QueryDataBlock.Desc`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.PlacesReplyPacket.QueryDataBlock.Desc`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub desc: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.PlacesReplyPacket.QueryDataBlock.Dwell`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.PlacesReplyPacket.QueryDataBlock.Dwell`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub dwell: f32,
        /// C# member: `F:LibreMetaverse.Packets.PlacesReplyPacket.QueryDataBlock.Flags`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.PlacesReplyPacket.QueryDataBlock.Flags`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub flags: u8,
        /// C# member: `F:LibreMetaverse.Packets.PlacesReplyPacket.QueryDataBlock.GlobalX`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.PlacesReplyPacket.QueryDataBlock.GlobalX`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub global_x: f32,
        /// C# member: `F:LibreMetaverse.Packets.PlacesReplyPacket.QueryDataBlock.GlobalY`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.PlacesReplyPacket.QueryDataBlock.GlobalY`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub global_y: f32,
        /// C# member: `F:LibreMetaverse.Packets.PlacesReplyPacket.QueryDataBlock.GlobalZ`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.PlacesReplyPacket.QueryDataBlock.GlobalZ`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub global_z: f32,
        /// C# member: `F:LibreMetaverse.Packets.PlacesReplyPacket.QueryDataBlock.Name`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.PlacesReplyPacket.QueryDataBlock.Name`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub name: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.PlacesReplyPacket.QueryDataBlock.OwnerID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.PlacesReplyPacket.QueryDataBlock.OwnerID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub owner_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.PlacesReplyPacket.QueryDataBlock.Price`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.PlacesReplyPacket.QueryDataBlock.Price`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub price: i32,
        /// C# member: `F:LibreMetaverse.Packets.PlacesReplyPacket.QueryDataBlock.SimName`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.PlacesReplyPacket.QueryDataBlock.SimName`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub sim_name: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.PlacesReplyPacket.QueryDataBlock.SnapshotID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.PlacesReplyPacket.QueryDataBlock.SnapshotID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub snapshot_id: libremetaverse_types::UUID,
    }
    impl PlacesReplyPacketQueryDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.PlacesReplyPacket.QueryDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.PlacesReplyPacket.QueryDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.PlacesReplyPacket.QueryDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.PlacesReplyPacket.QueryDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.PlacesReplyPacket.QueryDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.PlacesReplyPacket.QueryDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.PlacesReplyPacket.QueryDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.PlacesReplyPacket.QueryDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.PlacesReplyPacket.QueryDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.PlacesReplyPacket.QueryDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.PlacesReplyPacket.QueryDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.PlacesReplyPacket.QueryDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.PlacesReplyPacket.QueryDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.PlacesReplyPacket.QueryDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.PlacesReplyPacket.TransactionDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.PlacesReplyPacket.TransactionDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct PlacesReplyPacketTransactionDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.PlacesReplyPacket.TransactionDataBlock.TransactionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.PlacesReplyPacket.TransactionDataBlock.TransactionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub transaction_id: libremetaverse_types::UUID,
    }
    impl PlacesReplyPacketTransactionDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.PlacesReplyPacket.TransactionDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.PlacesReplyPacket.TransactionDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.PlacesReplyPacket.TransactionDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.PlacesReplyPacket.TransactionDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.PlacesReplyPacket.TransactionDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.PlacesReplyPacket.TransactionDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.PlacesReplyPacket.TransactionDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.PlacesReplyPacket.TransactionDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.PlacesReplyPacket.TransactionDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.PlacesReplyPacket.TransactionDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.PlacesReplyPacket.TransactionDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.PlacesReplyPacket.TransactionDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.PlacesReplyPacket.TransactionDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.PlacesReplyPacket.TransactionDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.PreloadSoundPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.PreloadSoundPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct PreloadSoundPacket {
        /// C# member: `F:LibreMetaverse.Packets.PreloadSoundPacket.DataBlock`.
        ///
        /// C# signature: `LibreMetaverse.Packets.PreloadSoundPacket.DataBlockBlock[] LibreMetaverse.Packets.PreloadSoundPacket.DataBlock`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub data_block: Vec<libremetaverse::packets::PreloadSoundPacketDataBlockBlock>,
    }
    impl PreloadSoundPacket {
        /// C# member: `M:LibreMetaverse.Packets.PreloadSoundPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.PreloadSoundPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.PreloadSoundPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.PreloadSoundPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.PreloadSoundPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.PreloadSoundPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.PreloadSoundPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.PreloadSoundPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.PreloadSoundPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.PreloadSoundPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.PreloadSoundPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.PreloadSoundPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.PreloadSoundPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.PreloadSoundPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.PreloadSoundPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.PreloadSoundPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.PreloadSoundPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.PreloadSoundPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.PreloadSoundPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.PreloadSoundPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.PreloadSoundPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.PreloadSoundPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.PreloadSoundPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.PreloadSoundPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.PreloadSoundPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.PreloadSoundPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.PreloadSoundPacket.DataBlockBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.PreloadSoundPacket.DataBlockBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct PreloadSoundPacketDataBlockBlock {
        /// C# member: `F:LibreMetaverse.Packets.PreloadSoundPacket.DataBlockBlock.ObjectID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.PreloadSoundPacket.DataBlockBlock.ObjectID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.PreloadSoundPacket.DataBlockBlock.OwnerID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.PreloadSoundPacket.DataBlockBlock.OwnerID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub owner_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.PreloadSoundPacket.DataBlockBlock.SoundID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.PreloadSoundPacket.DataBlockBlock.SoundID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub sound_id: libremetaverse_types::UUID,
    }
    impl PreloadSoundPacketDataBlockBlock {
        /// C# member: `M:LibreMetaverse.Packets.PreloadSoundPacket.DataBlockBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.PreloadSoundPacket.DataBlockBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.PreloadSoundPacket.DataBlockBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.PreloadSoundPacket.DataBlockBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.PreloadSoundPacket.DataBlockBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.PreloadSoundPacket.DataBlockBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.PreloadSoundPacket.DataBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.PreloadSoundPacket.DataBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.PreloadSoundPacket.DataBlockBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.PreloadSoundPacket.DataBlockBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.PreloadSoundPacket.DataBlockBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.PreloadSoundPacket.DataBlockBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.PreloadSoundPacket.DataBlockBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.PreloadSoundPacket.DataBlockBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.PurgeInventoryDescendentsPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.PurgeInventoryDescendentsPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct PurgeInventoryDescendentsPacket {
        /// C# member: `F:LibreMetaverse.Packets.PurgeInventoryDescendentsPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.PurgeInventoryDescendentsPacket.AgentDataBlock LibreMetaverse.Packets.PurgeInventoryDescendentsPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::PurgeInventoryDescendentsPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.PurgeInventoryDescendentsPacket.InventoryData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.PurgeInventoryDescendentsPacket.InventoryDataBlock LibreMetaverse.Packets.PurgeInventoryDescendentsPacket.InventoryData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub inventory_data:
            libremetaverse::packets::PurgeInventoryDescendentsPacketInventoryDataBlock,
    }
    impl PurgeInventoryDescendentsPacket {
        /// C# member: `M:LibreMetaverse.Packets.PurgeInventoryDescendentsPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.PurgeInventoryDescendentsPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.PurgeInventoryDescendentsPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.PurgeInventoryDescendentsPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.PurgeInventoryDescendentsPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.PurgeInventoryDescendentsPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.PurgeInventoryDescendentsPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.PurgeInventoryDescendentsPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.PurgeInventoryDescendentsPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.PurgeInventoryDescendentsPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.PurgeInventoryDescendentsPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.PurgeInventoryDescendentsPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.PurgeInventoryDescendentsPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.PurgeInventoryDescendentsPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.PurgeInventoryDescendentsPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.PurgeInventoryDescendentsPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.PurgeInventoryDescendentsPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.PurgeInventoryDescendentsPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.PurgeInventoryDescendentsPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.PurgeInventoryDescendentsPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.PurgeInventoryDescendentsPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.PurgeInventoryDescendentsPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.PurgeInventoryDescendentsPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.PurgeInventoryDescendentsPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.PurgeInventoryDescendentsPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.PurgeInventoryDescendentsPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.PurgeInventoryDescendentsPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.PurgeInventoryDescendentsPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct PurgeInventoryDescendentsPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.PurgeInventoryDescendentsPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.PurgeInventoryDescendentsPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.PurgeInventoryDescendentsPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.PurgeInventoryDescendentsPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl PurgeInventoryDescendentsPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.PurgeInventoryDescendentsPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.PurgeInventoryDescendentsPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.PurgeInventoryDescendentsPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.PurgeInventoryDescendentsPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.PurgeInventoryDescendentsPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.PurgeInventoryDescendentsPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.PurgeInventoryDescendentsPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.PurgeInventoryDescendentsPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.PurgeInventoryDescendentsPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.PurgeInventoryDescendentsPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.PurgeInventoryDescendentsPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.PurgeInventoryDescendentsPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.PurgeInventoryDescendentsPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.PurgeInventoryDescendentsPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.PurgeInventoryDescendentsPacket.InventoryDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.PurgeInventoryDescendentsPacket.InventoryDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct PurgeInventoryDescendentsPacketInventoryDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.PurgeInventoryDescendentsPacket.InventoryDataBlock.FolderID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.PurgeInventoryDescendentsPacket.InventoryDataBlock.FolderID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub folder_id: libremetaverse_types::UUID,
    }
    impl PurgeInventoryDescendentsPacketInventoryDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.PurgeInventoryDescendentsPacket.InventoryDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.PurgeInventoryDescendentsPacket.InventoryDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.PurgeInventoryDescendentsPacket.InventoryDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.PurgeInventoryDescendentsPacket.InventoryDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.PurgeInventoryDescendentsPacket.InventoryDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.PurgeInventoryDescendentsPacket.InventoryDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.PurgeInventoryDescendentsPacket.InventoryDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.PurgeInventoryDescendentsPacket.InventoryDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.PurgeInventoryDescendentsPacket.InventoryDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.PurgeInventoryDescendentsPacket.InventoryDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.PurgeInventoryDescendentsPacket.InventoryDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.PurgeInventoryDescendentsPacket.InventoryDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.PurgeInventoryDescendentsPacket.InventoryDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.PurgeInventoryDescendentsPacket.InventoryDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RebakeAvatarTexturesPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RebakeAvatarTexturesPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RebakeAvatarTexturesPacket {
        /// C# member: `F:LibreMetaverse.Packets.RebakeAvatarTexturesPacket.TextureData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RebakeAvatarTexturesPacket.TextureDataBlock LibreMetaverse.Packets.RebakeAvatarTexturesPacket.TextureData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub texture_data: libremetaverse::packets::RebakeAvatarTexturesPacketTextureDataBlock,
    }
    impl RebakeAvatarTexturesPacket {
        /// C# member: `M:LibreMetaverse.Packets.RebakeAvatarTexturesPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RebakeAvatarTexturesPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RebakeAvatarTexturesPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RebakeAvatarTexturesPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RebakeAvatarTexturesPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RebakeAvatarTexturesPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RebakeAvatarTexturesPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RebakeAvatarTexturesPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.RebakeAvatarTexturesPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RebakeAvatarTexturesPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.RebakeAvatarTexturesPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RebakeAvatarTexturesPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.RebakeAvatarTexturesPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RebakeAvatarTexturesPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RebakeAvatarTexturesPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RebakeAvatarTexturesPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RebakeAvatarTexturesPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RebakeAvatarTexturesPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.RebakeAvatarTexturesPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.RebakeAvatarTexturesPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RebakeAvatarTexturesPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.RebakeAvatarTexturesPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.RebakeAvatarTexturesPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RebakeAvatarTexturesPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RebakeAvatarTexturesPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.RebakeAvatarTexturesPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RebakeAvatarTexturesPacket.TextureDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RebakeAvatarTexturesPacket.TextureDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RebakeAvatarTexturesPacketTextureDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.RebakeAvatarTexturesPacket.TextureDataBlock.TextureID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RebakeAvatarTexturesPacket.TextureDataBlock.TextureID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub texture_id: libremetaverse_types::UUID,
    }
    impl RebakeAvatarTexturesPacketTextureDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.RebakeAvatarTexturesPacket.TextureDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RebakeAvatarTexturesPacket.TextureDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RebakeAvatarTexturesPacket.TextureDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RebakeAvatarTexturesPacket.TextureDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RebakeAvatarTexturesPacket.TextureDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RebakeAvatarTexturesPacket.TextureDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RebakeAvatarTexturesPacket.TextureDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RebakeAvatarTexturesPacket.TextureDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.RebakeAvatarTexturesPacket.TextureDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RebakeAvatarTexturesPacket.TextureDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RebakeAvatarTexturesPacket.TextureDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RebakeAvatarTexturesPacket.TextureDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RebakeAvatarTexturesPacket.TextureDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RebakeAvatarTexturesPacket.TextureDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RedoPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RedoPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RedoPacket {
        /// C# member: `F:LibreMetaverse.Packets.RedoPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RedoPacket.AgentDataBlock LibreMetaverse.Packets.RedoPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::RedoPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.RedoPacket.ObjectData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RedoPacket.ObjectDataBlock[] LibreMetaverse.Packets.RedoPacket.ObjectData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_data: Vec<libremetaverse::packets::RedoPacketObjectDataBlock>,
    }
    impl RedoPacket {
        /// C# member: `M:LibreMetaverse.Packets.RedoPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RedoPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RedoPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RedoPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RedoPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RedoPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RedoPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RedoPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.RedoPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RedoPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.RedoPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RedoPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.RedoPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RedoPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RedoPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RedoPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RedoPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RedoPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.RedoPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.RedoPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RedoPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.RedoPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.RedoPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RedoPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RedoPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.RedoPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RedoPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RedoPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RedoPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.RedoPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RedoPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.RedoPacket.AgentDataBlock.GroupID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RedoPacket.AgentDataBlock.GroupID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.RedoPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RedoPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl RedoPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.RedoPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RedoPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RedoPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RedoPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RedoPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RedoPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RedoPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RedoPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.RedoPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RedoPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RedoPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RedoPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RedoPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RedoPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RedoPacket.ObjectDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RedoPacket.ObjectDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RedoPacketObjectDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.RedoPacket.ObjectDataBlock.ObjectID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RedoPacket.ObjectDataBlock.ObjectID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_id: libremetaverse_types::UUID,
    }
    impl RedoPacketObjectDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.RedoPacket.ObjectDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RedoPacket.ObjectDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RedoPacket.ObjectDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RedoPacket.ObjectDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RedoPacket.ObjectDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RedoPacket.ObjectDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RedoPacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RedoPacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.RedoPacket.ObjectDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RedoPacket.ObjectDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RedoPacket.ObjectDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RedoPacket.ObjectDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RedoPacket.ObjectDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RedoPacket.ObjectDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RegionHandleRequestPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RegionHandleRequestPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RegionHandleRequestPacket {
        /// C# member: `F:LibreMetaverse.Packets.RegionHandleRequestPacket.RequestBlock`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RegionHandleRequestPacket.RequestBlockBlock LibreMetaverse.Packets.RegionHandleRequestPacket.RequestBlock`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub request_block: libremetaverse::packets::RegionHandleRequestPacketRequestBlockBlock,
    }
    impl RegionHandleRequestPacket {
        /// C# member: `M:LibreMetaverse.Packets.RegionHandleRequestPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RegionHandleRequestPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionHandleRequestPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RegionHandleRequestPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionHandleRequestPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RegionHandleRequestPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionHandleRequestPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RegionHandleRequestPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionHandleRequestPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RegionHandleRequestPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionHandleRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RegionHandleRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionHandleRequestPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RegionHandleRequestPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionHandleRequestPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RegionHandleRequestPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionHandleRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RegionHandleRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionHandleRequestPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.RegionHandleRequestPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionHandleRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.RegionHandleRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.RegionHandleRequestPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RegionHandleRequestPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RegionHandleRequestPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.RegionHandleRequestPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RegionHandleRequestPacket.RequestBlockBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RegionHandleRequestPacket.RequestBlockBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RegionHandleRequestPacketRequestBlockBlock {
        /// C# member: `F:LibreMetaverse.Packets.RegionHandleRequestPacket.RequestBlockBlock.RegionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RegionHandleRequestPacket.RequestBlockBlock.RegionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub region_id: libremetaverse_types::UUID,
    }
    impl RegionHandleRequestPacketRequestBlockBlock {
        /// C# member: `M:LibreMetaverse.Packets.RegionHandleRequestPacket.RequestBlockBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RegionHandleRequestPacket.RequestBlockBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionHandleRequestPacket.RequestBlockBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RegionHandleRequestPacket.RequestBlockBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionHandleRequestPacket.RequestBlockBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RegionHandleRequestPacket.RequestBlockBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionHandleRequestPacket.RequestBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RegionHandleRequestPacket.RequestBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionHandleRequestPacket.RequestBlockBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RegionHandleRequestPacket.RequestBlockBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionHandleRequestPacket.RequestBlockBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RegionHandleRequestPacket.RequestBlockBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RegionHandleRequestPacket.RequestBlockBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RegionHandleRequestPacket.RequestBlockBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RegionHandshakePacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RegionHandshakePacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RegionHandshakePacket {
        /// C# member: `F:LibreMetaverse.Packets.RegionHandshakePacket.RegionInfo`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RegionHandshakePacket.RegionInfoBlock LibreMetaverse.Packets.RegionHandshakePacket.RegionInfo`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub region_info: libremetaverse::packets::RegionHandshakePacketRegionInfoBlock,
        /// C# member: `F:LibreMetaverse.Packets.RegionHandshakePacket.RegionInfo2`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RegionHandshakePacket.RegionInfo2Block LibreMetaverse.Packets.RegionHandshakePacket.RegionInfo2`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub region_info2: libremetaverse::packets::RegionHandshakePacketRegionInfo2Block,
        /// C# member: `F:LibreMetaverse.Packets.RegionHandshakePacket.RegionInfo3`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RegionHandshakePacket.RegionInfo3Block LibreMetaverse.Packets.RegionHandshakePacket.RegionInfo3`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub region_info3: libremetaverse::packets::RegionHandshakePacketRegionInfo3Block,
        /// C# member: `F:LibreMetaverse.Packets.RegionHandshakePacket.RegionInfo4`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RegionHandshakePacket.RegionInfo4Block[] LibreMetaverse.Packets.RegionHandshakePacket.RegionInfo4`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub region_info4: Vec<libremetaverse::packets::RegionHandshakePacketRegionInfo4Block>,
    }
    impl RegionHandshakePacket {
        /// C# member: `M:LibreMetaverse.Packets.RegionHandshakePacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RegionHandshakePacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionHandshakePacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RegionHandshakePacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionHandshakePacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RegionHandshakePacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionHandshakePacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RegionHandshakePacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionHandshakePacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RegionHandshakePacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionHandshakePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RegionHandshakePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionHandshakePacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RegionHandshakePacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionHandshakePacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RegionHandshakePacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionHandshakePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RegionHandshakePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionHandshakePacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.RegionHandshakePacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionHandshakePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.RegionHandshakePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.RegionHandshakePacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RegionHandshakePacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RegionHandshakePacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.RegionHandshakePacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RegionHandshakePacket.RegionInfo2Block`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RegionHandshakePacket.RegionInfo2Block` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RegionHandshakePacketRegionInfo2Block {
        /// C# member: `F:LibreMetaverse.Packets.RegionHandshakePacket.RegionInfo2Block.RegionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RegionHandshakePacket.RegionInfo2Block.RegionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub region_id: libremetaverse_types::UUID,
    }
    impl RegionHandshakePacketRegionInfo2Block {
        /// C# member: `M:LibreMetaverse.Packets.RegionHandshakePacket.RegionInfo2Block.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RegionHandshakePacket.RegionInfo2Block()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionHandshakePacket.RegionInfo2Block.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RegionHandshakePacket.RegionInfo2Block(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionHandshakePacket.RegionInfo2Block.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RegionHandshakePacket.RegionInfo2Block.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionHandshakePacket.RegionInfo2Block.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RegionHandshakePacket.RegionInfo2Block.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionHandshakePacket.RegionInfo2Block.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RegionHandshakePacket.RegionInfo2Block.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionHandshakePacket.RegionInfo2Block.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RegionHandshakePacket.RegionInfo2Block.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RegionHandshakePacket.RegionInfo2Block.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RegionHandshakePacket.RegionInfo2Block.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RegionHandshakePacket.RegionInfo3Block`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RegionHandshakePacket.RegionInfo3Block` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RegionHandshakePacketRegionInfo3Block {
        /// C# member: `F:LibreMetaverse.Packets.RegionHandshakePacket.RegionInfo3Block.CPUClassID`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RegionHandshakePacket.RegionInfo3Block.CPUClassID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub cpu_class_id: i32,
        /// C# member: `F:LibreMetaverse.Packets.RegionHandshakePacket.RegionInfo3Block.CPURatio`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RegionHandshakePacket.RegionInfo3Block.CPURatio`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub cpu_ratio: i32,
        /// C# member: `F:LibreMetaverse.Packets.RegionHandshakePacket.RegionInfo3Block.ColoName`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RegionHandshakePacket.RegionInfo3Block.ColoName`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub colo_name: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.RegionHandshakePacket.RegionInfo3Block.ProductName`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RegionHandshakePacket.RegionInfo3Block.ProductName`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub product_name: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.RegionHandshakePacket.RegionInfo3Block.ProductSKU`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RegionHandshakePacket.RegionInfo3Block.ProductSKU`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub product_sku: Vec<u8>,
    }
    impl RegionHandshakePacketRegionInfo3Block {
        /// C# member: `M:LibreMetaverse.Packets.RegionHandshakePacket.RegionInfo3Block.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RegionHandshakePacket.RegionInfo3Block()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionHandshakePacket.RegionInfo3Block.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RegionHandshakePacket.RegionInfo3Block(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionHandshakePacket.RegionInfo3Block.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RegionHandshakePacket.RegionInfo3Block.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionHandshakePacket.RegionInfo3Block.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RegionHandshakePacket.RegionInfo3Block.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionHandshakePacket.RegionInfo3Block.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RegionHandshakePacket.RegionInfo3Block.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionHandshakePacket.RegionInfo3Block.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RegionHandshakePacket.RegionInfo3Block.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RegionHandshakePacket.RegionInfo3Block.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RegionHandshakePacket.RegionInfo3Block.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RegionHandshakePacket.RegionInfo4Block`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RegionHandshakePacket.RegionInfo4Block` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RegionHandshakePacketRegionInfo4Block {
        /// C# member: `F:LibreMetaverse.Packets.RegionHandshakePacket.RegionInfo4Block.RegionFlagsExtended`.
        ///
        /// C# signature: `System.UInt64 LibreMetaverse.Packets.RegionHandshakePacket.RegionInfo4Block.RegionFlagsExtended`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub region_flags_extended: u64,
        /// C# member: `F:LibreMetaverse.Packets.RegionHandshakePacket.RegionInfo4Block.RegionProtocols`.
        ///
        /// C# signature: `System.UInt64 LibreMetaverse.Packets.RegionHandshakePacket.RegionInfo4Block.RegionProtocols`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub region_protocols: u64,
    }
    impl RegionHandshakePacketRegionInfo4Block {
        /// C# member: `M:LibreMetaverse.Packets.RegionHandshakePacket.RegionInfo4Block.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RegionHandshakePacket.RegionInfo4Block()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionHandshakePacket.RegionInfo4Block.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RegionHandshakePacket.RegionInfo4Block(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionHandshakePacket.RegionInfo4Block.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RegionHandshakePacket.RegionInfo4Block.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionHandshakePacket.RegionInfo4Block.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RegionHandshakePacket.RegionInfo4Block.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionHandshakePacket.RegionInfo4Block.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RegionHandshakePacket.RegionInfo4Block.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionHandshakePacket.RegionInfo4Block.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RegionHandshakePacket.RegionInfo4Block.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RegionHandshakePacket.RegionInfo4Block.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RegionHandshakePacket.RegionInfo4Block.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RegionHandshakePacket.RegionInfoBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RegionHandshakePacket.RegionInfoBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RegionHandshakePacketRegionInfoBlock {
        /// C# member: `F:LibreMetaverse.Packets.RegionHandshakePacket.RegionInfoBlock.BillableFactor`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.RegionHandshakePacket.RegionInfoBlock.BillableFactor`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub billable_factor: f32,
        /// C# member: `F:LibreMetaverse.Packets.RegionHandshakePacket.RegionInfoBlock.CacheID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RegionHandshakePacket.RegionInfoBlock.CacheID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub cache_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.RegionHandshakePacket.RegionInfoBlock.IsEstateManager`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.RegionHandshakePacket.RegionInfoBlock.IsEstateManager`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub is_estate_manager: bool,
        /// C# member: `F:LibreMetaverse.Packets.RegionHandshakePacket.RegionInfoBlock.RegionFlags`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.RegionHandshakePacket.RegionInfoBlock.RegionFlags`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub region_flags: u32,
        /// C# member: `F:LibreMetaverse.Packets.RegionHandshakePacket.RegionInfoBlock.SimAccess`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.RegionHandshakePacket.RegionInfoBlock.SimAccess`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub sim_access: u8,
        /// C# member: `F:LibreMetaverse.Packets.RegionHandshakePacket.RegionInfoBlock.SimName`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RegionHandshakePacket.RegionInfoBlock.SimName`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub sim_name: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.RegionHandshakePacket.RegionInfoBlock.SimOwner`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RegionHandshakePacket.RegionInfoBlock.SimOwner`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub sim_owner: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.RegionHandshakePacket.RegionInfoBlock.TerrainBase0`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RegionHandshakePacket.RegionInfoBlock.TerrainBase0`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub terrain_base0: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.RegionHandshakePacket.RegionInfoBlock.TerrainBase1`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RegionHandshakePacket.RegionInfoBlock.TerrainBase1`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub terrain_base1: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.RegionHandshakePacket.RegionInfoBlock.TerrainBase2`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RegionHandshakePacket.RegionInfoBlock.TerrainBase2`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub terrain_base2: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.RegionHandshakePacket.RegionInfoBlock.TerrainBase3`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RegionHandshakePacket.RegionInfoBlock.TerrainBase3`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub terrain_base3: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.RegionHandshakePacket.RegionInfoBlock.TerrainDetail0`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RegionHandshakePacket.RegionInfoBlock.TerrainDetail0`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub terrain_detail0: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.RegionHandshakePacket.RegionInfoBlock.TerrainDetail1`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RegionHandshakePacket.RegionInfoBlock.TerrainDetail1`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub terrain_detail1: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.RegionHandshakePacket.RegionInfoBlock.TerrainDetail2`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RegionHandshakePacket.RegionInfoBlock.TerrainDetail2`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub terrain_detail2: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.RegionHandshakePacket.RegionInfoBlock.TerrainDetail3`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RegionHandshakePacket.RegionInfoBlock.TerrainDetail3`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub terrain_detail3: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.RegionHandshakePacket.RegionInfoBlock.TerrainHeightRange00`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.RegionHandshakePacket.RegionInfoBlock.TerrainHeightRange00`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub terrain_height_range00: f32,
        /// C# member: `F:LibreMetaverse.Packets.RegionHandshakePacket.RegionInfoBlock.TerrainHeightRange01`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.RegionHandshakePacket.RegionInfoBlock.TerrainHeightRange01`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub terrain_height_range01: f32,
        /// C# member: `F:LibreMetaverse.Packets.RegionHandshakePacket.RegionInfoBlock.TerrainHeightRange10`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.RegionHandshakePacket.RegionInfoBlock.TerrainHeightRange10`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub terrain_height_range10: f32,
        /// C# member: `F:LibreMetaverse.Packets.RegionHandshakePacket.RegionInfoBlock.TerrainHeightRange11`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.RegionHandshakePacket.RegionInfoBlock.TerrainHeightRange11`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub terrain_height_range11: f32,
        /// C# member: `F:LibreMetaverse.Packets.RegionHandshakePacket.RegionInfoBlock.TerrainStartHeight00`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.RegionHandshakePacket.RegionInfoBlock.TerrainStartHeight00`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub terrain_start_height00: f32,
        /// C# member: `F:LibreMetaverse.Packets.RegionHandshakePacket.RegionInfoBlock.TerrainStartHeight01`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.RegionHandshakePacket.RegionInfoBlock.TerrainStartHeight01`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub terrain_start_height01: f32,
        /// C# member: `F:LibreMetaverse.Packets.RegionHandshakePacket.RegionInfoBlock.TerrainStartHeight10`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.RegionHandshakePacket.RegionInfoBlock.TerrainStartHeight10`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub terrain_start_height10: f32,
        /// C# member: `F:LibreMetaverse.Packets.RegionHandshakePacket.RegionInfoBlock.TerrainStartHeight11`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.RegionHandshakePacket.RegionInfoBlock.TerrainStartHeight11`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub terrain_start_height11: f32,
        /// C# member: `F:LibreMetaverse.Packets.RegionHandshakePacket.RegionInfoBlock.WaterHeight`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.RegionHandshakePacket.RegionInfoBlock.WaterHeight`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub water_height: f32,
    }
    impl RegionHandshakePacketRegionInfoBlock {
        /// C# member: `M:LibreMetaverse.Packets.RegionHandshakePacket.RegionInfoBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RegionHandshakePacket.RegionInfoBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionHandshakePacket.RegionInfoBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RegionHandshakePacket.RegionInfoBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionHandshakePacket.RegionInfoBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RegionHandshakePacket.RegionInfoBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionHandshakePacket.RegionInfoBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RegionHandshakePacket.RegionInfoBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionHandshakePacket.RegionInfoBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RegionHandshakePacket.RegionInfoBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionHandshakePacket.RegionInfoBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RegionHandshakePacket.RegionInfoBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RegionHandshakePacket.RegionInfoBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RegionHandshakePacket.RegionInfoBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RegionHandshakeReplyPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RegionHandshakeReplyPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RegionHandshakeReplyPacket {
        /// C# member: `F:LibreMetaverse.Packets.RegionHandshakeReplyPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RegionHandshakeReplyPacket.AgentDataBlock LibreMetaverse.Packets.RegionHandshakeReplyPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::RegionHandshakeReplyPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.RegionHandshakeReplyPacket.RegionInfo`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RegionHandshakeReplyPacket.RegionInfoBlock LibreMetaverse.Packets.RegionHandshakeReplyPacket.RegionInfo`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub region_info: libremetaverse::packets::RegionHandshakeReplyPacketRegionInfoBlock,
    }
    impl RegionHandshakeReplyPacket {
        /// C# member: `M:LibreMetaverse.Packets.RegionHandshakeReplyPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RegionHandshakeReplyPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionHandshakeReplyPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RegionHandshakeReplyPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionHandshakeReplyPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RegionHandshakeReplyPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionHandshakeReplyPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RegionHandshakeReplyPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionHandshakeReplyPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RegionHandshakeReplyPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionHandshakeReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RegionHandshakeReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionHandshakeReplyPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RegionHandshakeReplyPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionHandshakeReplyPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RegionHandshakeReplyPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionHandshakeReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RegionHandshakeReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionHandshakeReplyPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.RegionHandshakeReplyPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionHandshakeReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.RegionHandshakeReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.RegionHandshakeReplyPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RegionHandshakeReplyPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RegionHandshakeReplyPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.RegionHandshakeReplyPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RegionHandshakeReplyPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RegionHandshakeReplyPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RegionHandshakeReplyPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.RegionHandshakeReplyPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RegionHandshakeReplyPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.RegionHandshakeReplyPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RegionHandshakeReplyPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl RegionHandshakeReplyPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.RegionHandshakeReplyPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RegionHandshakeReplyPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionHandshakeReplyPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RegionHandshakeReplyPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionHandshakeReplyPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RegionHandshakeReplyPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionHandshakeReplyPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RegionHandshakeReplyPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionHandshakeReplyPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RegionHandshakeReplyPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionHandshakeReplyPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RegionHandshakeReplyPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RegionHandshakeReplyPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RegionHandshakeReplyPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RegionHandshakeReplyPacket.RegionInfoBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RegionHandshakeReplyPacket.RegionInfoBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RegionHandshakeReplyPacketRegionInfoBlock {
        /// C# member: `F:LibreMetaverse.Packets.RegionHandshakeReplyPacket.RegionInfoBlock.Flags`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.RegionHandshakeReplyPacket.RegionInfoBlock.Flags`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub flags: u32,
    }
    impl RegionHandshakeReplyPacketRegionInfoBlock {
        /// C# member: `M:LibreMetaverse.Packets.RegionHandshakeReplyPacket.RegionInfoBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RegionHandshakeReplyPacket.RegionInfoBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionHandshakeReplyPacket.RegionInfoBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RegionHandshakeReplyPacket.RegionInfoBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionHandshakeReplyPacket.RegionInfoBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RegionHandshakeReplyPacket.RegionInfoBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionHandshakeReplyPacket.RegionInfoBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RegionHandshakeReplyPacket.RegionInfoBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionHandshakeReplyPacket.RegionInfoBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RegionHandshakeReplyPacket.RegionInfoBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionHandshakeReplyPacket.RegionInfoBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RegionHandshakeReplyPacket.RegionInfoBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RegionHandshakeReplyPacket.RegionInfoBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RegionHandshakeReplyPacket.RegionInfoBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RegionIDAndHandleReplyPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RegionIDAndHandleReplyPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RegionIDAndHandleReplyPacket {
        /// C# member: `F:LibreMetaverse.Packets.RegionIDAndHandleReplyPacket.ReplyBlock`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RegionIDAndHandleReplyPacket.ReplyBlockBlock LibreMetaverse.Packets.RegionIDAndHandleReplyPacket.ReplyBlock`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub reply_block: libremetaverse::packets::RegionIDAndHandleReplyPacketReplyBlockBlock,
    }
    impl RegionIDAndHandleReplyPacket {
        /// C# member: `M:LibreMetaverse.Packets.RegionIDAndHandleReplyPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RegionIDAndHandleReplyPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionIDAndHandleReplyPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RegionIDAndHandleReplyPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionIDAndHandleReplyPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RegionIDAndHandleReplyPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionIDAndHandleReplyPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RegionIDAndHandleReplyPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionIDAndHandleReplyPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RegionIDAndHandleReplyPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionIDAndHandleReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RegionIDAndHandleReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionIDAndHandleReplyPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RegionIDAndHandleReplyPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionIDAndHandleReplyPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RegionIDAndHandleReplyPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionIDAndHandleReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RegionIDAndHandleReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionIDAndHandleReplyPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.RegionIDAndHandleReplyPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionIDAndHandleReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.RegionIDAndHandleReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.RegionIDAndHandleReplyPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RegionIDAndHandleReplyPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RegionIDAndHandleReplyPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.RegionIDAndHandleReplyPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RegionIDAndHandleReplyPacket.ReplyBlockBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RegionIDAndHandleReplyPacket.ReplyBlockBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RegionIDAndHandleReplyPacketReplyBlockBlock {
        /// C# member: `F:LibreMetaverse.Packets.RegionIDAndHandleReplyPacket.ReplyBlockBlock.RegionHandle`.
        ///
        /// C# signature: `System.UInt64 LibreMetaverse.Packets.RegionIDAndHandleReplyPacket.ReplyBlockBlock.RegionHandle`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub region_handle: u64,
        /// C# member: `F:LibreMetaverse.Packets.RegionIDAndHandleReplyPacket.ReplyBlockBlock.RegionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RegionIDAndHandleReplyPacket.ReplyBlockBlock.RegionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub region_id: libremetaverse_types::UUID,
    }
    impl RegionIDAndHandleReplyPacketReplyBlockBlock {
        /// C# member: `M:LibreMetaverse.Packets.RegionIDAndHandleReplyPacket.ReplyBlockBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RegionIDAndHandleReplyPacket.ReplyBlockBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionIDAndHandleReplyPacket.ReplyBlockBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RegionIDAndHandleReplyPacket.ReplyBlockBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionIDAndHandleReplyPacket.ReplyBlockBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RegionIDAndHandleReplyPacket.ReplyBlockBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionIDAndHandleReplyPacket.ReplyBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RegionIDAndHandleReplyPacket.ReplyBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionIDAndHandleReplyPacket.ReplyBlockBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RegionIDAndHandleReplyPacket.ReplyBlockBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionIDAndHandleReplyPacket.ReplyBlockBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RegionIDAndHandleReplyPacket.ReplyBlockBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RegionIDAndHandleReplyPacket.ReplyBlockBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RegionIDAndHandleReplyPacket.ReplyBlockBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RegionInfoPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RegionInfoPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RegionInfoPacket {
        /// C# member: `F:LibreMetaverse.Packets.RegionInfoPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RegionInfoPacket.AgentDataBlock LibreMetaverse.Packets.RegionInfoPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::RegionInfoPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.RegionInfoPacket.CombatSettings`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RegionInfoPacket.CombatSettingsBlock[] LibreMetaverse.Packets.RegionInfoPacket.CombatSettings`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub combat_settings: Vec<libremetaverse::packets::RegionInfoPacketCombatSettingsBlock>,
        /// C# member: `F:LibreMetaverse.Packets.RegionInfoPacket.RegionInfo`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RegionInfoPacket.RegionInfoBlock LibreMetaverse.Packets.RegionInfoPacket.RegionInfo`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub region_info: libremetaverse::packets::RegionInfoPacketRegionInfoBlock,
        /// C# member: `F:LibreMetaverse.Packets.RegionInfoPacket.RegionInfo2`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RegionInfoPacket.RegionInfo2Block LibreMetaverse.Packets.RegionInfoPacket.RegionInfo2`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub region_info2: libremetaverse::packets::RegionInfoPacketRegionInfo2Block,
        /// C# member: `F:LibreMetaverse.Packets.RegionInfoPacket.RegionInfo3`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RegionInfoPacket.RegionInfo3Block[] LibreMetaverse.Packets.RegionInfoPacket.RegionInfo3`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub region_info3: Vec<libremetaverse::packets::RegionInfoPacketRegionInfo3Block>,
        /// C# member: `F:LibreMetaverse.Packets.RegionInfoPacket.RegionInfo5`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RegionInfoPacket.RegionInfo5Block[] LibreMetaverse.Packets.RegionInfoPacket.RegionInfo5`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub region_info5: Vec<libremetaverse::packets::RegionInfoPacketRegionInfo5Block>,
    }
    impl RegionInfoPacket {
        /// C# member: `M:LibreMetaverse.Packets.RegionInfoPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RegionInfoPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionInfoPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RegionInfoPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionInfoPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RegionInfoPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionInfoPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RegionInfoPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionInfoPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RegionInfoPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionInfoPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RegionInfoPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionInfoPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RegionInfoPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionInfoPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RegionInfoPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionInfoPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RegionInfoPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionInfoPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.RegionInfoPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionInfoPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.RegionInfoPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.RegionInfoPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RegionInfoPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RegionInfoPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.RegionInfoPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RegionInfoPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RegionInfoPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RegionInfoPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.RegionInfoPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RegionInfoPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.RegionInfoPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RegionInfoPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl RegionInfoPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.RegionInfoPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RegionInfoPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionInfoPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RegionInfoPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionInfoPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RegionInfoPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionInfoPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RegionInfoPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionInfoPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RegionInfoPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionInfoPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RegionInfoPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RegionInfoPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RegionInfoPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RegionInfoPacket.CombatSettingsBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RegionInfoPacket.CombatSettingsBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RegionInfoPacketCombatSettingsBlock {
        /// C# member: `F:LibreMetaverse.Packets.RegionInfoPacket.CombatSettingsBlock.CombatFlags`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.RegionInfoPacket.CombatSettingsBlock.CombatFlags`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub combat_flags: u32,
        /// C# member: `F:LibreMetaverse.Packets.RegionInfoPacket.CombatSettingsBlock.DamageLimit`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.RegionInfoPacket.CombatSettingsBlock.DamageLimit`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub damage_limit: f32,
        /// C# member: `F:LibreMetaverse.Packets.RegionInfoPacket.CombatSettingsBlock.DamageThrottle`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.RegionInfoPacket.CombatSettingsBlock.DamageThrottle`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub damage_throttle: f32,
        /// C# member: `F:LibreMetaverse.Packets.RegionInfoPacket.CombatSettingsBlock.InvulnerabilyTime`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.RegionInfoPacket.CombatSettingsBlock.InvulnerabilyTime`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub invulnerabily_time: f32,
        /// C# member: `F:LibreMetaverse.Packets.RegionInfoPacket.CombatSettingsBlock.OnDeath`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.RegionInfoPacket.CombatSettingsBlock.OnDeath`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub on_death: u8,
        /// C# member: `F:LibreMetaverse.Packets.RegionInfoPacket.CombatSettingsBlock.RegenerationRate`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.RegionInfoPacket.CombatSettingsBlock.RegenerationRate`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub regeneration_rate: f32,
    }
    impl RegionInfoPacketCombatSettingsBlock {
        /// C# member: `M:LibreMetaverse.Packets.RegionInfoPacket.CombatSettingsBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RegionInfoPacket.CombatSettingsBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionInfoPacket.CombatSettingsBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RegionInfoPacket.CombatSettingsBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionInfoPacket.CombatSettingsBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RegionInfoPacket.CombatSettingsBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionInfoPacket.CombatSettingsBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RegionInfoPacket.CombatSettingsBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionInfoPacket.CombatSettingsBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RegionInfoPacket.CombatSettingsBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionInfoPacket.CombatSettingsBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RegionInfoPacket.CombatSettingsBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RegionInfoPacket.CombatSettingsBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RegionInfoPacket.CombatSettingsBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RegionInfoPacket.RegionInfo2Block`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RegionInfoPacket.RegionInfo2Block` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RegionInfoPacketRegionInfo2Block {
        /// C# member: `F:LibreMetaverse.Packets.RegionInfoPacket.RegionInfo2Block.HardMaxAgents`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.RegionInfoPacket.RegionInfo2Block.HardMaxAgents`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub hard_max_agents: u32,
        /// C# member: `F:LibreMetaverse.Packets.RegionInfoPacket.RegionInfo2Block.HardMaxObjects`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.RegionInfoPacket.RegionInfo2Block.HardMaxObjects`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub hard_max_objects: u32,
        /// C# member: `F:LibreMetaverse.Packets.RegionInfoPacket.RegionInfo2Block.MaxAgents32`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.RegionInfoPacket.RegionInfo2Block.MaxAgents32`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub max_agents32: u32,
        /// C# member: `F:LibreMetaverse.Packets.RegionInfoPacket.RegionInfo2Block.ProductName`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RegionInfoPacket.RegionInfo2Block.ProductName`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub product_name: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.RegionInfoPacket.RegionInfo2Block.ProductSKU`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RegionInfoPacket.RegionInfo2Block.ProductSKU`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub product_sku: Vec<u8>,
    }
    impl RegionInfoPacketRegionInfo2Block {
        /// C# member: `M:LibreMetaverse.Packets.RegionInfoPacket.RegionInfo2Block.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RegionInfoPacket.RegionInfo2Block()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionInfoPacket.RegionInfo2Block.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RegionInfoPacket.RegionInfo2Block(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionInfoPacket.RegionInfo2Block.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RegionInfoPacket.RegionInfo2Block.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionInfoPacket.RegionInfo2Block.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RegionInfoPacket.RegionInfo2Block.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionInfoPacket.RegionInfo2Block.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RegionInfoPacket.RegionInfo2Block.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionInfoPacket.RegionInfo2Block.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RegionInfoPacket.RegionInfo2Block.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RegionInfoPacket.RegionInfo2Block.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RegionInfoPacket.RegionInfo2Block.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RegionInfoPacket.RegionInfo3Block`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RegionInfoPacket.RegionInfo3Block` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RegionInfoPacketRegionInfo3Block {
        /// C# member: `F:LibreMetaverse.Packets.RegionInfoPacket.RegionInfo3Block.RegionFlagsExtended`.
        ///
        /// C# signature: `System.UInt64 LibreMetaverse.Packets.RegionInfoPacket.RegionInfo3Block.RegionFlagsExtended`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub region_flags_extended: u64,
    }
    impl RegionInfoPacketRegionInfo3Block {
        /// C# member: `M:LibreMetaverse.Packets.RegionInfoPacket.RegionInfo3Block.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RegionInfoPacket.RegionInfo3Block()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionInfoPacket.RegionInfo3Block.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RegionInfoPacket.RegionInfo3Block(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionInfoPacket.RegionInfo3Block.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RegionInfoPacket.RegionInfo3Block.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionInfoPacket.RegionInfo3Block.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RegionInfoPacket.RegionInfo3Block.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionInfoPacket.RegionInfo3Block.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RegionInfoPacket.RegionInfo3Block.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionInfoPacket.RegionInfo3Block.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RegionInfoPacket.RegionInfo3Block.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RegionInfoPacket.RegionInfo3Block.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RegionInfoPacket.RegionInfo3Block.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RegionInfoPacket.RegionInfo5Block`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RegionInfoPacket.RegionInfo5Block` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RegionInfoPacketRegionInfo5Block {
        /// C# member: `F:LibreMetaverse.Packets.RegionInfoPacket.RegionInfo5Block.ChatFlags`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.RegionInfoPacket.RegionInfo5Block.ChatFlags`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub chat_flags: u32,
        /// C# member: `F:LibreMetaverse.Packets.RegionInfoPacket.RegionInfo5Block.ChatNormalOffset`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.RegionInfoPacket.RegionInfo5Block.ChatNormalOffset`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub chat_normal_offset: f32,
        /// C# member: `F:LibreMetaverse.Packets.RegionInfoPacket.RegionInfo5Block.ChatNormalRange`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.RegionInfoPacket.RegionInfo5Block.ChatNormalRange`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub chat_normal_range: f32,
        /// C# member: `F:LibreMetaverse.Packets.RegionInfoPacket.RegionInfo5Block.ChatShoutOffset`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.RegionInfoPacket.RegionInfo5Block.ChatShoutOffset`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub chat_shout_offset: f32,
        /// C# member: `F:LibreMetaverse.Packets.RegionInfoPacket.RegionInfo5Block.ChatShoutRange`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.RegionInfoPacket.RegionInfo5Block.ChatShoutRange`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub chat_shout_range: f32,
        /// C# member: `F:LibreMetaverse.Packets.RegionInfoPacket.RegionInfo5Block.ChatWhisperOffset`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.RegionInfoPacket.RegionInfo5Block.ChatWhisperOffset`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub chat_whisper_offset: f32,
        /// C# member: `F:LibreMetaverse.Packets.RegionInfoPacket.RegionInfo5Block.ChatWhisperRange`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.RegionInfoPacket.RegionInfo5Block.ChatWhisperRange`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub chat_whisper_range: f32,
    }
    impl RegionInfoPacketRegionInfo5Block {
        /// C# member: `M:LibreMetaverse.Packets.RegionInfoPacket.RegionInfo5Block.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RegionInfoPacket.RegionInfo5Block()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionInfoPacket.RegionInfo5Block.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RegionInfoPacket.RegionInfo5Block(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionInfoPacket.RegionInfo5Block.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RegionInfoPacket.RegionInfo5Block.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionInfoPacket.RegionInfo5Block.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RegionInfoPacket.RegionInfo5Block.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionInfoPacket.RegionInfo5Block.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RegionInfoPacket.RegionInfo5Block.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionInfoPacket.RegionInfo5Block.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RegionInfoPacket.RegionInfo5Block.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RegionInfoPacket.RegionInfo5Block.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RegionInfoPacket.RegionInfo5Block.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RegionInfoPacket.RegionInfoBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RegionInfoPacket.RegionInfoBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RegionInfoPacketRegionInfoBlock {
        /// C# member: `F:LibreMetaverse.Packets.RegionInfoPacket.RegionInfoBlock.BillableFactor`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.RegionInfoPacket.RegionInfoBlock.BillableFactor`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub billable_factor: f32,
        /// C# member: `F:LibreMetaverse.Packets.RegionInfoPacket.RegionInfoBlock.EstateID`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.RegionInfoPacket.RegionInfoBlock.EstateID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub estate_id: u32,
        /// C# member: `F:LibreMetaverse.Packets.RegionInfoPacket.RegionInfoBlock.MaxAgents`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.RegionInfoPacket.RegionInfoBlock.MaxAgents`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub max_agents: u8,
        /// C# member: `F:LibreMetaverse.Packets.RegionInfoPacket.RegionInfoBlock.ObjectBonusFactor`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.RegionInfoPacket.RegionInfoBlock.ObjectBonusFactor`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_bonus_factor: f32,
        /// C# member: `F:LibreMetaverse.Packets.RegionInfoPacket.RegionInfoBlock.ParentEstateID`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.RegionInfoPacket.RegionInfoBlock.ParentEstateID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub parent_estate_id: u32,
        /// C# member: `F:LibreMetaverse.Packets.RegionInfoPacket.RegionInfoBlock.PricePerMeter`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RegionInfoPacket.RegionInfoBlock.PricePerMeter`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub price_per_meter: i32,
        /// C# member: `F:LibreMetaverse.Packets.RegionInfoPacket.RegionInfoBlock.RedirectGridX`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RegionInfoPacket.RegionInfoBlock.RedirectGridX`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub redirect_grid_x: i32,
        /// C# member: `F:LibreMetaverse.Packets.RegionInfoPacket.RegionInfoBlock.RedirectGridY`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RegionInfoPacket.RegionInfoBlock.RedirectGridY`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub redirect_grid_y: i32,
        /// C# member: `F:LibreMetaverse.Packets.RegionInfoPacket.RegionInfoBlock.RegionFlags`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.RegionInfoPacket.RegionInfoBlock.RegionFlags`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub region_flags: u32,
        /// C# member: `F:LibreMetaverse.Packets.RegionInfoPacket.RegionInfoBlock.SimAccess`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.RegionInfoPacket.RegionInfoBlock.SimAccess`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub sim_access: u8,
        /// C# member: `F:LibreMetaverse.Packets.RegionInfoPacket.RegionInfoBlock.SimName`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RegionInfoPacket.RegionInfoBlock.SimName`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub sim_name: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.RegionInfoPacket.RegionInfoBlock.SunHour`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.RegionInfoPacket.RegionInfoBlock.SunHour`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub sun_hour: f32,
        /// C# member: `F:LibreMetaverse.Packets.RegionInfoPacket.RegionInfoBlock.TerrainLowerLimit`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.RegionInfoPacket.RegionInfoBlock.TerrainLowerLimit`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub terrain_lower_limit: f32,
        /// C# member: `F:LibreMetaverse.Packets.RegionInfoPacket.RegionInfoBlock.TerrainRaiseLimit`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.RegionInfoPacket.RegionInfoBlock.TerrainRaiseLimit`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub terrain_raise_limit: f32,
        /// C# member: `F:LibreMetaverse.Packets.RegionInfoPacket.RegionInfoBlock.UseEstateSun`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.RegionInfoPacket.RegionInfoBlock.UseEstateSun`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub use_estate_sun: bool,
        /// C# member: `F:LibreMetaverse.Packets.RegionInfoPacket.RegionInfoBlock.WaterHeight`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.RegionInfoPacket.RegionInfoBlock.WaterHeight`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub water_height: f32,
    }
    impl RegionInfoPacketRegionInfoBlock {
        /// C# member: `M:LibreMetaverse.Packets.RegionInfoPacket.RegionInfoBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RegionInfoPacket.RegionInfoBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionInfoPacket.RegionInfoBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RegionInfoPacket.RegionInfoBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionInfoPacket.RegionInfoBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RegionInfoPacket.RegionInfoBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionInfoPacket.RegionInfoBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RegionInfoPacket.RegionInfoBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionInfoPacket.RegionInfoBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RegionInfoPacket.RegionInfoBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionInfoPacket.RegionInfoBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RegionInfoPacket.RegionInfoBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RegionInfoPacket.RegionInfoBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RegionInfoPacket.RegionInfoBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RegionPresenceRequestByHandlePacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RegionPresenceRequestByHandlePacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RegionPresenceRequestByHandlePacket {
        /// C# member: `F:LibreMetaverse.Packets.RegionPresenceRequestByHandlePacket.RegionData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RegionPresenceRequestByHandlePacket.RegionDataBlock[] LibreMetaverse.Packets.RegionPresenceRequestByHandlePacket.RegionData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub region_data:
            Vec<libremetaverse::packets::RegionPresenceRequestByHandlePacketRegionDataBlock>,
    }
    impl RegionPresenceRequestByHandlePacket {
        /// C# member: `M:LibreMetaverse.Packets.RegionPresenceRequestByHandlePacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RegionPresenceRequestByHandlePacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionPresenceRequestByHandlePacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RegionPresenceRequestByHandlePacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionPresenceRequestByHandlePacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RegionPresenceRequestByHandlePacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionPresenceRequestByHandlePacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RegionPresenceRequestByHandlePacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionPresenceRequestByHandlePacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RegionPresenceRequestByHandlePacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionPresenceRequestByHandlePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RegionPresenceRequestByHandlePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionPresenceRequestByHandlePacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RegionPresenceRequestByHandlePacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionPresenceRequestByHandlePacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RegionPresenceRequestByHandlePacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionPresenceRequestByHandlePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RegionPresenceRequestByHandlePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionPresenceRequestByHandlePacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.RegionPresenceRequestByHandlePacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionPresenceRequestByHandlePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.RegionPresenceRequestByHandlePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.RegionPresenceRequestByHandlePacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RegionPresenceRequestByHandlePacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RegionPresenceRequestByHandlePacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.RegionPresenceRequestByHandlePacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RegionPresenceRequestByHandlePacket.RegionDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RegionPresenceRequestByHandlePacket.RegionDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RegionPresenceRequestByHandlePacketRegionDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.RegionPresenceRequestByHandlePacket.RegionDataBlock.RegionHandle`.
        ///
        /// C# signature: `System.UInt64 LibreMetaverse.Packets.RegionPresenceRequestByHandlePacket.RegionDataBlock.RegionHandle`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub region_handle: u64,
    }
    impl RegionPresenceRequestByHandlePacketRegionDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.RegionPresenceRequestByHandlePacket.RegionDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RegionPresenceRequestByHandlePacket.RegionDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionPresenceRequestByHandlePacket.RegionDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RegionPresenceRequestByHandlePacket.RegionDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionPresenceRequestByHandlePacket.RegionDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RegionPresenceRequestByHandlePacket.RegionDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionPresenceRequestByHandlePacket.RegionDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RegionPresenceRequestByHandlePacket.RegionDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionPresenceRequestByHandlePacket.RegionDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RegionPresenceRequestByHandlePacket.RegionDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionPresenceRequestByHandlePacket.RegionDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RegionPresenceRequestByHandlePacket.RegionDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RegionPresenceRequestByHandlePacket.RegionDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RegionPresenceRequestByHandlePacket.RegionDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RegionPresenceRequestByRegionIDPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RegionPresenceRequestByRegionIDPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RegionPresenceRequestByRegionIDPacket {
        /// C# member: `F:LibreMetaverse.Packets.RegionPresenceRequestByRegionIDPacket.RegionData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RegionPresenceRequestByRegionIDPacket.RegionDataBlock[] LibreMetaverse.Packets.RegionPresenceRequestByRegionIDPacket.RegionData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub region_data:
            Vec<libremetaverse::packets::RegionPresenceRequestByRegionIDPacketRegionDataBlock>,
    }
    impl RegionPresenceRequestByRegionIDPacket {
        /// C# member: `M:LibreMetaverse.Packets.RegionPresenceRequestByRegionIDPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RegionPresenceRequestByRegionIDPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionPresenceRequestByRegionIDPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RegionPresenceRequestByRegionIDPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionPresenceRequestByRegionIDPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RegionPresenceRequestByRegionIDPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionPresenceRequestByRegionIDPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RegionPresenceRequestByRegionIDPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionPresenceRequestByRegionIDPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RegionPresenceRequestByRegionIDPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionPresenceRequestByRegionIDPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RegionPresenceRequestByRegionIDPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionPresenceRequestByRegionIDPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RegionPresenceRequestByRegionIDPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionPresenceRequestByRegionIDPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RegionPresenceRequestByRegionIDPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionPresenceRequestByRegionIDPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RegionPresenceRequestByRegionIDPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionPresenceRequestByRegionIDPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.RegionPresenceRequestByRegionIDPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionPresenceRequestByRegionIDPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.RegionPresenceRequestByRegionIDPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.RegionPresenceRequestByRegionIDPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RegionPresenceRequestByRegionIDPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RegionPresenceRequestByRegionIDPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.RegionPresenceRequestByRegionIDPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RegionPresenceRequestByRegionIDPacket.RegionDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RegionPresenceRequestByRegionIDPacket.RegionDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RegionPresenceRequestByRegionIDPacketRegionDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.RegionPresenceRequestByRegionIDPacket.RegionDataBlock.RegionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RegionPresenceRequestByRegionIDPacket.RegionDataBlock.RegionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub region_id: libremetaverse_types::UUID,
    }
    impl RegionPresenceRequestByRegionIDPacketRegionDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.RegionPresenceRequestByRegionIDPacket.RegionDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RegionPresenceRequestByRegionIDPacket.RegionDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionPresenceRequestByRegionIDPacket.RegionDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RegionPresenceRequestByRegionIDPacket.RegionDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionPresenceRequestByRegionIDPacket.RegionDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RegionPresenceRequestByRegionIDPacket.RegionDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionPresenceRequestByRegionIDPacket.RegionDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RegionPresenceRequestByRegionIDPacket.RegionDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionPresenceRequestByRegionIDPacket.RegionDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RegionPresenceRequestByRegionIDPacket.RegionDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionPresenceRequestByRegionIDPacket.RegionDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RegionPresenceRequestByRegionIDPacket.RegionDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RegionPresenceRequestByRegionIDPacket.RegionDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RegionPresenceRequestByRegionIDPacket.RegionDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RegionPresenceResponsePacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RegionPresenceResponsePacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RegionPresenceResponsePacket {
        /// C# member: `F:LibreMetaverse.Packets.RegionPresenceResponsePacket.RegionData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RegionPresenceResponsePacket.RegionDataBlock[] LibreMetaverse.Packets.RegionPresenceResponsePacket.RegionData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub region_data: Vec<libremetaverse::packets::RegionPresenceResponsePacketRegionDataBlock>,
    }
    impl RegionPresenceResponsePacket {
        /// C# member: `M:LibreMetaverse.Packets.RegionPresenceResponsePacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RegionPresenceResponsePacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionPresenceResponsePacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RegionPresenceResponsePacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionPresenceResponsePacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RegionPresenceResponsePacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionPresenceResponsePacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RegionPresenceResponsePacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionPresenceResponsePacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RegionPresenceResponsePacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionPresenceResponsePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RegionPresenceResponsePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionPresenceResponsePacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RegionPresenceResponsePacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionPresenceResponsePacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RegionPresenceResponsePacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionPresenceResponsePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RegionPresenceResponsePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionPresenceResponsePacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.RegionPresenceResponsePacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionPresenceResponsePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.RegionPresenceResponsePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.RegionPresenceResponsePacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RegionPresenceResponsePacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RegionPresenceResponsePacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.RegionPresenceResponsePacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RegionPresenceResponsePacket.RegionDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RegionPresenceResponsePacket.RegionDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RegionPresenceResponsePacketRegionDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.RegionPresenceResponsePacket.RegionDataBlock.ExternalRegionIP`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.RegionPresenceResponsePacket.RegionDataBlock.ExternalRegionIP`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub external_region_ip: u32,
        /// C# member: `F:LibreMetaverse.Packets.RegionPresenceResponsePacket.RegionDataBlock.InternalRegionIP`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.RegionPresenceResponsePacket.RegionDataBlock.InternalRegionIP`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub internal_region_ip: u32,
        /// C# member: `F:LibreMetaverse.Packets.RegionPresenceResponsePacket.RegionDataBlock.Message`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RegionPresenceResponsePacket.RegionDataBlock.Message`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub message: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.RegionPresenceResponsePacket.RegionDataBlock.RegionHandle`.
        ///
        /// C# signature: `System.UInt64 LibreMetaverse.Packets.RegionPresenceResponsePacket.RegionDataBlock.RegionHandle`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub region_handle: u64,
        /// C# member: `F:LibreMetaverse.Packets.RegionPresenceResponsePacket.RegionDataBlock.RegionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RegionPresenceResponsePacket.RegionDataBlock.RegionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub region_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.RegionPresenceResponsePacket.RegionDataBlock.RegionPort`.
        ///
        /// C# signature: `System.UInt16 LibreMetaverse.Packets.RegionPresenceResponsePacket.RegionDataBlock.RegionPort`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub region_port: u16,
        /// C# member: `F:LibreMetaverse.Packets.RegionPresenceResponsePacket.RegionDataBlock.ValidUntil`.
        ///
        /// C# signature: `System.Double LibreMetaverse.Packets.RegionPresenceResponsePacket.RegionDataBlock.ValidUntil`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub valid_until: f64,
    }
    impl RegionPresenceResponsePacketRegionDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.RegionPresenceResponsePacket.RegionDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RegionPresenceResponsePacket.RegionDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionPresenceResponsePacket.RegionDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RegionPresenceResponsePacket.RegionDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionPresenceResponsePacket.RegionDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RegionPresenceResponsePacket.RegionDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionPresenceResponsePacket.RegionDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RegionPresenceResponsePacket.RegionDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionPresenceResponsePacket.RegionDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RegionPresenceResponsePacket.RegionDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RegionPresenceResponsePacket.RegionDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RegionPresenceResponsePacket.RegionDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RegionPresenceResponsePacket.RegionDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RegionPresenceResponsePacket.RegionDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RemoveAttachmentPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RemoveAttachmentPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RemoveAttachmentPacket {
        /// C# member: `F:LibreMetaverse.Packets.RemoveAttachmentPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RemoveAttachmentPacket.AgentDataBlock LibreMetaverse.Packets.RemoveAttachmentPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::RemoveAttachmentPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.RemoveAttachmentPacket.AttachmentBlock`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RemoveAttachmentPacket.AttachmentBlockBlock LibreMetaverse.Packets.RemoveAttachmentPacket.AttachmentBlock`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub attachment_block: libremetaverse::packets::RemoveAttachmentPacketAttachmentBlockBlock,
    }
    impl RemoveAttachmentPacket {
        /// C# member: `M:LibreMetaverse.Packets.RemoveAttachmentPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RemoveAttachmentPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveAttachmentPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RemoveAttachmentPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveAttachmentPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RemoveAttachmentPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveAttachmentPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RemoveAttachmentPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveAttachmentPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RemoveAttachmentPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveAttachmentPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RemoveAttachmentPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveAttachmentPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RemoveAttachmentPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveAttachmentPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RemoveAttachmentPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveAttachmentPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RemoveAttachmentPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveAttachmentPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.RemoveAttachmentPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveAttachmentPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.RemoveAttachmentPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.RemoveAttachmentPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RemoveAttachmentPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RemoveAttachmentPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.RemoveAttachmentPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RemoveAttachmentPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RemoveAttachmentPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RemoveAttachmentPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.RemoveAttachmentPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RemoveAttachmentPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.RemoveAttachmentPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RemoveAttachmentPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl RemoveAttachmentPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.RemoveAttachmentPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RemoveAttachmentPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveAttachmentPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RemoveAttachmentPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveAttachmentPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RemoveAttachmentPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveAttachmentPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RemoveAttachmentPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveAttachmentPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RemoveAttachmentPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveAttachmentPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RemoveAttachmentPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RemoveAttachmentPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RemoveAttachmentPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RemoveAttachmentPacket.AttachmentBlockBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RemoveAttachmentPacket.AttachmentBlockBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RemoveAttachmentPacketAttachmentBlockBlock {
        /// C# member: `F:LibreMetaverse.Packets.RemoveAttachmentPacket.AttachmentBlockBlock.AttachmentPoint`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.RemoveAttachmentPacket.AttachmentBlockBlock.AttachmentPoint`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub attachment_point: u8,
        /// C# member: `F:LibreMetaverse.Packets.RemoveAttachmentPacket.AttachmentBlockBlock.ItemID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RemoveAttachmentPacket.AttachmentBlockBlock.ItemID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub item_id: libremetaverse_types::UUID,
    }
    impl RemoveAttachmentPacketAttachmentBlockBlock {
        /// C# member: `M:LibreMetaverse.Packets.RemoveAttachmentPacket.AttachmentBlockBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RemoveAttachmentPacket.AttachmentBlockBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveAttachmentPacket.AttachmentBlockBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RemoveAttachmentPacket.AttachmentBlockBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveAttachmentPacket.AttachmentBlockBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RemoveAttachmentPacket.AttachmentBlockBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveAttachmentPacket.AttachmentBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RemoveAttachmentPacket.AttachmentBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveAttachmentPacket.AttachmentBlockBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RemoveAttachmentPacket.AttachmentBlockBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveAttachmentPacket.AttachmentBlockBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RemoveAttachmentPacket.AttachmentBlockBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RemoveAttachmentPacket.AttachmentBlockBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RemoveAttachmentPacket.AttachmentBlockBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RemoveInventoryFolderPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RemoveInventoryFolderPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RemoveInventoryFolderPacket {
        /// C# member: `F:LibreMetaverse.Packets.RemoveInventoryFolderPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RemoveInventoryFolderPacket.AgentDataBlock LibreMetaverse.Packets.RemoveInventoryFolderPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::RemoveInventoryFolderPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.RemoveInventoryFolderPacket.FolderData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RemoveInventoryFolderPacket.FolderDataBlock[] LibreMetaverse.Packets.RemoveInventoryFolderPacket.FolderData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub folder_data: Vec<libremetaverse::packets::RemoveInventoryFolderPacketFolderDataBlock>,
    }
    impl RemoveInventoryFolderPacket {
        /// C# member: `M:LibreMetaverse.Packets.RemoveInventoryFolderPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RemoveInventoryFolderPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveInventoryFolderPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RemoveInventoryFolderPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveInventoryFolderPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RemoveInventoryFolderPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveInventoryFolderPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RemoveInventoryFolderPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveInventoryFolderPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RemoveInventoryFolderPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveInventoryFolderPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RemoveInventoryFolderPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveInventoryFolderPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RemoveInventoryFolderPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveInventoryFolderPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RemoveInventoryFolderPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveInventoryFolderPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RemoveInventoryFolderPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveInventoryFolderPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.RemoveInventoryFolderPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveInventoryFolderPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.RemoveInventoryFolderPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.RemoveInventoryFolderPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RemoveInventoryFolderPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RemoveInventoryFolderPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.RemoveInventoryFolderPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RemoveInventoryFolderPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RemoveInventoryFolderPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RemoveInventoryFolderPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.RemoveInventoryFolderPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RemoveInventoryFolderPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.RemoveInventoryFolderPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RemoveInventoryFolderPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl RemoveInventoryFolderPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.RemoveInventoryFolderPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RemoveInventoryFolderPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveInventoryFolderPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RemoveInventoryFolderPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveInventoryFolderPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RemoveInventoryFolderPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveInventoryFolderPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RemoveInventoryFolderPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveInventoryFolderPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RemoveInventoryFolderPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveInventoryFolderPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RemoveInventoryFolderPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RemoveInventoryFolderPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RemoveInventoryFolderPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RemoveInventoryFolderPacket.FolderDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RemoveInventoryFolderPacket.FolderDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RemoveInventoryFolderPacketFolderDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.RemoveInventoryFolderPacket.FolderDataBlock.FolderID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RemoveInventoryFolderPacket.FolderDataBlock.FolderID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub folder_id: libremetaverse_types::UUID,
    }
    impl RemoveInventoryFolderPacketFolderDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.RemoveInventoryFolderPacket.FolderDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RemoveInventoryFolderPacket.FolderDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveInventoryFolderPacket.FolderDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RemoveInventoryFolderPacket.FolderDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveInventoryFolderPacket.FolderDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RemoveInventoryFolderPacket.FolderDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveInventoryFolderPacket.FolderDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RemoveInventoryFolderPacket.FolderDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveInventoryFolderPacket.FolderDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RemoveInventoryFolderPacket.FolderDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveInventoryFolderPacket.FolderDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RemoveInventoryFolderPacket.FolderDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RemoveInventoryFolderPacket.FolderDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RemoveInventoryFolderPacket.FolderDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RemoveInventoryItemPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RemoveInventoryItemPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RemoveInventoryItemPacket {
        /// C# member: `F:LibreMetaverse.Packets.RemoveInventoryItemPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RemoveInventoryItemPacket.AgentDataBlock LibreMetaverse.Packets.RemoveInventoryItemPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::RemoveInventoryItemPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.RemoveInventoryItemPacket.InventoryData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RemoveInventoryItemPacket.InventoryDataBlock[] LibreMetaverse.Packets.RemoveInventoryItemPacket.InventoryData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub inventory_data:
            Vec<libremetaverse::packets::RemoveInventoryItemPacketInventoryDataBlock>,
    }
    impl RemoveInventoryItemPacket {
        /// C# member: `M:LibreMetaverse.Packets.RemoveInventoryItemPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RemoveInventoryItemPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveInventoryItemPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RemoveInventoryItemPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveInventoryItemPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RemoveInventoryItemPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveInventoryItemPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RemoveInventoryItemPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveInventoryItemPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RemoveInventoryItemPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveInventoryItemPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RemoveInventoryItemPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveInventoryItemPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RemoveInventoryItemPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveInventoryItemPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RemoveInventoryItemPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveInventoryItemPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RemoveInventoryItemPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveInventoryItemPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.RemoveInventoryItemPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveInventoryItemPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.RemoveInventoryItemPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.RemoveInventoryItemPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RemoveInventoryItemPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RemoveInventoryItemPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.RemoveInventoryItemPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RemoveInventoryItemPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RemoveInventoryItemPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RemoveInventoryItemPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.RemoveInventoryItemPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RemoveInventoryItemPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.RemoveInventoryItemPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RemoveInventoryItemPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl RemoveInventoryItemPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.RemoveInventoryItemPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RemoveInventoryItemPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveInventoryItemPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RemoveInventoryItemPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveInventoryItemPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RemoveInventoryItemPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveInventoryItemPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RemoveInventoryItemPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveInventoryItemPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RemoveInventoryItemPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveInventoryItemPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RemoveInventoryItemPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RemoveInventoryItemPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RemoveInventoryItemPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RemoveInventoryItemPacket.InventoryDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RemoveInventoryItemPacket.InventoryDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RemoveInventoryItemPacketInventoryDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.RemoveInventoryItemPacket.InventoryDataBlock.ItemID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RemoveInventoryItemPacket.InventoryDataBlock.ItemID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub item_id: libremetaverse_types::UUID,
    }
    impl RemoveInventoryItemPacketInventoryDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.RemoveInventoryItemPacket.InventoryDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RemoveInventoryItemPacket.InventoryDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveInventoryItemPacket.InventoryDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RemoveInventoryItemPacket.InventoryDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveInventoryItemPacket.InventoryDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RemoveInventoryItemPacket.InventoryDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveInventoryItemPacket.InventoryDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RemoveInventoryItemPacket.InventoryDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveInventoryItemPacket.InventoryDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RemoveInventoryItemPacket.InventoryDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveInventoryItemPacket.InventoryDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RemoveInventoryItemPacket.InventoryDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RemoveInventoryItemPacket.InventoryDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RemoveInventoryItemPacket.InventoryDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RemoveInventoryObjectsPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RemoveInventoryObjectsPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RemoveInventoryObjectsPacket {
        /// C# member: `F:LibreMetaverse.Packets.RemoveInventoryObjectsPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RemoveInventoryObjectsPacket.AgentDataBlock LibreMetaverse.Packets.RemoveInventoryObjectsPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::RemoveInventoryObjectsPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.RemoveInventoryObjectsPacket.FolderData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RemoveInventoryObjectsPacket.FolderDataBlock[] LibreMetaverse.Packets.RemoveInventoryObjectsPacket.FolderData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub folder_data: Vec<libremetaverse::packets::RemoveInventoryObjectsPacketFolderDataBlock>,
        /// C# member: `F:LibreMetaverse.Packets.RemoveInventoryObjectsPacket.ItemData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RemoveInventoryObjectsPacket.ItemDataBlock[] LibreMetaverse.Packets.RemoveInventoryObjectsPacket.ItemData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub item_data: Vec<libremetaverse::packets::RemoveInventoryObjectsPacketItemDataBlock>,
    }
    impl RemoveInventoryObjectsPacket {
        /// C# member: `M:LibreMetaverse.Packets.RemoveInventoryObjectsPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RemoveInventoryObjectsPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveInventoryObjectsPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RemoveInventoryObjectsPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveInventoryObjectsPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RemoveInventoryObjectsPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveInventoryObjectsPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RemoveInventoryObjectsPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveInventoryObjectsPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RemoveInventoryObjectsPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveInventoryObjectsPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RemoveInventoryObjectsPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveInventoryObjectsPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RemoveInventoryObjectsPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveInventoryObjectsPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RemoveInventoryObjectsPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveInventoryObjectsPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RemoveInventoryObjectsPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveInventoryObjectsPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.RemoveInventoryObjectsPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveInventoryObjectsPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.RemoveInventoryObjectsPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.RemoveInventoryObjectsPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RemoveInventoryObjectsPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RemoveInventoryObjectsPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.RemoveInventoryObjectsPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RemoveInventoryObjectsPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RemoveInventoryObjectsPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RemoveInventoryObjectsPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.RemoveInventoryObjectsPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RemoveInventoryObjectsPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.RemoveInventoryObjectsPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RemoveInventoryObjectsPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl RemoveInventoryObjectsPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.RemoveInventoryObjectsPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RemoveInventoryObjectsPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveInventoryObjectsPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RemoveInventoryObjectsPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveInventoryObjectsPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RemoveInventoryObjectsPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveInventoryObjectsPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RemoveInventoryObjectsPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveInventoryObjectsPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RemoveInventoryObjectsPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveInventoryObjectsPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RemoveInventoryObjectsPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RemoveInventoryObjectsPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RemoveInventoryObjectsPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RemoveInventoryObjectsPacket.FolderDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RemoveInventoryObjectsPacket.FolderDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RemoveInventoryObjectsPacketFolderDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.RemoveInventoryObjectsPacket.FolderDataBlock.FolderID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RemoveInventoryObjectsPacket.FolderDataBlock.FolderID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub folder_id: libremetaverse_types::UUID,
    }
    impl RemoveInventoryObjectsPacketFolderDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.RemoveInventoryObjectsPacket.FolderDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RemoveInventoryObjectsPacket.FolderDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveInventoryObjectsPacket.FolderDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RemoveInventoryObjectsPacket.FolderDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveInventoryObjectsPacket.FolderDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RemoveInventoryObjectsPacket.FolderDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveInventoryObjectsPacket.FolderDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RemoveInventoryObjectsPacket.FolderDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveInventoryObjectsPacket.FolderDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RemoveInventoryObjectsPacket.FolderDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveInventoryObjectsPacket.FolderDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RemoveInventoryObjectsPacket.FolderDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RemoveInventoryObjectsPacket.FolderDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RemoveInventoryObjectsPacket.FolderDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RemoveInventoryObjectsPacket.ItemDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RemoveInventoryObjectsPacket.ItemDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RemoveInventoryObjectsPacketItemDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.RemoveInventoryObjectsPacket.ItemDataBlock.ItemID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RemoveInventoryObjectsPacket.ItemDataBlock.ItemID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub item_id: libremetaverse_types::UUID,
    }
    impl RemoveInventoryObjectsPacketItemDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.RemoveInventoryObjectsPacket.ItemDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RemoveInventoryObjectsPacket.ItemDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveInventoryObjectsPacket.ItemDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RemoveInventoryObjectsPacket.ItemDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveInventoryObjectsPacket.ItemDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RemoveInventoryObjectsPacket.ItemDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveInventoryObjectsPacket.ItemDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RemoveInventoryObjectsPacket.ItemDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveInventoryObjectsPacket.ItemDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RemoveInventoryObjectsPacket.ItemDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveInventoryObjectsPacket.ItemDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RemoveInventoryObjectsPacket.ItemDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RemoveInventoryObjectsPacket.ItemDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RemoveInventoryObjectsPacket.ItemDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RemoveMuteListEntryPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RemoveMuteListEntryPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RemoveMuteListEntryPacket {
        /// C# member: `F:LibreMetaverse.Packets.RemoveMuteListEntryPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RemoveMuteListEntryPacket.AgentDataBlock LibreMetaverse.Packets.RemoveMuteListEntryPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::RemoveMuteListEntryPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.RemoveMuteListEntryPacket.MuteData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RemoveMuteListEntryPacket.MuteDataBlock LibreMetaverse.Packets.RemoveMuteListEntryPacket.MuteData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub mute_data: libremetaverse::packets::RemoveMuteListEntryPacketMuteDataBlock,
    }
    impl RemoveMuteListEntryPacket {
        /// C# member: `M:LibreMetaverse.Packets.RemoveMuteListEntryPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RemoveMuteListEntryPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveMuteListEntryPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RemoveMuteListEntryPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveMuteListEntryPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RemoveMuteListEntryPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveMuteListEntryPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RemoveMuteListEntryPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveMuteListEntryPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RemoveMuteListEntryPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveMuteListEntryPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RemoveMuteListEntryPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveMuteListEntryPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RemoveMuteListEntryPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveMuteListEntryPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RemoveMuteListEntryPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveMuteListEntryPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RemoveMuteListEntryPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveMuteListEntryPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.RemoveMuteListEntryPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveMuteListEntryPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.RemoveMuteListEntryPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.RemoveMuteListEntryPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RemoveMuteListEntryPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RemoveMuteListEntryPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.RemoveMuteListEntryPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RemoveMuteListEntryPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RemoveMuteListEntryPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RemoveMuteListEntryPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.RemoveMuteListEntryPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RemoveMuteListEntryPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.RemoveMuteListEntryPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RemoveMuteListEntryPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl RemoveMuteListEntryPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.RemoveMuteListEntryPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RemoveMuteListEntryPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveMuteListEntryPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RemoveMuteListEntryPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveMuteListEntryPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RemoveMuteListEntryPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveMuteListEntryPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RemoveMuteListEntryPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveMuteListEntryPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RemoveMuteListEntryPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveMuteListEntryPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RemoveMuteListEntryPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RemoveMuteListEntryPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RemoveMuteListEntryPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RemoveMuteListEntryPacket.MuteDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RemoveMuteListEntryPacket.MuteDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RemoveMuteListEntryPacketMuteDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.RemoveMuteListEntryPacket.MuteDataBlock.MuteID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RemoveMuteListEntryPacket.MuteDataBlock.MuteID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub mute_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.RemoveMuteListEntryPacket.MuteDataBlock.MuteName`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RemoveMuteListEntryPacket.MuteDataBlock.MuteName`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub mute_name: Vec<u8>,
    }
    impl RemoveMuteListEntryPacketMuteDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.RemoveMuteListEntryPacket.MuteDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RemoveMuteListEntryPacket.MuteDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveMuteListEntryPacket.MuteDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RemoveMuteListEntryPacket.MuteDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveMuteListEntryPacket.MuteDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RemoveMuteListEntryPacket.MuteDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveMuteListEntryPacket.MuteDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RemoveMuteListEntryPacket.MuteDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveMuteListEntryPacket.MuteDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RemoveMuteListEntryPacket.MuteDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveMuteListEntryPacket.MuteDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RemoveMuteListEntryPacket.MuteDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RemoveMuteListEntryPacket.MuteDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RemoveMuteListEntryPacket.MuteDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RemoveNameValuePairPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RemoveNameValuePairPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RemoveNameValuePairPacket {
        /// C# member: `F:LibreMetaverse.Packets.RemoveNameValuePairPacket.NameValueData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RemoveNameValuePairPacket.NameValueDataBlock[] LibreMetaverse.Packets.RemoveNameValuePairPacket.NameValueData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub name_value_data:
            Vec<libremetaverse::packets::RemoveNameValuePairPacketNameValueDataBlock>,
        /// C# member: `F:LibreMetaverse.Packets.RemoveNameValuePairPacket.TaskData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RemoveNameValuePairPacket.TaskDataBlock LibreMetaverse.Packets.RemoveNameValuePairPacket.TaskData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub task_data: libremetaverse::packets::RemoveNameValuePairPacketTaskDataBlock,
    }
    impl RemoveNameValuePairPacket {
        /// C# member: `M:LibreMetaverse.Packets.RemoveNameValuePairPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RemoveNameValuePairPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveNameValuePairPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RemoveNameValuePairPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveNameValuePairPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RemoveNameValuePairPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveNameValuePairPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RemoveNameValuePairPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveNameValuePairPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RemoveNameValuePairPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveNameValuePairPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RemoveNameValuePairPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveNameValuePairPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RemoveNameValuePairPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveNameValuePairPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RemoveNameValuePairPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveNameValuePairPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RemoveNameValuePairPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveNameValuePairPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.RemoveNameValuePairPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveNameValuePairPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.RemoveNameValuePairPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.RemoveNameValuePairPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RemoveNameValuePairPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RemoveNameValuePairPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.RemoveNameValuePairPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RemoveNameValuePairPacket.NameValueDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RemoveNameValuePairPacket.NameValueDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RemoveNameValuePairPacketNameValueDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.RemoveNameValuePairPacket.NameValueDataBlock.NVPair`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RemoveNameValuePairPacket.NameValueDataBlock.NVPair`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub nv_pair: Vec<u8>,
    }
    impl RemoveNameValuePairPacketNameValueDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.RemoveNameValuePairPacket.NameValueDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RemoveNameValuePairPacket.NameValueDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveNameValuePairPacket.NameValueDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RemoveNameValuePairPacket.NameValueDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveNameValuePairPacket.NameValueDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RemoveNameValuePairPacket.NameValueDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveNameValuePairPacket.NameValueDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RemoveNameValuePairPacket.NameValueDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveNameValuePairPacket.NameValueDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RemoveNameValuePairPacket.NameValueDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveNameValuePairPacket.NameValueDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RemoveNameValuePairPacket.NameValueDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RemoveNameValuePairPacket.NameValueDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RemoveNameValuePairPacket.NameValueDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RemoveNameValuePairPacket.TaskDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RemoveNameValuePairPacket.TaskDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RemoveNameValuePairPacketTaskDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.RemoveNameValuePairPacket.TaskDataBlock.ID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RemoveNameValuePairPacket.TaskDataBlock.ID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub id: libremetaverse_types::UUID,
    }
    impl RemoveNameValuePairPacketTaskDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.RemoveNameValuePairPacket.TaskDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RemoveNameValuePairPacket.TaskDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveNameValuePairPacket.TaskDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RemoveNameValuePairPacket.TaskDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveNameValuePairPacket.TaskDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RemoveNameValuePairPacket.TaskDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveNameValuePairPacket.TaskDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RemoveNameValuePairPacket.TaskDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveNameValuePairPacket.TaskDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RemoveNameValuePairPacket.TaskDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveNameValuePairPacket.TaskDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RemoveNameValuePairPacket.TaskDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RemoveNameValuePairPacket.TaskDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RemoveNameValuePairPacket.TaskDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RemoveParcelPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RemoveParcelPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RemoveParcelPacket {
        /// C# member: `F:LibreMetaverse.Packets.RemoveParcelPacket.ParcelData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RemoveParcelPacket.ParcelDataBlock[] LibreMetaverse.Packets.RemoveParcelPacket.ParcelData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub parcel_data: Vec<libremetaverse::packets::RemoveParcelPacketParcelDataBlock>,
    }
    impl RemoveParcelPacket {
        /// C# member: `M:LibreMetaverse.Packets.RemoveParcelPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RemoveParcelPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveParcelPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RemoveParcelPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveParcelPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RemoveParcelPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveParcelPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RemoveParcelPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveParcelPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RemoveParcelPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveParcelPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RemoveParcelPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveParcelPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RemoveParcelPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveParcelPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RemoveParcelPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveParcelPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RemoveParcelPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveParcelPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.RemoveParcelPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveParcelPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.RemoveParcelPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.RemoveParcelPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RemoveParcelPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RemoveParcelPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.RemoveParcelPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RemoveParcelPacket.ParcelDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RemoveParcelPacket.ParcelDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RemoveParcelPacketParcelDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.RemoveParcelPacket.ParcelDataBlock.ParcelID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RemoveParcelPacket.ParcelDataBlock.ParcelID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub parcel_id: libremetaverse_types::UUID,
    }
    impl RemoveParcelPacketParcelDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.RemoveParcelPacket.ParcelDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RemoveParcelPacket.ParcelDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveParcelPacket.ParcelDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RemoveParcelPacket.ParcelDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveParcelPacket.ParcelDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RemoveParcelPacket.ParcelDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveParcelPacket.ParcelDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RemoveParcelPacket.ParcelDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveParcelPacket.ParcelDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RemoveParcelPacket.ParcelDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveParcelPacket.ParcelDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RemoveParcelPacket.ParcelDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RemoveParcelPacket.ParcelDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RemoveParcelPacket.ParcelDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RemoveTaskInventoryPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RemoveTaskInventoryPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RemoveTaskInventoryPacket {
        /// C# member: `F:LibreMetaverse.Packets.RemoveTaskInventoryPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RemoveTaskInventoryPacket.AgentDataBlock LibreMetaverse.Packets.RemoveTaskInventoryPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::RemoveTaskInventoryPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.RemoveTaskInventoryPacket.InventoryData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RemoveTaskInventoryPacket.InventoryDataBlock LibreMetaverse.Packets.RemoveTaskInventoryPacket.InventoryData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub inventory_data: libremetaverse::packets::RemoveTaskInventoryPacketInventoryDataBlock,
    }
    impl RemoveTaskInventoryPacket {
        /// C# member: `M:LibreMetaverse.Packets.RemoveTaskInventoryPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RemoveTaskInventoryPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveTaskInventoryPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RemoveTaskInventoryPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveTaskInventoryPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RemoveTaskInventoryPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveTaskInventoryPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RemoveTaskInventoryPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveTaskInventoryPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RemoveTaskInventoryPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveTaskInventoryPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RemoveTaskInventoryPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveTaskInventoryPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RemoveTaskInventoryPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveTaskInventoryPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RemoveTaskInventoryPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveTaskInventoryPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RemoveTaskInventoryPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveTaskInventoryPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.RemoveTaskInventoryPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveTaskInventoryPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.RemoveTaskInventoryPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.RemoveTaskInventoryPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RemoveTaskInventoryPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RemoveTaskInventoryPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.RemoveTaskInventoryPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RemoveTaskInventoryPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RemoveTaskInventoryPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RemoveTaskInventoryPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.RemoveTaskInventoryPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RemoveTaskInventoryPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.RemoveTaskInventoryPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RemoveTaskInventoryPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl RemoveTaskInventoryPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.RemoveTaskInventoryPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RemoveTaskInventoryPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveTaskInventoryPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RemoveTaskInventoryPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveTaskInventoryPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RemoveTaskInventoryPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveTaskInventoryPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RemoveTaskInventoryPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveTaskInventoryPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RemoveTaskInventoryPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveTaskInventoryPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RemoveTaskInventoryPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RemoveTaskInventoryPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RemoveTaskInventoryPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RemoveTaskInventoryPacket.InventoryDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RemoveTaskInventoryPacket.InventoryDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RemoveTaskInventoryPacketInventoryDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.RemoveTaskInventoryPacket.InventoryDataBlock.ItemID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RemoveTaskInventoryPacket.InventoryDataBlock.ItemID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub item_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.RemoveTaskInventoryPacket.InventoryDataBlock.LocalID`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.RemoveTaskInventoryPacket.InventoryDataBlock.LocalID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub local_id: u32,
    }
    impl RemoveTaskInventoryPacketInventoryDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.RemoveTaskInventoryPacket.InventoryDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RemoveTaskInventoryPacket.InventoryDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveTaskInventoryPacket.InventoryDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RemoveTaskInventoryPacket.InventoryDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveTaskInventoryPacket.InventoryDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RemoveTaskInventoryPacket.InventoryDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveTaskInventoryPacket.InventoryDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RemoveTaskInventoryPacket.InventoryDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveTaskInventoryPacket.InventoryDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RemoveTaskInventoryPacket.InventoryDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RemoveTaskInventoryPacket.InventoryDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RemoveTaskInventoryPacket.InventoryDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RemoveTaskInventoryPacket.InventoryDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RemoveTaskInventoryPacket.InventoryDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ReplyTaskInventoryPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ReplyTaskInventoryPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ReplyTaskInventoryPacket {
        /// C# member: `F:LibreMetaverse.Packets.ReplyTaskInventoryPacket.InventoryData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ReplyTaskInventoryPacket.InventoryDataBlock LibreMetaverse.Packets.ReplyTaskInventoryPacket.InventoryData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub inventory_data: libremetaverse::packets::ReplyTaskInventoryPacketInventoryDataBlock,
    }
    impl ReplyTaskInventoryPacket {
        /// C# member: `M:LibreMetaverse.Packets.ReplyTaskInventoryPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ReplyTaskInventoryPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ReplyTaskInventoryPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ReplyTaskInventoryPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ReplyTaskInventoryPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ReplyTaskInventoryPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ReplyTaskInventoryPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ReplyTaskInventoryPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ReplyTaskInventoryPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ReplyTaskInventoryPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ReplyTaskInventoryPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ReplyTaskInventoryPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ReplyTaskInventoryPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ReplyTaskInventoryPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ReplyTaskInventoryPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ReplyTaskInventoryPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ReplyTaskInventoryPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ReplyTaskInventoryPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ReplyTaskInventoryPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ReplyTaskInventoryPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ReplyTaskInventoryPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ReplyTaskInventoryPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ReplyTaskInventoryPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ReplyTaskInventoryPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ReplyTaskInventoryPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ReplyTaskInventoryPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ReplyTaskInventoryPacket.InventoryDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ReplyTaskInventoryPacket.InventoryDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ReplyTaskInventoryPacketInventoryDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ReplyTaskInventoryPacket.InventoryDataBlock.Filename`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ReplyTaskInventoryPacket.InventoryDataBlock.Filename`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub filename: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.ReplyTaskInventoryPacket.InventoryDataBlock.Serial`.
        ///
        /// C# signature: `System.Int16 LibreMetaverse.Packets.ReplyTaskInventoryPacket.InventoryDataBlock.Serial`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub serial: i16,
        /// C# member: `F:LibreMetaverse.Packets.ReplyTaskInventoryPacket.InventoryDataBlock.TaskID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ReplyTaskInventoryPacket.InventoryDataBlock.TaskID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub task_id: libremetaverse_types::UUID,
    }
    impl ReplyTaskInventoryPacketInventoryDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ReplyTaskInventoryPacket.InventoryDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ReplyTaskInventoryPacket.InventoryDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ReplyTaskInventoryPacket.InventoryDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ReplyTaskInventoryPacket.InventoryDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ReplyTaskInventoryPacket.InventoryDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ReplyTaskInventoryPacket.InventoryDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ReplyTaskInventoryPacket.InventoryDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ReplyTaskInventoryPacket.InventoryDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ReplyTaskInventoryPacket.InventoryDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ReplyTaskInventoryPacket.InventoryDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ReplyTaskInventoryPacket.InventoryDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ReplyTaskInventoryPacket.InventoryDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ReplyTaskInventoryPacket.InventoryDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ReplyTaskInventoryPacket.InventoryDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ReportAutosaveCrashPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ReportAutosaveCrashPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ReportAutosaveCrashPacket {
        /// C# member: `F:LibreMetaverse.Packets.ReportAutosaveCrashPacket.AutosaveData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ReportAutosaveCrashPacket.AutosaveDataBlock LibreMetaverse.Packets.ReportAutosaveCrashPacket.AutosaveData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub autosave_data: libremetaverse::packets::ReportAutosaveCrashPacketAutosaveDataBlock,
    }
    impl ReportAutosaveCrashPacket {
        /// C# member: `M:LibreMetaverse.Packets.ReportAutosaveCrashPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ReportAutosaveCrashPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ReportAutosaveCrashPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ReportAutosaveCrashPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ReportAutosaveCrashPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ReportAutosaveCrashPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ReportAutosaveCrashPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ReportAutosaveCrashPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ReportAutosaveCrashPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ReportAutosaveCrashPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ReportAutosaveCrashPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ReportAutosaveCrashPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ReportAutosaveCrashPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ReportAutosaveCrashPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ReportAutosaveCrashPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ReportAutosaveCrashPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ReportAutosaveCrashPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ReportAutosaveCrashPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ReportAutosaveCrashPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ReportAutosaveCrashPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ReportAutosaveCrashPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ReportAutosaveCrashPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ReportAutosaveCrashPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ReportAutosaveCrashPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ReportAutosaveCrashPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ReportAutosaveCrashPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ReportAutosaveCrashPacket.AutosaveDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ReportAutosaveCrashPacket.AutosaveDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ReportAutosaveCrashPacketAutosaveDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ReportAutosaveCrashPacket.AutosaveDataBlock.PID`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ReportAutosaveCrashPacket.AutosaveDataBlock.PID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub pid: i32,
        /// C# member: `F:LibreMetaverse.Packets.ReportAutosaveCrashPacket.AutosaveDataBlock.Status`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ReportAutosaveCrashPacket.AutosaveDataBlock.Status`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub status: i32,
    }
    impl ReportAutosaveCrashPacketAutosaveDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ReportAutosaveCrashPacket.AutosaveDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ReportAutosaveCrashPacket.AutosaveDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ReportAutosaveCrashPacket.AutosaveDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ReportAutosaveCrashPacket.AutosaveDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ReportAutosaveCrashPacket.AutosaveDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ReportAutosaveCrashPacket.AutosaveDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ReportAutosaveCrashPacket.AutosaveDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ReportAutosaveCrashPacket.AutosaveDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ReportAutosaveCrashPacket.AutosaveDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ReportAutosaveCrashPacket.AutosaveDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ReportAutosaveCrashPacket.AutosaveDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ReportAutosaveCrashPacket.AutosaveDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ReportAutosaveCrashPacket.AutosaveDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ReportAutosaveCrashPacket.AutosaveDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RequestGodlikePowersPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RequestGodlikePowersPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RequestGodlikePowersPacket {
        /// C# member: `F:LibreMetaverse.Packets.RequestGodlikePowersPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RequestGodlikePowersPacket.AgentDataBlock LibreMetaverse.Packets.RequestGodlikePowersPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::RequestGodlikePowersPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.RequestGodlikePowersPacket.RequestBlock`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RequestGodlikePowersPacket.RequestBlockBlock LibreMetaverse.Packets.RequestGodlikePowersPacket.RequestBlock`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub request_block: libremetaverse::packets::RequestGodlikePowersPacketRequestBlockBlock,
    }
    impl RequestGodlikePowersPacket {
        /// C# member: `M:LibreMetaverse.Packets.RequestGodlikePowersPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RequestGodlikePowersPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestGodlikePowersPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RequestGodlikePowersPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestGodlikePowersPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RequestGodlikePowersPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestGodlikePowersPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RequestGodlikePowersPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestGodlikePowersPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RequestGodlikePowersPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestGodlikePowersPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RequestGodlikePowersPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestGodlikePowersPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RequestGodlikePowersPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestGodlikePowersPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RequestGodlikePowersPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestGodlikePowersPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RequestGodlikePowersPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestGodlikePowersPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.RequestGodlikePowersPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestGodlikePowersPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.RequestGodlikePowersPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.RequestGodlikePowersPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RequestGodlikePowersPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RequestGodlikePowersPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.RequestGodlikePowersPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RequestGodlikePowersPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RequestGodlikePowersPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RequestGodlikePowersPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.RequestGodlikePowersPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RequestGodlikePowersPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.RequestGodlikePowersPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RequestGodlikePowersPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl RequestGodlikePowersPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.RequestGodlikePowersPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RequestGodlikePowersPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestGodlikePowersPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RequestGodlikePowersPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestGodlikePowersPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RequestGodlikePowersPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestGodlikePowersPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RequestGodlikePowersPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestGodlikePowersPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RequestGodlikePowersPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestGodlikePowersPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RequestGodlikePowersPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RequestGodlikePowersPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RequestGodlikePowersPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RequestGodlikePowersPacket.RequestBlockBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RequestGodlikePowersPacket.RequestBlockBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RequestGodlikePowersPacketRequestBlockBlock {
        /// C# member: `F:LibreMetaverse.Packets.RequestGodlikePowersPacket.RequestBlockBlock.Godlike`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.RequestGodlikePowersPacket.RequestBlockBlock.Godlike`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub godlike: bool,
        /// C# member: `F:LibreMetaverse.Packets.RequestGodlikePowersPacket.RequestBlockBlock.Token`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RequestGodlikePowersPacket.RequestBlockBlock.Token`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub token: libremetaverse_types::UUID,
    }
    impl RequestGodlikePowersPacketRequestBlockBlock {
        /// C# member: `M:LibreMetaverse.Packets.RequestGodlikePowersPacket.RequestBlockBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RequestGodlikePowersPacket.RequestBlockBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestGodlikePowersPacket.RequestBlockBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RequestGodlikePowersPacket.RequestBlockBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestGodlikePowersPacket.RequestBlockBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RequestGodlikePowersPacket.RequestBlockBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestGodlikePowersPacket.RequestBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RequestGodlikePowersPacket.RequestBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestGodlikePowersPacket.RequestBlockBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RequestGodlikePowersPacket.RequestBlockBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestGodlikePowersPacket.RequestBlockBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RequestGodlikePowersPacket.RequestBlockBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RequestGodlikePowersPacket.RequestBlockBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RequestGodlikePowersPacket.RequestBlockBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RequestImagePacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RequestImagePacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RequestImagePacket {
        /// C# member: `F:LibreMetaverse.Packets.RequestImagePacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RequestImagePacket.AgentDataBlock LibreMetaverse.Packets.RequestImagePacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::RequestImagePacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.RequestImagePacket.RequestImage`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RequestImagePacket.RequestImageBlock[] LibreMetaverse.Packets.RequestImagePacket.RequestImage`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub request_image: Vec<libremetaverse::packets::RequestImagePacketRequestImageBlock>,
    }
    impl RequestImagePacket {
        /// C# member: `M:LibreMetaverse.Packets.RequestImagePacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RequestImagePacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestImagePacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RequestImagePacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestImagePacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RequestImagePacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestImagePacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RequestImagePacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestImagePacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RequestImagePacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestImagePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RequestImagePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestImagePacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RequestImagePacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestImagePacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RequestImagePacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestImagePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RequestImagePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestImagePacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.RequestImagePacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestImagePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.RequestImagePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.RequestImagePacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RequestImagePacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RequestImagePacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.RequestImagePacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RequestImagePacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RequestImagePacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RequestImagePacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.RequestImagePacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RequestImagePacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.RequestImagePacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RequestImagePacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl RequestImagePacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.RequestImagePacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RequestImagePacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestImagePacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RequestImagePacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestImagePacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RequestImagePacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestImagePacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RequestImagePacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestImagePacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RequestImagePacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestImagePacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RequestImagePacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RequestImagePacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RequestImagePacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RequestImagePacket.RequestImageBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RequestImagePacket.RequestImageBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RequestImagePacketRequestImageBlock {
        /// C# member: `F:LibreMetaverse.Packets.RequestImagePacket.RequestImageBlock.DiscardLevel`.
        ///
        /// C# signature: `System.SByte LibreMetaverse.Packets.RequestImagePacket.RequestImageBlock.DiscardLevel`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub discard_level: i8,
        /// C# member: `F:LibreMetaverse.Packets.RequestImagePacket.RequestImageBlock.DownloadPriority`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.RequestImagePacket.RequestImageBlock.DownloadPriority`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub download_priority: f32,
        /// C# member: `F:LibreMetaverse.Packets.RequestImagePacket.RequestImageBlock.Image`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RequestImagePacket.RequestImageBlock.Image`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub image: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.RequestImagePacket.RequestImageBlock.Packet`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.RequestImagePacket.RequestImageBlock.Packet`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub packet: u32,
        /// C# member: `F:LibreMetaverse.Packets.RequestImagePacket.RequestImageBlock.Type`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.RequestImagePacket.RequestImageBlock.Type`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub type_: u8,
    }
    impl RequestImagePacketRequestImageBlock {
        /// C# member: `M:LibreMetaverse.Packets.RequestImagePacket.RequestImageBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RequestImagePacket.RequestImageBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestImagePacket.RequestImageBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RequestImagePacket.RequestImageBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestImagePacket.RequestImageBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RequestImagePacket.RequestImageBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestImagePacket.RequestImageBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RequestImagePacket.RequestImageBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestImagePacket.RequestImageBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RequestImagePacket.RequestImageBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestImagePacket.RequestImageBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RequestImagePacket.RequestImageBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RequestImagePacket.RequestImageBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RequestImagePacket.RequestImageBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RequestInventoryAssetPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RequestInventoryAssetPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RequestInventoryAssetPacket {
        /// C# member: `F:LibreMetaverse.Packets.RequestInventoryAssetPacket.QueryData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RequestInventoryAssetPacket.QueryDataBlock LibreMetaverse.Packets.RequestInventoryAssetPacket.QueryData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub query_data: libremetaverse::packets::RequestInventoryAssetPacketQueryDataBlock,
    }
    impl RequestInventoryAssetPacket {
        /// C# member: `M:LibreMetaverse.Packets.RequestInventoryAssetPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RequestInventoryAssetPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestInventoryAssetPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RequestInventoryAssetPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestInventoryAssetPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RequestInventoryAssetPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestInventoryAssetPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RequestInventoryAssetPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestInventoryAssetPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RequestInventoryAssetPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestInventoryAssetPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RequestInventoryAssetPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestInventoryAssetPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RequestInventoryAssetPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestInventoryAssetPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RequestInventoryAssetPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestInventoryAssetPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RequestInventoryAssetPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestInventoryAssetPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.RequestInventoryAssetPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestInventoryAssetPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.RequestInventoryAssetPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.RequestInventoryAssetPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RequestInventoryAssetPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RequestInventoryAssetPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.RequestInventoryAssetPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RequestInventoryAssetPacket.QueryDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RequestInventoryAssetPacket.QueryDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RequestInventoryAssetPacketQueryDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.RequestInventoryAssetPacket.QueryDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RequestInventoryAssetPacket.QueryDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.RequestInventoryAssetPacket.QueryDataBlock.ItemID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RequestInventoryAssetPacket.QueryDataBlock.ItemID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub item_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.RequestInventoryAssetPacket.QueryDataBlock.OwnerID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RequestInventoryAssetPacket.QueryDataBlock.OwnerID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub owner_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.RequestInventoryAssetPacket.QueryDataBlock.QueryID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RequestInventoryAssetPacket.QueryDataBlock.QueryID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub query_id: libremetaverse_types::UUID,
    }
    impl RequestInventoryAssetPacketQueryDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.RequestInventoryAssetPacket.QueryDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RequestInventoryAssetPacket.QueryDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestInventoryAssetPacket.QueryDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RequestInventoryAssetPacket.QueryDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestInventoryAssetPacket.QueryDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RequestInventoryAssetPacket.QueryDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestInventoryAssetPacket.QueryDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RequestInventoryAssetPacket.QueryDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestInventoryAssetPacket.QueryDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RequestInventoryAssetPacket.QueryDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestInventoryAssetPacket.QueryDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RequestInventoryAssetPacket.QueryDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RequestInventoryAssetPacket.QueryDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RequestInventoryAssetPacket.QueryDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RequestMultipleObjectsPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RequestMultipleObjectsPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RequestMultipleObjectsPacket {
        /// C# member: `F:LibreMetaverse.Packets.RequestMultipleObjectsPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RequestMultipleObjectsPacket.AgentDataBlock LibreMetaverse.Packets.RequestMultipleObjectsPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::RequestMultipleObjectsPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.RequestMultipleObjectsPacket.ObjectData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RequestMultipleObjectsPacket.ObjectDataBlock[] LibreMetaverse.Packets.RequestMultipleObjectsPacket.ObjectData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_data: Vec<libremetaverse::packets::RequestMultipleObjectsPacketObjectDataBlock>,
    }
    impl RequestMultipleObjectsPacket {
        /// C# member: `M:LibreMetaverse.Packets.RequestMultipleObjectsPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RequestMultipleObjectsPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestMultipleObjectsPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RequestMultipleObjectsPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestMultipleObjectsPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RequestMultipleObjectsPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestMultipleObjectsPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RequestMultipleObjectsPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestMultipleObjectsPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RequestMultipleObjectsPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestMultipleObjectsPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RequestMultipleObjectsPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestMultipleObjectsPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RequestMultipleObjectsPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestMultipleObjectsPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RequestMultipleObjectsPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestMultipleObjectsPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RequestMultipleObjectsPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestMultipleObjectsPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.RequestMultipleObjectsPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestMultipleObjectsPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.RequestMultipleObjectsPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.RequestMultipleObjectsPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RequestMultipleObjectsPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RequestMultipleObjectsPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.RequestMultipleObjectsPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RequestMultipleObjectsPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RequestMultipleObjectsPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RequestMultipleObjectsPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.RequestMultipleObjectsPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RequestMultipleObjectsPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.RequestMultipleObjectsPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RequestMultipleObjectsPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl RequestMultipleObjectsPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.RequestMultipleObjectsPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RequestMultipleObjectsPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestMultipleObjectsPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RequestMultipleObjectsPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestMultipleObjectsPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RequestMultipleObjectsPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestMultipleObjectsPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RequestMultipleObjectsPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestMultipleObjectsPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RequestMultipleObjectsPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestMultipleObjectsPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RequestMultipleObjectsPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RequestMultipleObjectsPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RequestMultipleObjectsPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RequestMultipleObjectsPacket.ObjectDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RequestMultipleObjectsPacket.ObjectDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RequestMultipleObjectsPacketObjectDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.RequestMultipleObjectsPacket.ObjectDataBlock.CacheMissType`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.RequestMultipleObjectsPacket.ObjectDataBlock.CacheMissType`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub cache_miss_type: u8,
        /// C# member: `F:LibreMetaverse.Packets.RequestMultipleObjectsPacket.ObjectDataBlock.ID`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.RequestMultipleObjectsPacket.ObjectDataBlock.ID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub id: u32,
    }
    impl RequestMultipleObjectsPacketObjectDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.RequestMultipleObjectsPacket.ObjectDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RequestMultipleObjectsPacket.ObjectDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestMultipleObjectsPacket.ObjectDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RequestMultipleObjectsPacket.ObjectDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestMultipleObjectsPacket.ObjectDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RequestMultipleObjectsPacket.ObjectDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestMultipleObjectsPacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RequestMultipleObjectsPacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestMultipleObjectsPacket.ObjectDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RequestMultipleObjectsPacket.ObjectDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestMultipleObjectsPacket.ObjectDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RequestMultipleObjectsPacket.ObjectDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RequestMultipleObjectsPacket.ObjectDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RequestMultipleObjectsPacket.ObjectDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RequestObjectPropertiesFamilyPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RequestObjectPropertiesFamilyPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RequestObjectPropertiesFamilyPacket {
        /// C# member: `F:LibreMetaverse.Packets.RequestObjectPropertiesFamilyPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RequestObjectPropertiesFamilyPacket.AgentDataBlock LibreMetaverse.Packets.RequestObjectPropertiesFamilyPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::RequestObjectPropertiesFamilyPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.RequestObjectPropertiesFamilyPacket.ObjectData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RequestObjectPropertiesFamilyPacket.ObjectDataBlock LibreMetaverse.Packets.RequestObjectPropertiesFamilyPacket.ObjectData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_data:
            libremetaverse::packets::RequestObjectPropertiesFamilyPacketObjectDataBlock,
    }
    impl RequestObjectPropertiesFamilyPacket {
        /// C# member: `M:LibreMetaverse.Packets.RequestObjectPropertiesFamilyPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RequestObjectPropertiesFamilyPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestObjectPropertiesFamilyPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RequestObjectPropertiesFamilyPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestObjectPropertiesFamilyPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RequestObjectPropertiesFamilyPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestObjectPropertiesFamilyPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RequestObjectPropertiesFamilyPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestObjectPropertiesFamilyPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RequestObjectPropertiesFamilyPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestObjectPropertiesFamilyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RequestObjectPropertiesFamilyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestObjectPropertiesFamilyPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RequestObjectPropertiesFamilyPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestObjectPropertiesFamilyPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RequestObjectPropertiesFamilyPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestObjectPropertiesFamilyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RequestObjectPropertiesFamilyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestObjectPropertiesFamilyPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.RequestObjectPropertiesFamilyPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestObjectPropertiesFamilyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.RequestObjectPropertiesFamilyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.RequestObjectPropertiesFamilyPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RequestObjectPropertiesFamilyPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RequestObjectPropertiesFamilyPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.RequestObjectPropertiesFamilyPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RequestObjectPropertiesFamilyPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RequestObjectPropertiesFamilyPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RequestObjectPropertiesFamilyPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.RequestObjectPropertiesFamilyPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RequestObjectPropertiesFamilyPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.RequestObjectPropertiesFamilyPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RequestObjectPropertiesFamilyPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl RequestObjectPropertiesFamilyPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.RequestObjectPropertiesFamilyPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RequestObjectPropertiesFamilyPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestObjectPropertiesFamilyPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RequestObjectPropertiesFamilyPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestObjectPropertiesFamilyPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RequestObjectPropertiesFamilyPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestObjectPropertiesFamilyPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RequestObjectPropertiesFamilyPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestObjectPropertiesFamilyPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RequestObjectPropertiesFamilyPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestObjectPropertiesFamilyPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RequestObjectPropertiesFamilyPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RequestObjectPropertiesFamilyPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RequestObjectPropertiesFamilyPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RequestObjectPropertiesFamilyPacket.ObjectDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RequestObjectPropertiesFamilyPacket.ObjectDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RequestObjectPropertiesFamilyPacketObjectDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.RequestObjectPropertiesFamilyPacket.ObjectDataBlock.ObjectID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RequestObjectPropertiesFamilyPacket.ObjectDataBlock.ObjectID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.RequestObjectPropertiesFamilyPacket.ObjectDataBlock.RequestFlags`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.RequestObjectPropertiesFamilyPacket.ObjectDataBlock.RequestFlags`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub request_flags: u32,
    }
    impl RequestObjectPropertiesFamilyPacketObjectDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.RequestObjectPropertiesFamilyPacket.ObjectDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RequestObjectPropertiesFamilyPacket.ObjectDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestObjectPropertiesFamilyPacket.ObjectDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RequestObjectPropertiesFamilyPacket.ObjectDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestObjectPropertiesFamilyPacket.ObjectDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RequestObjectPropertiesFamilyPacket.ObjectDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestObjectPropertiesFamilyPacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RequestObjectPropertiesFamilyPacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestObjectPropertiesFamilyPacket.ObjectDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RequestObjectPropertiesFamilyPacket.ObjectDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestObjectPropertiesFamilyPacket.ObjectDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RequestObjectPropertiesFamilyPacket.ObjectDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RequestObjectPropertiesFamilyPacket.ObjectDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RequestObjectPropertiesFamilyPacket.ObjectDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RequestParcelTransferPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RequestParcelTransferPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RequestParcelTransferPacket {
        /// C# member: `F:LibreMetaverse.Packets.RequestParcelTransferPacket.Data`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RequestParcelTransferPacket.DataBlock LibreMetaverse.Packets.RequestParcelTransferPacket.Data`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub data: libremetaverse::packets::RequestParcelTransferPacketDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.RequestParcelTransferPacket.RegionData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RequestParcelTransferPacket.RegionDataBlock LibreMetaverse.Packets.RequestParcelTransferPacket.RegionData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub region_data: libremetaverse::packets::RequestParcelTransferPacketRegionDataBlock,
    }
    impl RequestParcelTransferPacket {
        /// C# member: `M:LibreMetaverse.Packets.RequestParcelTransferPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RequestParcelTransferPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestParcelTransferPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RequestParcelTransferPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestParcelTransferPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RequestParcelTransferPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestParcelTransferPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RequestParcelTransferPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestParcelTransferPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RequestParcelTransferPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestParcelTransferPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RequestParcelTransferPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestParcelTransferPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RequestParcelTransferPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestParcelTransferPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RequestParcelTransferPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestParcelTransferPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RequestParcelTransferPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestParcelTransferPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.RequestParcelTransferPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestParcelTransferPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.RequestParcelTransferPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.RequestParcelTransferPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RequestParcelTransferPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RequestParcelTransferPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.RequestParcelTransferPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RequestParcelTransferPacket.DataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RequestParcelTransferPacket.DataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RequestParcelTransferPacketDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.RequestParcelTransferPacket.DataBlock.ActualArea`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RequestParcelTransferPacket.DataBlock.ActualArea`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub actual_area: i32,
        /// C# member: `F:LibreMetaverse.Packets.RequestParcelTransferPacket.DataBlock.Amount`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RequestParcelTransferPacket.DataBlock.Amount`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub amount: i32,
        /// C# member: `F:LibreMetaverse.Packets.RequestParcelTransferPacket.DataBlock.BillableArea`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RequestParcelTransferPacket.DataBlock.BillableArea`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub billable_area: i32,
        /// C# member: `F:LibreMetaverse.Packets.RequestParcelTransferPacket.DataBlock.DestID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RequestParcelTransferPacket.DataBlock.DestID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub dest_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.RequestParcelTransferPacket.DataBlock.Final`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.RequestParcelTransferPacket.DataBlock.Final`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub final_: bool,
        /// C# member: `F:LibreMetaverse.Packets.RequestParcelTransferPacket.DataBlock.Flags`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.RequestParcelTransferPacket.DataBlock.Flags`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub flags: u8,
        /// C# member: `F:LibreMetaverse.Packets.RequestParcelTransferPacket.DataBlock.OwnerID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RequestParcelTransferPacket.DataBlock.OwnerID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub owner_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.RequestParcelTransferPacket.DataBlock.SourceID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RequestParcelTransferPacket.DataBlock.SourceID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub source_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.RequestParcelTransferPacket.DataBlock.TransactionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RequestParcelTransferPacket.DataBlock.TransactionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub transaction_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.RequestParcelTransferPacket.DataBlock.TransactionTime`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.RequestParcelTransferPacket.DataBlock.TransactionTime`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub transaction_time: u32,
        /// C# member: `F:LibreMetaverse.Packets.RequestParcelTransferPacket.DataBlock.TransactionType`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RequestParcelTransferPacket.DataBlock.TransactionType`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub transaction_type: i32,
    }
    impl RequestParcelTransferPacketDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.RequestParcelTransferPacket.DataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RequestParcelTransferPacket.DataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestParcelTransferPacket.DataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RequestParcelTransferPacket.DataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestParcelTransferPacket.DataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RequestParcelTransferPacket.DataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestParcelTransferPacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RequestParcelTransferPacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestParcelTransferPacket.DataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RequestParcelTransferPacket.DataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestParcelTransferPacket.DataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RequestParcelTransferPacket.DataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RequestParcelTransferPacket.DataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RequestParcelTransferPacket.DataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RequestParcelTransferPacket.RegionDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RequestParcelTransferPacket.RegionDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RequestParcelTransferPacketRegionDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.RequestParcelTransferPacket.RegionDataBlock.GridX`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.RequestParcelTransferPacket.RegionDataBlock.GridX`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub grid_x: u32,
        /// C# member: `F:LibreMetaverse.Packets.RequestParcelTransferPacket.RegionDataBlock.GridY`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.RequestParcelTransferPacket.RegionDataBlock.GridY`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub grid_y: u32,
        /// C# member: `F:LibreMetaverse.Packets.RequestParcelTransferPacket.RegionDataBlock.RegionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RequestParcelTransferPacket.RegionDataBlock.RegionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub region_id: libremetaverse_types::UUID,
    }
    impl RequestParcelTransferPacketRegionDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.RequestParcelTransferPacket.RegionDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RequestParcelTransferPacket.RegionDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestParcelTransferPacket.RegionDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RequestParcelTransferPacket.RegionDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestParcelTransferPacket.RegionDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RequestParcelTransferPacket.RegionDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestParcelTransferPacket.RegionDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RequestParcelTransferPacket.RegionDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestParcelTransferPacket.RegionDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RequestParcelTransferPacket.RegionDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestParcelTransferPacket.RegionDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RequestParcelTransferPacket.RegionDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RequestParcelTransferPacket.RegionDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RequestParcelTransferPacket.RegionDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RequestPayPricePacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RequestPayPricePacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RequestPayPricePacket {
        /// C# member: `F:LibreMetaverse.Packets.RequestPayPricePacket.ObjectData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RequestPayPricePacket.ObjectDataBlock LibreMetaverse.Packets.RequestPayPricePacket.ObjectData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_data: libremetaverse::packets::RequestPayPricePacketObjectDataBlock,
    }
    impl RequestPayPricePacket {
        /// C# member: `M:LibreMetaverse.Packets.RequestPayPricePacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RequestPayPricePacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestPayPricePacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RequestPayPricePacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestPayPricePacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RequestPayPricePacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestPayPricePacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RequestPayPricePacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestPayPricePacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RequestPayPricePacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestPayPricePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RequestPayPricePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestPayPricePacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RequestPayPricePacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestPayPricePacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RequestPayPricePacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestPayPricePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RequestPayPricePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestPayPricePacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.RequestPayPricePacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestPayPricePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.RequestPayPricePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.RequestPayPricePacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RequestPayPricePacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RequestPayPricePacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.RequestPayPricePacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RequestPayPricePacket.ObjectDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RequestPayPricePacket.ObjectDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RequestPayPricePacketObjectDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.RequestPayPricePacket.ObjectDataBlock.ObjectID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RequestPayPricePacket.ObjectDataBlock.ObjectID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_id: libremetaverse_types::UUID,
    }
    impl RequestPayPricePacketObjectDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.RequestPayPricePacket.ObjectDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RequestPayPricePacket.ObjectDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestPayPricePacket.ObjectDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RequestPayPricePacket.ObjectDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestPayPricePacket.ObjectDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RequestPayPricePacket.ObjectDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestPayPricePacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RequestPayPricePacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestPayPricePacket.ObjectDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RequestPayPricePacket.ObjectDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestPayPricePacket.ObjectDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RequestPayPricePacket.ObjectDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RequestPayPricePacket.ObjectDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RequestPayPricePacket.ObjectDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RequestRegionInfoPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RequestRegionInfoPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RequestRegionInfoPacket {
        /// C# member: `F:LibreMetaverse.Packets.RequestRegionInfoPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RequestRegionInfoPacket.AgentDataBlock LibreMetaverse.Packets.RequestRegionInfoPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::RequestRegionInfoPacketAgentDataBlock,
    }
    impl RequestRegionInfoPacket {
        /// C# member: `M:LibreMetaverse.Packets.RequestRegionInfoPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RequestRegionInfoPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestRegionInfoPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RequestRegionInfoPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestRegionInfoPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RequestRegionInfoPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestRegionInfoPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RequestRegionInfoPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestRegionInfoPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RequestRegionInfoPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestRegionInfoPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RequestRegionInfoPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestRegionInfoPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RequestRegionInfoPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestRegionInfoPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RequestRegionInfoPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestRegionInfoPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RequestRegionInfoPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestRegionInfoPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.RequestRegionInfoPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestRegionInfoPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.RequestRegionInfoPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.RequestRegionInfoPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RequestRegionInfoPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RequestRegionInfoPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.RequestRegionInfoPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RequestRegionInfoPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RequestRegionInfoPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RequestRegionInfoPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.RequestRegionInfoPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RequestRegionInfoPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.RequestRegionInfoPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RequestRegionInfoPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl RequestRegionInfoPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.RequestRegionInfoPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RequestRegionInfoPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestRegionInfoPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RequestRegionInfoPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestRegionInfoPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RequestRegionInfoPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestRegionInfoPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RequestRegionInfoPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestRegionInfoPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RequestRegionInfoPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestRegionInfoPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RequestRegionInfoPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RequestRegionInfoPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RequestRegionInfoPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RequestTaskInventoryPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RequestTaskInventoryPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RequestTaskInventoryPacket {
        /// C# member: `F:LibreMetaverse.Packets.RequestTaskInventoryPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RequestTaskInventoryPacket.AgentDataBlock LibreMetaverse.Packets.RequestTaskInventoryPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::RequestTaskInventoryPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.RequestTaskInventoryPacket.InventoryData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RequestTaskInventoryPacket.InventoryDataBlock LibreMetaverse.Packets.RequestTaskInventoryPacket.InventoryData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub inventory_data: libremetaverse::packets::RequestTaskInventoryPacketInventoryDataBlock,
    }
    impl RequestTaskInventoryPacket {
        /// C# member: `M:LibreMetaverse.Packets.RequestTaskInventoryPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RequestTaskInventoryPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestTaskInventoryPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RequestTaskInventoryPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestTaskInventoryPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RequestTaskInventoryPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestTaskInventoryPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RequestTaskInventoryPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestTaskInventoryPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RequestTaskInventoryPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestTaskInventoryPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RequestTaskInventoryPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestTaskInventoryPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RequestTaskInventoryPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestTaskInventoryPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RequestTaskInventoryPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestTaskInventoryPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RequestTaskInventoryPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestTaskInventoryPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.RequestTaskInventoryPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestTaskInventoryPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.RequestTaskInventoryPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.RequestTaskInventoryPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RequestTaskInventoryPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RequestTaskInventoryPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.RequestTaskInventoryPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RequestTaskInventoryPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RequestTaskInventoryPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RequestTaskInventoryPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.RequestTaskInventoryPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RequestTaskInventoryPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.RequestTaskInventoryPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RequestTaskInventoryPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl RequestTaskInventoryPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.RequestTaskInventoryPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RequestTaskInventoryPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestTaskInventoryPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RequestTaskInventoryPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestTaskInventoryPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RequestTaskInventoryPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestTaskInventoryPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RequestTaskInventoryPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestTaskInventoryPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RequestTaskInventoryPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestTaskInventoryPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RequestTaskInventoryPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RequestTaskInventoryPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RequestTaskInventoryPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RequestTaskInventoryPacket.InventoryDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RequestTaskInventoryPacket.InventoryDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RequestTaskInventoryPacketInventoryDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.RequestTaskInventoryPacket.InventoryDataBlock.LocalID`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.RequestTaskInventoryPacket.InventoryDataBlock.LocalID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub local_id: u32,
    }
    impl RequestTaskInventoryPacketInventoryDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.RequestTaskInventoryPacket.InventoryDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RequestTaskInventoryPacket.InventoryDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestTaskInventoryPacket.InventoryDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RequestTaskInventoryPacket.InventoryDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestTaskInventoryPacket.InventoryDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RequestTaskInventoryPacket.InventoryDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestTaskInventoryPacket.InventoryDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RequestTaskInventoryPacket.InventoryDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestTaskInventoryPacket.InventoryDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RequestTaskInventoryPacket.InventoryDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestTaskInventoryPacket.InventoryDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RequestTaskInventoryPacket.InventoryDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RequestTaskInventoryPacket.InventoryDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RequestTaskInventoryPacket.InventoryDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RequestTrustedCircuitPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RequestTrustedCircuitPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RequestTrustedCircuitPacket;
    impl RequestTrustedCircuitPacket {
        /// C# member: `M:LibreMetaverse.Packets.RequestTrustedCircuitPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RequestTrustedCircuitPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestTrustedCircuitPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RequestTrustedCircuitPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestTrustedCircuitPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RequestTrustedCircuitPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestTrustedCircuitPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RequestTrustedCircuitPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestTrustedCircuitPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RequestTrustedCircuitPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestTrustedCircuitPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RequestTrustedCircuitPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestTrustedCircuitPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RequestTrustedCircuitPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestTrustedCircuitPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RequestTrustedCircuitPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestTrustedCircuitPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RequestTrustedCircuitPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestTrustedCircuitPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.RequestTrustedCircuitPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestTrustedCircuitPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.RequestTrustedCircuitPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.RequestTrustedCircuitPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RequestTrustedCircuitPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RequestTrustedCircuitPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.RequestTrustedCircuitPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RequestXferPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RequestXferPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RequestXferPacket {
        /// C# member: `F:LibreMetaverse.Packets.RequestXferPacket.XferID`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RequestXferPacket.XferIDBlock LibreMetaverse.Packets.RequestXferPacket.XferID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub xfer_id: libremetaverse::packets::RequestXferPacketXferIDBlock,
    }
    impl RequestXferPacket {
        /// C# member: `M:LibreMetaverse.Packets.RequestXferPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RequestXferPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestXferPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RequestXferPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestXferPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RequestXferPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestXferPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RequestXferPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestXferPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RequestXferPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestXferPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RequestXferPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestXferPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RequestXferPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestXferPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RequestXferPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestXferPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RequestXferPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestXferPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.RequestXferPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestXferPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.RequestXferPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.RequestXferPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RequestXferPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RequestXferPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.RequestXferPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RequestXferPacket.XferIDBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RequestXferPacket.XferIDBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RequestXferPacketXferIDBlock {
        /// C# member: `F:LibreMetaverse.Packets.RequestXferPacket.XferIDBlock.DeleteOnCompletion`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.RequestXferPacket.XferIDBlock.DeleteOnCompletion`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub delete_on_completion: bool,
        /// C# member: `F:LibreMetaverse.Packets.RequestXferPacket.XferIDBlock.FilePath`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.RequestXferPacket.XferIDBlock.FilePath`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub file_path: u8,
        /// C# member: `F:LibreMetaverse.Packets.RequestXferPacket.XferIDBlock.Filename`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RequestXferPacket.XferIDBlock.Filename`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub filename: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.RequestXferPacket.XferIDBlock.ID`.
        ///
        /// C# signature: `System.UInt64 LibreMetaverse.Packets.RequestXferPacket.XferIDBlock.ID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub id: u64,
        /// C# member: `F:LibreMetaverse.Packets.RequestXferPacket.XferIDBlock.UseBigPackets`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.RequestXferPacket.XferIDBlock.UseBigPackets`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub use_big_packets: bool,
        /// C# member: `F:LibreMetaverse.Packets.RequestXferPacket.XferIDBlock.VFileID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RequestXferPacket.XferIDBlock.VFileID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub v_file_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.RequestXferPacket.XferIDBlock.VFileType`.
        ///
        /// C# signature: `System.Int16 LibreMetaverse.Packets.RequestXferPacket.XferIDBlock.VFileType`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub v_file_type: i16,
    }
    impl RequestXferPacketXferIDBlock {
        /// C# member: `M:LibreMetaverse.Packets.RequestXferPacket.XferIDBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RequestXferPacket.XferIDBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestXferPacket.XferIDBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RequestXferPacket.XferIDBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestXferPacket.XferIDBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RequestXferPacket.XferIDBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestXferPacket.XferIDBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RequestXferPacket.XferIDBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestXferPacket.XferIDBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RequestXferPacket.XferIDBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RequestXferPacket.XferIDBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RequestXferPacket.XferIDBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RequestXferPacket.XferIDBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RequestXferPacket.XferIDBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RetrieveIMsExtendedPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RetrieveIMsExtendedPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RetrieveIMsExtendedPacket {
        /// C# member: `F:LibreMetaverse.Packets.RetrieveIMsExtendedPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RetrieveIMsExtendedPacket.AgentDataBlock LibreMetaverse.Packets.RetrieveIMsExtendedPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::RetrieveIMsExtendedPacketAgentDataBlock,
    }
    impl RetrieveIMsExtendedPacket {
        /// C# member: `M:LibreMetaverse.Packets.RetrieveIMsExtendedPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RetrieveIMsExtendedPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RetrieveIMsExtendedPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RetrieveIMsExtendedPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RetrieveIMsExtendedPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RetrieveIMsExtendedPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RetrieveIMsExtendedPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RetrieveIMsExtendedPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.RetrieveIMsExtendedPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RetrieveIMsExtendedPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.RetrieveIMsExtendedPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RetrieveIMsExtendedPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.RetrieveIMsExtendedPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RetrieveIMsExtendedPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RetrieveIMsExtendedPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RetrieveIMsExtendedPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RetrieveIMsExtendedPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RetrieveIMsExtendedPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.RetrieveIMsExtendedPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.RetrieveIMsExtendedPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RetrieveIMsExtendedPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.RetrieveIMsExtendedPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.RetrieveIMsExtendedPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RetrieveIMsExtendedPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RetrieveIMsExtendedPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.RetrieveIMsExtendedPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RetrieveIMsExtendedPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RetrieveIMsExtendedPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RetrieveIMsExtendedPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.RetrieveIMsExtendedPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RetrieveIMsExtendedPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.RetrieveIMsExtendedPacket.AgentDataBlock.IsPremium`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.RetrieveIMsExtendedPacket.AgentDataBlock.IsPremium`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub is_premium: bool,
        /// C# member: `F:LibreMetaverse.Packets.RetrieveIMsExtendedPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RetrieveIMsExtendedPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl RetrieveIMsExtendedPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.RetrieveIMsExtendedPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RetrieveIMsExtendedPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RetrieveIMsExtendedPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RetrieveIMsExtendedPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RetrieveIMsExtendedPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RetrieveIMsExtendedPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RetrieveIMsExtendedPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RetrieveIMsExtendedPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.RetrieveIMsExtendedPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RetrieveIMsExtendedPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RetrieveIMsExtendedPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RetrieveIMsExtendedPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RetrieveIMsExtendedPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RetrieveIMsExtendedPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RetrieveInstantMessagesPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RetrieveInstantMessagesPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RetrieveInstantMessagesPacket {
        /// C# member: `F:LibreMetaverse.Packets.RetrieveInstantMessagesPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RetrieveInstantMessagesPacket.AgentDataBlock LibreMetaverse.Packets.RetrieveInstantMessagesPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::RetrieveInstantMessagesPacketAgentDataBlock,
    }
    impl RetrieveInstantMessagesPacket {
        /// C# member: `M:LibreMetaverse.Packets.RetrieveInstantMessagesPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RetrieveInstantMessagesPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RetrieveInstantMessagesPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RetrieveInstantMessagesPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RetrieveInstantMessagesPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RetrieveInstantMessagesPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RetrieveInstantMessagesPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RetrieveInstantMessagesPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.RetrieveInstantMessagesPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RetrieveInstantMessagesPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.RetrieveInstantMessagesPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RetrieveInstantMessagesPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.RetrieveInstantMessagesPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RetrieveInstantMessagesPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RetrieveInstantMessagesPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RetrieveInstantMessagesPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RetrieveInstantMessagesPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RetrieveInstantMessagesPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.RetrieveInstantMessagesPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.RetrieveInstantMessagesPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RetrieveInstantMessagesPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.RetrieveInstantMessagesPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.RetrieveInstantMessagesPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RetrieveInstantMessagesPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RetrieveInstantMessagesPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.RetrieveInstantMessagesPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RetrieveInstantMessagesPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RetrieveInstantMessagesPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RetrieveInstantMessagesPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.RetrieveInstantMessagesPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RetrieveInstantMessagesPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.RetrieveInstantMessagesPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RetrieveInstantMessagesPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl RetrieveInstantMessagesPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.RetrieveInstantMessagesPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RetrieveInstantMessagesPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RetrieveInstantMessagesPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RetrieveInstantMessagesPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RetrieveInstantMessagesPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RetrieveInstantMessagesPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RetrieveInstantMessagesPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RetrieveInstantMessagesPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.RetrieveInstantMessagesPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RetrieveInstantMessagesPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RetrieveInstantMessagesPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RetrieveInstantMessagesPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RetrieveInstantMessagesPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RetrieveInstantMessagesPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RevokePermissionsPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RevokePermissionsPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RevokePermissionsPacket {
        /// C# member: `F:LibreMetaverse.Packets.RevokePermissionsPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RevokePermissionsPacket.AgentDataBlock LibreMetaverse.Packets.RevokePermissionsPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::RevokePermissionsPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.RevokePermissionsPacket.Data`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RevokePermissionsPacket.DataBlock LibreMetaverse.Packets.RevokePermissionsPacket.Data`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub data: libremetaverse::packets::RevokePermissionsPacketDataBlock,
    }
    impl RevokePermissionsPacket {
        /// C# member: `M:LibreMetaverse.Packets.RevokePermissionsPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RevokePermissionsPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RevokePermissionsPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RevokePermissionsPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RevokePermissionsPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RevokePermissionsPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RevokePermissionsPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RevokePermissionsPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.RevokePermissionsPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RevokePermissionsPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.RevokePermissionsPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RevokePermissionsPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.RevokePermissionsPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RevokePermissionsPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RevokePermissionsPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RevokePermissionsPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RevokePermissionsPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RevokePermissionsPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.RevokePermissionsPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.RevokePermissionsPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RevokePermissionsPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.RevokePermissionsPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.RevokePermissionsPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RevokePermissionsPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RevokePermissionsPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.RevokePermissionsPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RevokePermissionsPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RevokePermissionsPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RevokePermissionsPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.RevokePermissionsPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RevokePermissionsPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.RevokePermissionsPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RevokePermissionsPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl RevokePermissionsPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.RevokePermissionsPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RevokePermissionsPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RevokePermissionsPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RevokePermissionsPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RevokePermissionsPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RevokePermissionsPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RevokePermissionsPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RevokePermissionsPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.RevokePermissionsPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RevokePermissionsPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RevokePermissionsPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RevokePermissionsPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RevokePermissionsPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RevokePermissionsPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RevokePermissionsPacket.DataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RevokePermissionsPacket.DataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RevokePermissionsPacketDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.RevokePermissionsPacket.DataBlock.ObjectID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RevokePermissionsPacket.DataBlock.ObjectID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.RevokePermissionsPacket.DataBlock.ObjectPermissions`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.RevokePermissionsPacket.DataBlock.ObjectPermissions`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_permissions: u32,
    }
    impl RevokePermissionsPacketDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.RevokePermissionsPacket.DataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RevokePermissionsPacket.DataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RevokePermissionsPacket.DataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RevokePermissionsPacket.DataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RevokePermissionsPacket.DataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RevokePermissionsPacket.DataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RevokePermissionsPacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RevokePermissionsPacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.RevokePermissionsPacket.DataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RevokePermissionsPacket.DataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RevokePermissionsPacket.DataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RevokePermissionsPacket.DataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RevokePermissionsPacket.DataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RevokePermissionsPacket.DataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RezMultipleAttachmentsFromInvPacket {
        /// C# member: `F:LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket.AgentDataBlock LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::RezMultipleAttachmentsFromInvPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket.HeaderData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket.HeaderDataBlock LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket.HeaderData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub header_data:
            libremetaverse::packets::RezMultipleAttachmentsFromInvPacketHeaderDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket.ObjectData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket.ObjectDataBlock[] LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket.ObjectData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_data:
            Vec<libremetaverse::packets::RezMultipleAttachmentsFromInvPacketObjectDataBlock>,
    }
    impl RezMultipleAttachmentsFromInvPacket {
        /// C# member: `M:LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RezMultipleAttachmentsFromInvPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl RezMultipleAttachmentsFromInvPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket.HeaderDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket.HeaderDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RezMultipleAttachmentsFromInvPacketHeaderDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket.HeaderDataBlock.CompoundMsgID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket.HeaderDataBlock.CompoundMsgID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub compound_msg_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket.HeaderDataBlock.FirstDetachAll`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket.HeaderDataBlock.FirstDetachAll`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub first_detach_all: bool,
        /// C# member: `F:LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket.HeaderDataBlock.TotalObjects`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket.HeaderDataBlock.TotalObjects`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub total_objects: u8,
    }
    impl RezMultipleAttachmentsFromInvPacketHeaderDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket.HeaderDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket.HeaderDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket.HeaderDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket.HeaderDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket.HeaderDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket.HeaderDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket.HeaderDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket.HeaderDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket.HeaderDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket.HeaderDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket.HeaderDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket.HeaderDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket.HeaderDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket.HeaderDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket.ObjectDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket.ObjectDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RezMultipleAttachmentsFromInvPacketObjectDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket.ObjectDataBlock.AttachmentPt`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket.ObjectDataBlock.AttachmentPt`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub attachment_pt: u8,
        /// C# member: `F:LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket.ObjectDataBlock.Description`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket.ObjectDataBlock.Description`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub description: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket.ObjectDataBlock.EveryoneMask`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket.ObjectDataBlock.EveryoneMask`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub everyone_mask: u32,
        /// C# member: `F:LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket.ObjectDataBlock.GroupMask`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket.ObjectDataBlock.GroupMask`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_mask: u32,
        /// C# member: `F:LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket.ObjectDataBlock.ItemFlags`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket.ObjectDataBlock.ItemFlags`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub item_flags: u32,
        /// C# member: `F:LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket.ObjectDataBlock.ItemID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket.ObjectDataBlock.ItemID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub item_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket.ObjectDataBlock.Name`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket.ObjectDataBlock.Name`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub name: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket.ObjectDataBlock.NextOwnerMask`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket.ObjectDataBlock.NextOwnerMask`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub next_owner_mask: u32,
        /// C# member: `F:LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket.ObjectDataBlock.OwnerID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket.ObjectDataBlock.OwnerID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub owner_id: libremetaverse_types::UUID,
    }
    impl RezMultipleAttachmentsFromInvPacketObjectDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket.ObjectDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket.ObjectDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket.ObjectDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket.ObjectDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket.ObjectDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket.ObjectDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket.ObjectDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket.ObjectDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket.ObjectDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket.ObjectDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket.ObjectDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RezMultipleAttachmentsFromInvPacket.ObjectDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RezObjectFromNotecardPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RezObjectFromNotecardPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RezObjectFromNotecardPacket {
        /// C# member: `F:LibreMetaverse.Packets.RezObjectFromNotecardPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RezObjectFromNotecardPacket.AgentDataBlock LibreMetaverse.Packets.RezObjectFromNotecardPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::RezObjectFromNotecardPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.RezObjectFromNotecardPacket.InventoryData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RezObjectFromNotecardPacket.InventoryDataBlock[] LibreMetaverse.Packets.RezObjectFromNotecardPacket.InventoryData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub inventory_data:
            Vec<libremetaverse::packets::RezObjectFromNotecardPacketInventoryDataBlock>,
        /// C# member: `F:LibreMetaverse.Packets.RezObjectFromNotecardPacket.NotecardData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RezObjectFromNotecardPacket.NotecardDataBlock LibreMetaverse.Packets.RezObjectFromNotecardPacket.NotecardData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub notecard_data: libremetaverse::packets::RezObjectFromNotecardPacketNotecardDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.RezObjectFromNotecardPacket.RezData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RezObjectFromNotecardPacket.RezDataBlock LibreMetaverse.Packets.RezObjectFromNotecardPacket.RezData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub rez_data: libremetaverse::packets::RezObjectFromNotecardPacketRezDataBlock,
    }
    impl RezObjectFromNotecardPacket {
        /// C# member: `M:LibreMetaverse.Packets.RezObjectFromNotecardPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RezObjectFromNotecardPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RezObjectFromNotecardPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RezObjectFromNotecardPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RezObjectFromNotecardPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RezObjectFromNotecardPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RezObjectFromNotecardPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RezObjectFromNotecardPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.RezObjectFromNotecardPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RezObjectFromNotecardPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.RezObjectFromNotecardPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RezObjectFromNotecardPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.RezObjectFromNotecardPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RezObjectFromNotecardPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RezObjectFromNotecardPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RezObjectFromNotecardPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RezObjectFromNotecardPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RezObjectFromNotecardPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.RezObjectFromNotecardPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.RezObjectFromNotecardPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RezObjectFromNotecardPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.RezObjectFromNotecardPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.RezObjectFromNotecardPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RezObjectFromNotecardPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RezObjectFromNotecardPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.RezObjectFromNotecardPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RezObjectFromNotecardPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RezObjectFromNotecardPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RezObjectFromNotecardPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.RezObjectFromNotecardPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RezObjectFromNotecardPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.RezObjectFromNotecardPacket.AgentDataBlock.GroupID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RezObjectFromNotecardPacket.AgentDataBlock.GroupID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.RezObjectFromNotecardPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RezObjectFromNotecardPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl RezObjectFromNotecardPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.RezObjectFromNotecardPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RezObjectFromNotecardPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RezObjectFromNotecardPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RezObjectFromNotecardPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RezObjectFromNotecardPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RezObjectFromNotecardPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RezObjectFromNotecardPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RezObjectFromNotecardPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.RezObjectFromNotecardPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RezObjectFromNotecardPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RezObjectFromNotecardPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RezObjectFromNotecardPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RezObjectFromNotecardPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RezObjectFromNotecardPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RezObjectFromNotecardPacket.InventoryDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RezObjectFromNotecardPacket.InventoryDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RezObjectFromNotecardPacketInventoryDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.RezObjectFromNotecardPacket.InventoryDataBlock.ItemID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RezObjectFromNotecardPacket.InventoryDataBlock.ItemID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub item_id: libremetaverse_types::UUID,
    }
    impl RezObjectFromNotecardPacketInventoryDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.RezObjectFromNotecardPacket.InventoryDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RezObjectFromNotecardPacket.InventoryDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RezObjectFromNotecardPacket.InventoryDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RezObjectFromNotecardPacket.InventoryDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RezObjectFromNotecardPacket.InventoryDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RezObjectFromNotecardPacket.InventoryDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RezObjectFromNotecardPacket.InventoryDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RezObjectFromNotecardPacket.InventoryDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.RezObjectFromNotecardPacket.InventoryDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RezObjectFromNotecardPacket.InventoryDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RezObjectFromNotecardPacket.InventoryDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RezObjectFromNotecardPacket.InventoryDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RezObjectFromNotecardPacket.InventoryDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RezObjectFromNotecardPacket.InventoryDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RezObjectFromNotecardPacket.NotecardDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RezObjectFromNotecardPacket.NotecardDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RezObjectFromNotecardPacketNotecardDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.RezObjectFromNotecardPacket.NotecardDataBlock.NotecardItemID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RezObjectFromNotecardPacket.NotecardDataBlock.NotecardItemID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub notecard_item_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.RezObjectFromNotecardPacket.NotecardDataBlock.ObjectID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RezObjectFromNotecardPacket.NotecardDataBlock.ObjectID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_id: libremetaverse_types::UUID,
    }
    impl RezObjectFromNotecardPacketNotecardDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.RezObjectFromNotecardPacket.NotecardDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RezObjectFromNotecardPacket.NotecardDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RezObjectFromNotecardPacket.NotecardDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RezObjectFromNotecardPacket.NotecardDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RezObjectFromNotecardPacket.NotecardDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RezObjectFromNotecardPacket.NotecardDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RezObjectFromNotecardPacket.NotecardDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RezObjectFromNotecardPacket.NotecardDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.RezObjectFromNotecardPacket.NotecardDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RezObjectFromNotecardPacket.NotecardDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RezObjectFromNotecardPacket.NotecardDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RezObjectFromNotecardPacket.NotecardDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RezObjectFromNotecardPacket.NotecardDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RezObjectFromNotecardPacket.NotecardDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RezObjectFromNotecardPacket.RezDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RezObjectFromNotecardPacket.RezDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RezObjectFromNotecardPacketRezDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.RezObjectFromNotecardPacket.RezDataBlock.BypassRaycast`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.RezObjectFromNotecardPacket.RezDataBlock.BypassRaycast`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub bypass_raycast: u8,
        /// C# member: `F:LibreMetaverse.Packets.RezObjectFromNotecardPacket.RezDataBlock.EveryoneMask`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.RezObjectFromNotecardPacket.RezDataBlock.EveryoneMask`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub everyone_mask: u32,
        /// C# member: `F:LibreMetaverse.Packets.RezObjectFromNotecardPacket.RezDataBlock.FromTaskID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RezObjectFromNotecardPacket.RezDataBlock.FromTaskID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub from_task_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.RezObjectFromNotecardPacket.RezDataBlock.GroupMask`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.RezObjectFromNotecardPacket.RezDataBlock.GroupMask`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_mask: u32,
        /// C# member: `F:LibreMetaverse.Packets.RezObjectFromNotecardPacket.RezDataBlock.ItemFlags`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.RezObjectFromNotecardPacket.RezDataBlock.ItemFlags`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub item_flags: u32,
        /// C# member: `F:LibreMetaverse.Packets.RezObjectFromNotecardPacket.RezDataBlock.NextOwnerMask`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.RezObjectFromNotecardPacket.RezDataBlock.NextOwnerMask`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub next_owner_mask: u32,
        /// C# member: `F:LibreMetaverse.Packets.RezObjectFromNotecardPacket.RezDataBlock.RayEnd`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Packets.RezObjectFromNotecardPacket.RezDataBlock.RayEnd`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub ray_end: libremetaverse_types::Vector3,
        /// C# member: `F:LibreMetaverse.Packets.RezObjectFromNotecardPacket.RezDataBlock.RayEndIsIntersection`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.RezObjectFromNotecardPacket.RezDataBlock.RayEndIsIntersection`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub ray_end_is_intersection: bool,
        /// C# member: `F:LibreMetaverse.Packets.RezObjectFromNotecardPacket.RezDataBlock.RayStart`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Packets.RezObjectFromNotecardPacket.RezDataBlock.RayStart`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub ray_start: libremetaverse_types::Vector3,
        /// C# member: `F:LibreMetaverse.Packets.RezObjectFromNotecardPacket.RezDataBlock.RayTargetID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RezObjectFromNotecardPacket.RezDataBlock.RayTargetID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub ray_target_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.RezObjectFromNotecardPacket.RezDataBlock.RemoveItem`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.RezObjectFromNotecardPacket.RezDataBlock.RemoveItem`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub remove_item: bool,
        /// C# member: `F:LibreMetaverse.Packets.RezObjectFromNotecardPacket.RezDataBlock.RezSelected`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.RezObjectFromNotecardPacket.RezDataBlock.RezSelected`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub rez_selected: bool,
    }
    impl RezObjectFromNotecardPacketRezDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.RezObjectFromNotecardPacket.RezDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RezObjectFromNotecardPacket.RezDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RezObjectFromNotecardPacket.RezDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RezObjectFromNotecardPacket.RezDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RezObjectFromNotecardPacket.RezDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RezObjectFromNotecardPacket.RezDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RezObjectFromNotecardPacket.RezDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RezObjectFromNotecardPacket.RezDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.RezObjectFromNotecardPacket.RezDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RezObjectFromNotecardPacket.RezDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RezObjectFromNotecardPacket.RezDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RezObjectFromNotecardPacket.RezDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RezObjectFromNotecardPacket.RezDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RezObjectFromNotecardPacket.RezDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RezObjectPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RezObjectPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RezObjectPacket {
        /// C# member: `F:LibreMetaverse.Packets.RezObjectPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RezObjectPacket.AgentDataBlock LibreMetaverse.Packets.RezObjectPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::RezObjectPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.RezObjectPacket.InventoryData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RezObjectPacket.InventoryDataBlock LibreMetaverse.Packets.RezObjectPacket.InventoryData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub inventory_data: libremetaverse::packets::RezObjectPacketInventoryDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.RezObjectPacket.RezData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RezObjectPacket.RezDataBlock LibreMetaverse.Packets.RezObjectPacket.RezData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub rez_data: libremetaverse::packets::RezObjectPacketRezDataBlock,
    }
    impl RezObjectPacket {
        /// C# member: `M:LibreMetaverse.Packets.RezObjectPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RezObjectPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RezObjectPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RezObjectPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RezObjectPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RezObjectPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RezObjectPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RezObjectPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.RezObjectPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RezObjectPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.RezObjectPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RezObjectPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.RezObjectPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RezObjectPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RezObjectPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RezObjectPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RezObjectPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RezObjectPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.RezObjectPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.RezObjectPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RezObjectPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.RezObjectPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.RezObjectPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RezObjectPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RezObjectPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.RezObjectPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RezObjectPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RezObjectPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RezObjectPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.RezObjectPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RezObjectPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.RezObjectPacket.AgentDataBlock.GroupID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RezObjectPacket.AgentDataBlock.GroupID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.RezObjectPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RezObjectPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl RezObjectPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.RezObjectPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RezObjectPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RezObjectPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RezObjectPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RezObjectPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RezObjectPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RezObjectPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RezObjectPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.RezObjectPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RezObjectPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RezObjectPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RezObjectPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RezObjectPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RezObjectPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RezObjectPacket.InventoryDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RezObjectPacket.InventoryDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RezObjectPacketInventoryDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.RezObjectPacket.InventoryDataBlock.BaseMask`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.RezObjectPacket.InventoryDataBlock.BaseMask`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub base_mask: u32,
        /// C# member: `F:LibreMetaverse.Packets.RezObjectPacket.InventoryDataBlock.CRC`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.RezObjectPacket.InventoryDataBlock.CRC`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub crc: u32,
        /// C# member: `F:LibreMetaverse.Packets.RezObjectPacket.InventoryDataBlock.CreationDate`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RezObjectPacket.InventoryDataBlock.CreationDate`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub creation_date: i32,
        /// C# member: `F:LibreMetaverse.Packets.RezObjectPacket.InventoryDataBlock.CreatorID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RezObjectPacket.InventoryDataBlock.CreatorID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub creator_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.RezObjectPacket.InventoryDataBlock.Description`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RezObjectPacket.InventoryDataBlock.Description`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub description: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.RezObjectPacket.InventoryDataBlock.EveryoneMask`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.RezObjectPacket.InventoryDataBlock.EveryoneMask`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub everyone_mask: u32,
        /// C# member: `F:LibreMetaverse.Packets.RezObjectPacket.InventoryDataBlock.Flags`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.RezObjectPacket.InventoryDataBlock.Flags`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub flags: u32,
        /// C# member: `F:LibreMetaverse.Packets.RezObjectPacket.InventoryDataBlock.FolderID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RezObjectPacket.InventoryDataBlock.FolderID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub folder_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.RezObjectPacket.InventoryDataBlock.GroupID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RezObjectPacket.InventoryDataBlock.GroupID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.RezObjectPacket.InventoryDataBlock.GroupMask`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.RezObjectPacket.InventoryDataBlock.GroupMask`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_mask: u32,
        /// C# member: `F:LibreMetaverse.Packets.RezObjectPacket.InventoryDataBlock.GroupOwned`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.RezObjectPacket.InventoryDataBlock.GroupOwned`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_owned: bool,
        /// C# member: `F:LibreMetaverse.Packets.RezObjectPacket.InventoryDataBlock.InvType`.
        ///
        /// C# signature: `System.SByte LibreMetaverse.Packets.RezObjectPacket.InventoryDataBlock.InvType`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub inv_type: i8,
        /// C# member: `F:LibreMetaverse.Packets.RezObjectPacket.InventoryDataBlock.ItemID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RezObjectPacket.InventoryDataBlock.ItemID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub item_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.RezObjectPacket.InventoryDataBlock.Name`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RezObjectPacket.InventoryDataBlock.Name`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub name: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.RezObjectPacket.InventoryDataBlock.NextOwnerMask`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.RezObjectPacket.InventoryDataBlock.NextOwnerMask`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub next_owner_mask: u32,
        /// C# member: `F:LibreMetaverse.Packets.RezObjectPacket.InventoryDataBlock.OwnerID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RezObjectPacket.InventoryDataBlock.OwnerID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub owner_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.RezObjectPacket.InventoryDataBlock.OwnerMask`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.RezObjectPacket.InventoryDataBlock.OwnerMask`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub owner_mask: u32,
        /// C# member: `F:LibreMetaverse.Packets.RezObjectPacket.InventoryDataBlock.SalePrice`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RezObjectPacket.InventoryDataBlock.SalePrice`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub sale_price: i32,
        /// C# member: `F:LibreMetaverse.Packets.RezObjectPacket.InventoryDataBlock.SaleType`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.RezObjectPacket.InventoryDataBlock.SaleType`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub sale_type: u8,
        /// C# member: `F:LibreMetaverse.Packets.RezObjectPacket.InventoryDataBlock.TransactionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RezObjectPacket.InventoryDataBlock.TransactionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub transaction_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.RezObjectPacket.InventoryDataBlock.Type`.
        ///
        /// C# signature: `System.SByte LibreMetaverse.Packets.RezObjectPacket.InventoryDataBlock.Type`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub type_: i8,
    }
    impl RezObjectPacketInventoryDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.RezObjectPacket.InventoryDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RezObjectPacket.InventoryDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RezObjectPacket.InventoryDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RezObjectPacket.InventoryDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RezObjectPacket.InventoryDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RezObjectPacket.InventoryDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RezObjectPacket.InventoryDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RezObjectPacket.InventoryDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.RezObjectPacket.InventoryDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RezObjectPacket.InventoryDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RezObjectPacket.InventoryDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RezObjectPacket.InventoryDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RezObjectPacket.InventoryDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RezObjectPacket.InventoryDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RezObjectPacket.RezDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RezObjectPacket.RezDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RezObjectPacketRezDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.RezObjectPacket.RezDataBlock.BypassRaycast`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.RezObjectPacket.RezDataBlock.BypassRaycast`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub bypass_raycast: u8,
        /// C# member: `F:LibreMetaverse.Packets.RezObjectPacket.RezDataBlock.EveryoneMask`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.RezObjectPacket.RezDataBlock.EveryoneMask`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub everyone_mask: u32,
        /// C# member: `F:LibreMetaverse.Packets.RezObjectPacket.RezDataBlock.FromTaskID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RezObjectPacket.RezDataBlock.FromTaskID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub from_task_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.RezObjectPacket.RezDataBlock.GroupMask`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.RezObjectPacket.RezDataBlock.GroupMask`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_mask: u32,
        /// C# member: `F:LibreMetaverse.Packets.RezObjectPacket.RezDataBlock.ItemFlags`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.RezObjectPacket.RezDataBlock.ItemFlags`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub item_flags: u32,
        /// C# member: `F:LibreMetaverse.Packets.RezObjectPacket.RezDataBlock.NextOwnerMask`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.RezObjectPacket.RezDataBlock.NextOwnerMask`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub next_owner_mask: u32,
        /// C# member: `F:LibreMetaverse.Packets.RezObjectPacket.RezDataBlock.RayEnd`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Packets.RezObjectPacket.RezDataBlock.RayEnd`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub ray_end: libremetaverse_types::Vector3,
        /// C# member: `F:LibreMetaverse.Packets.RezObjectPacket.RezDataBlock.RayEndIsIntersection`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.RezObjectPacket.RezDataBlock.RayEndIsIntersection`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub ray_end_is_intersection: bool,
        /// C# member: `F:LibreMetaverse.Packets.RezObjectPacket.RezDataBlock.RayStart`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Packets.RezObjectPacket.RezDataBlock.RayStart`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub ray_start: libremetaverse_types::Vector3,
        /// C# member: `F:LibreMetaverse.Packets.RezObjectPacket.RezDataBlock.RayTargetID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RezObjectPacket.RezDataBlock.RayTargetID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub ray_target_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.RezObjectPacket.RezDataBlock.RemoveItem`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.RezObjectPacket.RezDataBlock.RemoveItem`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub remove_item: bool,
        /// C# member: `F:LibreMetaverse.Packets.RezObjectPacket.RezDataBlock.RezSelected`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.RezObjectPacket.RezDataBlock.RezSelected`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub rez_selected: bool,
    }
    impl RezObjectPacketRezDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.RezObjectPacket.RezDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RezObjectPacket.RezDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RezObjectPacket.RezDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RezObjectPacket.RezDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RezObjectPacket.RezDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RezObjectPacket.RezDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RezObjectPacket.RezDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RezObjectPacket.RezDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.RezObjectPacket.RezDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RezObjectPacket.RezDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RezObjectPacket.RezDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RezObjectPacket.RezDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RezObjectPacket.RezDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RezObjectPacket.RezDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RezRestoreToWorldPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RezRestoreToWorldPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RezRestoreToWorldPacket {
        /// C# member: `F:LibreMetaverse.Packets.RezRestoreToWorldPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RezRestoreToWorldPacket.AgentDataBlock LibreMetaverse.Packets.RezRestoreToWorldPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::RezRestoreToWorldPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.RezRestoreToWorldPacket.InventoryData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RezRestoreToWorldPacket.InventoryDataBlock LibreMetaverse.Packets.RezRestoreToWorldPacket.InventoryData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub inventory_data: libremetaverse::packets::RezRestoreToWorldPacketInventoryDataBlock,
    }
    impl RezRestoreToWorldPacket {
        /// C# member: `M:LibreMetaverse.Packets.RezRestoreToWorldPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RezRestoreToWorldPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RezRestoreToWorldPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RezRestoreToWorldPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RezRestoreToWorldPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RezRestoreToWorldPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RezRestoreToWorldPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RezRestoreToWorldPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.RezRestoreToWorldPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RezRestoreToWorldPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.RezRestoreToWorldPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RezRestoreToWorldPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.RezRestoreToWorldPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RezRestoreToWorldPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RezRestoreToWorldPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RezRestoreToWorldPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RezRestoreToWorldPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RezRestoreToWorldPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.RezRestoreToWorldPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.RezRestoreToWorldPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RezRestoreToWorldPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.RezRestoreToWorldPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.RezRestoreToWorldPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RezRestoreToWorldPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RezRestoreToWorldPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.RezRestoreToWorldPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RezRestoreToWorldPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RezRestoreToWorldPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RezRestoreToWorldPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.RezRestoreToWorldPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RezRestoreToWorldPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.RezRestoreToWorldPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RezRestoreToWorldPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl RezRestoreToWorldPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.RezRestoreToWorldPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RezRestoreToWorldPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RezRestoreToWorldPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RezRestoreToWorldPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RezRestoreToWorldPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RezRestoreToWorldPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RezRestoreToWorldPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RezRestoreToWorldPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.RezRestoreToWorldPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RezRestoreToWorldPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RezRestoreToWorldPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RezRestoreToWorldPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RezRestoreToWorldPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RezRestoreToWorldPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RezRestoreToWorldPacket.InventoryDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RezRestoreToWorldPacket.InventoryDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RezRestoreToWorldPacketInventoryDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.RezRestoreToWorldPacket.InventoryDataBlock.BaseMask`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.RezRestoreToWorldPacket.InventoryDataBlock.BaseMask`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub base_mask: u32,
        /// C# member: `F:LibreMetaverse.Packets.RezRestoreToWorldPacket.InventoryDataBlock.CRC`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.RezRestoreToWorldPacket.InventoryDataBlock.CRC`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub crc: u32,
        /// C# member: `F:LibreMetaverse.Packets.RezRestoreToWorldPacket.InventoryDataBlock.CreationDate`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RezRestoreToWorldPacket.InventoryDataBlock.CreationDate`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub creation_date: i32,
        /// C# member: `F:LibreMetaverse.Packets.RezRestoreToWorldPacket.InventoryDataBlock.CreatorID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RezRestoreToWorldPacket.InventoryDataBlock.CreatorID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub creator_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.RezRestoreToWorldPacket.InventoryDataBlock.Description`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RezRestoreToWorldPacket.InventoryDataBlock.Description`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub description: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.RezRestoreToWorldPacket.InventoryDataBlock.EveryoneMask`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.RezRestoreToWorldPacket.InventoryDataBlock.EveryoneMask`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub everyone_mask: u32,
        /// C# member: `F:LibreMetaverse.Packets.RezRestoreToWorldPacket.InventoryDataBlock.Flags`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.RezRestoreToWorldPacket.InventoryDataBlock.Flags`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub flags: u32,
        /// C# member: `F:LibreMetaverse.Packets.RezRestoreToWorldPacket.InventoryDataBlock.FolderID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RezRestoreToWorldPacket.InventoryDataBlock.FolderID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub folder_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.RezRestoreToWorldPacket.InventoryDataBlock.GroupID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RezRestoreToWorldPacket.InventoryDataBlock.GroupID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.RezRestoreToWorldPacket.InventoryDataBlock.GroupMask`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.RezRestoreToWorldPacket.InventoryDataBlock.GroupMask`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_mask: u32,
        /// C# member: `F:LibreMetaverse.Packets.RezRestoreToWorldPacket.InventoryDataBlock.GroupOwned`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.RezRestoreToWorldPacket.InventoryDataBlock.GroupOwned`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_owned: bool,
        /// C# member: `F:LibreMetaverse.Packets.RezRestoreToWorldPacket.InventoryDataBlock.InvType`.
        ///
        /// C# signature: `System.SByte LibreMetaverse.Packets.RezRestoreToWorldPacket.InventoryDataBlock.InvType`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub inv_type: i8,
        /// C# member: `F:LibreMetaverse.Packets.RezRestoreToWorldPacket.InventoryDataBlock.ItemID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RezRestoreToWorldPacket.InventoryDataBlock.ItemID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub item_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.RezRestoreToWorldPacket.InventoryDataBlock.Name`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RezRestoreToWorldPacket.InventoryDataBlock.Name`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub name: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.RezRestoreToWorldPacket.InventoryDataBlock.NextOwnerMask`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.RezRestoreToWorldPacket.InventoryDataBlock.NextOwnerMask`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub next_owner_mask: u32,
        /// C# member: `F:LibreMetaverse.Packets.RezRestoreToWorldPacket.InventoryDataBlock.OwnerID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RezRestoreToWorldPacket.InventoryDataBlock.OwnerID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub owner_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.RezRestoreToWorldPacket.InventoryDataBlock.OwnerMask`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.RezRestoreToWorldPacket.InventoryDataBlock.OwnerMask`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub owner_mask: u32,
        /// C# member: `F:LibreMetaverse.Packets.RezRestoreToWorldPacket.InventoryDataBlock.SalePrice`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RezRestoreToWorldPacket.InventoryDataBlock.SalePrice`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub sale_price: i32,
        /// C# member: `F:LibreMetaverse.Packets.RezRestoreToWorldPacket.InventoryDataBlock.SaleType`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.RezRestoreToWorldPacket.InventoryDataBlock.SaleType`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub sale_type: u8,
        /// C# member: `F:LibreMetaverse.Packets.RezRestoreToWorldPacket.InventoryDataBlock.TransactionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RezRestoreToWorldPacket.InventoryDataBlock.TransactionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub transaction_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.RezRestoreToWorldPacket.InventoryDataBlock.Type`.
        ///
        /// C# signature: `System.SByte LibreMetaverse.Packets.RezRestoreToWorldPacket.InventoryDataBlock.Type`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub type_: i8,
    }
    impl RezRestoreToWorldPacketInventoryDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.RezRestoreToWorldPacket.InventoryDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RezRestoreToWorldPacket.InventoryDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RezRestoreToWorldPacket.InventoryDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RezRestoreToWorldPacket.InventoryDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RezRestoreToWorldPacket.InventoryDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RezRestoreToWorldPacket.InventoryDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RezRestoreToWorldPacket.InventoryDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RezRestoreToWorldPacket.InventoryDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.RezRestoreToWorldPacket.InventoryDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RezRestoreToWorldPacket.InventoryDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RezRestoreToWorldPacket.InventoryDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RezRestoreToWorldPacket.InventoryDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RezRestoreToWorldPacket.InventoryDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RezRestoreToWorldPacket.InventoryDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RezScriptPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RezScriptPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RezScriptPacket {
        /// C# member: `F:LibreMetaverse.Packets.RezScriptPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RezScriptPacket.AgentDataBlock LibreMetaverse.Packets.RezScriptPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::RezScriptPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.RezScriptPacket.InventoryBlock`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RezScriptPacket.InventoryBlockBlock LibreMetaverse.Packets.RezScriptPacket.InventoryBlock`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub inventory_block: libremetaverse::packets::RezScriptPacketInventoryBlockBlock,
        /// C# member: `F:LibreMetaverse.Packets.RezScriptPacket.UpdateBlock`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RezScriptPacket.UpdateBlockBlock LibreMetaverse.Packets.RezScriptPacket.UpdateBlock`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub update_block: libremetaverse::packets::RezScriptPacketUpdateBlockBlock,
    }
    impl RezScriptPacket {
        /// C# member: `M:LibreMetaverse.Packets.RezScriptPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RezScriptPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RezScriptPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RezScriptPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RezScriptPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RezScriptPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RezScriptPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RezScriptPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.RezScriptPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RezScriptPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.RezScriptPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RezScriptPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.RezScriptPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RezScriptPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RezScriptPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RezScriptPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RezScriptPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RezScriptPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.RezScriptPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.RezScriptPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RezScriptPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.RezScriptPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.RezScriptPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RezScriptPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RezScriptPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.RezScriptPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RezScriptPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RezScriptPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RezScriptPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.RezScriptPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RezScriptPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.RezScriptPacket.AgentDataBlock.GroupID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RezScriptPacket.AgentDataBlock.GroupID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.RezScriptPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RezScriptPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl RezScriptPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.RezScriptPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RezScriptPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RezScriptPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RezScriptPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RezScriptPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RezScriptPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RezScriptPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RezScriptPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.RezScriptPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RezScriptPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RezScriptPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RezScriptPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RezScriptPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RezScriptPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RezScriptPacket.InventoryBlockBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RezScriptPacket.InventoryBlockBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RezScriptPacketInventoryBlockBlock {
        /// C# member: `F:LibreMetaverse.Packets.RezScriptPacket.InventoryBlockBlock.BaseMask`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.RezScriptPacket.InventoryBlockBlock.BaseMask`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub base_mask: u32,
        /// C# member: `F:LibreMetaverse.Packets.RezScriptPacket.InventoryBlockBlock.CRC`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.RezScriptPacket.InventoryBlockBlock.CRC`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub crc: u32,
        /// C# member: `F:LibreMetaverse.Packets.RezScriptPacket.InventoryBlockBlock.CreationDate`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RezScriptPacket.InventoryBlockBlock.CreationDate`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub creation_date: i32,
        /// C# member: `F:LibreMetaverse.Packets.RezScriptPacket.InventoryBlockBlock.CreatorID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RezScriptPacket.InventoryBlockBlock.CreatorID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub creator_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.RezScriptPacket.InventoryBlockBlock.Description`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RezScriptPacket.InventoryBlockBlock.Description`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub description: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.RezScriptPacket.InventoryBlockBlock.EveryoneMask`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.RezScriptPacket.InventoryBlockBlock.EveryoneMask`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub everyone_mask: u32,
        /// C# member: `F:LibreMetaverse.Packets.RezScriptPacket.InventoryBlockBlock.Flags`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.RezScriptPacket.InventoryBlockBlock.Flags`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub flags: u32,
        /// C# member: `F:LibreMetaverse.Packets.RezScriptPacket.InventoryBlockBlock.FolderID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RezScriptPacket.InventoryBlockBlock.FolderID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub folder_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.RezScriptPacket.InventoryBlockBlock.GroupID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RezScriptPacket.InventoryBlockBlock.GroupID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.RezScriptPacket.InventoryBlockBlock.GroupMask`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.RezScriptPacket.InventoryBlockBlock.GroupMask`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_mask: u32,
        /// C# member: `F:LibreMetaverse.Packets.RezScriptPacket.InventoryBlockBlock.GroupOwned`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.RezScriptPacket.InventoryBlockBlock.GroupOwned`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_owned: bool,
        /// C# member: `F:LibreMetaverse.Packets.RezScriptPacket.InventoryBlockBlock.InvType`.
        ///
        /// C# signature: `System.SByte LibreMetaverse.Packets.RezScriptPacket.InventoryBlockBlock.InvType`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub inv_type: i8,
        /// C# member: `F:LibreMetaverse.Packets.RezScriptPacket.InventoryBlockBlock.ItemID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RezScriptPacket.InventoryBlockBlock.ItemID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub item_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.RezScriptPacket.InventoryBlockBlock.Name`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RezScriptPacket.InventoryBlockBlock.Name`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub name: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.RezScriptPacket.InventoryBlockBlock.NextOwnerMask`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.RezScriptPacket.InventoryBlockBlock.NextOwnerMask`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub next_owner_mask: u32,
        /// C# member: `F:LibreMetaverse.Packets.RezScriptPacket.InventoryBlockBlock.OwnerID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RezScriptPacket.InventoryBlockBlock.OwnerID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub owner_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.RezScriptPacket.InventoryBlockBlock.OwnerMask`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.RezScriptPacket.InventoryBlockBlock.OwnerMask`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub owner_mask: u32,
        /// C# member: `F:LibreMetaverse.Packets.RezScriptPacket.InventoryBlockBlock.SalePrice`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RezScriptPacket.InventoryBlockBlock.SalePrice`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub sale_price: i32,
        /// C# member: `F:LibreMetaverse.Packets.RezScriptPacket.InventoryBlockBlock.SaleType`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.RezScriptPacket.InventoryBlockBlock.SaleType`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub sale_type: u8,
        /// C# member: `F:LibreMetaverse.Packets.RezScriptPacket.InventoryBlockBlock.TransactionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RezScriptPacket.InventoryBlockBlock.TransactionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub transaction_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.RezScriptPacket.InventoryBlockBlock.Type`.
        ///
        /// C# signature: `System.SByte LibreMetaverse.Packets.RezScriptPacket.InventoryBlockBlock.Type`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub type_: i8,
    }
    impl RezScriptPacketInventoryBlockBlock {
        /// C# member: `M:LibreMetaverse.Packets.RezScriptPacket.InventoryBlockBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RezScriptPacket.InventoryBlockBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RezScriptPacket.InventoryBlockBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RezScriptPacket.InventoryBlockBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RezScriptPacket.InventoryBlockBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RezScriptPacket.InventoryBlockBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RezScriptPacket.InventoryBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RezScriptPacket.InventoryBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.RezScriptPacket.InventoryBlockBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RezScriptPacket.InventoryBlockBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RezScriptPacket.InventoryBlockBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RezScriptPacket.InventoryBlockBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RezScriptPacket.InventoryBlockBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RezScriptPacket.InventoryBlockBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RezScriptPacket.UpdateBlockBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RezScriptPacket.UpdateBlockBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RezScriptPacketUpdateBlockBlock {
        /// C# member: `F:LibreMetaverse.Packets.RezScriptPacket.UpdateBlockBlock.Enabled`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.RezScriptPacket.UpdateBlockBlock.Enabled`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub enabled: bool,
        /// C# member: `F:LibreMetaverse.Packets.RezScriptPacket.UpdateBlockBlock.ObjectLocalID`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.RezScriptPacket.UpdateBlockBlock.ObjectLocalID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_local_id: u32,
    }
    impl RezScriptPacketUpdateBlockBlock {
        /// C# member: `M:LibreMetaverse.Packets.RezScriptPacket.UpdateBlockBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RezScriptPacket.UpdateBlockBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RezScriptPacket.UpdateBlockBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RezScriptPacket.UpdateBlockBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RezScriptPacket.UpdateBlockBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RezScriptPacket.UpdateBlockBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RezScriptPacket.UpdateBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RezScriptPacket.UpdateBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.RezScriptPacket.UpdateBlockBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RezScriptPacket.UpdateBlockBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RezScriptPacket.UpdateBlockBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RezScriptPacket.UpdateBlockBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RezScriptPacket.UpdateBlockBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RezScriptPacket.UpdateBlockBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RezSingleAttachmentFromInvPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RezSingleAttachmentFromInvPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RezSingleAttachmentFromInvPacket {
        /// C# member: `F:LibreMetaverse.Packets.RezSingleAttachmentFromInvPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RezSingleAttachmentFromInvPacket.AgentDataBlock LibreMetaverse.Packets.RezSingleAttachmentFromInvPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::RezSingleAttachmentFromInvPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.RezSingleAttachmentFromInvPacket.ObjectData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RezSingleAttachmentFromInvPacket.ObjectDataBlock LibreMetaverse.Packets.RezSingleAttachmentFromInvPacket.ObjectData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_data: libremetaverse::packets::RezSingleAttachmentFromInvPacketObjectDataBlock,
    }
    impl RezSingleAttachmentFromInvPacket {
        /// C# member: `M:LibreMetaverse.Packets.RezSingleAttachmentFromInvPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RezSingleAttachmentFromInvPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RezSingleAttachmentFromInvPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RezSingleAttachmentFromInvPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RezSingleAttachmentFromInvPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RezSingleAttachmentFromInvPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RezSingleAttachmentFromInvPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RezSingleAttachmentFromInvPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.RezSingleAttachmentFromInvPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RezSingleAttachmentFromInvPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.RezSingleAttachmentFromInvPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RezSingleAttachmentFromInvPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.RezSingleAttachmentFromInvPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RezSingleAttachmentFromInvPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RezSingleAttachmentFromInvPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RezSingleAttachmentFromInvPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RezSingleAttachmentFromInvPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RezSingleAttachmentFromInvPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.RezSingleAttachmentFromInvPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.RezSingleAttachmentFromInvPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RezSingleAttachmentFromInvPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.RezSingleAttachmentFromInvPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.RezSingleAttachmentFromInvPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RezSingleAttachmentFromInvPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RezSingleAttachmentFromInvPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.RezSingleAttachmentFromInvPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RezSingleAttachmentFromInvPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RezSingleAttachmentFromInvPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RezSingleAttachmentFromInvPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.RezSingleAttachmentFromInvPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RezSingleAttachmentFromInvPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.RezSingleAttachmentFromInvPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RezSingleAttachmentFromInvPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl RezSingleAttachmentFromInvPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.RezSingleAttachmentFromInvPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RezSingleAttachmentFromInvPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RezSingleAttachmentFromInvPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RezSingleAttachmentFromInvPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RezSingleAttachmentFromInvPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RezSingleAttachmentFromInvPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RezSingleAttachmentFromInvPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RezSingleAttachmentFromInvPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.RezSingleAttachmentFromInvPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RezSingleAttachmentFromInvPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RezSingleAttachmentFromInvPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RezSingleAttachmentFromInvPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RezSingleAttachmentFromInvPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RezSingleAttachmentFromInvPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RezSingleAttachmentFromInvPacket.ObjectDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RezSingleAttachmentFromInvPacket.ObjectDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RezSingleAttachmentFromInvPacketObjectDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.RezSingleAttachmentFromInvPacket.ObjectDataBlock.AttachmentPt`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.RezSingleAttachmentFromInvPacket.ObjectDataBlock.AttachmentPt`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub attachment_pt: u8,
        /// C# member: `F:LibreMetaverse.Packets.RezSingleAttachmentFromInvPacket.ObjectDataBlock.Description`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RezSingleAttachmentFromInvPacket.ObjectDataBlock.Description`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub description: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.RezSingleAttachmentFromInvPacket.ObjectDataBlock.EveryoneMask`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.RezSingleAttachmentFromInvPacket.ObjectDataBlock.EveryoneMask`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub everyone_mask: u32,
        /// C# member: `F:LibreMetaverse.Packets.RezSingleAttachmentFromInvPacket.ObjectDataBlock.GroupMask`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.RezSingleAttachmentFromInvPacket.ObjectDataBlock.GroupMask`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_mask: u32,
        /// C# member: `F:LibreMetaverse.Packets.RezSingleAttachmentFromInvPacket.ObjectDataBlock.ItemFlags`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.RezSingleAttachmentFromInvPacket.ObjectDataBlock.ItemFlags`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub item_flags: u32,
        /// C# member: `F:LibreMetaverse.Packets.RezSingleAttachmentFromInvPacket.ObjectDataBlock.ItemID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RezSingleAttachmentFromInvPacket.ObjectDataBlock.ItemID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub item_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.RezSingleAttachmentFromInvPacket.ObjectDataBlock.Name`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RezSingleAttachmentFromInvPacket.ObjectDataBlock.Name`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub name: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.RezSingleAttachmentFromInvPacket.ObjectDataBlock.NextOwnerMask`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.RezSingleAttachmentFromInvPacket.ObjectDataBlock.NextOwnerMask`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub next_owner_mask: u32,
        /// C# member: `F:LibreMetaverse.Packets.RezSingleAttachmentFromInvPacket.ObjectDataBlock.OwnerID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RezSingleAttachmentFromInvPacket.ObjectDataBlock.OwnerID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub owner_id: libremetaverse_types::UUID,
    }
    impl RezSingleAttachmentFromInvPacketObjectDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.RezSingleAttachmentFromInvPacket.ObjectDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RezSingleAttachmentFromInvPacket.ObjectDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RezSingleAttachmentFromInvPacket.ObjectDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RezSingleAttachmentFromInvPacket.ObjectDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RezSingleAttachmentFromInvPacket.ObjectDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RezSingleAttachmentFromInvPacket.ObjectDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RezSingleAttachmentFromInvPacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RezSingleAttachmentFromInvPacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.RezSingleAttachmentFromInvPacket.ObjectDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RezSingleAttachmentFromInvPacket.ObjectDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RezSingleAttachmentFromInvPacket.ObjectDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RezSingleAttachmentFromInvPacket.ObjectDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RezSingleAttachmentFromInvPacket.ObjectDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RezSingleAttachmentFromInvPacket.ObjectDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RoutedMoneyBalanceReplyPacket {
        /// C# member: `F:LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.MoneyData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.MoneyDataBlock LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.MoneyData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub money_data: libremetaverse::packets::RoutedMoneyBalanceReplyPacketMoneyDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.TargetBlock`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.TargetBlockBlock LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.TargetBlock`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub target_block: libremetaverse::packets::RoutedMoneyBalanceReplyPacketTargetBlockBlock,
        /// C# member: `F:LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.TransactionInfo`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.TransactionInfoBlock LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.TransactionInfo`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub transaction_info:
            libremetaverse::packets::RoutedMoneyBalanceReplyPacketTransactionInfoBlock,
    }
    impl RoutedMoneyBalanceReplyPacket {
        /// C# member: `M:LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.MoneyDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.MoneyDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RoutedMoneyBalanceReplyPacketMoneyDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.MoneyDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.MoneyDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.MoneyDataBlock.Description`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.MoneyDataBlock.Description`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub description: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.MoneyDataBlock.MoneyBalance`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.MoneyDataBlock.MoneyBalance`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub money_balance: i32,
        /// C# member: `F:LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.MoneyDataBlock.SquareMetersCommitted`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.MoneyDataBlock.SquareMetersCommitted`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub square_meters_committed: i32,
        /// C# member: `F:LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.MoneyDataBlock.SquareMetersCredit`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.MoneyDataBlock.SquareMetersCredit`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub square_meters_credit: i32,
        /// C# member: `F:LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.MoneyDataBlock.TransactionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.MoneyDataBlock.TransactionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub transaction_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.MoneyDataBlock.TransactionSuccess`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.MoneyDataBlock.TransactionSuccess`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub transaction_success: bool,
    }
    impl RoutedMoneyBalanceReplyPacketMoneyDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.MoneyDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.MoneyDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.MoneyDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.MoneyDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.MoneyDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.MoneyDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.MoneyDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.MoneyDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.MoneyDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.MoneyDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.MoneyDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.MoneyDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.MoneyDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.MoneyDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.TargetBlockBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.TargetBlockBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RoutedMoneyBalanceReplyPacketTargetBlockBlock {
        /// C# member: `F:LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.TargetBlockBlock.TargetIP`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.TargetBlockBlock.TargetIP`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub target_ip: u32,
        /// C# member: `F:LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.TargetBlockBlock.TargetPort`.
        ///
        /// C# signature: `System.UInt16 LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.TargetBlockBlock.TargetPort`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub target_port: u16,
    }
    impl RoutedMoneyBalanceReplyPacketTargetBlockBlock {
        /// C# member: `M:LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.TargetBlockBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.TargetBlockBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.TargetBlockBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.TargetBlockBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.TargetBlockBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.TargetBlockBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.TargetBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.TargetBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.TargetBlockBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.TargetBlockBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.TargetBlockBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.TargetBlockBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.TargetBlockBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.TargetBlockBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.TransactionInfoBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.TransactionInfoBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RoutedMoneyBalanceReplyPacketTransactionInfoBlock {
        /// C# member: `F:LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.TransactionInfoBlock.Amount`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.TransactionInfoBlock.Amount`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub amount: i32,
        /// C# member: `F:LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.TransactionInfoBlock.DestID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.TransactionInfoBlock.DestID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub dest_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.TransactionInfoBlock.IsDestGroup`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.TransactionInfoBlock.IsDestGroup`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub is_dest_group: bool,
        /// C# member: `F:LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.TransactionInfoBlock.IsSourceGroup`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.TransactionInfoBlock.IsSourceGroup`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub is_source_group: bool,
        /// C# member: `F:LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.TransactionInfoBlock.ItemDescription`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.TransactionInfoBlock.ItemDescription`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub item_description: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.TransactionInfoBlock.SourceID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.TransactionInfoBlock.SourceID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub source_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.TransactionInfoBlock.TransactionType`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.TransactionInfoBlock.TransactionType`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub transaction_type: i32,
    }
    impl RoutedMoneyBalanceReplyPacketTransactionInfoBlock {
        /// C# member: `M:LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.TransactionInfoBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.TransactionInfoBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.TransactionInfoBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.TransactionInfoBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.TransactionInfoBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.TransactionInfoBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.TransactionInfoBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.TransactionInfoBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.TransactionInfoBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.TransactionInfoBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.TransactionInfoBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.TransactionInfoBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.TransactionInfoBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RoutedMoneyBalanceReplyPacket.TransactionInfoBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RpcChannelReplyPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RpcChannelReplyPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RpcChannelReplyPacket {
        /// C# member: `F:LibreMetaverse.Packets.RpcChannelReplyPacket.DataBlock`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RpcChannelReplyPacket.DataBlockBlock LibreMetaverse.Packets.RpcChannelReplyPacket.DataBlock`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub data_block: libremetaverse::packets::RpcChannelReplyPacketDataBlockBlock,
    }
    impl RpcChannelReplyPacket {
        /// C# member: `M:LibreMetaverse.Packets.RpcChannelReplyPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RpcChannelReplyPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RpcChannelReplyPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RpcChannelReplyPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RpcChannelReplyPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RpcChannelReplyPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RpcChannelReplyPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RpcChannelReplyPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.RpcChannelReplyPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RpcChannelReplyPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.RpcChannelReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RpcChannelReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.RpcChannelReplyPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RpcChannelReplyPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RpcChannelReplyPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RpcChannelReplyPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RpcChannelReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RpcChannelReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.RpcChannelReplyPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.RpcChannelReplyPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RpcChannelReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.RpcChannelReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.RpcChannelReplyPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RpcChannelReplyPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RpcChannelReplyPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.RpcChannelReplyPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RpcChannelReplyPacket.DataBlockBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RpcChannelReplyPacket.DataBlockBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RpcChannelReplyPacketDataBlockBlock {
        /// C# member: `F:LibreMetaverse.Packets.RpcChannelReplyPacket.DataBlockBlock.ChannelID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RpcChannelReplyPacket.DataBlockBlock.ChannelID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub channel_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.RpcChannelReplyPacket.DataBlockBlock.ItemID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RpcChannelReplyPacket.DataBlockBlock.ItemID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub item_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.RpcChannelReplyPacket.DataBlockBlock.TaskID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RpcChannelReplyPacket.DataBlockBlock.TaskID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub task_id: libremetaverse_types::UUID,
    }
    impl RpcChannelReplyPacketDataBlockBlock {
        /// C# member: `M:LibreMetaverse.Packets.RpcChannelReplyPacket.DataBlockBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RpcChannelReplyPacket.DataBlockBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RpcChannelReplyPacket.DataBlockBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RpcChannelReplyPacket.DataBlockBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RpcChannelReplyPacket.DataBlockBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RpcChannelReplyPacket.DataBlockBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RpcChannelReplyPacket.DataBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RpcChannelReplyPacket.DataBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.RpcChannelReplyPacket.DataBlockBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RpcChannelReplyPacket.DataBlockBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RpcChannelReplyPacket.DataBlockBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RpcChannelReplyPacket.DataBlockBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RpcChannelReplyPacket.DataBlockBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RpcChannelReplyPacket.DataBlockBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RpcChannelRequestPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RpcChannelRequestPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RpcChannelRequestPacket {
        /// C# member: `F:LibreMetaverse.Packets.RpcChannelRequestPacket.DataBlock`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RpcChannelRequestPacket.DataBlockBlock LibreMetaverse.Packets.RpcChannelRequestPacket.DataBlock`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub data_block: libremetaverse::packets::RpcChannelRequestPacketDataBlockBlock,
    }
    impl RpcChannelRequestPacket {
        /// C# member: `M:LibreMetaverse.Packets.RpcChannelRequestPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RpcChannelRequestPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RpcChannelRequestPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RpcChannelRequestPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RpcChannelRequestPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RpcChannelRequestPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RpcChannelRequestPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RpcChannelRequestPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.RpcChannelRequestPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RpcChannelRequestPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.RpcChannelRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RpcChannelRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.RpcChannelRequestPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RpcChannelRequestPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RpcChannelRequestPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RpcChannelRequestPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RpcChannelRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RpcChannelRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.RpcChannelRequestPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.RpcChannelRequestPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RpcChannelRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.RpcChannelRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.RpcChannelRequestPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RpcChannelRequestPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RpcChannelRequestPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.RpcChannelRequestPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RpcChannelRequestPacket.DataBlockBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RpcChannelRequestPacket.DataBlockBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RpcChannelRequestPacketDataBlockBlock {
        /// C# member: `F:LibreMetaverse.Packets.RpcChannelRequestPacket.DataBlockBlock.GridX`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.RpcChannelRequestPacket.DataBlockBlock.GridX`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub grid_x: u32,
        /// C# member: `F:LibreMetaverse.Packets.RpcChannelRequestPacket.DataBlockBlock.GridY`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.RpcChannelRequestPacket.DataBlockBlock.GridY`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub grid_y: u32,
        /// C# member: `F:LibreMetaverse.Packets.RpcChannelRequestPacket.DataBlockBlock.ItemID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RpcChannelRequestPacket.DataBlockBlock.ItemID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub item_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.RpcChannelRequestPacket.DataBlockBlock.TaskID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RpcChannelRequestPacket.DataBlockBlock.TaskID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub task_id: libremetaverse_types::UUID,
    }
    impl RpcChannelRequestPacketDataBlockBlock {
        /// C# member: `M:LibreMetaverse.Packets.RpcChannelRequestPacket.DataBlockBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RpcChannelRequestPacket.DataBlockBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RpcChannelRequestPacket.DataBlockBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RpcChannelRequestPacket.DataBlockBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RpcChannelRequestPacket.DataBlockBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RpcChannelRequestPacket.DataBlockBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RpcChannelRequestPacket.DataBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RpcChannelRequestPacket.DataBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.RpcChannelRequestPacket.DataBlockBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RpcChannelRequestPacket.DataBlockBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RpcChannelRequestPacket.DataBlockBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RpcChannelRequestPacket.DataBlockBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RpcChannelRequestPacket.DataBlockBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RpcChannelRequestPacket.DataBlockBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RpcScriptReplyInboundPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RpcScriptReplyInboundPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RpcScriptReplyInboundPacket {
        /// C# member: `F:LibreMetaverse.Packets.RpcScriptReplyInboundPacket.DataBlock`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RpcScriptReplyInboundPacket.DataBlockBlock LibreMetaverse.Packets.RpcScriptReplyInboundPacket.DataBlock`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub data_block: libremetaverse::packets::RpcScriptReplyInboundPacketDataBlockBlock,
    }
    impl RpcScriptReplyInboundPacket {
        /// C# member: `M:LibreMetaverse.Packets.RpcScriptReplyInboundPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RpcScriptReplyInboundPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RpcScriptReplyInboundPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RpcScriptReplyInboundPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RpcScriptReplyInboundPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RpcScriptReplyInboundPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RpcScriptReplyInboundPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RpcScriptReplyInboundPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.RpcScriptReplyInboundPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RpcScriptReplyInboundPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.RpcScriptReplyInboundPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RpcScriptReplyInboundPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.RpcScriptReplyInboundPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RpcScriptReplyInboundPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RpcScriptReplyInboundPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RpcScriptReplyInboundPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RpcScriptReplyInboundPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RpcScriptReplyInboundPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.RpcScriptReplyInboundPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.RpcScriptReplyInboundPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RpcScriptReplyInboundPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.RpcScriptReplyInboundPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.RpcScriptReplyInboundPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RpcScriptReplyInboundPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RpcScriptReplyInboundPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.RpcScriptReplyInboundPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RpcScriptReplyInboundPacket.DataBlockBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RpcScriptReplyInboundPacket.DataBlockBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RpcScriptReplyInboundPacketDataBlockBlock {
        /// C# member: `F:LibreMetaverse.Packets.RpcScriptReplyInboundPacket.DataBlockBlock.ChannelID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RpcScriptReplyInboundPacket.DataBlockBlock.ChannelID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub channel_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.RpcScriptReplyInboundPacket.DataBlockBlock.IntValue`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.RpcScriptReplyInboundPacket.DataBlockBlock.IntValue`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub int_value: u32,
        /// C# member: `F:LibreMetaverse.Packets.RpcScriptReplyInboundPacket.DataBlockBlock.ItemID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RpcScriptReplyInboundPacket.DataBlockBlock.ItemID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub item_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.RpcScriptReplyInboundPacket.DataBlockBlock.StringValue`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RpcScriptReplyInboundPacket.DataBlockBlock.StringValue`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub string_value: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.RpcScriptReplyInboundPacket.DataBlockBlock.TaskID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RpcScriptReplyInboundPacket.DataBlockBlock.TaskID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub task_id: libremetaverse_types::UUID,
    }
    impl RpcScriptReplyInboundPacketDataBlockBlock {
        /// C# member: `M:LibreMetaverse.Packets.RpcScriptReplyInboundPacket.DataBlockBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RpcScriptReplyInboundPacket.DataBlockBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RpcScriptReplyInboundPacket.DataBlockBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RpcScriptReplyInboundPacket.DataBlockBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RpcScriptReplyInboundPacket.DataBlockBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RpcScriptReplyInboundPacket.DataBlockBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RpcScriptReplyInboundPacket.DataBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RpcScriptReplyInboundPacket.DataBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.RpcScriptReplyInboundPacket.DataBlockBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RpcScriptReplyInboundPacket.DataBlockBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RpcScriptReplyInboundPacket.DataBlockBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RpcScriptReplyInboundPacket.DataBlockBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RpcScriptReplyInboundPacket.DataBlockBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RpcScriptReplyInboundPacket.DataBlockBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RpcScriptRequestInboundForwardPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RpcScriptRequestInboundForwardPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RpcScriptRequestInboundForwardPacket {
        /// C# member: `F:LibreMetaverse.Packets.RpcScriptRequestInboundForwardPacket.DataBlock`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RpcScriptRequestInboundForwardPacket.DataBlockBlock LibreMetaverse.Packets.RpcScriptRequestInboundForwardPacket.DataBlock`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub data_block: libremetaverse::packets::RpcScriptRequestInboundForwardPacketDataBlockBlock,
    }
    impl RpcScriptRequestInboundForwardPacket {
        /// C# member: `M:LibreMetaverse.Packets.RpcScriptRequestInboundForwardPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RpcScriptRequestInboundForwardPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RpcScriptRequestInboundForwardPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RpcScriptRequestInboundForwardPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RpcScriptRequestInboundForwardPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RpcScriptRequestInboundForwardPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RpcScriptRequestInboundForwardPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RpcScriptRequestInboundForwardPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.RpcScriptRequestInboundForwardPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RpcScriptRequestInboundForwardPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.RpcScriptRequestInboundForwardPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RpcScriptRequestInboundForwardPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.RpcScriptRequestInboundForwardPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RpcScriptRequestInboundForwardPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RpcScriptRequestInboundForwardPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RpcScriptRequestInboundForwardPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RpcScriptRequestInboundForwardPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RpcScriptRequestInboundForwardPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.RpcScriptRequestInboundForwardPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.RpcScriptRequestInboundForwardPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RpcScriptRequestInboundForwardPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.RpcScriptRequestInboundForwardPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.RpcScriptRequestInboundForwardPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RpcScriptRequestInboundForwardPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RpcScriptRequestInboundForwardPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.RpcScriptRequestInboundForwardPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RpcScriptRequestInboundForwardPacket.DataBlockBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RpcScriptRequestInboundForwardPacket.DataBlockBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RpcScriptRequestInboundForwardPacketDataBlockBlock {
        /// C# member: `F:LibreMetaverse.Packets.RpcScriptRequestInboundForwardPacket.DataBlockBlock.ChannelID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RpcScriptRequestInboundForwardPacket.DataBlockBlock.ChannelID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub channel_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.RpcScriptRequestInboundForwardPacket.DataBlockBlock.IntValue`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.RpcScriptRequestInboundForwardPacket.DataBlockBlock.IntValue`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub int_value: u32,
        /// C# member: `F:LibreMetaverse.Packets.RpcScriptRequestInboundForwardPacket.DataBlockBlock.ItemID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RpcScriptRequestInboundForwardPacket.DataBlockBlock.ItemID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub item_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.RpcScriptRequestInboundForwardPacket.DataBlockBlock.RPCServerIP`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.RpcScriptRequestInboundForwardPacket.DataBlockBlock.RPCServerIP`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub rpc_server_ip: u32,
        /// C# member: `F:LibreMetaverse.Packets.RpcScriptRequestInboundForwardPacket.DataBlockBlock.RPCServerPort`.
        ///
        /// C# signature: `System.UInt16 LibreMetaverse.Packets.RpcScriptRequestInboundForwardPacket.DataBlockBlock.RPCServerPort`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub rpc_server_port: u16,
        /// C# member: `F:LibreMetaverse.Packets.RpcScriptRequestInboundForwardPacket.DataBlockBlock.StringValue`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RpcScriptRequestInboundForwardPacket.DataBlockBlock.StringValue`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub string_value: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.RpcScriptRequestInboundForwardPacket.DataBlockBlock.TaskID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RpcScriptRequestInboundForwardPacket.DataBlockBlock.TaskID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub task_id: libremetaverse_types::UUID,
    }
    impl RpcScriptRequestInboundForwardPacketDataBlockBlock {
        /// C# member: `M:LibreMetaverse.Packets.RpcScriptRequestInboundForwardPacket.DataBlockBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RpcScriptRequestInboundForwardPacket.DataBlockBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RpcScriptRequestInboundForwardPacket.DataBlockBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RpcScriptRequestInboundForwardPacket.DataBlockBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RpcScriptRequestInboundForwardPacket.DataBlockBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RpcScriptRequestInboundForwardPacket.DataBlockBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RpcScriptRequestInboundForwardPacket.DataBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RpcScriptRequestInboundForwardPacket.DataBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.RpcScriptRequestInboundForwardPacket.DataBlockBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RpcScriptRequestInboundForwardPacket.DataBlockBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RpcScriptRequestInboundForwardPacket.DataBlockBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RpcScriptRequestInboundForwardPacket.DataBlockBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RpcScriptRequestInboundForwardPacket.DataBlockBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RpcScriptRequestInboundForwardPacket.DataBlockBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RpcScriptRequestInboundPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RpcScriptRequestInboundPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RpcScriptRequestInboundPacket {
        /// C# member: `F:LibreMetaverse.Packets.RpcScriptRequestInboundPacket.DataBlock`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RpcScriptRequestInboundPacket.DataBlockBlock LibreMetaverse.Packets.RpcScriptRequestInboundPacket.DataBlock`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub data_block: libremetaverse::packets::RpcScriptRequestInboundPacketDataBlockBlock,
        /// C# member: `F:LibreMetaverse.Packets.RpcScriptRequestInboundPacket.TargetBlock`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RpcScriptRequestInboundPacket.TargetBlockBlock LibreMetaverse.Packets.RpcScriptRequestInboundPacket.TargetBlock`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub target_block: libremetaverse::packets::RpcScriptRequestInboundPacketTargetBlockBlock,
    }
    impl RpcScriptRequestInboundPacket {
        /// C# member: `M:LibreMetaverse.Packets.RpcScriptRequestInboundPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RpcScriptRequestInboundPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RpcScriptRequestInboundPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RpcScriptRequestInboundPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RpcScriptRequestInboundPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RpcScriptRequestInboundPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RpcScriptRequestInboundPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RpcScriptRequestInboundPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.RpcScriptRequestInboundPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RpcScriptRequestInboundPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.RpcScriptRequestInboundPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RpcScriptRequestInboundPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.RpcScriptRequestInboundPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RpcScriptRequestInboundPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RpcScriptRequestInboundPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RpcScriptRequestInboundPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RpcScriptRequestInboundPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RpcScriptRequestInboundPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.RpcScriptRequestInboundPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.RpcScriptRequestInboundPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.RpcScriptRequestInboundPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.RpcScriptRequestInboundPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.RpcScriptRequestInboundPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RpcScriptRequestInboundPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RpcScriptRequestInboundPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.RpcScriptRequestInboundPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RpcScriptRequestInboundPacket.DataBlockBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RpcScriptRequestInboundPacket.DataBlockBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RpcScriptRequestInboundPacketDataBlockBlock {
        /// C# member: `F:LibreMetaverse.Packets.RpcScriptRequestInboundPacket.DataBlockBlock.ChannelID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RpcScriptRequestInboundPacket.DataBlockBlock.ChannelID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub channel_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.RpcScriptRequestInboundPacket.DataBlockBlock.IntValue`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.RpcScriptRequestInboundPacket.DataBlockBlock.IntValue`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub int_value: u32,
        /// C# member: `F:LibreMetaverse.Packets.RpcScriptRequestInboundPacket.DataBlockBlock.ItemID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RpcScriptRequestInboundPacket.DataBlockBlock.ItemID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub item_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.RpcScriptRequestInboundPacket.DataBlockBlock.StringValue`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.RpcScriptRequestInboundPacket.DataBlockBlock.StringValue`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub string_value: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.RpcScriptRequestInboundPacket.DataBlockBlock.TaskID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.RpcScriptRequestInboundPacket.DataBlockBlock.TaskID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub task_id: libremetaverse_types::UUID,
    }
    impl RpcScriptRequestInboundPacketDataBlockBlock {
        /// C# member: `M:LibreMetaverse.Packets.RpcScriptRequestInboundPacket.DataBlockBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RpcScriptRequestInboundPacket.DataBlockBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RpcScriptRequestInboundPacket.DataBlockBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RpcScriptRequestInboundPacket.DataBlockBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RpcScriptRequestInboundPacket.DataBlockBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RpcScriptRequestInboundPacket.DataBlockBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RpcScriptRequestInboundPacket.DataBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RpcScriptRequestInboundPacket.DataBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.RpcScriptRequestInboundPacket.DataBlockBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RpcScriptRequestInboundPacket.DataBlockBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RpcScriptRequestInboundPacket.DataBlockBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RpcScriptRequestInboundPacket.DataBlockBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RpcScriptRequestInboundPacket.DataBlockBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RpcScriptRequestInboundPacket.DataBlockBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.RpcScriptRequestInboundPacket.TargetBlockBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.RpcScriptRequestInboundPacket.TargetBlockBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RpcScriptRequestInboundPacketTargetBlockBlock {
        /// C# member: `F:LibreMetaverse.Packets.RpcScriptRequestInboundPacket.TargetBlockBlock.GridX`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.RpcScriptRequestInboundPacket.TargetBlockBlock.GridX`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub grid_x: u32,
        /// C# member: `F:LibreMetaverse.Packets.RpcScriptRequestInboundPacket.TargetBlockBlock.GridY`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.RpcScriptRequestInboundPacket.TargetBlockBlock.GridY`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub grid_y: u32,
    }
    impl RpcScriptRequestInboundPacketTargetBlockBlock {
        /// C# member: `M:LibreMetaverse.Packets.RpcScriptRequestInboundPacket.TargetBlockBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RpcScriptRequestInboundPacket.TargetBlockBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.RpcScriptRequestInboundPacket.TargetBlockBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.RpcScriptRequestInboundPacket.TargetBlockBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RpcScriptRequestInboundPacket.TargetBlockBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RpcScriptRequestInboundPacket.TargetBlockBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RpcScriptRequestInboundPacket.TargetBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RpcScriptRequestInboundPacket.TargetBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.RpcScriptRequestInboundPacket.TargetBlockBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.RpcScriptRequestInboundPacket.TargetBlockBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.RpcScriptRequestInboundPacket.TargetBlockBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.RpcScriptRequestInboundPacket.TargetBlockBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.RpcScriptRequestInboundPacket.TargetBlockBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.RpcScriptRequestInboundPacket.TargetBlockBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.SaveAssetIntoInventoryPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.SaveAssetIntoInventoryPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct SaveAssetIntoInventoryPacket {
        /// C# member: `F:LibreMetaverse.Packets.SaveAssetIntoInventoryPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SaveAssetIntoInventoryPacket.AgentDataBlock LibreMetaverse.Packets.SaveAssetIntoInventoryPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::SaveAssetIntoInventoryPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.SaveAssetIntoInventoryPacket.InventoryData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SaveAssetIntoInventoryPacket.InventoryDataBlock LibreMetaverse.Packets.SaveAssetIntoInventoryPacket.InventoryData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub inventory_data: libremetaverse::packets::SaveAssetIntoInventoryPacketInventoryDataBlock,
    }
    impl SaveAssetIntoInventoryPacket {
        /// C# member: `M:LibreMetaverse.Packets.SaveAssetIntoInventoryPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SaveAssetIntoInventoryPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.SaveAssetIntoInventoryPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SaveAssetIntoInventoryPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SaveAssetIntoInventoryPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SaveAssetIntoInventoryPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SaveAssetIntoInventoryPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SaveAssetIntoInventoryPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.SaveAssetIntoInventoryPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SaveAssetIntoInventoryPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.SaveAssetIntoInventoryPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SaveAssetIntoInventoryPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.SaveAssetIntoInventoryPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.SaveAssetIntoInventoryPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.SaveAssetIntoInventoryPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.SaveAssetIntoInventoryPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.SaveAssetIntoInventoryPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.SaveAssetIntoInventoryPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.SaveAssetIntoInventoryPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.SaveAssetIntoInventoryPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.SaveAssetIntoInventoryPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.SaveAssetIntoInventoryPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.SaveAssetIntoInventoryPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.SaveAssetIntoInventoryPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.SaveAssetIntoInventoryPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.SaveAssetIntoInventoryPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.SaveAssetIntoInventoryPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.SaveAssetIntoInventoryPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct SaveAssetIntoInventoryPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.SaveAssetIntoInventoryPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.SaveAssetIntoInventoryPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
    }
    impl SaveAssetIntoInventoryPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.SaveAssetIntoInventoryPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SaveAssetIntoInventoryPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.SaveAssetIntoInventoryPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SaveAssetIntoInventoryPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SaveAssetIntoInventoryPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SaveAssetIntoInventoryPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SaveAssetIntoInventoryPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SaveAssetIntoInventoryPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.SaveAssetIntoInventoryPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SaveAssetIntoInventoryPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SaveAssetIntoInventoryPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.SaveAssetIntoInventoryPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.SaveAssetIntoInventoryPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.SaveAssetIntoInventoryPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.SaveAssetIntoInventoryPacket.InventoryDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.SaveAssetIntoInventoryPacket.InventoryDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct SaveAssetIntoInventoryPacketInventoryDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.SaveAssetIntoInventoryPacket.InventoryDataBlock.ItemID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.SaveAssetIntoInventoryPacket.InventoryDataBlock.ItemID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub item_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.SaveAssetIntoInventoryPacket.InventoryDataBlock.NewAssetID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.SaveAssetIntoInventoryPacket.InventoryDataBlock.NewAssetID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub new_asset_id: libremetaverse_types::UUID,
    }
    impl SaveAssetIntoInventoryPacketInventoryDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.SaveAssetIntoInventoryPacket.InventoryDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SaveAssetIntoInventoryPacket.InventoryDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.SaveAssetIntoInventoryPacket.InventoryDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SaveAssetIntoInventoryPacket.InventoryDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SaveAssetIntoInventoryPacket.InventoryDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SaveAssetIntoInventoryPacket.InventoryDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SaveAssetIntoInventoryPacket.InventoryDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SaveAssetIntoInventoryPacket.InventoryDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.SaveAssetIntoInventoryPacket.InventoryDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SaveAssetIntoInventoryPacket.InventoryDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SaveAssetIntoInventoryPacket.InventoryDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.SaveAssetIntoInventoryPacket.InventoryDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.SaveAssetIntoInventoryPacket.InventoryDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.SaveAssetIntoInventoryPacket.InventoryDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ScriptAnswerYesPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ScriptAnswerYesPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ScriptAnswerYesPacket {
        /// C# member: `F:LibreMetaverse.Packets.ScriptAnswerYesPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ScriptAnswerYesPacket.AgentDataBlock LibreMetaverse.Packets.ScriptAnswerYesPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::ScriptAnswerYesPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.ScriptAnswerYesPacket.Data`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ScriptAnswerYesPacket.DataBlock LibreMetaverse.Packets.ScriptAnswerYesPacket.Data`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub data: libremetaverse::packets::ScriptAnswerYesPacketDataBlock,
    }
    impl ScriptAnswerYesPacket {
        /// C# member: `M:LibreMetaverse.Packets.ScriptAnswerYesPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ScriptAnswerYesPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptAnswerYesPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ScriptAnswerYesPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptAnswerYesPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ScriptAnswerYesPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptAnswerYesPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ScriptAnswerYesPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptAnswerYesPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ScriptAnswerYesPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptAnswerYesPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ScriptAnswerYesPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptAnswerYesPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ScriptAnswerYesPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptAnswerYesPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ScriptAnswerYesPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptAnswerYesPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ScriptAnswerYesPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptAnswerYesPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ScriptAnswerYesPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptAnswerYesPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ScriptAnswerYesPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ScriptAnswerYesPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ScriptAnswerYesPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ScriptAnswerYesPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ScriptAnswerYesPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ScriptAnswerYesPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ScriptAnswerYesPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ScriptAnswerYesPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ScriptAnswerYesPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ScriptAnswerYesPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ScriptAnswerYesPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ScriptAnswerYesPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl ScriptAnswerYesPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ScriptAnswerYesPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ScriptAnswerYesPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptAnswerYesPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ScriptAnswerYesPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptAnswerYesPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ScriptAnswerYesPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptAnswerYesPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ScriptAnswerYesPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptAnswerYesPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ScriptAnswerYesPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptAnswerYesPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ScriptAnswerYesPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ScriptAnswerYesPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ScriptAnswerYesPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ScriptAnswerYesPacket.DataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ScriptAnswerYesPacket.DataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ScriptAnswerYesPacketDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ScriptAnswerYesPacket.DataBlock.ItemID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ScriptAnswerYesPacket.DataBlock.ItemID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub item_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ScriptAnswerYesPacket.DataBlock.Questions`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ScriptAnswerYesPacket.DataBlock.Questions`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub questions: i32,
        /// C# member: `F:LibreMetaverse.Packets.ScriptAnswerYesPacket.DataBlock.TaskID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ScriptAnswerYesPacket.DataBlock.TaskID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub task_id: libremetaverse_types::UUID,
    }
    impl ScriptAnswerYesPacketDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ScriptAnswerYesPacket.DataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ScriptAnswerYesPacket.DataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptAnswerYesPacket.DataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ScriptAnswerYesPacket.DataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptAnswerYesPacket.DataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ScriptAnswerYesPacket.DataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptAnswerYesPacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ScriptAnswerYesPacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptAnswerYesPacket.DataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ScriptAnswerYesPacket.DataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptAnswerYesPacket.DataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ScriptAnswerYesPacket.DataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ScriptAnswerYesPacket.DataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ScriptAnswerYesPacket.DataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ScriptControlChangePacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ScriptControlChangePacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ScriptControlChangePacket {
        /// C# member: `F:LibreMetaverse.Packets.ScriptControlChangePacket.Data`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ScriptControlChangePacket.DataBlock[] LibreMetaverse.Packets.ScriptControlChangePacket.Data`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub data: Vec<libremetaverse::packets::ScriptControlChangePacketDataBlock>,
    }
    impl ScriptControlChangePacket {
        /// C# member: `M:LibreMetaverse.Packets.ScriptControlChangePacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ScriptControlChangePacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptControlChangePacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ScriptControlChangePacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptControlChangePacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ScriptControlChangePacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptControlChangePacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ScriptControlChangePacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptControlChangePacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ScriptControlChangePacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptControlChangePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ScriptControlChangePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptControlChangePacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ScriptControlChangePacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptControlChangePacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ScriptControlChangePacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptControlChangePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ScriptControlChangePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptControlChangePacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ScriptControlChangePacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptControlChangePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ScriptControlChangePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ScriptControlChangePacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ScriptControlChangePacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ScriptControlChangePacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ScriptControlChangePacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ScriptControlChangePacket.DataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ScriptControlChangePacket.DataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ScriptControlChangePacketDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ScriptControlChangePacket.DataBlock.Controls`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ScriptControlChangePacket.DataBlock.Controls`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub controls: u32,
        /// C# member: `F:LibreMetaverse.Packets.ScriptControlChangePacket.DataBlock.PassToAgent`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ScriptControlChangePacket.DataBlock.PassToAgent`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub pass_to_agent: bool,
        /// C# member: `F:LibreMetaverse.Packets.ScriptControlChangePacket.DataBlock.TakeControls`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ScriptControlChangePacket.DataBlock.TakeControls`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub take_controls: bool,
    }
    impl ScriptControlChangePacketDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ScriptControlChangePacket.DataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ScriptControlChangePacket.DataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptControlChangePacket.DataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ScriptControlChangePacket.DataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptControlChangePacket.DataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ScriptControlChangePacket.DataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptControlChangePacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ScriptControlChangePacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptControlChangePacket.DataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ScriptControlChangePacket.DataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptControlChangePacket.DataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ScriptControlChangePacket.DataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ScriptControlChangePacket.DataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ScriptControlChangePacket.DataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ScriptDataReplyPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ScriptDataReplyPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ScriptDataReplyPacket {
        /// C# member: `F:LibreMetaverse.Packets.ScriptDataReplyPacket.DataBlock`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ScriptDataReplyPacket.DataBlockBlock[] LibreMetaverse.Packets.ScriptDataReplyPacket.DataBlock`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub data_block: Vec<libremetaverse::packets::ScriptDataReplyPacketDataBlockBlock>,
    }
    impl ScriptDataReplyPacket {
        /// C# member: `M:LibreMetaverse.Packets.ScriptDataReplyPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ScriptDataReplyPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptDataReplyPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ScriptDataReplyPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptDataReplyPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ScriptDataReplyPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptDataReplyPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ScriptDataReplyPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptDataReplyPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ScriptDataReplyPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptDataReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ScriptDataReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptDataReplyPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ScriptDataReplyPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptDataReplyPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ScriptDataReplyPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptDataReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ScriptDataReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptDataReplyPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ScriptDataReplyPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptDataReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ScriptDataReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ScriptDataReplyPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ScriptDataReplyPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ScriptDataReplyPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ScriptDataReplyPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ScriptDataReplyPacket.DataBlockBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ScriptDataReplyPacket.DataBlockBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ScriptDataReplyPacketDataBlockBlock {
        /// C# member: `F:LibreMetaverse.Packets.ScriptDataReplyPacket.DataBlockBlock.Hash`.
        ///
        /// C# signature: `System.UInt64 LibreMetaverse.Packets.ScriptDataReplyPacket.DataBlockBlock.Hash`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub hash: u64,
        /// C# member: `F:LibreMetaverse.Packets.ScriptDataReplyPacket.DataBlockBlock.Reply`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ScriptDataReplyPacket.DataBlockBlock.Reply`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub reply: Vec<u8>,
    }
    impl ScriptDataReplyPacketDataBlockBlock {
        /// C# member: `M:LibreMetaverse.Packets.ScriptDataReplyPacket.DataBlockBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ScriptDataReplyPacket.DataBlockBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptDataReplyPacket.DataBlockBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ScriptDataReplyPacket.DataBlockBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptDataReplyPacket.DataBlockBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ScriptDataReplyPacket.DataBlockBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptDataReplyPacket.DataBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ScriptDataReplyPacket.DataBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptDataReplyPacket.DataBlockBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ScriptDataReplyPacket.DataBlockBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptDataReplyPacket.DataBlockBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ScriptDataReplyPacket.DataBlockBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ScriptDataReplyPacket.DataBlockBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ScriptDataReplyPacket.DataBlockBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ScriptDataRequestPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ScriptDataRequestPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ScriptDataRequestPacket {
        /// C# member: `F:LibreMetaverse.Packets.ScriptDataRequestPacket.DataBlock`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ScriptDataRequestPacket.DataBlockBlock[] LibreMetaverse.Packets.ScriptDataRequestPacket.DataBlock`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub data_block: Vec<libremetaverse::packets::ScriptDataRequestPacketDataBlockBlock>,
    }
    impl ScriptDataRequestPacket {
        /// C# member: `M:LibreMetaverse.Packets.ScriptDataRequestPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ScriptDataRequestPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptDataRequestPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ScriptDataRequestPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptDataRequestPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ScriptDataRequestPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptDataRequestPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ScriptDataRequestPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptDataRequestPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ScriptDataRequestPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptDataRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ScriptDataRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptDataRequestPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ScriptDataRequestPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptDataRequestPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ScriptDataRequestPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptDataRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ScriptDataRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptDataRequestPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ScriptDataRequestPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptDataRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ScriptDataRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ScriptDataRequestPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ScriptDataRequestPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ScriptDataRequestPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ScriptDataRequestPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ScriptDataRequestPacket.DataBlockBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ScriptDataRequestPacket.DataBlockBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ScriptDataRequestPacketDataBlockBlock {
        /// C# member: `F:LibreMetaverse.Packets.ScriptDataRequestPacket.DataBlockBlock.Hash`.
        ///
        /// C# signature: `System.UInt64 LibreMetaverse.Packets.ScriptDataRequestPacket.DataBlockBlock.Hash`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub hash: u64,
        /// C# member: `F:LibreMetaverse.Packets.ScriptDataRequestPacket.DataBlockBlock.Request`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ScriptDataRequestPacket.DataBlockBlock.Request`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub request: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.ScriptDataRequestPacket.DataBlockBlock.RequestType`.
        ///
        /// C# signature: `System.SByte LibreMetaverse.Packets.ScriptDataRequestPacket.DataBlockBlock.RequestType`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub request_type: i8,
    }
    impl ScriptDataRequestPacketDataBlockBlock {
        /// C# member: `M:LibreMetaverse.Packets.ScriptDataRequestPacket.DataBlockBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ScriptDataRequestPacket.DataBlockBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptDataRequestPacket.DataBlockBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ScriptDataRequestPacket.DataBlockBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptDataRequestPacket.DataBlockBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ScriptDataRequestPacket.DataBlockBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptDataRequestPacket.DataBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ScriptDataRequestPacket.DataBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptDataRequestPacket.DataBlockBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ScriptDataRequestPacket.DataBlockBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptDataRequestPacket.DataBlockBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ScriptDataRequestPacket.DataBlockBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ScriptDataRequestPacket.DataBlockBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ScriptDataRequestPacket.DataBlockBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ScriptDialogPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ScriptDialogPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ScriptDialogPacket {
        /// C# member: `F:LibreMetaverse.Packets.ScriptDialogPacket.Buttons`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ScriptDialogPacket.ButtonsBlock[] LibreMetaverse.Packets.ScriptDialogPacket.Buttons`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub buttons: Vec<libremetaverse::packets::ScriptDialogPacketButtonsBlock>,
        /// C# member: `F:LibreMetaverse.Packets.ScriptDialogPacket.Data`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ScriptDialogPacket.DataBlock LibreMetaverse.Packets.ScriptDialogPacket.Data`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub data: libremetaverse::packets::ScriptDialogPacketDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.ScriptDialogPacket.OwnerData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ScriptDialogPacket.OwnerDataBlock[] LibreMetaverse.Packets.ScriptDialogPacket.OwnerData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub owner_data: Vec<libremetaverse::packets::ScriptDialogPacketOwnerDataBlock>,
    }
    impl ScriptDialogPacket {
        /// C# member: `M:LibreMetaverse.Packets.ScriptDialogPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ScriptDialogPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptDialogPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ScriptDialogPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptDialogPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ScriptDialogPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptDialogPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ScriptDialogPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptDialogPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ScriptDialogPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptDialogPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ScriptDialogPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptDialogPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ScriptDialogPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptDialogPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ScriptDialogPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptDialogPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ScriptDialogPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptDialogPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ScriptDialogPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptDialogPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ScriptDialogPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ScriptDialogPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ScriptDialogPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ScriptDialogPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ScriptDialogPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ScriptDialogPacket.ButtonsBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ScriptDialogPacket.ButtonsBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ScriptDialogPacketButtonsBlock {
        /// C# member: `F:LibreMetaverse.Packets.ScriptDialogPacket.ButtonsBlock.ButtonLabel`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ScriptDialogPacket.ButtonsBlock.ButtonLabel`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub button_label: Vec<u8>,
    }
    impl ScriptDialogPacketButtonsBlock {
        /// C# member: `M:LibreMetaverse.Packets.ScriptDialogPacket.ButtonsBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ScriptDialogPacket.ButtonsBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptDialogPacket.ButtonsBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ScriptDialogPacket.ButtonsBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptDialogPacket.ButtonsBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ScriptDialogPacket.ButtonsBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptDialogPacket.ButtonsBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ScriptDialogPacket.ButtonsBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptDialogPacket.ButtonsBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ScriptDialogPacket.ButtonsBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptDialogPacket.ButtonsBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ScriptDialogPacket.ButtonsBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ScriptDialogPacket.ButtonsBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ScriptDialogPacket.ButtonsBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ScriptDialogPacket.DataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ScriptDialogPacket.DataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ScriptDialogPacketDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ScriptDialogPacket.DataBlock.ChatChannel`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ScriptDialogPacket.DataBlock.ChatChannel`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub chat_channel: i32,
        /// C# member: `F:LibreMetaverse.Packets.ScriptDialogPacket.DataBlock.FirstName`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ScriptDialogPacket.DataBlock.FirstName`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub first_name: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.ScriptDialogPacket.DataBlock.ImageID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ScriptDialogPacket.DataBlock.ImageID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub image_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ScriptDialogPacket.DataBlock.LastName`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ScriptDialogPacket.DataBlock.LastName`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub last_name: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.ScriptDialogPacket.DataBlock.Message`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ScriptDialogPacket.DataBlock.Message`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub message: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.ScriptDialogPacket.DataBlock.ObjectID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ScriptDialogPacket.DataBlock.ObjectID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ScriptDialogPacket.DataBlock.ObjectName`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ScriptDialogPacket.DataBlock.ObjectName`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_name: Vec<u8>,
    }
    impl ScriptDialogPacketDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ScriptDialogPacket.DataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ScriptDialogPacket.DataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptDialogPacket.DataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ScriptDialogPacket.DataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptDialogPacket.DataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ScriptDialogPacket.DataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptDialogPacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ScriptDialogPacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptDialogPacket.DataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ScriptDialogPacket.DataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptDialogPacket.DataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ScriptDialogPacket.DataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ScriptDialogPacket.DataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ScriptDialogPacket.DataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ScriptDialogPacket.OwnerDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ScriptDialogPacket.OwnerDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ScriptDialogPacketOwnerDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ScriptDialogPacket.OwnerDataBlock.OwnerID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ScriptDialogPacket.OwnerDataBlock.OwnerID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub owner_id: libremetaverse_types::UUID,
    }
    impl ScriptDialogPacketOwnerDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ScriptDialogPacket.OwnerDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ScriptDialogPacket.OwnerDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptDialogPacket.OwnerDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ScriptDialogPacket.OwnerDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptDialogPacket.OwnerDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ScriptDialogPacket.OwnerDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptDialogPacket.OwnerDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ScriptDialogPacket.OwnerDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptDialogPacket.OwnerDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ScriptDialogPacket.OwnerDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptDialogPacket.OwnerDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ScriptDialogPacket.OwnerDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ScriptDialogPacket.OwnerDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ScriptDialogPacket.OwnerDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ScriptDialogReplyPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ScriptDialogReplyPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ScriptDialogReplyPacket {
        /// C# member: `F:LibreMetaverse.Packets.ScriptDialogReplyPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ScriptDialogReplyPacket.AgentDataBlock LibreMetaverse.Packets.ScriptDialogReplyPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::ScriptDialogReplyPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.ScriptDialogReplyPacket.Data`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ScriptDialogReplyPacket.DataBlock LibreMetaverse.Packets.ScriptDialogReplyPacket.Data`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub data: libremetaverse::packets::ScriptDialogReplyPacketDataBlock,
    }
    impl ScriptDialogReplyPacket {
        /// C# member: `M:LibreMetaverse.Packets.ScriptDialogReplyPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ScriptDialogReplyPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptDialogReplyPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ScriptDialogReplyPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptDialogReplyPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ScriptDialogReplyPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptDialogReplyPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ScriptDialogReplyPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptDialogReplyPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ScriptDialogReplyPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptDialogReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ScriptDialogReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptDialogReplyPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ScriptDialogReplyPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptDialogReplyPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ScriptDialogReplyPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptDialogReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ScriptDialogReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptDialogReplyPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ScriptDialogReplyPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptDialogReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ScriptDialogReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ScriptDialogReplyPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ScriptDialogReplyPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ScriptDialogReplyPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ScriptDialogReplyPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ScriptDialogReplyPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ScriptDialogReplyPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ScriptDialogReplyPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ScriptDialogReplyPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ScriptDialogReplyPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ScriptDialogReplyPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ScriptDialogReplyPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl ScriptDialogReplyPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ScriptDialogReplyPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ScriptDialogReplyPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptDialogReplyPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ScriptDialogReplyPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptDialogReplyPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ScriptDialogReplyPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptDialogReplyPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ScriptDialogReplyPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptDialogReplyPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ScriptDialogReplyPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptDialogReplyPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ScriptDialogReplyPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ScriptDialogReplyPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ScriptDialogReplyPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ScriptDialogReplyPacket.DataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ScriptDialogReplyPacket.DataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ScriptDialogReplyPacketDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ScriptDialogReplyPacket.DataBlock.ButtonIndex`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ScriptDialogReplyPacket.DataBlock.ButtonIndex`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub button_index: i32,
        /// C# member: `F:LibreMetaverse.Packets.ScriptDialogReplyPacket.DataBlock.ButtonLabel`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ScriptDialogReplyPacket.DataBlock.ButtonLabel`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub button_label: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.ScriptDialogReplyPacket.DataBlock.ChatChannel`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ScriptDialogReplyPacket.DataBlock.ChatChannel`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub chat_channel: i32,
        /// C# member: `F:LibreMetaverse.Packets.ScriptDialogReplyPacket.DataBlock.ObjectID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ScriptDialogReplyPacket.DataBlock.ObjectID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_id: libremetaverse_types::UUID,
    }
    impl ScriptDialogReplyPacketDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ScriptDialogReplyPacket.DataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ScriptDialogReplyPacket.DataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptDialogReplyPacket.DataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ScriptDialogReplyPacket.DataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptDialogReplyPacket.DataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ScriptDialogReplyPacket.DataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptDialogReplyPacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ScriptDialogReplyPacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptDialogReplyPacket.DataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ScriptDialogReplyPacket.DataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptDialogReplyPacket.DataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ScriptDialogReplyPacket.DataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ScriptDialogReplyPacket.DataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ScriptDialogReplyPacket.DataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ScriptMailRegistrationPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ScriptMailRegistrationPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ScriptMailRegistrationPacket {
        /// C# member: `F:LibreMetaverse.Packets.ScriptMailRegistrationPacket.DataBlock`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ScriptMailRegistrationPacket.DataBlockBlock LibreMetaverse.Packets.ScriptMailRegistrationPacket.DataBlock`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub data_block: libremetaverse::packets::ScriptMailRegistrationPacketDataBlockBlock,
    }
    impl ScriptMailRegistrationPacket {
        /// C# member: `M:LibreMetaverse.Packets.ScriptMailRegistrationPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ScriptMailRegistrationPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptMailRegistrationPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ScriptMailRegistrationPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptMailRegistrationPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ScriptMailRegistrationPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptMailRegistrationPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ScriptMailRegistrationPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptMailRegistrationPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ScriptMailRegistrationPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptMailRegistrationPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ScriptMailRegistrationPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptMailRegistrationPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ScriptMailRegistrationPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptMailRegistrationPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ScriptMailRegistrationPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptMailRegistrationPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ScriptMailRegistrationPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptMailRegistrationPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ScriptMailRegistrationPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptMailRegistrationPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ScriptMailRegistrationPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ScriptMailRegistrationPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ScriptMailRegistrationPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ScriptMailRegistrationPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ScriptMailRegistrationPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ScriptMailRegistrationPacket.DataBlockBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ScriptMailRegistrationPacket.DataBlockBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ScriptMailRegistrationPacketDataBlockBlock {
        /// C# member: `F:LibreMetaverse.Packets.ScriptMailRegistrationPacket.DataBlockBlock.Flags`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ScriptMailRegistrationPacket.DataBlockBlock.Flags`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub flags: u32,
        /// C# member: `F:LibreMetaverse.Packets.ScriptMailRegistrationPacket.DataBlockBlock.TargetIP`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ScriptMailRegistrationPacket.DataBlockBlock.TargetIP`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub target_ip: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.ScriptMailRegistrationPacket.DataBlockBlock.TargetPort`.
        ///
        /// C# signature: `System.UInt16 LibreMetaverse.Packets.ScriptMailRegistrationPacket.DataBlockBlock.TargetPort`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub target_port: u16,
        /// C# member: `F:LibreMetaverse.Packets.ScriptMailRegistrationPacket.DataBlockBlock.TaskID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ScriptMailRegistrationPacket.DataBlockBlock.TaskID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub task_id: libremetaverse_types::UUID,
    }
    impl ScriptMailRegistrationPacketDataBlockBlock {
        /// C# member: `M:LibreMetaverse.Packets.ScriptMailRegistrationPacket.DataBlockBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ScriptMailRegistrationPacket.DataBlockBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptMailRegistrationPacket.DataBlockBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ScriptMailRegistrationPacket.DataBlockBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptMailRegistrationPacket.DataBlockBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ScriptMailRegistrationPacket.DataBlockBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptMailRegistrationPacket.DataBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ScriptMailRegistrationPacket.DataBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptMailRegistrationPacket.DataBlockBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ScriptMailRegistrationPacket.DataBlockBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptMailRegistrationPacket.DataBlockBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ScriptMailRegistrationPacket.DataBlockBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ScriptMailRegistrationPacket.DataBlockBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ScriptMailRegistrationPacket.DataBlockBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ScriptQuestionPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ScriptQuestionPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ScriptQuestionPacket {
        /// C# member: `F:LibreMetaverse.Packets.ScriptQuestionPacket.Data`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ScriptQuestionPacket.DataBlock LibreMetaverse.Packets.ScriptQuestionPacket.Data`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub data: libremetaverse::packets::ScriptQuestionPacketDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.ScriptQuestionPacket.Experience`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ScriptQuestionPacket.ExperienceBlock LibreMetaverse.Packets.ScriptQuestionPacket.Experience`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub experience: libremetaverse::packets::ScriptQuestionPacketExperienceBlock,
    }
    impl ScriptQuestionPacket {
        /// C# member: `M:LibreMetaverse.Packets.ScriptQuestionPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ScriptQuestionPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptQuestionPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ScriptQuestionPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptQuestionPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ScriptQuestionPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptQuestionPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ScriptQuestionPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptQuestionPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ScriptQuestionPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptQuestionPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ScriptQuestionPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptQuestionPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ScriptQuestionPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptQuestionPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ScriptQuestionPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptQuestionPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ScriptQuestionPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptQuestionPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ScriptQuestionPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptQuestionPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ScriptQuestionPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ScriptQuestionPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ScriptQuestionPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ScriptQuestionPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ScriptQuestionPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ScriptQuestionPacket.DataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ScriptQuestionPacket.DataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ScriptQuestionPacketDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ScriptQuestionPacket.DataBlock.ItemID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ScriptQuestionPacket.DataBlock.ItemID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub item_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ScriptQuestionPacket.DataBlock.ObjectName`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ScriptQuestionPacket.DataBlock.ObjectName`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_name: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.ScriptQuestionPacket.DataBlock.ObjectOwner`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ScriptQuestionPacket.DataBlock.ObjectOwner`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_owner: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.ScriptQuestionPacket.DataBlock.Questions`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ScriptQuestionPacket.DataBlock.Questions`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub questions: i32,
        /// C# member: `F:LibreMetaverse.Packets.ScriptQuestionPacket.DataBlock.TaskID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ScriptQuestionPacket.DataBlock.TaskID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub task_id: libremetaverse_types::UUID,
    }
    impl ScriptQuestionPacketDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ScriptQuestionPacket.DataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ScriptQuestionPacket.DataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptQuestionPacket.DataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ScriptQuestionPacket.DataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptQuestionPacket.DataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ScriptQuestionPacket.DataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptQuestionPacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ScriptQuestionPacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptQuestionPacket.DataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ScriptQuestionPacket.DataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptQuestionPacket.DataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ScriptQuestionPacket.DataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ScriptQuestionPacket.DataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ScriptQuestionPacket.DataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ScriptQuestionPacket.ExperienceBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ScriptQuestionPacket.ExperienceBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ScriptQuestionPacketExperienceBlock {
        /// C# member: `F:LibreMetaverse.Packets.ScriptQuestionPacket.ExperienceBlock.ExperienceID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ScriptQuestionPacket.ExperienceBlock.ExperienceID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub experience_id: libremetaverse_types::UUID,
    }
    impl ScriptQuestionPacketExperienceBlock {
        /// C# member: `M:LibreMetaverse.Packets.ScriptQuestionPacket.ExperienceBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ScriptQuestionPacket.ExperienceBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptQuestionPacket.ExperienceBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ScriptQuestionPacket.ExperienceBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptQuestionPacket.ExperienceBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ScriptQuestionPacket.ExperienceBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptQuestionPacket.ExperienceBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ScriptQuestionPacket.ExperienceBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptQuestionPacket.ExperienceBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ScriptQuestionPacket.ExperienceBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptQuestionPacket.ExperienceBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ScriptQuestionPacket.ExperienceBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ScriptQuestionPacket.ExperienceBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ScriptQuestionPacket.ExperienceBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ScriptResetPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ScriptResetPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ScriptResetPacket {
        /// C# member: `F:LibreMetaverse.Packets.ScriptResetPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ScriptResetPacket.AgentDataBlock LibreMetaverse.Packets.ScriptResetPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::ScriptResetPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.ScriptResetPacket.Script`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ScriptResetPacket.ScriptBlock LibreMetaverse.Packets.ScriptResetPacket.Script`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub script: libremetaverse::packets::ScriptResetPacketScriptBlock,
    }
    impl ScriptResetPacket {
        /// C# member: `M:LibreMetaverse.Packets.ScriptResetPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ScriptResetPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptResetPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ScriptResetPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptResetPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ScriptResetPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptResetPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ScriptResetPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptResetPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ScriptResetPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptResetPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ScriptResetPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptResetPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ScriptResetPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptResetPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ScriptResetPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptResetPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ScriptResetPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptResetPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ScriptResetPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptResetPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ScriptResetPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ScriptResetPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ScriptResetPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ScriptResetPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ScriptResetPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ScriptResetPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ScriptResetPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ScriptResetPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ScriptResetPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ScriptResetPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ScriptResetPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ScriptResetPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl ScriptResetPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ScriptResetPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ScriptResetPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptResetPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ScriptResetPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptResetPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ScriptResetPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptResetPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ScriptResetPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptResetPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ScriptResetPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptResetPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ScriptResetPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ScriptResetPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ScriptResetPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ScriptResetPacket.ScriptBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ScriptResetPacket.ScriptBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ScriptResetPacketScriptBlock {
        /// C# member: `F:LibreMetaverse.Packets.ScriptResetPacket.ScriptBlock.ItemID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ScriptResetPacket.ScriptBlock.ItemID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub item_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ScriptResetPacket.ScriptBlock.ObjectID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ScriptResetPacket.ScriptBlock.ObjectID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_id: libremetaverse_types::UUID,
    }
    impl ScriptResetPacketScriptBlock {
        /// C# member: `M:LibreMetaverse.Packets.ScriptResetPacket.ScriptBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ScriptResetPacket.ScriptBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptResetPacket.ScriptBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ScriptResetPacket.ScriptBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptResetPacket.ScriptBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ScriptResetPacket.ScriptBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptResetPacket.ScriptBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ScriptResetPacket.ScriptBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptResetPacket.ScriptBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ScriptResetPacket.ScriptBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptResetPacket.ScriptBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ScriptResetPacket.ScriptBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ScriptResetPacket.ScriptBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ScriptResetPacket.ScriptBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ScriptRunningReplyPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ScriptRunningReplyPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ScriptRunningReplyPacket {
        /// C# member: `F:LibreMetaverse.Packets.ScriptRunningReplyPacket.Script`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ScriptRunningReplyPacket.ScriptBlock LibreMetaverse.Packets.ScriptRunningReplyPacket.Script`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub script: libremetaverse::packets::ScriptRunningReplyPacketScriptBlock,
    }
    impl ScriptRunningReplyPacket {
        /// C# member: `M:LibreMetaverse.Packets.ScriptRunningReplyPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ScriptRunningReplyPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptRunningReplyPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ScriptRunningReplyPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptRunningReplyPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ScriptRunningReplyPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptRunningReplyPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ScriptRunningReplyPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptRunningReplyPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ScriptRunningReplyPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptRunningReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ScriptRunningReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptRunningReplyPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ScriptRunningReplyPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptRunningReplyPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ScriptRunningReplyPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptRunningReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ScriptRunningReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptRunningReplyPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ScriptRunningReplyPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptRunningReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ScriptRunningReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ScriptRunningReplyPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ScriptRunningReplyPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ScriptRunningReplyPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ScriptRunningReplyPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ScriptRunningReplyPacket.ScriptBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ScriptRunningReplyPacket.ScriptBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ScriptRunningReplyPacketScriptBlock {
        /// C# member: `F:LibreMetaverse.Packets.ScriptRunningReplyPacket.ScriptBlock.ItemID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ScriptRunningReplyPacket.ScriptBlock.ItemID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub item_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ScriptRunningReplyPacket.ScriptBlock.ObjectID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ScriptRunningReplyPacket.ScriptBlock.ObjectID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ScriptRunningReplyPacket.ScriptBlock.Running`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ScriptRunningReplyPacket.ScriptBlock.Running`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub running: bool,
    }
    impl ScriptRunningReplyPacketScriptBlock {
        /// C# member: `M:LibreMetaverse.Packets.ScriptRunningReplyPacket.ScriptBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ScriptRunningReplyPacket.ScriptBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptRunningReplyPacket.ScriptBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ScriptRunningReplyPacket.ScriptBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptRunningReplyPacket.ScriptBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ScriptRunningReplyPacket.ScriptBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptRunningReplyPacket.ScriptBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ScriptRunningReplyPacket.ScriptBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptRunningReplyPacket.ScriptBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ScriptRunningReplyPacket.ScriptBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptRunningReplyPacket.ScriptBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ScriptRunningReplyPacket.ScriptBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ScriptRunningReplyPacket.ScriptBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ScriptRunningReplyPacket.ScriptBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ScriptSensorReplyPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ScriptSensorReplyPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ScriptSensorReplyPacket {
        /// C# member: `F:LibreMetaverse.Packets.ScriptSensorReplyPacket.Requester`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ScriptSensorReplyPacket.RequesterBlock LibreMetaverse.Packets.ScriptSensorReplyPacket.Requester`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub requester: libremetaverse::packets::ScriptSensorReplyPacketRequesterBlock,
        /// C# member: `F:LibreMetaverse.Packets.ScriptSensorReplyPacket.SensedData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ScriptSensorReplyPacket.SensedDataBlock[] LibreMetaverse.Packets.ScriptSensorReplyPacket.SensedData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub sensed_data: Vec<libremetaverse::packets::ScriptSensorReplyPacketSensedDataBlock>,
    }
    impl ScriptSensorReplyPacket {
        /// C# member: `M:LibreMetaverse.Packets.ScriptSensorReplyPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ScriptSensorReplyPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptSensorReplyPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ScriptSensorReplyPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptSensorReplyPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ScriptSensorReplyPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptSensorReplyPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ScriptSensorReplyPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptSensorReplyPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ScriptSensorReplyPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptSensorReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ScriptSensorReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptSensorReplyPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ScriptSensorReplyPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptSensorReplyPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ScriptSensorReplyPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptSensorReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ScriptSensorReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptSensorReplyPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ScriptSensorReplyPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptSensorReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ScriptSensorReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ScriptSensorReplyPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ScriptSensorReplyPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ScriptSensorReplyPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ScriptSensorReplyPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ScriptSensorReplyPacket.RequesterBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ScriptSensorReplyPacket.RequesterBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ScriptSensorReplyPacketRequesterBlock {
        /// C# member: `F:LibreMetaverse.Packets.ScriptSensorReplyPacket.RequesterBlock.SourceID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ScriptSensorReplyPacket.RequesterBlock.SourceID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub source_id: libremetaverse_types::UUID,
    }
    impl ScriptSensorReplyPacketRequesterBlock {
        /// C# member: `M:LibreMetaverse.Packets.ScriptSensorReplyPacket.RequesterBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ScriptSensorReplyPacket.RequesterBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptSensorReplyPacket.RequesterBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ScriptSensorReplyPacket.RequesterBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptSensorReplyPacket.RequesterBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ScriptSensorReplyPacket.RequesterBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptSensorReplyPacket.RequesterBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ScriptSensorReplyPacket.RequesterBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptSensorReplyPacket.RequesterBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ScriptSensorReplyPacket.RequesterBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptSensorReplyPacket.RequesterBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ScriptSensorReplyPacket.RequesterBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ScriptSensorReplyPacket.RequesterBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ScriptSensorReplyPacket.RequesterBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ScriptSensorReplyPacket.SensedDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ScriptSensorReplyPacket.SensedDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ScriptSensorReplyPacketSensedDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ScriptSensorReplyPacket.SensedDataBlock.GroupID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ScriptSensorReplyPacket.SensedDataBlock.GroupID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ScriptSensorReplyPacket.SensedDataBlock.Name`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ScriptSensorReplyPacket.SensedDataBlock.Name`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub name: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.ScriptSensorReplyPacket.SensedDataBlock.ObjectID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ScriptSensorReplyPacket.SensedDataBlock.ObjectID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ScriptSensorReplyPacket.SensedDataBlock.OwnerID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ScriptSensorReplyPacket.SensedDataBlock.OwnerID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub owner_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ScriptSensorReplyPacket.SensedDataBlock.Position`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Packets.ScriptSensorReplyPacket.SensedDataBlock.Position`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub position: libremetaverse_types::Vector3,
        /// C# member: `F:LibreMetaverse.Packets.ScriptSensorReplyPacket.SensedDataBlock.Range`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.ScriptSensorReplyPacket.SensedDataBlock.Range`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub range: f32,
        /// C# member: `F:LibreMetaverse.Packets.ScriptSensorReplyPacket.SensedDataBlock.Rotation`.
        ///
        /// C# signature: `LibreMetaverse.Quaternion LibreMetaverse.Packets.ScriptSensorReplyPacket.SensedDataBlock.Rotation`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub rotation: libremetaverse_types::Quaternion,
        /// C# member: `F:LibreMetaverse.Packets.ScriptSensorReplyPacket.SensedDataBlock.Type`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ScriptSensorReplyPacket.SensedDataBlock.Type`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub type_: i32,
        /// C# member: `F:LibreMetaverse.Packets.ScriptSensorReplyPacket.SensedDataBlock.Velocity`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Packets.ScriptSensorReplyPacket.SensedDataBlock.Velocity`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub velocity: libremetaverse_types::Vector3,
    }
    impl ScriptSensorReplyPacketSensedDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ScriptSensorReplyPacket.SensedDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ScriptSensorReplyPacket.SensedDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptSensorReplyPacket.SensedDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ScriptSensorReplyPacket.SensedDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptSensorReplyPacket.SensedDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ScriptSensorReplyPacket.SensedDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptSensorReplyPacket.SensedDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ScriptSensorReplyPacket.SensedDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptSensorReplyPacket.SensedDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ScriptSensorReplyPacket.SensedDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptSensorReplyPacket.SensedDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ScriptSensorReplyPacket.SensedDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ScriptSensorReplyPacket.SensedDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ScriptSensorReplyPacket.SensedDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ScriptSensorRequestPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ScriptSensorRequestPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ScriptSensorRequestPacket {
        /// C# member: `F:LibreMetaverse.Packets.ScriptSensorRequestPacket.Requester`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ScriptSensorRequestPacket.RequesterBlock LibreMetaverse.Packets.ScriptSensorRequestPacket.Requester`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub requester: libremetaverse::packets::ScriptSensorRequestPacketRequesterBlock,
    }
    impl ScriptSensorRequestPacket {
        /// C# member: `M:LibreMetaverse.Packets.ScriptSensorRequestPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ScriptSensorRequestPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptSensorRequestPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ScriptSensorRequestPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptSensorRequestPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ScriptSensorRequestPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptSensorRequestPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ScriptSensorRequestPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptSensorRequestPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ScriptSensorRequestPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptSensorRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ScriptSensorRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptSensorRequestPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ScriptSensorRequestPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptSensorRequestPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ScriptSensorRequestPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptSensorRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ScriptSensorRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptSensorRequestPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ScriptSensorRequestPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptSensorRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ScriptSensorRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ScriptSensorRequestPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ScriptSensorRequestPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ScriptSensorRequestPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ScriptSensorRequestPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ScriptSensorRequestPacket.RequesterBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ScriptSensorRequestPacket.RequesterBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ScriptSensorRequestPacketRequesterBlock {
        /// C# member: `F:LibreMetaverse.Packets.ScriptSensorRequestPacket.RequesterBlock.Arc`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.ScriptSensorRequestPacket.RequesterBlock.Arc`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub arc: f32,
        /// C# member: `F:LibreMetaverse.Packets.ScriptSensorRequestPacket.RequesterBlock.Range`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.ScriptSensorRequestPacket.RequesterBlock.Range`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub range: f32,
        /// C# member: `F:LibreMetaverse.Packets.ScriptSensorRequestPacket.RequesterBlock.RegionHandle`.
        ///
        /// C# signature: `System.UInt64 LibreMetaverse.Packets.ScriptSensorRequestPacket.RequesterBlock.RegionHandle`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub region_handle: u64,
        /// C# member: `F:LibreMetaverse.Packets.ScriptSensorRequestPacket.RequesterBlock.RequestID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ScriptSensorRequestPacket.RequesterBlock.RequestID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub request_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ScriptSensorRequestPacket.RequesterBlock.SearchDir`.
        ///
        /// C# signature: `LibreMetaverse.Quaternion LibreMetaverse.Packets.ScriptSensorRequestPacket.RequesterBlock.SearchDir`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub search_dir: libremetaverse_types::Quaternion,
        /// C# member: `F:LibreMetaverse.Packets.ScriptSensorRequestPacket.RequesterBlock.SearchID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ScriptSensorRequestPacket.RequesterBlock.SearchID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub search_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ScriptSensorRequestPacket.RequesterBlock.SearchName`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ScriptSensorRequestPacket.RequesterBlock.SearchName`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub search_name: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.ScriptSensorRequestPacket.RequesterBlock.SearchPos`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Packets.ScriptSensorRequestPacket.RequesterBlock.SearchPos`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub search_pos: libremetaverse_types::Vector3,
        /// C# member: `F:LibreMetaverse.Packets.ScriptSensorRequestPacket.RequesterBlock.SearchRegions`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.ScriptSensorRequestPacket.RequesterBlock.SearchRegions`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub search_regions: u8,
        /// C# member: `F:LibreMetaverse.Packets.ScriptSensorRequestPacket.RequesterBlock.SourceID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ScriptSensorRequestPacket.RequesterBlock.SourceID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub source_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ScriptSensorRequestPacket.RequesterBlock.Type`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ScriptSensorRequestPacket.RequesterBlock.Type`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub type_: i32,
    }
    impl ScriptSensorRequestPacketRequesterBlock {
        /// C# member: `M:LibreMetaverse.Packets.ScriptSensorRequestPacket.RequesterBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ScriptSensorRequestPacket.RequesterBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptSensorRequestPacket.RequesterBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ScriptSensorRequestPacket.RequesterBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptSensorRequestPacket.RequesterBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ScriptSensorRequestPacket.RequesterBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptSensorRequestPacket.RequesterBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ScriptSensorRequestPacket.RequesterBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptSensorRequestPacket.RequesterBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ScriptSensorRequestPacket.RequesterBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptSensorRequestPacket.RequesterBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ScriptSensorRequestPacket.RequesterBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ScriptSensorRequestPacket.RequesterBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ScriptSensorRequestPacket.RequesterBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ScriptTeleportRequestPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ScriptTeleportRequestPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ScriptTeleportRequestPacket {
        /// C# member: `F:LibreMetaverse.Packets.ScriptTeleportRequestPacket.Data`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ScriptTeleportRequestPacket.DataBlock LibreMetaverse.Packets.ScriptTeleportRequestPacket.Data`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub data: libremetaverse::packets::ScriptTeleportRequestPacketDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.ScriptTeleportRequestPacket.Options`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ScriptTeleportRequestPacket.OptionsBlock[] LibreMetaverse.Packets.ScriptTeleportRequestPacket.Options`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub options: Vec<libremetaverse::packets::ScriptTeleportRequestPacketOptionsBlock>,
    }
    impl ScriptTeleportRequestPacket {
        /// C# member: `M:LibreMetaverse.Packets.ScriptTeleportRequestPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ScriptTeleportRequestPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptTeleportRequestPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ScriptTeleportRequestPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptTeleportRequestPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ScriptTeleportRequestPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptTeleportRequestPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ScriptTeleportRequestPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptTeleportRequestPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ScriptTeleportRequestPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptTeleportRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ScriptTeleportRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptTeleportRequestPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ScriptTeleportRequestPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptTeleportRequestPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ScriptTeleportRequestPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptTeleportRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ScriptTeleportRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptTeleportRequestPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ScriptTeleportRequestPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptTeleportRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ScriptTeleportRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ScriptTeleportRequestPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ScriptTeleportRequestPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ScriptTeleportRequestPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ScriptTeleportRequestPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ScriptTeleportRequestPacket.DataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ScriptTeleportRequestPacket.DataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ScriptTeleportRequestPacketDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ScriptTeleportRequestPacket.DataBlock.LookAt`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Packets.ScriptTeleportRequestPacket.DataBlock.LookAt`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub look_at: libremetaverse_types::Vector3,
        /// C# member: `F:LibreMetaverse.Packets.ScriptTeleportRequestPacket.DataBlock.ObjectName`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ScriptTeleportRequestPacket.DataBlock.ObjectName`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_name: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.ScriptTeleportRequestPacket.DataBlock.SimName`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ScriptTeleportRequestPacket.DataBlock.SimName`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub sim_name: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.ScriptTeleportRequestPacket.DataBlock.SimPosition`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Packets.ScriptTeleportRequestPacket.DataBlock.SimPosition`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub sim_position: libremetaverse_types::Vector3,
    }
    impl ScriptTeleportRequestPacketDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ScriptTeleportRequestPacket.DataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ScriptTeleportRequestPacket.DataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptTeleportRequestPacket.DataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ScriptTeleportRequestPacket.DataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptTeleportRequestPacket.DataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ScriptTeleportRequestPacket.DataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptTeleportRequestPacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ScriptTeleportRequestPacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptTeleportRequestPacket.DataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ScriptTeleportRequestPacket.DataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptTeleportRequestPacket.DataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ScriptTeleportRequestPacket.DataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ScriptTeleportRequestPacket.DataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ScriptTeleportRequestPacket.DataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ScriptTeleportRequestPacket.OptionsBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ScriptTeleportRequestPacket.OptionsBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ScriptTeleportRequestPacketOptionsBlock {
        /// C# member: `F:LibreMetaverse.Packets.ScriptTeleportRequestPacket.OptionsBlock.Flags`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ScriptTeleportRequestPacket.OptionsBlock.Flags`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub flags: u32,
    }
    impl ScriptTeleportRequestPacketOptionsBlock {
        /// C# member: `M:LibreMetaverse.Packets.ScriptTeleportRequestPacket.OptionsBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ScriptTeleportRequestPacket.OptionsBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptTeleportRequestPacket.OptionsBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ScriptTeleportRequestPacket.OptionsBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptTeleportRequestPacket.OptionsBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ScriptTeleportRequestPacket.OptionsBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptTeleportRequestPacket.OptionsBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ScriptTeleportRequestPacket.OptionsBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptTeleportRequestPacket.OptionsBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ScriptTeleportRequestPacket.OptionsBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ScriptTeleportRequestPacket.OptionsBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ScriptTeleportRequestPacket.OptionsBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ScriptTeleportRequestPacket.OptionsBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ScriptTeleportRequestPacket.OptionsBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.SendPostcardPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.SendPostcardPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct SendPostcardPacket {
        /// C# member: `F:LibreMetaverse.Packets.SendPostcardPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SendPostcardPacket.AgentDataBlock LibreMetaverse.Packets.SendPostcardPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::SendPostcardPacketAgentDataBlock,
    }
    impl SendPostcardPacket {
        /// C# member: `M:LibreMetaverse.Packets.SendPostcardPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SendPostcardPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.SendPostcardPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SendPostcardPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SendPostcardPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SendPostcardPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SendPostcardPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SendPostcardPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.SendPostcardPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SendPostcardPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.SendPostcardPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SendPostcardPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.SendPostcardPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.SendPostcardPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.SendPostcardPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.SendPostcardPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.SendPostcardPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.SendPostcardPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.SendPostcardPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.SendPostcardPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.SendPostcardPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.SendPostcardPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.SendPostcardPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.SendPostcardPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.SendPostcardPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.SendPostcardPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.SendPostcardPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.SendPostcardPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct SendPostcardPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.SendPostcardPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.SendPostcardPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.SendPostcardPacket.AgentDataBlock.AllowPublish`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.SendPostcardPacket.AgentDataBlock.AllowPublish`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub allow_publish: bool,
        /// C# member: `F:LibreMetaverse.Packets.SendPostcardPacket.AgentDataBlock.AssetID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.SendPostcardPacket.AgentDataBlock.AssetID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub asset_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.SendPostcardPacket.AgentDataBlock.From`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.SendPostcardPacket.AgentDataBlock.From`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub from_: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.SendPostcardPacket.AgentDataBlock.MaturePublish`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.SendPostcardPacket.AgentDataBlock.MaturePublish`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub mature_publish: bool,
        /// C# member: `F:LibreMetaverse.Packets.SendPostcardPacket.AgentDataBlock.Msg`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.SendPostcardPacket.AgentDataBlock.Msg`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub msg: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.SendPostcardPacket.AgentDataBlock.Name`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.SendPostcardPacket.AgentDataBlock.Name`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub name: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.SendPostcardPacket.AgentDataBlock.PosGlobal`.
        ///
        /// C# signature: `LibreMetaverse.Vector3d LibreMetaverse.Packets.SendPostcardPacket.AgentDataBlock.PosGlobal`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub pos_global: libremetaverse_types::Vector3d,
        /// C# member: `F:LibreMetaverse.Packets.SendPostcardPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.SendPostcardPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.SendPostcardPacket.AgentDataBlock.Subject`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.SendPostcardPacket.AgentDataBlock.Subject`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub subject: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.SendPostcardPacket.AgentDataBlock.To`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.SendPostcardPacket.AgentDataBlock.To`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub to: Vec<u8>,
    }
    impl SendPostcardPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.SendPostcardPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SendPostcardPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.SendPostcardPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SendPostcardPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SendPostcardPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SendPostcardPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SendPostcardPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SendPostcardPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.SendPostcardPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SendPostcardPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SendPostcardPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.SendPostcardPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.SendPostcardPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.SendPostcardPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.SendXferPacketPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.SendXferPacketPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct SendXferPacketPacket {
        /// C# member: `F:LibreMetaverse.Packets.SendXferPacketPacket.DataPacket`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SendXferPacketPacket.DataPacketBlock LibreMetaverse.Packets.SendXferPacketPacket.DataPacket`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub data_packet: libremetaverse::packets::SendXferPacketPacketDataPacketBlock,
        /// C# member: `F:LibreMetaverse.Packets.SendXferPacketPacket.XferID`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SendXferPacketPacket.XferIDBlock LibreMetaverse.Packets.SendXferPacketPacket.XferID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub xfer_id: libremetaverse::packets::SendXferPacketPacketXferIDBlock,
    }
    impl SendXferPacketPacket {
        /// C# member: `M:LibreMetaverse.Packets.SendXferPacketPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SendXferPacketPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.SendXferPacketPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SendXferPacketPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SendXferPacketPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SendXferPacketPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SendXferPacketPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SendXferPacketPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.SendXferPacketPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SendXferPacketPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.SendXferPacketPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SendXferPacketPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.SendXferPacketPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.SendXferPacketPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.SendXferPacketPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.SendXferPacketPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.SendXferPacketPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.SendXferPacketPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.SendXferPacketPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.SendXferPacketPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.SendXferPacketPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.SendXferPacketPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.SendXferPacketPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.SendXferPacketPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.SendXferPacketPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.SendXferPacketPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.SendXferPacketPacket.DataPacketBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.SendXferPacketPacket.DataPacketBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct SendXferPacketPacketDataPacketBlock {
        /// C# member: `F:LibreMetaverse.Packets.SendXferPacketPacket.DataPacketBlock.Data`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.SendXferPacketPacket.DataPacketBlock.Data`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub data: Vec<u8>,
    }
    impl SendXferPacketPacketDataPacketBlock {
        /// C# member: `M:LibreMetaverse.Packets.SendXferPacketPacket.DataPacketBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SendXferPacketPacket.DataPacketBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.SendXferPacketPacket.DataPacketBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SendXferPacketPacket.DataPacketBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SendXferPacketPacket.DataPacketBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SendXferPacketPacket.DataPacketBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SendXferPacketPacket.DataPacketBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SendXferPacketPacket.DataPacketBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.SendXferPacketPacket.DataPacketBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SendXferPacketPacket.DataPacketBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SendXferPacketPacket.DataPacketBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.SendXferPacketPacket.DataPacketBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.SendXferPacketPacket.DataPacketBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.SendXferPacketPacket.DataPacketBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.SendXferPacketPacket.XferIDBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.SendXferPacketPacket.XferIDBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct SendXferPacketPacketXferIDBlock {
        /// C# member: `F:LibreMetaverse.Packets.SendXferPacketPacket.XferIDBlock.ID`.
        ///
        /// C# signature: `System.UInt64 LibreMetaverse.Packets.SendXferPacketPacket.XferIDBlock.ID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub id: u64,
        /// C# member: `F:LibreMetaverse.Packets.SendXferPacketPacket.XferIDBlock.Packet`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.SendXferPacketPacket.XferIDBlock.Packet`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub packet: u32,
    }
    impl SendXferPacketPacketXferIDBlock {
        /// C# member: `M:LibreMetaverse.Packets.SendXferPacketPacket.XferIDBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SendXferPacketPacket.XferIDBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.SendXferPacketPacket.XferIDBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SendXferPacketPacket.XferIDBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SendXferPacketPacket.XferIDBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SendXferPacketPacket.XferIDBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SendXferPacketPacket.XferIDBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SendXferPacketPacket.XferIDBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.SendXferPacketPacket.XferIDBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SendXferPacketPacket.XferIDBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SendXferPacketPacket.XferIDBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.SendXferPacketPacket.XferIDBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.SendXferPacketPacket.XferIDBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.SendXferPacketPacket.XferIDBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.SetAlwaysRunPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.SetAlwaysRunPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct SetAlwaysRunPacket {
        /// C# member: `F:LibreMetaverse.Packets.SetAlwaysRunPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SetAlwaysRunPacket.AgentDataBlock LibreMetaverse.Packets.SetAlwaysRunPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::SetAlwaysRunPacketAgentDataBlock,
    }
    impl SetAlwaysRunPacket {
        /// C# member: `M:LibreMetaverse.Packets.SetAlwaysRunPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SetAlwaysRunPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.SetAlwaysRunPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SetAlwaysRunPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetAlwaysRunPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SetAlwaysRunPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetAlwaysRunPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SetAlwaysRunPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.SetAlwaysRunPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SetAlwaysRunPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.SetAlwaysRunPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SetAlwaysRunPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetAlwaysRunPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.SetAlwaysRunPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetAlwaysRunPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.SetAlwaysRunPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetAlwaysRunPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.SetAlwaysRunPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.SetAlwaysRunPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.SetAlwaysRunPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetAlwaysRunPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.SetAlwaysRunPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.SetAlwaysRunPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.SetAlwaysRunPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.SetAlwaysRunPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.SetAlwaysRunPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.SetAlwaysRunPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.SetAlwaysRunPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct SetAlwaysRunPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.SetAlwaysRunPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.SetAlwaysRunPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.SetAlwaysRunPacket.AgentDataBlock.AlwaysRun`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.SetAlwaysRunPacket.AgentDataBlock.AlwaysRun`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub always_run: bool,
        /// C# member: `F:LibreMetaverse.Packets.SetAlwaysRunPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.SetAlwaysRunPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl SetAlwaysRunPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.SetAlwaysRunPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SetAlwaysRunPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.SetAlwaysRunPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SetAlwaysRunPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetAlwaysRunPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SetAlwaysRunPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetAlwaysRunPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SetAlwaysRunPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetAlwaysRunPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SetAlwaysRunPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetAlwaysRunPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.SetAlwaysRunPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.SetAlwaysRunPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.SetAlwaysRunPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.SetCPURatioPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.SetCPURatioPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct SetCPURatioPacket {
        /// C# member: `F:LibreMetaverse.Packets.SetCPURatioPacket.Data`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SetCPURatioPacket.DataBlock LibreMetaverse.Packets.SetCPURatioPacket.Data`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub data: libremetaverse::packets::SetCPURatioPacketDataBlock,
    }
    impl SetCPURatioPacket {
        /// C# member: `M:LibreMetaverse.Packets.SetCPURatioPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SetCPURatioPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.SetCPURatioPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SetCPURatioPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetCPURatioPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SetCPURatioPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetCPURatioPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SetCPURatioPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.SetCPURatioPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SetCPURatioPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.SetCPURatioPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SetCPURatioPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetCPURatioPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.SetCPURatioPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetCPURatioPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.SetCPURatioPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetCPURatioPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.SetCPURatioPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.SetCPURatioPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.SetCPURatioPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetCPURatioPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.SetCPURatioPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.SetCPURatioPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.SetCPURatioPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.SetCPURatioPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.SetCPURatioPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.SetCPURatioPacket.DataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.SetCPURatioPacket.DataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct SetCPURatioPacketDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.SetCPURatioPacket.DataBlock.Ratio`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.SetCPURatioPacket.DataBlock.Ratio`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub ratio: u8,
    }
    impl SetCPURatioPacketDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.SetCPURatioPacket.DataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SetCPURatioPacket.DataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.SetCPURatioPacket.DataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SetCPURatioPacket.DataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetCPURatioPacket.DataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SetCPURatioPacket.DataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetCPURatioPacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SetCPURatioPacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetCPURatioPacket.DataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SetCPURatioPacket.DataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetCPURatioPacket.DataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.SetCPURatioPacket.DataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.SetCPURatioPacket.DataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.SetCPURatioPacket.DataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.SetFollowCamPropertiesPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.SetFollowCamPropertiesPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct SetFollowCamPropertiesPacket {
        /// C# member: `F:LibreMetaverse.Packets.SetFollowCamPropertiesPacket.CameraProperty`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SetFollowCamPropertiesPacket.CameraPropertyBlock[] LibreMetaverse.Packets.SetFollowCamPropertiesPacket.CameraProperty`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub camera_property:
            Vec<libremetaverse::packets::SetFollowCamPropertiesPacketCameraPropertyBlock>,
        /// C# member: `F:LibreMetaverse.Packets.SetFollowCamPropertiesPacket.ObjectData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SetFollowCamPropertiesPacket.ObjectDataBlock LibreMetaverse.Packets.SetFollowCamPropertiesPacket.ObjectData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_data: libremetaverse::packets::SetFollowCamPropertiesPacketObjectDataBlock,
    }
    impl SetFollowCamPropertiesPacket {
        /// C# member: `M:LibreMetaverse.Packets.SetFollowCamPropertiesPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SetFollowCamPropertiesPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.SetFollowCamPropertiesPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SetFollowCamPropertiesPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetFollowCamPropertiesPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SetFollowCamPropertiesPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetFollowCamPropertiesPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SetFollowCamPropertiesPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.SetFollowCamPropertiesPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SetFollowCamPropertiesPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.SetFollowCamPropertiesPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SetFollowCamPropertiesPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetFollowCamPropertiesPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.SetFollowCamPropertiesPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetFollowCamPropertiesPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.SetFollowCamPropertiesPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetFollowCamPropertiesPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.SetFollowCamPropertiesPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.SetFollowCamPropertiesPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.SetFollowCamPropertiesPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetFollowCamPropertiesPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.SetFollowCamPropertiesPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.SetFollowCamPropertiesPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.SetFollowCamPropertiesPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.SetFollowCamPropertiesPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.SetFollowCamPropertiesPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.SetFollowCamPropertiesPacket.CameraPropertyBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.SetFollowCamPropertiesPacket.CameraPropertyBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct SetFollowCamPropertiesPacketCameraPropertyBlock {
        /// C# member: `F:LibreMetaverse.Packets.SetFollowCamPropertiesPacket.CameraPropertyBlock.Type`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.SetFollowCamPropertiesPacket.CameraPropertyBlock.Type`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub type_: i32,
        /// C# member: `F:LibreMetaverse.Packets.SetFollowCamPropertiesPacket.CameraPropertyBlock.Value`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.SetFollowCamPropertiesPacket.CameraPropertyBlock.Value`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub value: f32,
    }
    impl SetFollowCamPropertiesPacketCameraPropertyBlock {
        /// C# member: `M:LibreMetaverse.Packets.SetFollowCamPropertiesPacket.CameraPropertyBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SetFollowCamPropertiesPacket.CameraPropertyBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.SetFollowCamPropertiesPacket.CameraPropertyBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SetFollowCamPropertiesPacket.CameraPropertyBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetFollowCamPropertiesPacket.CameraPropertyBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SetFollowCamPropertiesPacket.CameraPropertyBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetFollowCamPropertiesPacket.CameraPropertyBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SetFollowCamPropertiesPacket.CameraPropertyBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetFollowCamPropertiesPacket.CameraPropertyBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SetFollowCamPropertiesPacket.CameraPropertyBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetFollowCamPropertiesPacket.CameraPropertyBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.SetFollowCamPropertiesPacket.CameraPropertyBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.SetFollowCamPropertiesPacket.CameraPropertyBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.SetFollowCamPropertiesPacket.CameraPropertyBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.SetFollowCamPropertiesPacket.ObjectDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.SetFollowCamPropertiesPacket.ObjectDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct SetFollowCamPropertiesPacketObjectDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.SetFollowCamPropertiesPacket.ObjectDataBlock.ObjectID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.SetFollowCamPropertiesPacket.ObjectDataBlock.ObjectID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_id: libremetaverse_types::UUID,
    }
    impl SetFollowCamPropertiesPacketObjectDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.SetFollowCamPropertiesPacket.ObjectDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SetFollowCamPropertiesPacket.ObjectDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.SetFollowCamPropertiesPacket.ObjectDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SetFollowCamPropertiesPacket.ObjectDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetFollowCamPropertiesPacket.ObjectDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SetFollowCamPropertiesPacket.ObjectDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetFollowCamPropertiesPacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SetFollowCamPropertiesPacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetFollowCamPropertiesPacket.ObjectDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SetFollowCamPropertiesPacket.ObjectDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetFollowCamPropertiesPacket.ObjectDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.SetFollowCamPropertiesPacket.ObjectDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.SetFollowCamPropertiesPacket.ObjectDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.SetFollowCamPropertiesPacket.ObjectDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.SetGroupAcceptNoticesPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.SetGroupAcceptNoticesPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct SetGroupAcceptNoticesPacket {
        /// C# member: `F:LibreMetaverse.Packets.SetGroupAcceptNoticesPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SetGroupAcceptNoticesPacket.AgentDataBlock LibreMetaverse.Packets.SetGroupAcceptNoticesPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::SetGroupAcceptNoticesPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.SetGroupAcceptNoticesPacket.Data`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SetGroupAcceptNoticesPacket.DataBlock LibreMetaverse.Packets.SetGroupAcceptNoticesPacket.Data`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub data: libremetaverse::packets::SetGroupAcceptNoticesPacketDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.SetGroupAcceptNoticesPacket.NewData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SetGroupAcceptNoticesPacket.NewDataBlock LibreMetaverse.Packets.SetGroupAcceptNoticesPacket.NewData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub new_data: libremetaverse::packets::SetGroupAcceptNoticesPacketNewDataBlock,
    }
    impl SetGroupAcceptNoticesPacket {
        /// C# member: `M:LibreMetaverse.Packets.SetGroupAcceptNoticesPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SetGroupAcceptNoticesPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.SetGroupAcceptNoticesPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SetGroupAcceptNoticesPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetGroupAcceptNoticesPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SetGroupAcceptNoticesPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetGroupAcceptNoticesPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SetGroupAcceptNoticesPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.SetGroupAcceptNoticesPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SetGroupAcceptNoticesPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.SetGroupAcceptNoticesPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SetGroupAcceptNoticesPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetGroupAcceptNoticesPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.SetGroupAcceptNoticesPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetGroupAcceptNoticesPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.SetGroupAcceptNoticesPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetGroupAcceptNoticesPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.SetGroupAcceptNoticesPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.SetGroupAcceptNoticesPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.SetGroupAcceptNoticesPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetGroupAcceptNoticesPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.SetGroupAcceptNoticesPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.SetGroupAcceptNoticesPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.SetGroupAcceptNoticesPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.SetGroupAcceptNoticesPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.SetGroupAcceptNoticesPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.SetGroupAcceptNoticesPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.SetGroupAcceptNoticesPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct SetGroupAcceptNoticesPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.SetGroupAcceptNoticesPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.SetGroupAcceptNoticesPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.SetGroupAcceptNoticesPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.SetGroupAcceptNoticesPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl SetGroupAcceptNoticesPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.SetGroupAcceptNoticesPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SetGroupAcceptNoticesPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.SetGroupAcceptNoticesPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SetGroupAcceptNoticesPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetGroupAcceptNoticesPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SetGroupAcceptNoticesPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetGroupAcceptNoticesPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SetGroupAcceptNoticesPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetGroupAcceptNoticesPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SetGroupAcceptNoticesPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetGroupAcceptNoticesPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.SetGroupAcceptNoticesPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.SetGroupAcceptNoticesPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.SetGroupAcceptNoticesPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.SetGroupAcceptNoticesPacket.DataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.SetGroupAcceptNoticesPacket.DataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct SetGroupAcceptNoticesPacketDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.SetGroupAcceptNoticesPacket.DataBlock.AcceptNotices`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.SetGroupAcceptNoticesPacket.DataBlock.AcceptNotices`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub accept_notices: bool,
        /// C# member: `F:LibreMetaverse.Packets.SetGroupAcceptNoticesPacket.DataBlock.GroupID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.SetGroupAcceptNoticesPacket.DataBlock.GroupID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_id: libremetaverse_types::UUID,
    }
    impl SetGroupAcceptNoticesPacketDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.SetGroupAcceptNoticesPacket.DataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SetGroupAcceptNoticesPacket.DataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.SetGroupAcceptNoticesPacket.DataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SetGroupAcceptNoticesPacket.DataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetGroupAcceptNoticesPacket.DataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SetGroupAcceptNoticesPacket.DataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetGroupAcceptNoticesPacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SetGroupAcceptNoticesPacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetGroupAcceptNoticesPacket.DataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SetGroupAcceptNoticesPacket.DataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetGroupAcceptNoticesPacket.DataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.SetGroupAcceptNoticesPacket.DataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.SetGroupAcceptNoticesPacket.DataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.SetGroupAcceptNoticesPacket.DataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.SetGroupAcceptNoticesPacket.NewDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.SetGroupAcceptNoticesPacket.NewDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct SetGroupAcceptNoticesPacketNewDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.SetGroupAcceptNoticesPacket.NewDataBlock.ListInProfile`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.SetGroupAcceptNoticesPacket.NewDataBlock.ListInProfile`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub list_in_profile: bool,
    }
    impl SetGroupAcceptNoticesPacketNewDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.SetGroupAcceptNoticesPacket.NewDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SetGroupAcceptNoticesPacket.NewDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.SetGroupAcceptNoticesPacket.NewDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SetGroupAcceptNoticesPacket.NewDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetGroupAcceptNoticesPacket.NewDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SetGroupAcceptNoticesPacket.NewDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetGroupAcceptNoticesPacket.NewDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SetGroupAcceptNoticesPacket.NewDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetGroupAcceptNoticesPacket.NewDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SetGroupAcceptNoticesPacket.NewDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetGroupAcceptNoticesPacket.NewDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.SetGroupAcceptNoticesPacket.NewDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.SetGroupAcceptNoticesPacket.NewDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.SetGroupAcceptNoticesPacket.NewDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.SetGroupContributionPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.SetGroupContributionPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct SetGroupContributionPacket {
        /// C# member: `F:LibreMetaverse.Packets.SetGroupContributionPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SetGroupContributionPacket.AgentDataBlock LibreMetaverse.Packets.SetGroupContributionPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::SetGroupContributionPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.SetGroupContributionPacket.Data`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SetGroupContributionPacket.DataBlock LibreMetaverse.Packets.SetGroupContributionPacket.Data`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub data: libremetaverse::packets::SetGroupContributionPacketDataBlock,
    }
    impl SetGroupContributionPacket {
        /// C# member: `M:LibreMetaverse.Packets.SetGroupContributionPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SetGroupContributionPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.SetGroupContributionPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SetGroupContributionPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetGroupContributionPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SetGroupContributionPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetGroupContributionPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SetGroupContributionPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.SetGroupContributionPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SetGroupContributionPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.SetGroupContributionPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SetGroupContributionPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetGroupContributionPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.SetGroupContributionPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetGroupContributionPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.SetGroupContributionPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetGroupContributionPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.SetGroupContributionPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.SetGroupContributionPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.SetGroupContributionPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetGroupContributionPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.SetGroupContributionPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.SetGroupContributionPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.SetGroupContributionPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.SetGroupContributionPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.SetGroupContributionPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.SetGroupContributionPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.SetGroupContributionPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct SetGroupContributionPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.SetGroupContributionPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.SetGroupContributionPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.SetGroupContributionPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.SetGroupContributionPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl SetGroupContributionPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.SetGroupContributionPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SetGroupContributionPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.SetGroupContributionPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SetGroupContributionPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetGroupContributionPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SetGroupContributionPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetGroupContributionPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SetGroupContributionPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetGroupContributionPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SetGroupContributionPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetGroupContributionPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.SetGroupContributionPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.SetGroupContributionPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.SetGroupContributionPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.SetGroupContributionPacket.DataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.SetGroupContributionPacket.DataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct SetGroupContributionPacketDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.SetGroupContributionPacket.DataBlock.Contribution`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.SetGroupContributionPacket.DataBlock.Contribution`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub contribution: i32,
        /// C# member: `F:LibreMetaverse.Packets.SetGroupContributionPacket.DataBlock.GroupID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.SetGroupContributionPacket.DataBlock.GroupID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_id: libremetaverse_types::UUID,
    }
    impl SetGroupContributionPacketDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.SetGroupContributionPacket.DataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SetGroupContributionPacket.DataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.SetGroupContributionPacket.DataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SetGroupContributionPacket.DataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetGroupContributionPacket.DataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SetGroupContributionPacket.DataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetGroupContributionPacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SetGroupContributionPacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetGroupContributionPacket.DataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SetGroupContributionPacket.DataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetGroupContributionPacket.DataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.SetGroupContributionPacket.DataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.SetGroupContributionPacket.DataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.SetGroupContributionPacket.DataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.SetScriptRunningPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.SetScriptRunningPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct SetScriptRunningPacket {
        /// C# member: `F:LibreMetaverse.Packets.SetScriptRunningPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SetScriptRunningPacket.AgentDataBlock LibreMetaverse.Packets.SetScriptRunningPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::SetScriptRunningPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.SetScriptRunningPacket.Script`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SetScriptRunningPacket.ScriptBlock LibreMetaverse.Packets.SetScriptRunningPacket.Script`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub script: libremetaverse::packets::SetScriptRunningPacketScriptBlock,
    }
    impl SetScriptRunningPacket {
        /// C# member: `M:LibreMetaverse.Packets.SetScriptRunningPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SetScriptRunningPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.SetScriptRunningPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SetScriptRunningPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetScriptRunningPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SetScriptRunningPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetScriptRunningPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SetScriptRunningPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.SetScriptRunningPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SetScriptRunningPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.SetScriptRunningPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SetScriptRunningPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetScriptRunningPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.SetScriptRunningPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetScriptRunningPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.SetScriptRunningPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetScriptRunningPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.SetScriptRunningPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.SetScriptRunningPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.SetScriptRunningPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetScriptRunningPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.SetScriptRunningPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.SetScriptRunningPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.SetScriptRunningPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.SetScriptRunningPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.SetScriptRunningPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.SetScriptRunningPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.SetScriptRunningPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct SetScriptRunningPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.SetScriptRunningPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.SetScriptRunningPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.SetScriptRunningPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.SetScriptRunningPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl SetScriptRunningPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.SetScriptRunningPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SetScriptRunningPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.SetScriptRunningPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SetScriptRunningPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetScriptRunningPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SetScriptRunningPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetScriptRunningPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SetScriptRunningPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetScriptRunningPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SetScriptRunningPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetScriptRunningPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.SetScriptRunningPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.SetScriptRunningPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.SetScriptRunningPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.SetScriptRunningPacket.ScriptBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.SetScriptRunningPacket.ScriptBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct SetScriptRunningPacketScriptBlock {
        /// C# member: `F:LibreMetaverse.Packets.SetScriptRunningPacket.ScriptBlock.ItemID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.SetScriptRunningPacket.ScriptBlock.ItemID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub item_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.SetScriptRunningPacket.ScriptBlock.ObjectID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.SetScriptRunningPacket.ScriptBlock.ObjectID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.SetScriptRunningPacket.ScriptBlock.Running`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.SetScriptRunningPacket.ScriptBlock.Running`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub running: bool,
    }
    impl SetScriptRunningPacketScriptBlock {
        /// C# member: `M:LibreMetaverse.Packets.SetScriptRunningPacket.ScriptBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SetScriptRunningPacket.ScriptBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.SetScriptRunningPacket.ScriptBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SetScriptRunningPacket.ScriptBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetScriptRunningPacket.ScriptBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SetScriptRunningPacket.ScriptBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetScriptRunningPacket.ScriptBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SetScriptRunningPacket.ScriptBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetScriptRunningPacket.ScriptBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SetScriptRunningPacket.ScriptBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetScriptRunningPacket.ScriptBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.SetScriptRunningPacket.ScriptBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.SetScriptRunningPacket.ScriptBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.SetScriptRunningPacket.ScriptBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.SetSimPresenceInDatabasePacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.SetSimPresenceInDatabasePacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct SetSimPresenceInDatabasePacket {
        /// C# member: `F:LibreMetaverse.Packets.SetSimPresenceInDatabasePacket.SimData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SetSimPresenceInDatabasePacket.SimDataBlock LibreMetaverse.Packets.SetSimPresenceInDatabasePacket.SimData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub sim_data: libremetaverse::packets::SetSimPresenceInDatabasePacketSimDataBlock,
    }
    impl SetSimPresenceInDatabasePacket {
        /// C# member: `M:LibreMetaverse.Packets.SetSimPresenceInDatabasePacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SetSimPresenceInDatabasePacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.SetSimPresenceInDatabasePacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SetSimPresenceInDatabasePacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetSimPresenceInDatabasePacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SetSimPresenceInDatabasePacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetSimPresenceInDatabasePacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SetSimPresenceInDatabasePacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.SetSimPresenceInDatabasePacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SetSimPresenceInDatabasePacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.SetSimPresenceInDatabasePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SetSimPresenceInDatabasePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetSimPresenceInDatabasePacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.SetSimPresenceInDatabasePacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetSimPresenceInDatabasePacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.SetSimPresenceInDatabasePacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetSimPresenceInDatabasePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.SetSimPresenceInDatabasePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.SetSimPresenceInDatabasePacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.SetSimPresenceInDatabasePacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetSimPresenceInDatabasePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.SetSimPresenceInDatabasePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.SetSimPresenceInDatabasePacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.SetSimPresenceInDatabasePacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.SetSimPresenceInDatabasePacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.SetSimPresenceInDatabasePacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.SetSimPresenceInDatabasePacket.SimDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.SetSimPresenceInDatabasePacket.SimDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct SetSimPresenceInDatabasePacketSimDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.SetSimPresenceInDatabasePacket.SimDataBlock.AgentCount`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.SetSimPresenceInDatabasePacket.SimDataBlock.AgentCount`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_count: i32,
        /// C# member: `F:LibreMetaverse.Packets.SetSimPresenceInDatabasePacket.SimDataBlock.GridX`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.SetSimPresenceInDatabasePacket.SimDataBlock.GridX`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub grid_x: u32,
        /// C# member: `F:LibreMetaverse.Packets.SetSimPresenceInDatabasePacket.SimDataBlock.GridY`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.SetSimPresenceInDatabasePacket.SimDataBlock.GridY`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub grid_y: u32,
        /// C# member: `F:LibreMetaverse.Packets.SetSimPresenceInDatabasePacket.SimDataBlock.HostName`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.SetSimPresenceInDatabasePacket.SimDataBlock.HostName`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub host_name: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.SetSimPresenceInDatabasePacket.SimDataBlock.PID`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.SetSimPresenceInDatabasePacket.SimDataBlock.PID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub pid: i32,
        /// C# member: `F:LibreMetaverse.Packets.SetSimPresenceInDatabasePacket.SimDataBlock.RegionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.SetSimPresenceInDatabasePacket.SimDataBlock.RegionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub region_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.SetSimPresenceInDatabasePacket.SimDataBlock.Status`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.SetSimPresenceInDatabasePacket.SimDataBlock.Status`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub status: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.SetSimPresenceInDatabasePacket.SimDataBlock.TimeToLive`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.SetSimPresenceInDatabasePacket.SimDataBlock.TimeToLive`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub time_to_live: i32,
    }
    impl SetSimPresenceInDatabasePacketSimDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.SetSimPresenceInDatabasePacket.SimDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SetSimPresenceInDatabasePacket.SimDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.SetSimPresenceInDatabasePacket.SimDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SetSimPresenceInDatabasePacket.SimDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetSimPresenceInDatabasePacket.SimDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SetSimPresenceInDatabasePacket.SimDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetSimPresenceInDatabasePacket.SimDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SetSimPresenceInDatabasePacket.SimDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetSimPresenceInDatabasePacket.SimDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SetSimPresenceInDatabasePacket.SimDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetSimPresenceInDatabasePacket.SimDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.SetSimPresenceInDatabasePacket.SimDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.SetSimPresenceInDatabasePacket.SimDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.SetSimPresenceInDatabasePacket.SimDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.SetSimStatusInDatabasePacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.SetSimStatusInDatabasePacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct SetSimStatusInDatabasePacket {
        /// C# member: `F:LibreMetaverse.Packets.SetSimStatusInDatabasePacket.Data`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SetSimStatusInDatabasePacket.DataBlock LibreMetaverse.Packets.SetSimStatusInDatabasePacket.Data`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub data: libremetaverse::packets::SetSimStatusInDatabasePacketDataBlock,
    }
    impl SetSimStatusInDatabasePacket {
        /// C# member: `M:LibreMetaverse.Packets.SetSimStatusInDatabasePacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SetSimStatusInDatabasePacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.SetSimStatusInDatabasePacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SetSimStatusInDatabasePacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetSimStatusInDatabasePacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SetSimStatusInDatabasePacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetSimStatusInDatabasePacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SetSimStatusInDatabasePacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.SetSimStatusInDatabasePacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SetSimStatusInDatabasePacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.SetSimStatusInDatabasePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SetSimStatusInDatabasePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetSimStatusInDatabasePacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.SetSimStatusInDatabasePacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetSimStatusInDatabasePacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.SetSimStatusInDatabasePacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetSimStatusInDatabasePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.SetSimStatusInDatabasePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.SetSimStatusInDatabasePacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.SetSimStatusInDatabasePacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetSimStatusInDatabasePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.SetSimStatusInDatabasePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.SetSimStatusInDatabasePacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.SetSimStatusInDatabasePacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.SetSimStatusInDatabasePacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.SetSimStatusInDatabasePacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.SetSimStatusInDatabasePacket.DataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.SetSimStatusInDatabasePacket.DataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct SetSimStatusInDatabasePacketDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.SetSimStatusInDatabasePacket.DataBlock.AgentCount`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.SetSimStatusInDatabasePacket.DataBlock.AgentCount`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_count: i32,
        /// C# member: `F:LibreMetaverse.Packets.SetSimStatusInDatabasePacket.DataBlock.HostName`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.SetSimStatusInDatabasePacket.DataBlock.HostName`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub host_name: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.SetSimStatusInDatabasePacket.DataBlock.PID`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.SetSimStatusInDatabasePacket.DataBlock.PID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub pid: i32,
        /// C# member: `F:LibreMetaverse.Packets.SetSimStatusInDatabasePacket.DataBlock.RegionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.SetSimStatusInDatabasePacket.DataBlock.RegionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub region_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.SetSimStatusInDatabasePacket.DataBlock.Status`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.SetSimStatusInDatabasePacket.DataBlock.Status`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub status: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.SetSimStatusInDatabasePacket.DataBlock.TimeToLive`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.SetSimStatusInDatabasePacket.DataBlock.TimeToLive`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub time_to_live: i32,
        /// C# member: `F:LibreMetaverse.Packets.SetSimStatusInDatabasePacket.DataBlock.X`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.SetSimStatusInDatabasePacket.DataBlock.X`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub x: i32,
        /// C# member: `F:LibreMetaverse.Packets.SetSimStatusInDatabasePacket.DataBlock.Y`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.SetSimStatusInDatabasePacket.DataBlock.Y`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub y: i32,
    }
    impl SetSimStatusInDatabasePacketDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.SetSimStatusInDatabasePacket.DataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SetSimStatusInDatabasePacket.DataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.SetSimStatusInDatabasePacket.DataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SetSimStatusInDatabasePacket.DataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetSimStatusInDatabasePacket.DataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SetSimStatusInDatabasePacket.DataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetSimStatusInDatabasePacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SetSimStatusInDatabasePacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetSimStatusInDatabasePacket.DataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SetSimStatusInDatabasePacket.DataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetSimStatusInDatabasePacket.DataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.SetSimStatusInDatabasePacket.DataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.SetSimStatusInDatabasePacket.DataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.SetSimStatusInDatabasePacket.DataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.SetStartLocationPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.SetStartLocationPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct SetStartLocationPacket {
        /// C# member: `F:LibreMetaverse.Packets.SetStartLocationPacket.StartLocationData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SetStartLocationPacket.StartLocationDataBlock LibreMetaverse.Packets.SetStartLocationPacket.StartLocationData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub start_location_data:
            libremetaverse::packets::SetStartLocationPacketStartLocationDataBlock,
    }
    impl SetStartLocationPacket {
        /// C# member: `M:LibreMetaverse.Packets.SetStartLocationPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SetStartLocationPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.SetStartLocationPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SetStartLocationPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetStartLocationPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SetStartLocationPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetStartLocationPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SetStartLocationPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.SetStartLocationPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SetStartLocationPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.SetStartLocationPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SetStartLocationPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetStartLocationPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.SetStartLocationPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetStartLocationPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.SetStartLocationPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetStartLocationPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.SetStartLocationPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.SetStartLocationPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.SetStartLocationPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetStartLocationPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.SetStartLocationPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.SetStartLocationPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.SetStartLocationPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.SetStartLocationPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.SetStartLocationPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.SetStartLocationPacket.StartLocationDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.SetStartLocationPacket.StartLocationDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct SetStartLocationPacketStartLocationDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.SetStartLocationPacket.StartLocationDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.SetStartLocationPacket.StartLocationDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.SetStartLocationPacket.StartLocationDataBlock.LocationID`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.SetStartLocationPacket.StartLocationDataBlock.LocationID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub location_id: u32,
        /// C# member: `F:LibreMetaverse.Packets.SetStartLocationPacket.StartLocationDataBlock.LocationLookAt`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Packets.SetStartLocationPacket.StartLocationDataBlock.LocationLookAt`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub location_look_at: libremetaverse_types::Vector3,
        /// C# member: `F:LibreMetaverse.Packets.SetStartLocationPacket.StartLocationDataBlock.LocationPos`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Packets.SetStartLocationPacket.StartLocationDataBlock.LocationPos`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub location_pos: libremetaverse_types::Vector3,
        /// C# member: `F:LibreMetaverse.Packets.SetStartLocationPacket.StartLocationDataBlock.RegionHandle`.
        ///
        /// C# signature: `System.UInt64 LibreMetaverse.Packets.SetStartLocationPacket.StartLocationDataBlock.RegionHandle`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub region_handle: u64,
        /// C# member: `F:LibreMetaverse.Packets.SetStartLocationPacket.StartLocationDataBlock.RegionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.SetStartLocationPacket.StartLocationDataBlock.RegionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub region_id: libremetaverse_types::UUID,
    }
    impl SetStartLocationPacketStartLocationDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.SetStartLocationPacket.StartLocationDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SetStartLocationPacket.StartLocationDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.SetStartLocationPacket.StartLocationDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SetStartLocationPacket.StartLocationDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetStartLocationPacket.StartLocationDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SetStartLocationPacket.StartLocationDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetStartLocationPacket.StartLocationDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SetStartLocationPacket.StartLocationDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetStartLocationPacket.StartLocationDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SetStartLocationPacket.StartLocationDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetStartLocationPacket.StartLocationDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.SetStartLocationPacket.StartLocationDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.SetStartLocationPacket.StartLocationDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.SetStartLocationPacket.StartLocationDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.SetStartLocationRequestPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.SetStartLocationRequestPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct SetStartLocationRequestPacket {
        /// C# member: `F:LibreMetaverse.Packets.SetStartLocationRequestPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SetStartLocationRequestPacket.AgentDataBlock LibreMetaverse.Packets.SetStartLocationRequestPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::SetStartLocationRequestPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.SetStartLocationRequestPacket.StartLocationData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SetStartLocationRequestPacket.StartLocationDataBlock LibreMetaverse.Packets.SetStartLocationRequestPacket.StartLocationData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub start_location_data:
            libremetaverse::packets::SetStartLocationRequestPacketStartLocationDataBlock,
    }
    impl SetStartLocationRequestPacket {
        /// C# member: `M:LibreMetaverse.Packets.SetStartLocationRequestPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SetStartLocationRequestPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.SetStartLocationRequestPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SetStartLocationRequestPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetStartLocationRequestPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SetStartLocationRequestPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetStartLocationRequestPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SetStartLocationRequestPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.SetStartLocationRequestPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SetStartLocationRequestPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.SetStartLocationRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SetStartLocationRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetStartLocationRequestPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.SetStartLocationRequestPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetStartLocationRequestPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.SetStartLocationRequestPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetStartLocationRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.SetStartLocationRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.SetStartLocationRequestPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.SetStartLocationRequestPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetStartLocationRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.SetStartLocationRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.SetStartLocationRequestPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.SetStartLocationRequestPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.SetStartLocationRequestPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.SetStartLocationRequestPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.SetStartLocationRequestPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.SetStartLocationRequestPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct SetStartLocationRequestPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.SetStartLocationRequestPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.SetStartLocationRequestPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.SetStartLocationRequestPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.SetStartLocationRequestPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl SetStartLocationRequestPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.SetStartLocationRequestPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SetStartLocationRequestPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.SetStartLocationRequestPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SetStartLocationRequestPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetStartLocationRequestPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SetStartLocationRequestPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetStartLocationRequestPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SetStartLocationRequestPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetStartLocationRequestPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SetStartLocationRequestPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetStartLocationRequestPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.SetStartLocationRequestPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.SetStartLocationRequestPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.SetStartLocationRequestPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.SetStartLocationRequestPacket.StartLocationDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.SetStartLocationRequestPacket.StartLocationDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct SetStartLocationRequestPacketStartLocationDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.SetStartLocationRequestPacket.StartLocationDataBlock.LocationID`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.SetStartLocationRequestPacket.StartLocationDataBlock.LocationID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub location_id: u32,
        /// C# member: `F:LibreMetaverse.Packets.SetStartLocationRequestPacket.StartLocationDataBlock.LocationLookAt`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Packets.SetStartLocationRequestPacket.StartLocationDataBlock.LocationLookAt`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub location_look_at: libremetaverse_types::Vector3,
        /// C# member: `F:LibreMetaverse.Packets.SetStartLocationRequestPacket.StartLocationDataBlock.LocationPos`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Packets.SetStartLocationRequestPacket.StartLocationDataBlock.LocationPos`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub location_pos: libremetaverse_types::Vector3,
        /// C# member: `F:LibreMetaverse.Packets.SetStartLocationRequestPacket.StartLocationDataBlock.SimName`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.SetStartLocationRequestPacket.StartLocationDataBlock.SimName`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub sim_name: Vec<u8>,
    }
    impl SetStartLocationRequestPacketStartLocationDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.SetStartLocationRequestPacket.StartLocationDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SetStartLocationRequestPacket.StartLocationDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.SetStartLocationRequestPacket.StartLocationDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SetStartLocationRequestPacket.StartLocationDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetStartLocationRequestPacket.StartLocationDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SetStartLocationRequestPacket.StartLocationDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetStartLocationRequestPacket.StartLocationDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SetStartLocationRequestPacket.StartLocationDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetStartLocationRequestPacket.StartLocationDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SetStartLocationRequestPacket.StartLocationDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SetStartLocationRequestPacket.StartLocationDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.SetStartLocationRequestPacket.StartLocationDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.SetStartLocationRequestPacket.StartLocationDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.SetStartLocationRequestPacket.StartLocationDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.SimCrashedPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.SimCrashedPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct SimCrashedPacket {
        /// C# member: `F:LibreMetaverse.Packets.SimCrashedPacket.Data`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SimCrashedPacket.DataBlock LibreMetaverse.Packets.SimCrashedPacket.Data`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub data: libremetaverse::packets::SimCrashedPacketDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.SimCrashedPacket.Users`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SimCrashedPacket.UsersBlock[] LibreMetaverse.Packets.SimCrashedPacket.Users`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub users: Vec<libremetaverse::packets::SimCrashedPacketUsersBlock>,
    }
    impl SimCrashedPacket {
        /// C# member: `M:LibreMetaverse.Packets.SimCrashedPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SimCrashedPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.SimCrashedPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SimCrashedPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimCrashedPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SimCrashedPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimCrashedPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SimCrashedPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.SimCrashedPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SimCrashedPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.SimCrashedPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SimCrashedPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimCrashedPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.SimCrashedPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimCrashedPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.SimCrashedPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimCrashedPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.SimCrashedPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.SimCrashedPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.SimCrashedPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimCrashedPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.SimCrashedPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.SimCrashedPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.SimCrashedPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.SimCrashedPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.SimCrashedPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.SimCrashedPacket.DataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.SimCrashedPacket.DataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct SimCrashedPacketDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.SimCrashedPacket.DataBlock.RegionX`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.SimCrashedPacket.DataBlock.RegionX`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub region_x: u32,
        /// C# member: `F:LibreMetaverse.Packets.SimCrashedPacket.DataBlock.RegionY`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.SimCrashedPacket.DataBlock.RegionY`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub region_y: u32,
    }
    impl SimCrashedPacketDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.SimCrashedPacket.DataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SimCrashedPacket.DataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.SimCrashedPacket.DataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SimCrashedPacket.DataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimCrashedPacket.DataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SimCrashedPacket.DataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimCrashedPacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SimCrashedPacket.DataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimCrashedPacket.DataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SimCrashedPacket.DataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimCrashedPacket.DataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.SimCrashedPacket.DataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.SimCrashedPacket.DataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.SimCrashedPacket.DataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.SimCrashedPacket.UsersBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.SimCrashedPacket.UsersBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct SimCrashedPacketUsersBlock {
        /// C# member: `F:LibreMetaverse.Packets.SimCrashedPacket.UsersBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.SimCrashedPacket.UsersBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
    }
    impl SimCrashedPacketUsersBlock {
        /// C# member: `M:LibreMetaverse.Packets.SimCrashedPacket.UsersBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SimCrashedPacket.UsersBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.SimCrashedPacket.UsersBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SimCrashedPacket.UsersBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimCrashedPacket.UsersBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SimCrashedPacket.UsersBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimCrashedPacket.UsersBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SimCrashedPacket.UsersBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimCrashedPacket.UsersBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SimCrashedPacket.UsersBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimCrashedPacket.UsersBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.SimCrashedPacket.UsersBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.SimCrashedPacket.UsersBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.SimCrashedPacket.UsersBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.SimStatsPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.SimStatsPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct SimStatsPacket {
        /// C# member: `F:LibreMetaverse.Packets.SimStatsPacket.PidStat`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SimStatsPacket.PidStatBlock LibreMetaverse.Packets.SimStatsPacket.PidStat`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub pid_stat: libremetaverse::packets::SimStatsPacketPidStatBlock,
        /// C# member: `F:LibreMetaverse.Packets.SimStatsPacket.Region`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SimStatsPacket.RegionBlock LibreMetaverse.Packets.SimStatsPacket.Region`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub region: libremetaverse::packets::SimStatsPacketRegionBlock,
        /// C# member: `F:LibreMetaverse.Packets.SimStatsPacket.RegionInfo`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SimStatsPacket.RegionInfoBlock[] LibreMetaverse.Packets.SimStatsPacket.RegionInfo`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub region_info: Vec<libremetaverse::packets::SimStatsPacketRegionInfoBlock>,
        /// C# member: `F:LibreMetaverse.Packets.SimStatsPacket.Stat`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SimStatsPacket.StatBlock[] LibreMetaverse.Packets.SimStatsPacket.Stat`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub stat: Vec<libremetaverse::packets::SimStatsPacketStatBlock>,
    }
    impl SimStatsPacket {
        /// C# member: `M:LibreMetaverse.Packets.SimStatsPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SimStatsPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.SimStatsPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SimStatsPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimStatsPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SimStatsPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimStatsPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SimStatsPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.SimStatsPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SimStatsPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.SimStatsPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SimStatsPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimStatsPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.SimStatsPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimStatsPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.SimStatsPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimStatsPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.SimStatsPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.SimStatsPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.SimStatsPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimStatsPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.SimStatsPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.SimStatsPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.SimStatsPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.SimStatsPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.SimStatsPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.SimStatsPacket.PidStatBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.SimStatsPacket.PidStatBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct SimStatsPacketPidStatBlock {
        /// C# member: `F:LibreMetaverse.Packets.SimStatsPacket.PidStatBlock.PID`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.SimStatsPacket.PidStatBlock.PID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub pid: i32,
    }
    impl SimStatsPacketPidStatBlock {
        /// C# member: `M:LibreMetaverse.Packets.SimStatsPacket.PidStatBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SimStatsPacket.PidStatBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.SimStatsPacket.PidStatBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SimStatsPacket.PidStatBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimStatsPacket.PidStatBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SimStatsPacket.PidStatBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimStatsPacket.PidStatBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SimStatsPacket.PidStatBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimStatsPacket.PidStatBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SimStatsPacket.PidStatBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimStatsPacket.PidStatBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.SimStatsPacket.PidStatBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.SimStatsPacket.PidStatBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.SimStatsPacket.PidStatBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.SimStatsPacket.RegionBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.SimStatsPacket.RegionBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct SimStatsPacketRegionBlock {
        /// C# member: `F:LibreMetaverse.Packets.SimStatsPacket.RegionBlock.ObjectCapacity`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.SimStatsPacket.RegionBlock.ObjectCapacity`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_capacity: u32,
        /// C# member: `F:LibreMetaverse.Packets.SimStatsPacket.RegionBlock.RegionFlags`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.SimStatsPacket.RegionBlock.RegionFlags`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub region_flags: u32,
        /// C# member: `F:LibreMetaverse.Packets.SimStatsPacket.RegionBlock.RegionX`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.SimStatsPacket.RegionBlock.RegionX`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub region_x: u32,
        /// C# member: `F:LibreMetaverse.Packets.SimStatsPacket.RegionBlock.RegionY`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.SimStatsPacket.RegionBlock.RegionY`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub region_y: u32,
    }
    impl SimStatsPacketRegionBlock {
        /// C# member: `M:LibreMetaverse.Packets.SimStatsPacket.RegionBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SimStatsPacket.RegionBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.SimStatsPacket.RegionBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SimStatsPacket.RegionBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimStatsPacket.RegionBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SimStatsPacket.RegionBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimStatsPacket.RegionBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SimStatsPacket.RegionBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimStatsPacket.RegionBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SimStatsPacket.RegionBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimStatsPacket.RegionBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.SimStatsPacket.RegionBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.SimStatsPacket.RegionBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.SimStatsPacket.RegionBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.SimStatsPacket.RegionInfoBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.SimStatsPacket.RegionInfoBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct SimStatsPacketRegionInfoBlock {
        /// C# member: `F:LibreMetaverse.Packets.SimStatsPacket.RegionInfoBlock.RegionFlagsExtended`.
        ///
        /// C# signature: `System.UInt64 LibreMetaverse.Packets.SimStatsPacket.RegionInfoBlock.RegionFlagsExtended`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub region_flags_extended: u64,
    }
    impl SimStatsPacketRegionInfoBlock {
        /// C# member: `M:LibreMetaverse.Packets.SimStatsPacket.RegionInfoBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SimStatsPacket.RegionInfoBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.SimStatsPacket.RegionInfoBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SimStatsPacket.RegionInfoBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimStatsPacket.RegionInfoBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SimStatsPacket.RegionInfoBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimStatsPacket.RegionInfoBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SimStatsPacket.RegionInfoBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimStatsPacket.RegionInfoBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SimStatsPacket.RegionInfoBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimStatsPacket.RegionInfoBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.SimStatsPacket.RegionInfoBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.SimStatsPacket.RegionInfoBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.SimStatsPacket.RegionInfoBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.SimStatsPacket.StatBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.SimStatsPacket.StatBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct SimStatsPacketStatBlock {
        /// C# member: `F:LibreMetaverse.Packets.SimStatsPacket.StatBlock.StatID`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.SimStatsPacket.StatBlock.StatID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub stat_id: u32,
        /// C# member: `F:LibreMetaverse.Packets.SimStatsPacket.StatBlock.StatValue`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.SimStatsPacket.StatBlock.StatValue`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub stat_value: f32,
    }
    impl SimStatsPacketStatBlock {
        /// C# member: `M:LibreMetaverse.Packets.SimStatsPacket.StatBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SimStatsPacket.StatBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.SimStatsPacket.StatBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SimStatsPacket.StatBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimStatsPacket.StatBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SimStatsPacket.StatBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimStatsPacket.StatBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SimStatsPacket.StatBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimStatsPacket.StatBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SimStatsPacket.StatBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimStatsPacket.StatBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.SimStatsPacket.StatBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.SimStatsPacket.StatBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.SimStatsPacket.StatBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.SimStatusPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.SimStatusPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct SimStatusPacket {
        /// C# member: `F:LibreMetaverse.Packets.SimStatusPacket.SimFlags`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SimStatusPacket.SimFlagsBlock LibreMetaverse.Packets.SimStatusPacket.SimFlags`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub sim_flags: libremetaverse::packets::SimStatusPacketSimFlagsBlock,
        /// C# member: `F:LibreMetaverse.Packets.SimStatusPacket.SimStatus`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SimStatusPacket.SimStatusBlock LibreMetaverse.Packets.SimStatusPacket.SimStatus`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub sim_status: libremetaverse::packets::SimStatusPacketSimStatusBlock,
    }
    impl SimStatusPacket {
        /// C# member: `M:LibreMetaverse.Packets.SimStatusPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SimStatusPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.SimStatusPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SimStatusPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimStatusPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SimStatusPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimStatusPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SimStatusPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.SimStatusPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SimStatusPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.SimStatusPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SimStatusPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimStatusPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.SimStatusPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimStatusPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.SimStatusPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimStatusPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.SimStatusPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.SimStatusPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.SimStatusPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimStatusPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.SimStatusPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.SimStatusPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.SimStatusPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.SimStatusPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.SimStatusPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.SimStatusPacket.SimFlagsBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.SimStatusPacket.SimFlagsBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct SimStatusPacketSimFlagsBlock {
        /// C# member: `F:LibreMetaverse.Packets.SimStatusPacket.SimFlagsBlock.Flags`.
        ///
        /// C# signature: `System.UInt64 LibreMetaverse.Packets.SimStatusPacket.SimFlagsBlock.Flags`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub flags: u64,
    }
    impl SimStatusPacketSimFlagsBlock {
        /// C# member: `M:LibreMetaverse.Packets.SimStatusPacket.SimFlagsBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SimStatusPacket.SimFlagsBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.SimStatusPacket.SimFlagsBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SimStatusPacket.SimFlagsBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimStatusPacket.SimFlagsBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SimStatusPacket.SimFlagsBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimStatusPacket.SimFlagsBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SimStatusPacket.SimFlagsBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimStatusPacket.SimFlagsBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SimStatusPacket.SimFlagsBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimStatusPacket.SimFlagsBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.SimStatusPacket.SimFlagsBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.SimStatusPacket.SimFlagsBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.SimStatusPacket.SimFlagsBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.SimStatusPacket.SimStatusBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.SimStatusPacket.SimStatusBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct SimStatusPacketSimStatusBlock {
        /// C# member: `F:LibreMetaverse.Packets.SimStatusPacket.SimStatusBlock.CanAcceptAgents`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.SimStatusPacket.SimStatusBlock.CanAcceptAgents`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub can_accept_agents: bool,
        /// C# member: `F:LibreMetaverse.Packets.SimStatusPacket.SimStatusBlock.CanAcceptTasks`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.SimStatusPacket.SimStatusBlock.CanAcceptTasks`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub can_accept_tasks: bool,
    }
    impl SimStatusPacketSimStatusBlock {
        /// C# member: `M:LibreMetaverse.Packets.SimStatusPacket.SimStatusBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SimStatusPacket.SimStatusBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.SimStatusPacket.SimStatusBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SimStatusPacket.SimStatusBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimStatusPacket.SimStatusBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SimStatusPacket.SimStatusBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimStatusPacket.SimStatusBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SimStatusPacket.SimStatusBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimStatusPacket.SimStatusBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SimStatusPacket.SimStatusBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimStatusPacket.SimStatusBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.SimStatusPacket.SimStatusBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.SimStatusPacket.SimStatusBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.SimStatusPacket.SimStatusBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.SimWideDeletesPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.SimWideDeletesPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct SimWideDeletesPacket {
        /// C# member: `F:LibreMetaverse.Packets.SimWideDeletesPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SimWideDeletesPacket.AgentDataBlock LibreMetaverse.Packets.SimWideDeletesPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::SimWideDeletesPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.SimWideDeletesPacket.DataBlock`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SimWideDeletesPacket.DataBlockBlock LibreMetaverse.Packets.SimWideDeletesPacket.DataBlock`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub data_block: libremetaverse::packets::SimWideDeletesPacketDataBlockBlock,
    }
    impl SimWideDeletesPacket {
        /// C# member: `M:LibreMetaverse.Packets.SimWideDeletesPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SimWideDeletesPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.SimWideDeletesPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SimWideDeletesPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimWideDeletesPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SimWideDeletesPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimWideDeletesPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SimWideDeletesPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.SimWideDeletesPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SimWideDeletesPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.SimWideDeletesPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SimWideDeletesPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimWideDeletesPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.SimWideDeletesPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimWideDeletesPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.SimWideDeletesPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimWideDeletesPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.SimWideDeletesPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.SimWideDeletesPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.SimWideDeletesPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimWideDeletesPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.SimWideDeletesPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.SimWideDeletesPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.SimWideDeletesPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.SimWideDeletesPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.SimWideDeletesPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.SimWideDeletesPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.SimWideDeletesPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct SimWideDeletesPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.SimWideDeletesPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.SimWideDeletesPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.SimWideDeletesPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.SimWideDeletesPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl SimWideDeletesPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.SimWideDeletesPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SimWideDeletesPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.SimWideDeletesPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SimWideDeletesPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimWideDeletesPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SimWideDeletesPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimWideDeletesPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SimWideDeletesPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimWideDeletesPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SimWideDeletesPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimWideDeletesPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.SimWideDeletesPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.SimWideDeletesPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.SimWideDeletesPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.SimWideDeletesPacket.DataBlockBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.SimWideDeletesPacket.DataBlockBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct SimWideDeletesPacketDataBlockBlock {
        /// C# member: `F:LibreMetaverse.Packets.SimWideDeletesPacket.DataBlockBlock.Flags`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.SimWideDeletesPacket.DataBlockBlock.Flags`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub flags: u32,
        /// C# member: `F:LibreMetaverse.Packets.SimWideDeletesPacket.DataBlockBlock.TargetID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.SimWideDeletesPacket.DataBlockBlock.TargetID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub target_id: libremetaverse_types::UUID,
    }
    impl SimWideDeletesPacketDataBlockBlock {
        /// C# member: `M:LibreMetaverse.Packets.SimWideDeletesPacket.DataBlockBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SimWideDeletesPacket.DataBlockBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.SimWideDeletesPacket.DataBlockBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SimWideDeletesPacket.DataBlockBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimWideDeletesPacket.DataBlockBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SimWideDeletesPacket.DataBlockBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimWideDeletesPacket.DataBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SimWideDeletesPacket.DataBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimWideDeletesPacket.DataBlockBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SimWideDeletesPacket.DataBlockBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimWideDeletesPacket.DataBlockBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.SimWideDeletesPacket.DataBlockBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.SimWideDeletesPacket.DataBlockBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.SimWideDeletesPacket.DataBlockBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.SimulatorLoadPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.SimulatorLoadPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct SimulatorLoadPacket {
        /// C# member: `F:LibreMetaverse.Packets.SimulatorLoadPacket.AgentList`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SimulatorLoadPacket.AgentListBlock[] LibreMetaverse.Packets.SimulatorLoadPacket.AgentList`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_list: Vec<libremetaverse::packets::SimulatorLoadPacketAgentListBlock>,
        /// C# member: `F:LibreMetaverse.Packets.SimulatorLoadPacket.SimulatorLoad`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SimulatorLoadPacket.SimulatorLoadBlock LibreMetaverse.Packets.SimulatorLoadPacket.SimulatorLoad`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub simulator_load: libremetaverse::packets::SimulatorLoadPacketSimulatorLoadBlock,
    }
    impl SimulatorLoadPacket {
        /// C# member: `M:LibreMetaverse.Packets.SimulatorLoadPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SimulatorLoadPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorLoadPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SimulatorLoadPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorLoadPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SimulatorLoadPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorLoadPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SimulatorLoadPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorLoadPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SimulatorLoadPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorLoadPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SimulatorLoadPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorLoadPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.SimulatorLoadPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorLoadPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.SimulatorLoadPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorLoadPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.SimulatorLoadPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorLoadPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.SimulatorLoadPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorLoadPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.SimulatorLoadPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.SimulatorLoadPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.SimulatorLoadPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.SimulatorLoadPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.SimulatorLoadPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.SimulatorLoadPacket.AgentListBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.SimulatorLoadPacket.AgentListBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct SimulatorLoadPacketAgentListBlock {
        /// C# member: `F:LibreMetaverse.Packets.SimulatorLoadPacket.AgentListBlock.CircuitCode`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.SimulatorLoadPacket.AgentListBlock.CircuitCode`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub circuit_code: u32,
        /// C# member: `F:LibreMetaverse.Packets.SimulatorLoadPacket.AgentListBlock.X`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.SimulatorLoadPacket.AgentListBlock.X`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub x: u8,
        /// C# member: `F:LibreMetaverse.Packets.SimulatorLoadPacket.AgentListBlock.Y`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.SimulatorLoadPacket.AgentListBlock.Y`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub y: u8,
    }
    impl SimulatorLoadPacketAgentListBlock {
        /// C# member: `M:LibreMetaverse.Packets.SimulatorLoadPacket.AgentListBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SimulatorLoadPacket.AgentListBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorLoadPacket.AgentListBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SimulatorLoadPacket.AgentListBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorLoadPacket.AgentListBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SimulatorLoadPacket.AgentListBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorLoadPacket.AgentListBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SimulatorLoadPacket.AgentListBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorLoadPacket.AgentListBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SimulatorLoadPacket.AgentListBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorLoadPacket.AgentListBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.SimulatorLoadPacket.AgentListBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.SimulatorLoadPacket.AgentListBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.SimulatorLoadPacket.AgentListBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.SimulatorLoadPacket.SimulatorLoadBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.SimulatorLoadPacket.SimulatorLoadBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct SimulatorLoadPacketSimulatorLoadBlock {
        /// C# member: `F:LibreMetaverse.Packets.SimulatorLoadPacket.SimulatorLoadBlock.AgentCount`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.SimulatorLoadPacket.SimulatorLoadBlock.AgentCount`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_count: i32,
        /// C# member: `F:LibreMetaverse.Packets.SimulatorLoadPacket.SimulatorLoadBlock.CanAcceptAgents`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.SimulatorLoadPacket.SimulatorLoadBlock.CanAcceptAgents`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub can_accept_agents: bool,
        /// C# member: `F:LibreMetaverse.Packets.SimulatorLoadPacket.SimulatorLoadBlock.TimeDilation`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.SimulatorLoadPacket.SimulatorLoadBlock.TimeDilation`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub time_dilation: f32,
    }
    impl SimulatorLoadPacketSimulatorLoadBlock {
        /// C# member: `M:LibreMetaverse.Packets.SimulatorLoadPacket.SimulatorLoadBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SimulatorLoadPacket.SimulatorLoadBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorLoadPacket.SimulatorLoadBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SimulatorLoadPacket.SimulatorLoadBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorLoadPacket.SimulatorLoadBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SimulatorLoadPacket.SimulatorLoadBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorLoadPacket.SimulatorLoadBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SimulatorLoadPacket.SimulatorLoadBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorLoadPacket.SimulatorLoadBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SimulatorLoadPacket.SimulatorLoadBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorLoadPacket.SimulatorLoadBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.SimulatorLoadPacket.SimulatorLoadBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.SimulatorLoadPacket.SimulatorLoadBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.SimulatorLoadPacket.SimulatorLoadBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.SimulatorMapUpdatePacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.SimulatorMapUpdatePacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct SimulatorMapUpdatePacket {
        /// C# member: `F:LibreMetaverse.Packets.SimulatorMapUpdatePacket.MapData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SimulatorMapUpdatePacket.MapDataBlock LibreMetaverse.Packets.SimulatorMapUpdatePacket.MapData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub map_data: libremetaverse::packets::SimulatorMapUpdatePacketMapDataBlock,
    }
    impl SimulatorMapUpdatePacket {
        /// C# member: `M:LibreMetaverse.Packets.SimulatorMapUpdatePacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SimulatorMapUpdatePacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorMapUpdatePacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SimulatorMapUpdatePacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorMapUpdatePacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SimulatorMapUpdatePacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorMapUpdatePacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SimulatorMapUpdatePacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorMapUpdatePacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SimulatorMapUpdatePacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorMapUpdatePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SimulatorMapUpdatePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorMapUpdatePacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.SimulatorMapUpdatePacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorMapUpdatePacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.SimulatorMapUpdatePacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorMapUpdatePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.SimulatorMapUpdatePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorMapUpdatePacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.SimulatorMapUpdatePacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorMapUpdatePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.SimulatorMapUpdatePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.SimulatorMapUpdatePacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.SimulatorMapUpdatePacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.SimulatorMapUpdatePacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.SimulatorMapUpdatePacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.SimulatorMapUpdatePacket.MapDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.SimulatorMapUpdatePacket.MapDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct SimulatorMapUpdatePacketMapDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.SimulatorMapUpdatePacket.MapDataBlock.Flags`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.SimulatorMapUpdatePacket.MapDataBlock.Flags`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub flags: u32,
    }
    impl SimulatorMapUpdatePacketMapDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.SimulatorMapUpdatePacket.MapDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SimulatorMapUpdatePacket.MapDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorMapUpdatePacket.MapDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SimulatorMapUpdatePacket.MapDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorMapUpdatePacket.MapDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SimulatorMapUpdatePacket.MapDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorMapUpdatePacket.MapDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SimulatorMapUpdatePacket.MapDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorMapUpdatePacket.MapDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SimulatorMapUpdatePacket.MapDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorMapUpdatePacket.MapDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.SimulatorMapUpdatePacket.MapDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.SimulatorMapUpdatePacket.MapDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.SimulatorMapUpdatePacket.MapDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.SimulatorPresentAtLocationPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.SimulatorPresentAtLocationPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct SimulatorPresentAtLocationPacket {
        /// C# member: `F:LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.NeighborBlock`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.NeighborBlockBlock[] LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.NeighborBlock`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub neighbor_block:
            Vec<libremetaverse::packets::SimulatorPresentAtLocationPacketNeighborBlockBlock>,
        /// C# member: `F:LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.SimulatorBlock`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.SimulatorBlockBlock LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.SimulatorBlock`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub simulator_block:
            libremetaverse::packets::SimulatorPresentAtLocationPacketSimulatorBlockBlock,
        /// C# member: `F:LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.SimulatorPublicHostBlock`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.SimulatorPublicHostBlockBlock LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.SimulatorPublicHostBlock`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub simulator_public_host_block:
            libremetaverse::packets::SimulatorPresentAtLocationPacketSimulatorPublicHostBlockBlock,
        /// C# member: `F:LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.TelehubBlock`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.TelehubBlockBlock[] LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.TelehubBlock`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub telehub_block:
            Vec<libremetaverse::packets::SimulatorPresentAtLocationPacketTelehubBlockBlock>,
    }
    impl SimulatorPresentAtLocationPacket {
        /// C# member: `M:LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SimulatorPresentAtLocationPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SimulatorPresentAtLocationPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SimulatorPresentAtLocationPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.NeighborBlockBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.NeighborBlockBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct SimulatorPresentAtLocationPacketNeighborBlockBlock {
        /// C# member: `F:LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.NeighborBlockBlock.IP`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.NeighborBlockBlock.IP`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub ip: u32,
        /// C# member: `F:LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.NeighborBlockBlock.Port`.
        ///
        /// C# signature: `System.UInt16 LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.NeighborBlockBlock.Port`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub port: u16,
    }
    impl SimulatorPresentAtLocationPacketNeighborBlockBlock {
        /// C# member: `M:LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.NeighborBlockBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.NeighborBlockBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.NeighborBlockBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.NeighborBlockBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.NeighborBlockBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.NeighborBlockBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.NeighborBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.NeighborBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.NeighborBlockBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.NeighborBlockBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.NeighborBlockBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.NeighborBlockBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.NeighborBlockBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.NeighborBlockBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.SimulatorBlockBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.SimulatorBlockBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct SimulatorPresentAtLocationPacketSimulatorBlockBlock {
        /// C# member: `F:LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.SimulatorBlockBlock.EstateID`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.SimulatorBlockBlock.EstateID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub estate_id: u32,
        /// C# member: `F:LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.SimulatorBlockBlock.ParentEstateID`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.SimulatorBlockBlock.ParentEstateID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub parent_estate_id: u32,
        /// C# member: `F:LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.SimulatorBlockBlock.RegionFlags`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.SimulatorBlockBlock.RegionFlags`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub region_flags: u32,
        /// C# member: `F:LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.SimulatorBlockBlock.RegionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.SimulatorBlockBlock.RegionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub region_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.SimulatorBlockBlock.SimAccess`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.SimulatorBlockBlock.SimAccess`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub sim_access: u8,
        /// C# member: `F:LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.SimulatorBlockBlock.SimName`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.SimulatorBlockBlock.SimName`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub sim_name: Vec<u8>,
    }
    impl SimulatorPresentAtLocationPacketSimulatorBlockBlock {
        /// C# member: `M:LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.SimulatorBlockBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.SimulatorBlockBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.SimulatorBlockBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.SimulatorBlockBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.SimulatorBlockBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.SimulatorBlockBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.SimulatorBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.SimulatorBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.SimulatorBlockBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.SimulatorBlockBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.SimulatorBlockBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.SimulatorBlockBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.SimulatorBlockBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.SimulatorBlockBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.SimulatorPublicHostBlockBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.SimulatorPublicHostBlockBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct SimulatorPresentAtLocationPacketSimulatorPublicHostBlockBlock {
        /// C# member: `F:LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.SimulatorPublicHostBlockBlock.GridX`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.SimulatorPublicHostBlockBlock.GridX`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub grid_x: u32,
        /// C# member: `F:LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.SimulatorPublicHostBlockBlock.GridY`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.SimulatorPublicHostBlockBlock.GridY`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub grid_y: u32,
        /// C# member: `F:LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.SimulatorPublicHostBlockBlock.Port`.
        ///
        /// C# signature: `System.UInt16 LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.SimulatorPublicHostBlockBlock.Port`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub port: u16,
        /// C# member: `F:LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.SimulatorPublicHostBlockBlock.SimulatorIP`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.SimulatorPublicHostBlockBlock.SimulatorIP`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub simulator_ip: u32,
    }
    impl SimulatorPresentAtLocationPacketSimulatorPublicHostBlockBlock {
        /// C# member: `M:LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.SimulatorPublicHostBlockBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.SimulatorPublicHostBlockBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.SimulatorPublicHostBlockBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.SimulatorPublicHostBlockBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.SimulatorPublicHostBlockBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.SimulatorPublicHostBlockBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.SimulatorPublicHostBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.SimulatorPublicHostBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.SimulatorPublicHostBlockBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.SimulatorPublicHostBlockBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.SimulatorPublicHostBlockBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.SimulatorPublicHostBlockBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.SimulatorPublicHostBlockBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.SimulatorPublicHostBlockBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.TelehubBlockBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.TelehubBlockBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct SimulatorPresentAtLocationPacketTelehubBlockBlock {
        /// C# member: `F:LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.TelehubBlockBlock.HasTelehub`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.TelehubBlockBlock.HasTelehub`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub has_telehub: bool,
        /// C# member: `F:LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.TelehubBlockBlock.TelehubPos`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.TelehubBlockBlock.TelehubPos`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub telehub_pos: libremetaverse_types::Vector3,
    }
    impl SimulatorPresentAtLocationPacketTelehubBlockBlock {
        /// C# member: `M:LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.TelehubBlockBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.TelehubBlockBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.TelehubBlockBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.TelehubBlockBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.TelehubBlockBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.TelehubBlockBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.TelehubBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.TelehubBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.TelehubBlockBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.TelehubBlockBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.TelehubBlockBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.TelehubBlockBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.TelehubBlockBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.SimulatorPresentAtLocationPacket.TelehubBlockBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.SimulatorReadyPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.SimulatorReadyPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct SimulatorReadyPacket {
        /// C# member: `F:LibreMetaverse.Packets.SimulatorReadyPacket.SimulatorBlock`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SimulatorReadyPacket.SimulatorBlockBlock LibreMetaverse.Packets.SimulatorReadyPacket.SimulatorBlock`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub simulator_block: libremetaverse::packets::SimulatorReadyPacketSimulatorBlockBlock,
        /// C# member: `F:LibreMetaverse.Packets.SimulatorReadyPacket.TelehubBlock`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SimulatorReadyPacket.TelehubBlockBlock LibreMetaverse.Packets.SimulatorReadyPacket.TelehubBlock`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub telehub_block: libremetaverse::packets::SimulatorReadyPacketTelehubBlockBlock,
    }
    impl SimulatorReadyPacket {
        /// C# member: `M:LibreMetaverse.Packets.SimulatorReadyPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SimulatorReadyPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorReadyPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SimulatorReadyPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorReadyPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SimulatorReadyPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorReadyPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SimulatorReadyPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorReadyPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SimulatorReadyPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorReadyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SimulatorReadyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorReadyPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.SimulatorReadyPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorReadyPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.SimulatorReadyPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorReadyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.SimulatorReadyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorReadyPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.SimulatorReadyPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorReadyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.SimulatorReadyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.SimulatorReadyPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.SimulatorReadyPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.SimulatorReadyPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.SimulatorReadyPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.SimulatorReadyPacket.SimulatorBlockBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.SimulatorReadyPacket.SimulatorBlockBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct SimulatorReadyPacketSimulatorBlockBlock {
        /// C# member: `F:LibreMetaverse.Packets.SimulatorReadyPacket.SimulatorBlockBlock.EstateID`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.SimulatorReadyPacket.SimulatorBlockBlock.EstateID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub estate_id: u32,
        /// C# member: `F:LibreMetaverse.Packets.SimulatorReadyPacket.SimulatorBlockBlock.ParentEstateID`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.SimulatorReadyPacket.SimulatorBlockBlock.ParentEstateID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub parent_estate_id: u32,
        /// C# member: `F:LibreMetaverse.Packets.SimulatorReadyPacket.SimulatorBlockBlock.RegionFlags`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.SimulatorReadyPacket.SimulatorBlockBlock.RegionFlags`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub region_flags: u32,
        /// C# member: `F:LibreMetaverse.Packets.SimulatorReadyPacket.SimulatorBlockBlock.RegionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.SimulatorReadyPacket.SimulatorBlockBlock.RegionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub region_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.SimulatorReadyPacket.SimulatorBlockBlock.SimAccess`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.SimulatorReadyPacket.SimulatorBlockBlock.SimAccess`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub sim_access: u8,
        /// C# member: `F:LibreMetaverse.Packets.SimulatorReadyPacket.SimulatorBlockBlock.SimName`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.SimulatorReadyPacket.SimulatorBlockBlock.SimName`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub sim_name: Vec<u8>,
    }
    impl SimulatorReadyPacketSimulatorBlockBlock {
        /// C# member: `M:LibreMetaverse.Packets.SimulatorReadyPacket.SimulatorBlockBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SimulatorReadyPacket.SimulatorBlockBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorReadyPacket.SimulatorBlockBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SimulatorReadyPacket.SimulatorBlockBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorReadyPacket.SimulatorBlockBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SimulatorReadyPacket.SimulatorBlockBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorReadyPacket.SimulatorBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SimulatorReadyPacket.SimulatorBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorReadyPacket.SimulatorBlockBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SimulatorReadyPacket.SimulatorBlockBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorReadyPacket.SimulatorBlockBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.SimulatorReadyPacket.SimulatorBlockBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.SimulatorReadyPacket.SimulatorBlockBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.SimulatorReadyPacket.SimulatorBlockBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.SimulatorReadyPacket.TelehubBlockBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.SimulatorReadyPacket.TelehubBlockBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct SimulatorReadyPacketTelehubBlockBlock {
        /// C# member: `F:LibreMetaverse.Packets.SimulatorReadyPacket.TelehubBlockBlock.HasTelehub`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.SimulatorReadyPacket.TelehubBlockBlock.HasTelehub`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub has_telehub: bool,
        /// C# member: `F:LibreMetaverse.Packets.SimulatorReadyPacket.TelehubBlockBlock.TelehubPos`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Packets.SimulatorReadyPacket.TelehubBlockBlock.TelehubPos`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub telehub_pos: libremetaverse_types::Vector3,
    }
    impl SimulatorReadyPacketTelehubBlockBlock {
        /// C# member: `M:LibreMetaverse.Packets.SimulatorReadyPacket.TelehubBlockBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SimulatorReadyPacket.TelehubBlockBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorReadyPacket.TelehubBlockBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SimulatorReadyPacket.TelehubBlockBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorReadyPacket.TelehubBlockBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SimulatorReadyPacket.TelehubBlockBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorReadyPacket.TelehubBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SimulatorReadyPacket.TelehubBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorReadyPacket.TelehubBlockBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SimulatorReadyPacket.TelehubBlockBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorReadyPacket.TelehubBlockBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.SimulatorReadyPacket.TelehubBlockBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.SimulatorReadyPacket.TelehubBlockBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.SimulatorReadyPacket.TelehubBlockBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.SimulatorSetMapPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.SimulatorSetMapPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct SimulatorSetMapPacket {
        /// C# member: `F:LibreMetaverse.Packets.SimulatorSetMapPacket.MapData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SimulatorSetMapPacket.MapDataBlock LibreMetaverse.Packets.SimulatorSetMapPacket.MapData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub map_data: libremetaverse::packets::SimulatorSetMapPacketMapDataBlock,
    }
    impl SimulatorSetMapPacket {
        /// C# member: `M:LibreMetaverse.Packets.SimulatorSetMapPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SimulatorSetMapPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorSetMapPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SimulatorSetMapPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorSetMapPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SimulatorSetMapPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorSetMapPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SimulatorSetMapPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorSetMapPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SimulatorSetMapPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorSetMapPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SimulatorSetMapPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorSetMapPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.SimulatorSetMapPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorSetMapPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.SimulatorSetMapPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorSetMapPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.SimulatorSetMapPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorSetMapPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.SimulatorSetMapPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorSetMapPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.SimulatorSetMapPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.SimulatorSetMapPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.SimulatorSetMapPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.SimulatorSetMapPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.SimulatorSetMapPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.SimulatorSetMapPacket.MapDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.SimulatorSetMapPacket.MapDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct SimulatorSetMapPacketMapDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.SimulatorSetMapPacket.MapDataBlock.MapImage`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.SimulatorSetMapPacket.MapDataBlock.MapImage`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub map_image: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.SimulatorSetMapPacket.MapDataBlock.RegionHandle`.
        ///
        /// C# signature: `System.UInt64 LibreMetaverse.Packets.SimulatorSetMapPacket.MapDataBlock.RegionHandle`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub region_handle: u64,
        /// C# member: `F:LibreMetaverse.Packets.SimulatorSetMapPacket.MapDataBlock.Type`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.SimulatorSetMapPacket.MapDataBlock.Type`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub type_: i32,
    }
    impl SimulatorSetMapPacketMapDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.SimulatorSetMapPacket.MapDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SimulatorSetMapPacket.MapDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorSetMapPacket.MapDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SimulatorSetMapPacket.MapDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorSetMapPacket.MapDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SimulatorSetMapPacket.MapDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorSetMapPacket.MapDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SimulatorSetMapPacket.MapDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorSetMapPacket.MapDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SimulatorSetMapPacket.MapDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorSetMapPacket.MapDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.SimulatorSetMapPacket.MapDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.SimulatorSetMapPacket.MapDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.SimulatorSetMapPacket.MapDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.SimulatorShutdownRequestPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.SimulatorShutdownRequestPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct SimulatorShutdownRequestPacket;
    impl SimulatorShutdownRequestPacket {
        /// C# member: `M:LibreMetaverse.Packets.SimulatorShutdownRequestPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SimulatorShutdownRequestPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorShutdownRequestPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SimulatorShutdownRequestPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorShutdownRequestPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SimulatorShutdownRequestPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorShutdownRequestPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SimulatorShutdownRequestPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorShutdownRequestPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SimulatorShutdownRequestPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorShutdownRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SimulatorShutdownRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorShutdownRequestPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.SimulatorShutdownRequestPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorShutdownRequestPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.SimulatorShutdownRequestPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorShutdownRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.SimulatorShutdownRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorShutdownRequestPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.SimulatorShutdownRequestPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorShutdownRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.SimulatorShutdownRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.SimulatorShutdownRequestPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.SimulatorShutdownRequestPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.SimulatorShutdownRequestPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.SimulatorShutdownRequestPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.SimulatorViewerTimeMessagePacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.SimulatorViewerTimeMessagePacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct SimulatorViewerTimeMessagePacket {
        /// C# member: `F:LibreMetaverse.Packets.SimulatorViewerTimeMessagePacket.TimeInfo`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SimulatorViewerTimeMessagePacket.TimeInfoBlock LibreMetaverse.Packets.SimulatorViewerTimeMessagePacket.TimeInfo`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub time_info: libremetaverse::packets::SimulatorViewerTimeMessagePacketTimeInfoBlock,
    }
    impl SimulatorViewerTimeMessagePacket {
        /// C# member: `M:LibreMetaverse.Packets.SimulatorViewerTimeMessagePacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SimulatorViewerTimeMessagePacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorViewerTimeMessagePacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SimulatorViewerTimeMessagePacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorViewerTimeMessagePacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SimulatorViewerTimeMessagePacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorViewerTimeMessagePacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SimulatorViewerTimeMessagePacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorViewerTimeMessagePacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SimulatorViewerTimeMessagePacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorViewerTimeMessagePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SimulatorViewerTimeMessagePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorViewerTimeMessagePacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.SimulatorViewerTimeMessagePacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorViewerTimeMessagePacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.SimulatorViewerTimeMessagePacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorViewerTimeMessagePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.SimulatorViewerTimeMessagePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorViewerTimeMessagePacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.SimulatorViewerTimeMessagePacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorViewerTimeMessagePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.SimulatorViewerTimeMessagePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.SimulatorViewerTimeMessagePacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.SimulatorViewerTimeMessagePacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.SimulatorViewerTimeMessagePacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.SimulatorViewerTimeMessagePacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.SimulatorViewerTimeMessagePacket.TimeInfoBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.SimulatorViewerTimeMessagePacket.TimeInfoBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct SimulatorViewerTimeMessagePacketTimeInfoBlock {
        /// C# member: `F:LibreMetaverse.Packets.SimulatorViewerTimeMessagePacket.TimeInfoBlock.SecPerDay`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.SimulatorViewerTimeMessagePacket.TimeInfoBlock.SecPerDay`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub sec_per_day: u32,
        /// C# member: `F:LibreMetaverse.Packets.SimulatorViewerTimeMessagePacket.TimeInfoBlock.SecPerYear`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.SimulatorViewerTimeMessagePacket.TimeInfoBlock.SecPerYear`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub sec_per_year: u32,
        /// C# member: `F:LibreMetaverse.Packets.SimulatorViewerTimeMessagePacket.TimeInfoBlock.SunAngVelocity`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Packets.SimulatorViewerTimeMessagePacket.TimeInfoBlock.SunAngVelocity`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub sun_ang_velocity: libremetaverse_types::Vector3,
        /// C# member: `F:LibreMetaverse.Packets.SimulatorViewerTimeMessagePacket.TimeInfoBlock.SunDirection`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Packets.SimulatorViewerTimeMessagePacket.TimeInfoBlock.SunDirection`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub sun_direction: libremetaverse_types::Vector3,
        /// C# member: `F:LibreMetaverse.Packets.SimulatorViewerTimeMessagePacket.TimeInfoBlock.SunPhase`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.SimulatorViewerTimeMessagePacket.TimeInfoBlock.SunPhase`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub sun_phase: f32,
        /// C# member: `F:LibreMetaverse.Packets.SimulatorViewerTimeMessagePacket.TimeInfoBlock.UsecSinceStart`.
        ///
        /// C# signature: `System.UInt64 LibreMetaverse.Packets.SimulatorViewerTimeMessagePacket.TimeInfoBlock.UsecSinceStart`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub usec_since_start: u64,
    }
    impl SimulatorViewerTimeMessagePacketTimeInfoBlock {
        /// C# member: `M:LibreMetaverse.Packets.SimulatorViewerTimeMessagePacket.TimeInfoBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SimulatorViewerTimeMessagePacket.TimeInfoBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorViewerTimeMessagePacket.TimeInfoBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SimulatorViewerTimeMessagePacket.TimeInfoBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorViewerTimeMessagePacket.TimeInfoBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SimulatorViewerTimeMessagePacket.TimeInfoBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorViewerTimeMessagePacket.TimeInfoBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SimulatorViewerTimeMessagePacket.TimeInfoBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorViewerTimeMessagePacket.TimeInfoBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SimulatorViewerTimeMessagePacket.TimeInfoBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SimulatorViewerTimeMessagePacket.TimeInfoBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.SimulatorViewerTimeMessagePacket.TimeInfoBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.SimulatorViewerTimeMessagePacket.TimeInfoBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.SimulatorViewerTimeMessagePacket.TimeInfoBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.SoundTriggerPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.SoundTriggerPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct SoundTriggerPacket {
        /// C# member: `F:LibreMetaverse.Packets.SoundTriggerPacket.SoundData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SoundTriggerPacket.SoundDataBlock LibreMetaverse.Packets.SoundTriggerPacket.SoundData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub sound_data: libremetaverse::packets::SoundTriggerPacketSoundDataBlock,
    }
    impl SoundTriggerPacket {
        /// C# member: `M:LibreMetaverse.Packets.SoundTriggerPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SoundTriggerPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.SoundTriggerPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SoundTriggerPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SoundTriggerPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SoundTriggerPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SoundTriggerPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SoundTriggerPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.SoundTriggerPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SoundTriggerPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.SoundTriggerPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SoundTriggerPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.SoundTriggerPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.SoundTriggerPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.SoundTriggerPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.SoundTriggerPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.SoundTriggerPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.SoundTriggerPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.SoundTriggerPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.SoundTriggerPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.SoundTriggerPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.SoundTriggerPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.SoundTriggerPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.SoundTriggerPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.SoundTriggerPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.SoundTriggerPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.SoundTriggerPacket.SoundDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.SoundTriggerPacket.SoundDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct SoundTriggerPacketSoundDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.SoundTriggerPacket.SoundDataBlock.Gain`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.SoundTriggerPacket.SoundDataBlock.Gain`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub gain: f32,
        /// C# member: `F:LibreMetaverse.Packets.SoundTriggerPacket.SoundDataBlock.Handle`.
        ///
        /// C# signature: `System.UInt64 LibreMetaverse.Packets.SoundTriggerPacket.SoundDataBlock.Handle`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub handle: u64,
        /// C# member: `F:LibreMetaverse.Packets.SoundTriggerPacket.SoundDataBlock.ObjectID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.SoundTriggerPacket.SoundDataBlock.ObjectID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.SoundTriggerPacket.SoundDataBlock.OwnerID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.SoundTriggerPacket.SoundDataBlock.OwnerID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub owner_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.SoundTriggerPacket.SoundDataBlock.ParentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.SoundTriggerPacket.SoundDataBlock.ParentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub parent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.SoundTriggerPacket.SoundDataBlock.Position`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Packets.SoundTriggerPacket.SoundDataBlock.Position`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub position: libremetaverse_types::Vector3,
        /// C# member: `F:LibreMetaverse.Packets.SoundTriggerPacket.SoundDataBlock.SoundID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.SoundTriggerPacket.SoundDataBlock.SoundID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub sound_id: libremetaverse_types::UUID,
    }
    impl SoundTriggerPacketSoundDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.SoundTriggerPacket.SoundDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SoundTriggerPacket.SoundDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.SoundTriggerPacket.SoundDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SoundTriggerPacket.SoundDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SoundTriggerPacket.SoundDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SoundTriggerPacket.SoundDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SoundTriggerPacket.SoundDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SoundTriggerPacket.SoundDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.SoundTriggerPacket.SoundDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SoundTriggerPacket.SoundDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SoundTriggerPacket.SoundDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.SoundTriggerPacket.SoundDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.SoundTriggerPacket.SoundDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.SoundTriggerPacket.SoundDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.StartAuctionPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.StartAuctionPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct StartAuctionPacket {
        /// C# member: `F:LibreMetaverse.Packets.StartAuctionPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.StartAuctionPacket.AgentDataBlock LibreMetaverse.Packets.StartAuctionPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::StartAuctionPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.StartAuctionPacket.ParcelData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.StartAuctionPacket.ParcelDataBlock LibreMetaverse.Packets.StartAuctionPacket.ParcelData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub parcel_data: libremetaverse::packets::StartAuctionPacketParcelDataBlock,
    }
    impl StartAuctionPacket {
        /// C# member: `M:LibreMetaverse.Packets.StartAuctionPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.StartAuctionPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.StartAuctionPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.StartAuctionPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.StartAuctionPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.StartAuctionPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.StartAuctionPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.StartAuctionPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.StartAuctionPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.StartAuctionPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.StartAuctionPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.StartAuctionPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.StartAuctionPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.StartAuctionPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.StartAuctionPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.StartAuctionPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.StartAuctionPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.StartAuctionPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.StartAuctionPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.StartAuctionPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.StartAuctionPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.StartAuctionPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.StartAuctionPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.StartAuctionPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.StartAuctionPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.StartAuctionPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.StartAuctionPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.StartAuctionPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct StartAuctionPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.StartAuctionPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.StartAuctionPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
    }
    impl StartAuctionPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.StartAuctionPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.StartAuctionPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.StartAuctionPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.StartAuctionPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.StartAuctionPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.StartAuctionPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.StartAuctionPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.StartAuctionPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.StartAuctionPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.StartAuctionPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.StartAuctionPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.StartAuctionPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.StartAuctionPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.StartAuctionPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.StartAuctionPacket.ParcelDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.StartAuctionPacket.ParcelDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct StartAuctionPacketParcelDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.StartAuctionPacket.ParcelDataBlock.Name`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.StartAuctionPacket.ParcelDataBlock.Name`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub name: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.StartAuctionPacket.ParcelDataBlock.ParcelID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.StartAuctionPacket.ParcelDataBlock.ParcelID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub parcel_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.StartAuctionPacket.ParcelDataBlock.SnapshotID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.StartAuctionPacket.ParcelDataBlock.SnapshotID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub snapshot_id: libremetaverse_types::UUID,
    }
    impl StartAuctionPacketParcelDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.StartAuctionPacket.ParcelDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.StartAuctionPacket.ParcelDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.StartAuctionPacket.ParcelDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.StartAuctionPacket.ParcelDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.StartAuctionPacket.ParcelDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.StartAuctionPacket.ParcelDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.StartAuctionPacket.ParcelDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.StartAuctionPacket.ParcelDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.StartAuctionPacket.ParcelDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.StartAuctionPacket.ParcelDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.StartAuctionPacket.ParcelDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.StartAuctionPacket.ParcelDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.StartAuctionPacket.ParcelDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.StartAuctionPacket.ParcelDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.StartGroupProposalPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.StartGroupProposalPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct StartGroupProposalPacket {
        /// C# member: `F:LibreMetaverse.Packets.StartGroupProposalPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.StartGroupProposalPacket.AgentDataBlock LibreMetaverse.Packets.StartGroupProposalPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::StartGroupProposalPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.StartGroupProposalPacket.ProposalData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.StartGroupProposalPacket.ProposalDataBlock LibreMetaverse.Packets.StartGroupProposalPacket.ProposalData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub proposal_data: libremetaverse::packets::StartGroupProposalPacketProposalDataBlock,
    }
    impl StartGroupProposalPacket {
        /// C# member: `M:LibreMetaverse.Packets.StartGroupProposalPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.StartGroupProposalPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.StartGroupProposalPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.StartGroupProposalPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.StartGroupProposalPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.StartGroupProposalPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.StartGroupProposalPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.StartGroupProposalPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.StartGroupProposalPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.StartGroupProposalPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.StartGroupProposalPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.StartGroupProposalPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.StartGroupProposalPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.StartGroupProposalPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.StartGroupProposalPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.StartGroupProposalPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.StartGroupProposalPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.StartGroupProposalPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.StartGroupProposalPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.StartGroupProposalPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.StartGroupProposalPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.StartGroupProposalPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.StartGroupProposalPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.StartGroupProposalPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.StartGroupProposalPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.StartGroupProposalPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.StartGroupProposalPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.StartGroupProposalPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct StartGroupProposalPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.StartGroupProposalPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.StartGroupProposalPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.StartGroupProposalPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.StartGroupProposalPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl StartGroupProposalPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.StartGroupProposalPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.StartGroupProposalPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.StartGroupProposalPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.StartGroupProposalPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.StartGroupProposalPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.StartGroupProposalPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.StartGroupProposalPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.StartGroupProposalPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.StartGroupProposalPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.StartGroupProposalPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.StartGroupProposalPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.StartGroupProposalPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.StartGroupProposalPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.StartGroupProposalPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.StartGroupProposalPacket.ProposalDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.StartGroupProposalPacket.ProposalDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct StartGroupProposalPacketProposalDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.StartGroupProposalPacket.ProposalDataBlock.Duration`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.StartGroupProposalPacket.ProposalDataBlock.Duration`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub duration: i32,
        /// C# member: `F:LibreMetaverse.Packets.StartGroupProposalPacket.ProposalDataBlock.GroupID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.StartGroupProposalPacket.ProposalDataBlock.GroupID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.StartGroupProposalPacket.ProposalDataBlock.Majority`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.StartGroupProposalPacket.ProposalDataBlock.Majority`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub majority: f32,
        /// C# member: `F:LibreMetaverse.Packets.StartGroupProposalPacket.ProposalDataBlock.ProposalText`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.StartGroupProposalPacket.ProposalDataBlock.ProposalText`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub proposal_text: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.StartGroupProposalPacket.ProposalDataBlock.Quorum`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.StartGroupProposalPacket.ProposalDataBlock.Quorum`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub quorum: i32,
    }
    impl StartGroupProposalPacketProposalDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.StartGroupProposalPacket.ProposalDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.StartGroupProposalPacket.ProposalDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.StartGroupProposalPacket.ProposalDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.StartGroupProposalPacket.ProposalDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.StartGroupProposalPacket.ProposalDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.StartGroupProposalPacket.ProposalDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.StartGroupProposalPacket.ProposalDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.StartGroupProposalPacket.ProposalDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.StartGroupProposalPacket.ProposalDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.StartGroupProposalPacket.ProposalDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.StartGroupProposalPacket.ProposalDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.StartGroupProposalPacket.ProposalDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.StartGroupProposalPacket.ProposalDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.StartGroupProposalPacket.ProposalDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.StartLurePacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.StartLurePacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct StartLurePacket {
        /// C# member: `F:LibreMetaverse.Packets.StartLurePacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.StartLurePacket.AgentDataBlock LibreMetaverse.Packets.StartLurePacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::StartLurePacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.StartLurePacket.Info`.
        ///
        /// C# signature: `LibreMetaverse.Packets.StartLurePacket.InfoBlock LibreMetaverse.Packets.StartLurePacket.Info`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub info: libremetaverse::packets::StartLurePacketInfoBlock,
        /// C# member: `F:LibreMetaverse.Packets.StartLurePacket.TargetData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.StartLurePacket.TargetDataBlock[] LibreMetaverse.Packets.StartLurePacket.TargetData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub target_data: Vec<libremetaverse::packets::StartLurePacketTargetDataBlock>,
    }
    impl StartLurePacket {
        /// C# member: `M:LibreMetaverse.Packets.StartLurePacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.StartLurePacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.StartLurePacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.StartLurePacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.StartLurePacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.StartLurePacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.StartLurePacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.StartLurePacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.StartLurePacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.StartLurePacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.StartLurePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.StartLurePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.StartLurePacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.StartLurePacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.StartLurePacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.StartLurePacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.StartLurePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.StartLurePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.StartLurePacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.StartLurePacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.StartLurePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.StartLurePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.StartLurePacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.StartLurePacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.StartLurePacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.StartLurePacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.StartLurePacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.StartLurePacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct StartLurePacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.StartLurePacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.StartLurePacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.StartLurePacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.StartLurePacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl StartLurePacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.StartLurePacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.StartLurePacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.StartLurePacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.StartLurePacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.StartLurePacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.StartLurePacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.StartLurePacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.StartLurePacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.StartLurePacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.StartLurePacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.StartLurePacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.StartLurePacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.StartLurePacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.StartLurePacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.StartLurePacket.InfoBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.StartLurePacket.InfoBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct StartLurePacketInfoBlock {
        /// C# member: `F:LibreMetaverse.Packets.StartLurePacket.InfoBlock.LureType`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.StartLurePacket.InfoBlock.LureType`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub lure_type: u8,
        /// C# member: `F:LibreMetaverse.Packets.StartLurePacket.InfoBlock.Message`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.StartLurePacket.InfoBlock.Message`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub message: Vec<u8>,
    }
    impl StartLurePacketInfoBlock {
        /// C# member: `M:LibreMetaverse.Packets.StartLurePacket.InfoBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.StartLurePacket.InfoBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.StartLurePacket.InfoBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.StartLurePacket.InfoBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.StartLurePacket.InfoBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.StartLurePacket.InfoBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.StartLurePacket.InfoBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.StartLurePacket.InfoBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.StartLurePacket.InfoBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.StartLurePacket.InfoBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.StartLurePacket.InfoBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.StartLurePacket.InfoBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.StartLurePacket.InfoBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.StartLurePacket.InfoBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.StartLurePacket.TargetDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.StartLurePacket.TargetDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct StartLurePacketTargetDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.StartLurePacket.TargetDataBlock.TargetID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.StartLurePacket.TargetDataBlock.TargetID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub target_id: libremetaverse_types::UUID,
    }
    impl StartLurePacketTargetDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.StartLurePacket.TargetDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.StartLurePacket.TargetDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.StartLurePacket.TargetDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.StartLurePacket.TargetDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.StartLurePacket.TargetDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.StartLurePacket.TargetDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.StartLurePacket.TargetDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.StartLurePacket.TargetDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.StartLurePacket.TargetDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.StartLurePacket.TargetDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.StartLurePacket.TargetDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.StartLurePacket.TargetDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.StartLurePacket.TargetDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.StartLurePacket.TargetDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.StartPingCheckPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.StartPingCheckPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct StartPingCheckPacket {
        /// C# member: `F:LibreMetaverse.Packets.StartPingCheckPacket.PingID`.
        ///
        /// C# signature: `LibreMetaverse.Packets.StartPingCheckPacket.PingIDBlock LibreMetaverse.Packets.StartPingCheckPacket.PingID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub ping_id: libremetaverse::packets::StartPingCheckPacketPingIDBlock,
    }
    impl StartPingCheckPacket {
        /// C# member: `M:LibreMetaverse.Packets.StartPingCheckPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.StartPingCheckPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.StartPingCheckPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.StartPingCheckPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.StartPingCheckPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.StartPingCheckPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.StartPingCheckPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.StartPingCheckPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.StartPingCheckPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.StartPingCheckPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.StartPingCheckPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.StartPingCheckPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.StartPingCheckPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.StartPingCheckPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.StartPingCheckPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.StartPingCheckPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.StartPingCheckPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.StartPingCheckPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.StartPingCheckPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.StartPingCheckPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.StartPingCheckPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.StartPingCheckPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.StartPingCheckPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.StartPingCheckPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.StartPingCheckPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.StartPingCheckPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.StartPingCheckPacket.PingIDBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.StartPingCheckPacket.PingIDBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct StartPingCheckPacketPingIDBlock {
        /// C# member: `F:LibreMetaverse.Packets.StartPingCheckPacket.PingIDBlock.OldestUnacked`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.StartPingCheckPacket.PingIDBlock.OldestUnacked`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub oldest_unacked: u32,
        /// C# member: `F:LibreMetaverse.Packets.StartPingCheckPacket.PingIDBlock.PingID`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.StartPingCheckPacket.PingIDBlock.PingID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub ping_id: u8,
    }
    impl StartPingCheckPacketPingIDBlock {
        /// C# member: `M:LibreMetaverse.Packets.StartPingCheckPacket.PingIDBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.StartPingCheckPacket.PingIDBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.StartPingCheckPacket.PingIDBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.StartPingCheckPacket.PingIDBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.StartPingCheckPacket.PingIDBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.StartPingCheckPacket.PingIDBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.StartPingCheckPacket.PingIDBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.StartPingCheckPacket.PingIDBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.StartPingCheckPacket.PingIDBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.StartPingCheckPacket.PingIDBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.StartPingCheckPacket.PingIDBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.StartPingCheckPacket.PingIDBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.StartPingCheckPacket.PingIDBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.StartPingCheckPacket.PingIDBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.StateSavePacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.StateSavePacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct StateSavePacket {
        /// C# member: `F:LibreMetaverse.Packets.StateSavePacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.StateSavePacket.AgentDataBlock LibreMetaverse.Packets.StateSavePacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::StateSavePacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.StateSavePacket.DataBlock`.
        ///
        /// C# signature: `LibreMetaverse.Packets.StateSavePacket.DataBlockBlock LibreMetaverse.Packets.StateSavePacket.DataBlock`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub data_block: libremetaverse::packets::StateSavePacketDataBlockBlock,
    }
    impl StateSavePacket {
        /// C# member: `M:LibreMetaverse.Packets.StateSavePacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.StateSavePacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.StateSavePacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.StateSavePacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.StateSavePacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.StateSavePacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.StateSavePacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.StateSavePacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.StateSavePacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.StateSavePacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.StateSavePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.StateSavePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.StateSavePacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.StateSavePacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.StateSavePacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.StateSavePacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.StateSavePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.StateSavePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.StateSavePacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.StateSavePacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.StateSavePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.StateSavePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.StateSavePacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.StateSavePacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.StateSavePacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.StateSavePacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.StateSavePacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.StateSavePacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct StateSavePacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.StateSavePacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.StateSavePacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.StateSavePacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.StateSavePacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl StateSavePacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.StateSavePacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.StateSavePacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.StateSavePacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.StateSavePacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.StateSavePacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.StateSavePacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.StateSavePacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.StateSavePacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.StateSavePacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.StateSavePacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.StateSavePacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.StateSavePacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.StateSavePacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.StateSavePacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.StateSavePacket.DataBlockBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.StateSavePacket.DataBlockBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct StateSavePacketDataBlockBlock {
        /// C# member: `F:LibreMetaverse.Packets.StateSavePacket.DataBlockBlock.Filename`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.StateSavePacket.DataBlockBlock.Filename`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub filename: Vec<u8>,
    }
    impl StateSavePacketDataBlockBlock {
        /// C# member: `M:LibreMetaverse.Packets.StateSavePacket.DataBlockBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.StateSavePacket.DataBlockBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.StateSavePacket.DataBlockBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.StateSavePacket.DataBlockBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.StateSavePacket.DataBlockBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.StateSavePacket.DataBlockBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.StateSavePacket.DataBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.StateSavePacket.DataBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.StateSavePacket.DataBlockBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.StateSavePacket.DataBlockBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.StateSavePacket.DataBlockBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.StateSavePacket.DataBlockBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.StateSavePacket.DataBlockBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.StateSavePacket.DataBlockBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.SubscribeLoadPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.SubscribeLoadPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct SubscribeLoadPacket;
    impl SubscribeLoadPacket {
        /// C# member: `M:LibreMetaverse.Packets.SubscribeLoadPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SubscribeLoadPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.SubscribeLoadPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SubscribeLoadPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SubscribeLoadPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SubscribeLoadPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SubscribeLoadPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SubscribeLoadPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.SubscribeLoadPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SubscribeLoadPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.SubscribeLoadPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SubscribeLoadPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.SubscribeLoadPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.SubscribeLoadPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.SubscribeLoadPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.SubscribeLoadPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.SubscribeLoadPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.SubscribeLoadPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.SubscribeLoadPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.SubscribeLoadPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.SubscribeLoadPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.SubscribeLoadPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.SubscribeLoadPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.SubscribeLoadPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.SubscribeLoadPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.SubscribeLoadPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.SystemKickUserPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.SystemKickUserPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct SystemKickUserPacket {
        /// C# member: `F:LibreMetaverse.Packets.SystemKickUserPacket.AgentInfo`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SystemKickUserPacket.AgentInfoBlock[] LibreMetaverse.Packets.SystemKickUserPacket.AgentInfo`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_info: Vec<libremetaverse::packets::SystemKickUserPacketAgentInfoBlock>,
    }
    impl SystemKickUserPacket {
        /// C# member: `M:LibreMetaverse.Packets.SystemKickUserPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SystemKickUserPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.SystemKickUserPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SystemKickUserPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SystemKickUserPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SystemKickUserPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SystemKickUserPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SystemKickUserPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.SystemKickUserPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SystemKickUserPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.SystemKickUserPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SystemKickUserPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.SystemKickUserPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.SystemKickUserPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.SystemKickUserPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.SystemKickUserPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.SystemKickUserPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.SystemKickUserPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.SystemKickUserPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.SystemKickUserPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.SystemKickUserPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.SystemKickUserPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.SystemKickUserPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.SystemKickUserPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.SystemKickUserPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.SystemKickUserPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.SystemKickUserPacket.AgentInfoBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.SystemKickUserPacket.AgentInfoBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct SystemKickUserPacketAgentInfoBlock {
        /// C# member: `F:LibreMetaverse.Packets.SystemKickUserPacket.AgentInfoBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.SystemKickUserPacket.AgentInfoBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
    }
    impl SystemKickUserPacketAgentInfoBlock {
        /// C# member: `M:LibreMetaverse.Packets.SystemKickUserPacket.AgentInfoBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SystemKickUserPacket.AgentInfoBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.SystemKickUserPacket.AgentInfoBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SystemKickUserPacket.AgentInfoBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SystemKickUserPacket.AgentInfoBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SystemKickUserPacket.AgentInfoBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SystemKickUserPacket.AgentInfoBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SystemKickUserPacket.AgentInfoBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.SystemKickUserPacket.AgentInfoBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SystemKickUserPacket.AgentInfoBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SystemKickUserPacket.AgentInfoBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.SystemKickUserPacket.AgentInfoBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.SystemKickUserPacket.AgentInfoBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.SystemKickUserPacket.AgentInfoBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.SystemMessagePacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.SystemMessagePacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct SystemMessagePacket {
        /// C# member: `F:LibreMetaverse.Packets.SystemMessagePacket.MethodData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SystemMessagePacket.MethodDataBlock LibreMetaverse.Packets.SystemMessagePacket.MethodData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub method_data: libremetaverse::packets::SystemMessagePacketMethodDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.SystemMessagePacket.ParamList`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SystemMessagePacket.ParamListBlock[] LibreMetaverse.Packets.SystemMessagePacket.ParamList`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub param_list: Vec<libremetaverse::packets::SystemMessagePacketParamListBlock>,
    }
    impl SystemMessagePacket {
        /// C# member: `M:LibreMetaverse.Packets.SystemMessagePacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SystemMessagePacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.SystemMessagePacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SystemMessagePacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SystemMessagePacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SystemMessagePacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SystemMessagePacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SystemMessagePacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.SystemMessagePacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SystemMessagePacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.SystemMessagePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SystemMessagePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.SystemMessagePacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.SystemMessagePacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.SystemMessagePacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.SystemMessagePacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.SystemMessagePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.SystemMessagePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.SystemMessagePacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.SystemMessagePacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.SystemMessagePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.SystemMessagePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.SystemMessagePacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.SystemMessagePacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.SystemMessagePacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.SystemMessagePacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.SystemMessagePacket.MethodDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.SystemMessagePacket.MethodDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct SystemMessagePacketMethodDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.SystemMessagePacket.MethodDataBlock.Digest`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.SystemMessagePacket.MethodDataBlock.Digest`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub digest: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.SystemMessagePacket.MethodDataBlock.Invoice`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.SystemMessagePacket.MethodDataBlock.Invoice`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub invoice: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.SystemMessagePacket.MethodDataBlock.Method`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.SystemMessagePacket.MethodDataBlock.Method`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub method: Vec<u8>,
    }
    impl SystemMessagePacketMethodDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.SystemMessagePacket.MethodDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SystemMessagePacket.MethodDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.SystemMessagePacket.MethodDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SystemMessagePacket.MethodDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SystemMessagePacket.MethodDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SystemMessagePacket.MethodDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SystemMessagePacket.MethodDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SystemMessagePacket.MethodDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.SystemMessagePacket.MethodDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SystemMessagePacket.MethodDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SystemMessagePacket.MethodDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.SystemMessagePacket.MethodDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.SystemMessagePacket.MethodDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.SystemMessagePacket.MethodDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.SystemMessagePacket.ParamListBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.SystemMessagePacket.ParamListBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct SystemMessagePacketParamListBlock {
        /// C# member: `F:LibreMetaverse.Packets.SystemMessagePacket.ParamListBlock.Parameter`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.SystemMessagePacket.ParamListBlock.Parameter`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub parameter: Vec<u8>,
    }
    impl SystemMessagePacketParamListBlock {
        /// C# member: `M:LibreMetaverse.Packets.SystemMessagePacket.ParamListBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SystemMessagePacket.ParamListBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.SystemMessagePacket.ParamListBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.SystemMessagePacket.ParamListBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SystemMessagePacket.ParamListBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SystemMessagePacket.ParamListBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SystemMessagePacket.ParamListBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SystemMessagePacket.ParamListBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.SystemMessagePacket.ParamListBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.SystemMessagePacket.ParamListBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.SystemMessagePacket.ParamListBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.SystemMessagePacket.ParamListBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.SystemMessagePacket.ParamListBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.SystemMessagePacket.ParamListBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.TallyVotesPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.TallyVotesPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct TallyVotesPacket;
    impl TallyVotesPacket {
        /// C# member: `M:LibreMetaverse.Packets.TallyVotesPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TallyVotesPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.TallyVotesPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TallyVotesPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TallyVotesPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TallyVotesPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TallyVotesPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TallyVotesPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.TallyVotesPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TallyVotesPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.TallyVotesPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TallyVotesPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.TallyVotesPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.TallyVotesPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.TallyVotesPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.TallyVotesPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.TallyVotesPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.TallyVotesPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.TallyVotesPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.TallyVotesPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.TallyVotesPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.TallyVotesPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.TallyVotesPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.TallyVotesPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.TallyVotesPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.TallyVotesPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.TelehubInfoPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.TelehubInfoPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct TelehubInfoPacket {
        /// C# member: `F:LibreMetaverse.Packets.TelehubInfoPacket.SpawnPointBlock`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TelehubInfoPacket.SpawnPointBlockBlock[] LibreMetaverse.Packets.TelehubInfoPacket.SpawnPointBlock`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub spawn_point_block: Vec<libremetaverse::packets::TelehubInfoPacketSpawnPointBlockBlock>,
        /// C# member: `F:LibreMetaverse.Packets.TelehubInfoPacket.TelehubBlock`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TelehubInfoPacket.TelehubBlockBlock LibreMetaverse.Packets.TelehubInfoPacket.TelehubBlock`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub telehub_block: libremetaverse::packets::TelehubInfoPacketTelehubBlockBlock,
    }
    impl TelehubInfoPacket {
        /// C# member: `M:LibreMetaverse.Packets.TelehubInfoPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TelehubInfoPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.TelehubInfoPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TelehubInfoPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TelehubInfoPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TelehubInfoPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TelehubInfoPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TelehubInfoPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.TelehubInfoPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TelehubInfoPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.TelehubInfoPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TelehubInfoPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.TelehubInfoPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.TelehubInfoPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.TelehubInfoPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.TelehubInfoPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.TelehubInfoPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.TelehubInfoPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.TelehubInfoPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.TelehubInfoPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.TelehubInfoPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.TelehubInfoPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.TelehubInfoPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.TelehubInfoPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.TelehubInfoPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.TelehubInfoPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.TelehubInfoPacket.SpawnPointBlockBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.TelehubInfoPacket.SpawnPointBlockBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct TelehubInfoPacketSpawnPointBlockBlock {
        /// C# member: `F:LibreMetaverse.Packets.TelehubInfoPacket.SpawnPointBlockBlock.SpawnPointPos`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Packets.TelehubInfoPacket.SpawnPointBlockBlock.SpawnPointPos`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub spawn_point_pos: libremetaverse_types::Vector3,
    }
    impl TelehubInfoPacketSpawnPointBlockBlock {
        /// C# member: `M:LibreMetaverse.Packets.TelehubInfoPacket.SpawnPointBlockBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TelehubInfoPacket.SpawnPointBlockBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.TelehubInfoPacket.SpawnPointBlockBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TelehubInfoPacket.SpawnPointBlockBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TelehubInfoPacket.SpawnPointBlockBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TelehubInfoPacket.SpawnPointBlockBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TelehubInfoPacket.SpawnPointBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TelehubInfoPacket.SpawnPointBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.TelehubInfoPacket.SpawnPointBlockBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TelehubInfoPacket.SpawnPointBlockBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TelehubInfoPacket.SpawnPointBlockBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.TelehubInfoPacket.SpawnPointBlockBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.TelehubInfoPacket.SpawnPointBlockBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.TelehubInfoPacket.SpawnPointBlockBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.TelehubInfoPacket.TelehubBlockBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.TelehubInfoPacket.TelehubBlockBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct TelehubInfoPacketTelehubBlockBlock {
        /// C# member: `F:LibreMetaverse.Packets.TelehubInfoPacket.TelehubBlockBlock.ObjectID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.TelehubInfoPacket.TelehubBlockBlock.ObjectID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.TelehubInfoPacket.TelehubBlockBlock.ObjectName`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.TelehubInfoPacket.TelehubBlockBlock.ObjectName`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_name: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.TelehubInfoPacket.TelehubBlockBlock.TelehubPos`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Packets.TelehubInfoPacket.TelehubBlockBlock.TelehubPos`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub telehub_pos: libremetaverse_types::Vector3,
        /// C# member: `F:LibreMetaverse.Packets.TelehubInfoPacket.TelehubBlockBlock.TelehubRot`.
        ///
        /// C# signature: `LibreMetaverse.Quaternion LibreMetaverse.Packets.TelehubInfoPacket.TelehubBlockBlock.TelehubRot`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub telehub_rot: libremetaverse_types::Quaternion,
    }
    impl TelehubInfoPacketTelehubBlockBlock {
        /// C# member: `M:LibreMetaverse.Packets.TelehubInfoPacket.TelehubBlockBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TelehubInfoPacket.TelehubBlockBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.TelehubInfoPacket.TelehubBlockBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TelehubInfoPacket.TelehubBlockBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TelehubInfoPacket.TelehubBlockBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TelehubInfoPacket.TelehubBlockBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TelehubInfoPacket.TelehubBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TelehubInfoPacket.TelehubBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.TelehubInfoPacket.TelehubBlockBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TelehubInfoPacket.TelehubBlockBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TelehubInfoPacket.TelehubBlockBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.TelehubInfoPacket.TelehubBlockBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.TelehubInfoPacket.TelehubBlockBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.TelehubInfoPacket.TelehubBlockBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.TeleportCancelPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.TeleportCancelPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct TeleportCancelPacket {
        /// C# member: `F:LibreMetaverse.Packets.TeleportCancelPacket.Info`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TeleportCancelPacket.InfoBlock LibreMetaverse.Packets.TeleportCancelPacket.Info`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub info: libremetaverse::packets::TeleportCancelPacketInfoBlock,
    }
    impl TeleportCancelPacket {
        /// C# member: `M:LibreMetaverse.Packets.TeleportCancelPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TeleportCancelPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportCancelPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TeleportCancelPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportCancelPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TeleportCancelPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportCancelPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TeleportCancelPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportCancelPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TeleportCancelPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportCancelPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TeleportCancelPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportCancelPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.TeleportCancelPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportCancelPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.TeleportCancelPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportCancelPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.TeleportCancelPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportCancelPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.TeleportCancelPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportCancelPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.TeleportCancelPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.TeleportCancelPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.TeleportCancelPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.TeleportCancelPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.TeleportCancelPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.TeleportCancelPacket.InfoBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.TeleportCancelPacket.InfoBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct TeleportCancelPacketInfoBlock {
        /// C# member: `F:LibreMetaverse.Packets.TeleportCancelPacket.InfoBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.TeleportCancelPacket.InfoBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.TeleportCancelPacket.InfoBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.TeleportCancelPacket.InfoBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl TeleportCancelPacketInfoBlock {
        /// C# member: `M:LibreMetaverse.Packets.TeleportCancelPacket.InfoBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TeleportCancelPacket.InfoBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportCancelPacket.InfoBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TeleportCancelPacket.InfoBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportCancelPacket.InfoBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TeleportCancelPacket.InfoBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportCancelPacket.InfoBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TeleportCancelPacket.InfoBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportCancelPacket.InfoBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TeleportCancelPacket.InfoBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportCancelPacket.InfoBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.TeleportCancelPacket.InfoBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.TeleportCancelPacket.InfoBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.TeleportCancelPacket.InfoBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.TeleportFailedPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.TeleportFailedPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct TeleportFailedPacket {
        /// C# member: `F:LibreMetaverse.Packets.TeleportFailedPacket.AlertInfo`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TeleportFailedPacket.AlertInfoBlock[] LibreMetaverse.Packets.TeleportFailedPacket.AlertInfo`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub alert_info: Vec<libremetaverse::packets::TeleportFailedPacketAlertInfoBlock>,
        /// C# member: `F:LibreMetaverse.Packets.TeleportFailedPacket.Info`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TeleportFailedPacket.InfoBlock LibreMetaverse.Packets.TeleportFailedPacket.Info`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub info: libremetaverse::packets::TeleportFailedPacketInfoBlock,
    }
    impl TeleportFailedPacket {
        /// C# member: `M:LibreMetaverse.Packets.TeleportFailedPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TeleportFailedPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportFailedPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TeleportFailedPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportFailedPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TeleportFailedPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportFailedPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TeleportFailedPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportFailedPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TeleportFailedPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportFailedPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TeleportFailedPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportFailedPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.TeleportFailedPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportFailedPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.TeleportFailedPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportFailedPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.TeleportFailedPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportFailedPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.TeleportFailedPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportFailedPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.TeleportFailedPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.TeleportFailedPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.TeleportFailedPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.TeleportFailedPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.TeleportFailedPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.TeleportFailedPacket.AlertInfoBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.TeleportFailedPacket.AlertInfoBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct TeleportFailedPacketAlertInfoBlock {
        /// C# member: `F:LibreMetaverse.Packets.TeleportFailedPacket.AlertInfoBlock.ExtraParams`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.TeleportFailedPacket.AlertInfoBlock.ExtraParams`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub extra_params: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.TeleportFailedPacket.AlertInfoBlock.Message`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.TeleportFailedPacket.AlertInfoBlock.Message`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub message: Vec<u8>,
    }
    impl TeleportFailedPacketAlertInfoBlock {
        /// C# member: `M:LibreMetaverse.Packets.TeleportFailedPacket.AlertInfoBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TeleportFailedPacket.AlertInfoBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportFailedPacket.AlertInfoBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TeleportFailedPacket.AlertInfoBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportFailedPacket.AlertInfoBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TeleportFailedPacket.AlertInfoBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportFailedPacket.AlertInfoBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TeleportFailedPacket.AlertInfoBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportFailedPacket.AlertInfoBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TeleportFailedPacket.AlertInfoBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportFailedPacket.AlertInfoBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.TeleportFailedPacket.AlertInfoBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.TeleportFailedPacket.AlertInfoBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.TeleportFailedPacket.AlertInfoBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.TeleportFailedPacket.InfoBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.TeleportFailedPacket.InfoBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct TeleportFailedPacketInfoBlock {
        /// C# member: `F:LibreMetaverse.Packets.TeleportFailedPacket.InfoBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.TeleportFailedPacket.InfoBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.TeleportFailedPacket.InfoBlock.Reason`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.TeleportFailedPacket.InfoBlock.Reason`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub reason: Vec<u8>,
    }
    impl TeleportFailedPacketInfoBlock {
        /// C# member: `M:LibreMetaverse.Packets.TeleportFailedPacket.InfoBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TeleportFailedPacket.InfoBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportFailedPacket.InfoBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TeleportFailedPacket.InfoBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportFailedPacket.InfoBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TeleportFailedPacket.InfoBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportFailedPacket.InfoBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TeleportFailedPacket.InfoBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportFailedPacket.InfoBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TeleportFailedPacket.InfoBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportFailedPacket.InfoBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.TeleportFailedPacket.InfoBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.TeleportFailedPacket.InfoBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.TeleportFailedPacket.InfoBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.TeleportFinishPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.TeleportFinishPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct TeleportFinishPacket {
        /// C# member: `F:LibreMetaverse.Packets.TeleportFinishPacket.Info`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TeleportFinishPacket.InfoBlock LibreMetaverse.Packets.TeleportFinishPacket.Info`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub info: libremetaverse::packets::TeleportFinishPacketInfoBlock,
    }
    impl TeleportFinishPacket {
        /// C# member: `M:LibreMetaverse.Packets.TeleportFinishPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TeleportFinishPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportFinishPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TeleportFinishPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportFinishPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TeleportFinishPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportFinishPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TeleportFinishPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportFinishPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TeleportFinishPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportFinishPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TeleportFinishPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportFinishPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.TeleportFinishPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportFinishPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.TeleportFinishPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportFinishPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.TeleportFinishPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportFinishPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.TeleportFinishPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportFinishPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.TeleportFinishPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.TeleportFinishPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.TeleportFinishPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.TeleportFinishPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.TeleportFinishPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.TeleportFinishPacket.InfoBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.TeleportFinishPacket.InfoBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct TeleportFinishPacketInfoBlock {
        /// C# member: `F:LibreMetaverse.Packets.TeleportFinishPacket.InfoBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.TeleportFinishPacket.InfoBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.TeleportFinishPacket.InfoBlock.LocationID`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.TeleportFinishPacket.InfoBlock.LocationID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub location_id: u32,
        /// C# member: `F:LibreMetaverse.Packets.TeleportFinishPacket.InfoBlock.RegionHandle`.
        ///
        /// C# signature: `System.UInt64 LibreMetaverse.Packets.TeleportFinishPacket.InfoBlock.RegionHandle`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub region_handle: u64,
        /// C# member: `F:LibreMetaverse.Packets.TeleportFinishPacket.InfoBlock.SeedCapability`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.TeleportFinishPacket.InfoBlock.SeedCapability`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub seed_capability: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.TeleportFinishPacket.InfoBlock.SimAccess`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.TeleportFinishPacket.InfoBlock.SimAccess`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub sim_access: u8,
        /// C# member: `F:LibreMetaverse.Packets.TeleportFinishPacket.InfoBlock.SimIP`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.TeleportFinishPacket.InfoBlock.SimIP`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub sim_ip: u32,
        /// C# member: `F:LibreMetaverse.Packets.TeleportFinishPacket.InfoBlock.SimPort`.
        ///
        /// C# signature: `System.UInt16 LibreMetaverse.Packets.TeleportFinishPacket.InfoBlock.SimPort`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub sim_port: u16,
        /// C# member: `F:LibreMetaverse.Packets.TeleportFinishPacket.InfoBlock.TeleportFlags`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.TeleportFinishPacket.InfoBlock.TeleportFlags`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub teleport_flags: u32,
    }
    impl TeleportFinishPacketInfoBlock {
        /// C# member: `M:LibreMetaverse.Packets.TeleportFinishPacket.InfoBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TeleportFinishPacket.InfoBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportFinishPacket.InfoBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TeleportFinishPacket.InfoBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportFinishPacket.InfoBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TeleportFinishPacket.InfoBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportFinishPacket.InfoBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TeleportFinishPacket.InfoBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportFinishPacket.InfoBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TeleportFinishPacket.InfoBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportFinishPacket.InfoBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.TeleportFinishPacket.InfoBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.TeleportFinishPacket.InfoBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.TeleportFinishPacket.InfoBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.TeleportLandingStatusChangedPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.TeleportLandingStatusChangedPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct TeleportLandingStatusChangedPacket {
        /// C# member: `F:LibreMetaverse.Packets.TeleportLandingStatusChangedPacket.RegionData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TeleportLandingStatusChangedPacket.RegionDataBlock LibreMetaverse.Packets.TeleportLandingStatusChangedPacket.RegionData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub region_data: libremetaverse::packets::TeleportLandingStatusChangedPacketRegionDataBlock,
    }
    impl TeleportLandingStatusChangedPacket {
        /// C# member: `M:LibreMetaverse.Packets.TeleportLandingStatusChangedPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TeleportLandingStatusChangedPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportLandingStatusChangedPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TeleportLandingStatusChangedPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportLandingStatusChangedPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TeleportLandingStatusChangedPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportLandingStatusChangedPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TeleportLandingStatusChangedPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportLandingStatusChangedPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TeleportLandingStatusChangedPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportLandingStatusChangedPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TeleportLandingStatusChangedPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportLandingStatusChangedPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.TeleportLandingStatusChangedPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportLandingStatusChangedPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.TeleportLandingStatusChangedPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportLandingStatusChangedPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.TeleportLandingStatusChangedPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportLandingStatusChangedPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.TeleportLandingStatusChangedPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportLandingStatusChangedPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.TeleportLandingStatusChangedPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.TeleportLandingStatusChangedPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.TeleportLandingStatusChangedPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.TeleportLandingStatusChangedPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.TeleportLandingStatusChangedPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.TeleportLandingStatusChangedPacket.RegionDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.TeleportLandingStatusChangedPacket.RegionDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct TeleportLandingStatusChangedPacketRegionDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.TeleportLandingStatusChangedPacket.RegionDataBlock.RegionHandle`.
        ///
        /// C# signature: `System.UInt64 LibreMetaverse.Packets.TeleportLandingStatusChangedPacket.RegionDataBlock.RegionHandle`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub region_handle: u64,
    }
    impl TeleportLandingStatusChangedPacketRegionDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.TeleportLandingStatusChangedPacket.RegionDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TeleportLandingStatusChangedPacket.RegionDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportLandingStatusChangedPacket.RegionDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TeleportLandingStatusChangedPacket.RegionDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportLandingStatusChangedPacket.RegionDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TeleportLandingStatusChangedPacket.RegionDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportLandingStatusChangedPacket.RegionDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TeleportLandingStatusChangedPacket.RegionDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportLandingStatusChangedPacket.RegionDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TeleportLandingStatusChangedPacket.RegionDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportLandingStatusChangedPacket.RegionDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.TeleportLandingStatusChangedPacket.RegionDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.TeleportLandingStatusChangedPacket.RegionDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.TeleportLandingStatusChangedPacket.RegionDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.TeleportLandmarkRequestPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.TeleportLandmarkRequestPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct TeleportLandmarkRequestPacket {
        /// C# member: `F:LibreMetaverse.Packets.TeleportLandmarkRequestPacket.Info`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TeleportLandmarkRequestPacket.InfoBlock LibreMetaverse.Packets.TeleportLandmarkRequestPacket.Info`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub info: libremetaverse::packets::TeleportLandmarkRequestPacketInfoBlock,
    }
    impl TeleportLandmarkRequestPacket {
        /// C# member: `M:LibreMetaverse.Packets.TeleportLandmarkRequestPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TeleportLandmarkRequestPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportLandmarkRequestPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TeleportLandmarkRequestPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportLandmarkRequestPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TeleportLandmarkRequestPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportLandmarkRequestPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TeleportLandmarkRequestPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportLandmarkRequestPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TeleportLandmarkRequestPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportLandmarkRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TeleportLandmarkRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportLandmarkRequestPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.TeleportLandmarkRequestPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportLandmarkRequestPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.TeleportLandmarkRequestPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportLandmarkRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.TeleportLandmarkRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportLandmarkRequestPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.TeleportLandmarkRequestPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportLandmarkRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.TeleportLandmarkRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.TeleportLandmarkRequestPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.TeleportLandmarkRequestPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.TeleportLandmarkRequestPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.TeleportLandmarkRequestPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.TeleportLandmarkRequestPacket.InfoBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.TeleportLandmarkRequestPacket.InfoBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct TeleportLandmarkRequestPacketInfoBlock {
        /// C# member: `F:LibreMetaverse.Packets.TeleportLandmarkRequestPacket.InfoBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.TeleportLandmarkRequestPacket.InfoBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.TeleportLandmarkRequestPacket.InfoBlock.LandmarkID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.TeleportLandmarkRequestPacket.InfoBlock.LandmarkID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub landmark_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.TeleportLandmarkRequestPacket.InfoBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.TeleportLandmarkRequestPacket.InfoBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl TeleportLandmarkRequestPacketInfoBlock {
        /// C# member: `M:LibreMetaverse.Packets.TeleportLandmarkRequestPacket.InfoBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TeleportLandmarkRequestPacket.InfoBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportLandmarkRequestPacket.InfoBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TeleportLandmarkRequestPacket.InfoBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportLandmarkRequestPacket.InfoBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TeleportLandmarkRequestPacket.InfoBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportLandmarkRequestPacket.InfoBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TeleportLandmarkRequestPacket.InfoBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportLandmarkRequestPacket.InfoBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TeleportLandmarkRequestPacket.InfoBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportLandmarkRequestPacket.InfoBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.TeleportLandmarkRequestPacket.InfoBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.TeleportLandmarkRequestPacket.InfoBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.TeleportLandmarkRequestPacket.InfoBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.TeleportLocalPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.TeleportLocalPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct TeleportLocalPacket {
        /// C# member: `F:LibreMetaverse.Packets.TeleportLocalPacket.Info`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TeleportLocalPacket.InfoBlock LibreMetaverse.Packets.TeleportLocalPacket.Info`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub info: libremetaverse::packets::TeleportLocalPacketInfoBlock,
    }
    impl TeleportLocalPacket {
        /// C# member: `M:LibreMetaverse.Packets.TeleportLocalPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TeleportLocalPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportLocalPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TeleportLocalPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportLocalPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TeleportLocalPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportLocalPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TeleportLocalPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportLocalPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TeleportLocalPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportLocalPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TeleportLocalPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportLocalPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.TeleportLocalPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportLocalPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.TeleportLocalPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportLocalPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.TeleportLocalPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportLocalPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.TeleportLocalPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportLocalPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.TeleportLocalPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.TeleportLocalPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.TeleportLocalPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.TeleportLocalPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.TeleportLocalPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.TeleportLocalPacket.InfoBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.TeleportLocalPacket.InfoBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct TeleportLocalPacketInfoBlock {
        /// C# member: `F:LibreMetaverse.Packets.TeleportLocalPacket.InfoBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.TeleportLocalPacket.InfoBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.TeleportLocalPacket.InfoBlock.LocationID`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.TeleportLocalPacket.InfoBlock.LocationID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub location_id: u32,
        /// C# member: `F:LibreMetaverse.Packets.TeleportLocalPacket.InfoBlock.LookAt`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Packets.TeleportLocalPacket.InfoBlock.LookAt`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub look_at: libremetaverse_types::Vector3,
        /// C# member: `F:LibreMetaverse.Packets.TeleportLocalPacket.InfoBlock.Position`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Packets.TeleportLocalPacket.InfoBlock.Position`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub position: libremetaverse_types::Vector3,
        /// C# member: `F:LibreMetaverse.Packets.TeleportLocalPacket.InfoBlock.TeleportFlags`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.TeleportLocalPacket.InfoBlock.TeleportFlags`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub teleport_flags: u32,
    }
    impl TeleportLocalPacketInfoBlock {
        /// C# member: `M:LibreMetaverse.Packets.TeleportLocalPacket.InfoBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TeleportLocalPacket.InfoBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportLocalPacket.InfoBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TeleportLocalPacket.InfoBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportLocalPacket.InfoBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TeleportLocalPacket.InfoBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportLocalPacket.InfoBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TeleportLocalPacket.InfoBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportLocalPacket.InfoBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TeleportLocalPacket.InfoBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportLocalPacket.InfoBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.TeleportLocalPacket.InfoBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.TeleportLocalPacket.InfoBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.TeleportLocalPacket.InfoBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.TeleportLocationRequestPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.TeleportLocationRequestPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct TeleportLocationRequestPacket {
        /// C# member: `F:LibreMetaverse.Packets.TeleportLocationRequestPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TeleportLocationRequestPacket.AgentDataBlock LibreMetaverse.Packets.TeleportLocationRequestPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::TeleportLocationRequestPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.TeleportLocationRequestPacket.Info`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TeleportLocationRequestPacket.InfoBlock LibreMetaverse.Packets.TeleportLocationRequestPacket.Info`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub info: libremetaverse::packets::TeleportLocationRequestPacketInfoBlock,
    }
    impl TeleportLocationRequestPacket {
        /// C# member: `M:LibreMetaverse.Packets.TeleportLocationRequestPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TeleportLocationRequestPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportLocationRequestPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TeleportLocationRequestPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportLocationRequestPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TeleportLocationRequestPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportLocationRequestPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TeleportLocationRequestPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportLocationRequestPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TeleportLocationRequestPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportLocationRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TeleportLocationRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportLocationRequestPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.TeleportLocationRequestPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportLocationRequestPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.TeleportLocationRequestPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportLocationRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.TeleportLocationRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportLocationRequestPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.TeleportLocationRequestPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportLocationRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.TeleportLocationRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.TeleportLocationRequestPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.TeleportLocationRequestPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.TeleportLocationRequestPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.TeleportLocationRequestPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.TeleportLocationRequestPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.TeleportLocationRequestPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct TeleportLocationRequestPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.TeleportLocationRequestPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.TeleportLocationRequestPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.TeleportLocationRequestPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.TeleportLocationRequestPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl TeleportLocationRequestPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.TeleportLocationRequestPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TeleportLocationRequestPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportLocationRequestPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TeleportLocationRequestPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportLocationRequestPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TeleportLocationRequestPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportLocationRequestPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TeleportLocationRequestPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportLocationRequestPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TeleportLocationRequestPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportLocationRequestPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.TeleportLocationRequestPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.TeleportLocationRequestPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.TeleportLocationRequestPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.TeleportLocationRequestPacket.InfoBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.TeleportLocationRequestPacket.InfoBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct TeleportLocationRequestPacketInfoBlock {
        /// C# member: `F:LibreMetaverse.Packets.TeleportLocationRequestPacket.InfoBlock.LookAt`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Packets.TeleportLocationRequestPacket.InfoBlock.LookAt`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub look_at: libremetaverse_types::Vector3,
        /// C# member: `F:LibreMetaverse.Packets.TeleportLocationRequestPacket.InfoBlock.Position`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Packets.TeleportLocationRequestPacket.InfoBlock.Position`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub position: libremetaverse_types::Vector3,
        /// C# member: `F:LibreMetaverse.Packets.TeleportLocationRequestPacket.InfoBlock.RegionHandle`.
        ///
        /// C# signature: `System.UInt64 LibreMetaverse.Packets.TeleportLocationRequestPacket.InfoBlock.RegionHandle`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub region_handle: u64,
    }
    impl TeleportLocationRequestPacketInfoBlock {
        /// C# member: `M:LibreMetaverse.Packets.TeleportLocationRequestPacket.InfoBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TeleportLocationRequestPacket.InfoBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportLocationRequestPacket.InfoBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TeleportLocationRequestPacket.InfoBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportLocationRequestPacket.InfoBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TeleportLocationRequestPacket.InfoBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportLocationRequestPacket.InfoBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TeleportLocationRequestPacket.InfoBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportLocationRequestPacket.InfoBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TeleportLocationRequestPacket.InfoBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportLocationRequestPacket.InfoBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.TeleportLocationRequestPacket.InfoBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.TeleportLocationRequestPacket.InfoBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.TeleportLocationRequestPacket.InfoBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.TeleportLureRequestPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.TeleportLureRequestPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct TeleportLureRequestPacket {
        /// C# member: `F:LibreMetaverse.Packets.TeleportLureRequestPacket.Info`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TeleportLureRequestPacket.InfoBlock LibreMetaverse.Packets.TeleportLureRequestPacket.Info`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub info: libremetaverse::packets::TeleportLureRequestPacketInfoBlock,
    }
    impl TeleportLureRequestPacket {
        /// C# member: `M:LibreMetaverse.Packets.TeleportLureRequestPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TeleportLureRequestPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportLureRequestPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TeleportLureRequestPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportLureRequestPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TeleportLureRequestPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportLureRequestPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TeleportLureRequestPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportLureRequestPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TeleportLureRequestPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportLureRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TeleportLureRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportLureRequestPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.TeleportLureRequestPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportLureRequestPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.TeleportLureRequestPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportLureRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.TeleportLureRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportLureRequestPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.TeleportLureRequestPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportLureRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.TeleportLureRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.TeleportLureRequestPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.TeleportLureRequestPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.TeleportLureRequestPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.TeleportLureRequestPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.TeleportLureRequestPacket.InfoBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.TeleportLureRequestPacket.InfoBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct TeleportLureRequestPacketInfoBlock {
        /// C# member: `F:LibreMetaverse.Packets.TeleportLureRequestPacket.InfoBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.TeleportLureRequestPacket.InfoBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.TeleportLureRequestPacket.InfoBlock.LureID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.TeleportLureRequestPacket.InfoBlock.LureID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub lure_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.TeleportLureRequestPacket.InfoBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.TeleportLureRequestPacket.InfoBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.TeleportLureRequestPacket.InfoBlock.TeleportFlags`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.TeleportLureRequestPacket.InfoBlock.TeleportFlags`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub teleport_flags: u32,
    }
    impl TeleportLureRequestPacketInfoBlock {
        /// C# member: `M:LibreMetaverse.Packets.TeleportLureRequestPacket.InfoBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TeleportLureRequestPacket.InfoBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportLureRequestPacket.InfoBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TeleportLureRequestPacket.InfoBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportLureRequestPacket.InfoBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TeleportLureRequestPacket.InfoBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportLureRequestPacket.InfoBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TeleportLureRequestPacket.InfoBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportLureRequestPacket.InfoBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TeleportLureRequestPacket.InfoBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportLureRequestPacket.InfoBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.TeleportLureRequestPacket.InfoBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.TeleportLureRequestPacket.InfoBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.TeleportLureRequestPacket.InfoBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.TeleportProgressPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.TeleportProgressPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct TeleportProgressPacket {
        /// C# member: `F:LibreMetaverse.Packets.TeleportProgressPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TeleportProgressPacket.AgentDataBlock LibreMetaverse.Packets.TeleportProgressPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::TeleportProgressPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.TeleportProgressPacket.Info`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TeleportProgressPacket.InfoBlock LibreMetaverse.Packets.TeleportProgressPacket.Info`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub info: libremetaverse::packets::TeleportProgressPacketInfoBlock,
    }
    impl TeleportProgressPacket {
        /// C# member: `M:LibreMetaverse.Packets.TeleportProgressPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TeleportProgressPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportProgressPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TeleportProgressPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportProgressPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TeleportProgressPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportProgressPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TeleportProgressPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportProgressPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TeleportProgressPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportProgressPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TeleportProgressPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportProgressPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.TeleportProgressPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportProgressPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.TeleportProgressPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportProgressPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.TeleportProgressPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportProgressPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.TeleportProgressPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportProgressPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.TeleportProgressPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.TeleportProgressPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.TeleportProgressPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.TeleportProgressPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.TeleportProgressPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.TeleportProgressPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.TeleportProgressPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct TeleportProgressPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.TeleportProgressPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.TeleportProgressPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
    }
    impl TeleportProgressPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.TeleportProgressPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TeleportProgressPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportProgressPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TeleportProgressPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportProgressPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TeleportProgressPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportProgressPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TeleportProgressPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportProgressPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TeleportProgressPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportProgressPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.TeleportProgressPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.TeleportProgressPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.TeleportProgressPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.TeleportProgressPacket.InfoBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.TeleportProgressPacket.InfoBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct TeleportProgressPacketInfoBlock {
        /// C# member: `F:LibreMetaverse.Packets.TeleportProgressPacket.InfoBlock.Message`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.TeleportProgressPacket.InfoBlock.Message`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub message: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.TeleportProgressPacket.InfoBlock.TeleportFlags`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.TeleportProgressPacket.InfoBlock.TeleportFlags`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub teleport_flags: u32,
    }
    impl TeleportProgressPacketInfoBlock {
        /// C# member: `M:LibreMetaverse.Packets.TeleportProgressPacket.InfoBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TeleportProgressPacket.InfoBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportProgressPacket.InfoBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TeleportProgressPacket.InfoBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportProgressPacket.InfoBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TeleportProgressPacket.InfoBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportProgressPacket.InfoBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TeleportProgressPacket.InfoBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportProgressPacket.InfoBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TeleportProgressPacket.InfoBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportProgressPacket.InfoBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.TeleportProgressPacket.InfoBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.TeleportProgressPacket.InfoBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.TeleportProgressPacket.InfoBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.TeleportRequestPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.TeleportRequestPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct TeleportRequestPacket {
        /// C# member: `F:LibreMetaverse.Packets.TeleportRequestPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TeleportRequestPacket.AgentDataBlock LibreMetaverse.Packets.TeleportRequestPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::TeleportRequestPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.TeleportRequestPacket.Info`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TeleportRequestPacket.InfoBlock LibreMetaverse.Packets.TeleportRequestPacket.Info`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub info: libremetaverse::packets::TeleportRequestPacketInfoBlock,
    }
    impl TeleportRequestPacket {
        /// C# member: `M:LibreMetaverse.Packets.TeleportRequestPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TeleportRequestPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportRequestPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TeleportRequestPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportRequestPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TeleportRequestPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportRequestPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TeleportRequestPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportRequestPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TeleportRequestPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TeleportRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportRequestPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.TeleportRequestPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportRequestPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.TeleportRequestPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.TeleportRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportRequestPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.TeleportRequestPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.TeleportRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.TeleportRequestPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.TeleportRequestPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.TeleportRequestPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.TeleportRequestPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.TeleportRequestPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.TeleportRequestPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct TeleportRequestPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.TeleportRequestPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.TeleportRequestPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.TeleportRequestPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.TeleportRequestPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl TeleportRequestPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.TeleportRequestPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TeleportRequestPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportRequestPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TeleportRequestPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportRequestPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TeleportRequestPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportRequestPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TeleportRequestPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportRequestPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TeleportRequestPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportRequestPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.TeleportRequestPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.TeleportRequestPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.TeleportRequestPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.TeleportRequestPacket.InfoBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.TeleportRequestPacket.InfoBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct TeleportRequestPacketInfoBlock {
        /// C# member: `F:LibreMetaverse.Packets.TeleportRequestPacket.InfoBlock.LookAt`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Packets.TeleportRequestPacket.InfoBlock.LookAt`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub look_at: libremetaverse_types::Vector3,
        /// C# member: `F:LibreMetaverse.Packets.TeleportRequestPacket.InfoBlock.Position`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Packets.TeleportRequestPacket.InfoBlock.Position`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub position: libremetaverse_types::Vector3,
        /// C# member: `F:LibreMetaverse.Packets.TeleportRequestPacket.InfoBlock.RegionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.TeleportRequestPacket.InfoBlock.RegionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub region_id: libremetaverse_types::UUID,
    }
    impl TeleportRequestPacketInfoBlock {
        /// C# member: `M:LibreMetaverse.Packets.TeleportRequestPacket.InfoBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TeleportRequestPacket.InfoBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportRequestPacket.InfoBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TeleportRequestPacket.InfoBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportRequestPacket.InfoBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TeleportRequestPacket.InfoBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportRequestPacket.InfoBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TeleportRequestPacket.InfoBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportRequestPacket.InfoBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TeleportRequestPacket.InfoBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportRequestPacket.InfoBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.TeleportRequestPacket.InfoBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.TeleportRequestPacket.InfoBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.TeleportRequestPacket.InfoBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.TeleportStartPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.TeleportStartPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct TeleportStartPacket {
        /// C# member: `F:LibreMetaverse.Packets.TeleportStartPacket.Info`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TeleportStartPacket.InfoBlock LibreMetaverse.Packets.TeleportStartPacket.Info`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub info: libremetaverse::packets::TeleportStartPacketInfoBlock,
    }
    impl TeleportStartPacket {
        /// C# member: `M:LibreMetaverse.Packets.TeleportStartPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TeleportStartPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportStartPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TeleportStartPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportStartPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TeleportStartPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportStartPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TeleportStartPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportStartPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TeleportStartPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportStartPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TeleportStartPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportStartPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.TeleportStartPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportStartPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.TeleportStartPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportStartPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.TeleportStartPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportStartPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.TeleportStartPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportStartPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.TeleportStartPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.TeleportStartPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.TeleportStartPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.TeleportStartPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.TeleportStartPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.TeleportStartPacket.InfoBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.TeleportStartPacket.InfoBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct TeleportStartPacketInfoBlock {
        /// C# member: `F:LibreMetaverse.Packets.TeleportStartPacket.InfoBlock.TeleportFlags`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.TeleportStartPacket.InfoBlock.TeleportFlags`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub teleport_flags: u32,
    }
    impl TeleportStartPacketInfoBlock {
        /// C# member: `M:LibreMetaverse.Packets.TeleportStartPacket.InfoBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TeleportStartPacket.InfoBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportStartPacket.InfoBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TeleportStartPacket.InfoBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportStartPacket.InfoBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TeleportStartPacket.InfoBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportStartPacket.InfoBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TeleportStartPacket.InfoBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportStartPacket.InfoBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TeleportStartPacket.InfoBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TeleportStartPacket.InfoBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.TeleportStartPacket.InfoBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.TeleportStartPacket.InfoBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.TeleportStartPacket.InfoBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.TerminateFriendshipPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.TerminateFriendshipPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct TerminateFriendshipPacket {
        /// C# member: `F:LibreMetaverse.Packets.TerminateFriendshipPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TerminateFriendshipPacket.AgentDataBlock LibreMetaverse.Packets.TerminateFriendshipPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::TerminateFriendshipPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.TerminateFriendshipPacket.ExBlock`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TerminateFriendshipPacket.ExBlockBlock LibreMetaverse.Packets.TerminateFriendshipPacket.ExBlock`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub ex_block: libremetaverse::packets::TerminateFriendshipPacketExBlockBlock,
    }
    impl TerminateFriendshipPacket {
        /// C# member: `M:LibreMetaverse.Packets.TerminateFriendshipPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TerminateFriendshipPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.TerminateFriendshipPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TerminateFriendshipPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TerminateFriendshipPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TerminateFriendshipPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TerminateFriendshipPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TerminateFriendshipPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.TerminateFriendshipPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TerminateFriendshipPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.TerminateFriendshipPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TerminateFriendshipPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.TerminateFriendshipPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.TerminateFriendshipPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.TerminateFriendshipPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.TerminateFriendshipPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.TerminateFriendshipPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.TerminateFriendshipPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.TerminateFriendshipPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.TerminateFriendshipPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.TerminateFriendshipPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.TerminateFriendshipPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.TerminateFriendshipPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.TerminateFriendshipPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.TerminateFriendshipPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.TerminateFriendshipPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.TerminateFriendshipPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.TerminateFriendshipPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct TerminateFriendshipPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.TerminateFriendshipPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.TerminateFriendshipPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.TerminateFriendshipPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.TerminateFriendshipPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl TerminateFriendshipPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.TerminateFriendshipPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TerminateFriendshipPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.TerminateFriendshipPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TerminateFriendshipPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TerminateFriendshipPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TerminateFriendshipPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TerminateFriendshipPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TerminateFriendshipPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.TerminateFriendshipPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TerminateFriendshipPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TerminateFriendshipPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.TerminateFriendshipPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.TerminateFriendshipPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.TerminateFriendshipPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.TerminateFriendshipPacket.ExBlockBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.TerminateFriendshipPacket.ExBlockBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct TerminateFriendshipPacketExBlockBlock {
        /// C# member: `F:LibreMetaverse.Packets.TerminateFriendshipPacket.ExBlockBlock.OtherID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.TerminateFriendshipPacket.ExBlockBlock.OtherID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub other_id: libremetaverse_types::UUID,
    }
    impl TerminateFriendshipPacketExBlockBlock {
        /// C# member: `M:LibreMetaverse.Packets.TerminateFriendshipPacket.ExBlockBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TerminateFriendshipPacket.ExBlockBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.TerminateFriendshipPacket.ExBlockBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TerminateFriendshipPacket.ExBlockBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TerminateFriendshipPacket.ExBlockBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TerminateFriendshipPacket.ExBlockBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TerminateFriendshipPacket.ExBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TerminateFriendshipPacket.ExBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.TerminateFriendshipPacket.ExBlockBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TerminateFriendshipPacket.ExBlockBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TerminateFriendshipPacket.ExBlockBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.TerminateFriendshipPacket.ExBlockBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.TerminateFriendshipPacket.ExBlockBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.TerminateFriendshipPacket.ExBlockBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.TestMessagePacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.TestMessagePacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct TestMessagePacket {
        /// Rust composition for C# base type `LibreMetaverse.Packets.Packet`.
        pub base: libremetaverse::packets::Packet,
        /// C# member: `F:LibreMetaverse.Packets.TestMessagePacket.NeighborBlock`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TestMessagePacket.NeighborBlockBlock[] LibreMetaverse.Packets.TestMessagePacket.NeighborBlock`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub neighbor_block: Vec<libremetaverse::packets::TestMessagePacketNeighborBlockBlock>,
        /// C# member: `F:LibreMetaverse.Packets.TestMessagePacket.TestBlock1`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TestMessagePacket.TestBlock1Block LibreMetaverse.Packets.TestMessagePacket.TestBlock1`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub test_block1: libremetaverse::packets::TestMessagePacketTestBlock1Block,
    }
    impl TestMessagePacket {
        /// C# member: `M:LibreMetaverse.Packets.TestMessagePacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TestMessagePacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.TestMessagePacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TestMessagePacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TestMessagePacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TestMessagePacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TestMessagePacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TestMessagePacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.TestMessagePacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TestMessagePacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.TestMessagePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TestMessagePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.TestMessagePacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.TestMessagePacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.TestMessagePacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.TestMessagePacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.TestMessagePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.TestMessagePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.TestMessagePacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.TestMessagePacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.TestMessagePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.TestMessagePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.TestMessagePacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.TestMessagePacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.TestMessagePacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.TestMessagePacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.TestMessagePacket.NeighborBlockBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.TestMessagePacket.NeighborBlockBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct TestMessagePacketNeighborBlockBlock {
        /// C# member: `F:LibreMetaverse.Packets.TestMessagePacket.NeighborBlockBlock.Test0`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.TestMessagePacket.NeighborBlockBlock.Test0`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub test0: u32,
        /// C# member: `F:LibreMetaverse.Packets.TestMessagePacket.NeighborBlockBlock.Test1`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.TestMessagePacket.NeighborBlockBlock.Test1`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub test1: u32,
        /// C# member: `F:LibreMetaverse.Packets.TestMessagePacket.NeighborBlockBlock.Test2`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.TestMessagePacket.NeighborBlockBlock.Test2`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub test2: u32,
    }
    impl TestMessagePacketNeighborBlockBlock {
        /// C# member: `M:LibreMetaverse.Packets.TestMessagePacket.NeighborBlockBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TestMessagePacket.NeighborBlockBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.TestMessagePacket.NeighborBlockBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TestMessagePacket.NeighborBlockBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TestMessagePacket.NeighborBlockBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TestMessagePacket.NeighborBlockBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TestMessagePacket.NeighborBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TestMessagePacket.NeighborBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.TestMessagePacket.NeighborBlockBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TestMessagePacket.NeighborBlockBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TestMessagePacket.NeighborBlockBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.TestMessagePacket.NeighborBlockBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.TestMessagePacket.NeighborBlockBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.TestMessagePacket.NeighborBlockBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.TestMessagePacket.TestBlock1Block`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.TestMessagePacket.TestBlock1Block` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct TestMessagePacketTestBlock1Block {
        /// C# member: `F:LibreMetaverse.Packets.TestMessagePacket.TestBlock1Block.Test1`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.TestMessagePacket.TestBlock1Block.Test1`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub test1: u32,
    }
    impl TestMessagePacketTestBlock1Block {
        /// C# member: `M:LibreMetaverse.Packets.TestMessagePacket.TestBlock1Block.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TestMessagePacket.TestBlock1Block()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.TestMessagePacket.TestBlock1Block.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TestMessagePacket.TestBlock1Block(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TestMessagePacket.TestBlock1Block.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TestMessagePacket.TestBlock1Block.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TestMessagePacket.TestBlock1Block.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TestMessagePacket.TestBlock1Block.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.TestMessagePacket.TestBlock1Block.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TestMessagePacket.TestBlock1Block.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TestMessagePacket.TestBlock1Block.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.TestMessagePacket.TestBlock1Block.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.TestMessagePacket.TestBlock1Block.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.TestMessagePacket.TestBlock1Block.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.TrackAgentPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.TrackAgentPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct TrackAgentPacket {
        /// C# member: `F:LibreMetaverse.Packets.TrackAgentPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TrackAgentPacket.AgentDataBlock LibreMetaverse.Packets.TrackAgentPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::TrackAgentPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.TrackAgentPacket.TargetData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TrackAgentPacket.TargetDataBlock LibreMetaverse.Packets.TrackAgentPacket.TargetData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub target_data: libremetaverse::packets::TrackAgentPacketTargetDataBlock,
    }
    impl TrackAgentPacket {
        /// C# member: `M:LibreMetaverse.Packets.TrackAgentPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TrackAgentPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.TrackAgentPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TrackAgentPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TrackAgentPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TrackAgentPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TrackAgentPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TrackAgentPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.TrackAgentPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TrackAgentPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.TrackAgentPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TrackAgentPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.TrackAgentPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.TrackAgentPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.TrackAgentPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.TrackAgentPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.TrackAgentPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.TrackAgentPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.TrackAgentPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.TrackAgentPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.TrackAgentPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.TrackAgentPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.TrackAgentPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.TrackAgentPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.TrackAgentPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.TrackAgentPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.TrackAgentPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.TrackAgentPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct TrackAgentPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.TrackAgentPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.TrackAgentPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.TrackAgentPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.TrackAgentPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl TrackAgentPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.TrackAgentPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TrackAgentPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.TrackAgentPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TrackAgentPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TrackAgentPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TrackAgentPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TrackAgentPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TrackAgentPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.TrackAgentPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TrackAgentPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TrackAgentPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.TrackAgentPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.TrackAgentPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.TrackAgentPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.TrackAgentPacket.TargetDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.TrackAgentPacket.TargetDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct TrackAgentPacketTargetDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.TrackAgentPacket.TargetDataBlock.PreyID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.TrackAgentPacket.TargetDataBlock.PreyID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub prey_id: libremetaverse_types::UUID,
    }
    impl TrackAgentPacketTargetDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.TrackAgentPacket.TargetDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TrackAgentPacket.TargetDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.TrackAgentPacket.TargetDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TrackAgentPacket.TargetDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TrackAgentPacket.TargetDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TrackAgentPacket.TargetDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TrackAgentPacket.TargetDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TrackAgentPacket.TargetDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.TrackAgentPacket.TargetDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TrackAgentPacket.TargetDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TrackAgentPacket.TargetDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.TrackAgentPacket.TargetDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.TrackAgentPacket.TargetDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.TrackAgentPacket.TargetDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.TransferAbortPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.TransferAbortPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct TransferAbortPacket {
        /// C# member: `F:LibreMetaverse.Packets.TransferAbortPacket.TransferInfo`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TransferAbortPacket.TransferInfoBlock LibreMetaverse.Packets.TransferAbortPacket.TransferInfo`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub transfer_info: libremetaverse::packets::TransferAbortPacketTransferInfoBlock,
    }
    impl TransferAbortPacket {
        /// C# member: `M:LibreMetaverse.Packets.TransferAbortPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TransferAbortPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.TransferAbortPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TransferAbortPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TransferAbortPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TransferAbortPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TransferAbortPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TransferAbortPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.TransferAbortPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TransferAbortPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.TransferAbortPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TransferAbortPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.TransferAbortPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.TransferAbortPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.TransferAbortPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.TransferAbortPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.TransferAbortPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.TransferAbortPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.TransferAbortPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.TransferAbortPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.TransferAbortPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.TransferAbortPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.TransferAbortPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.TransferAbortPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.TransferAbortPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.TransferAbortPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.TransferAbortPacket.TransferInfoBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.TransferAbortPacket.TransferInfoBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct TransferAbortPacketTransferInfoBlock {
        /// C# member: `F:LibreMetaverse.Packets.TransferAbortPacket.TransferInfoBlock.ChannelType`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.TransferAbortPacket.TransferInfoBlock.ChannelType`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub channel_type: i32,
        /// C# member: `F:LibreMetaverse.Packets.TransferAbortPacket.TransferInfoBlock.TransferID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.TransferAbortPacket.TransferInfoBlock.TransferID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub transfer_id: libremetaverse_types::UUID,
    }
    impl TransferAbortPacketTransferInfoBlock {
        /// C# member: `M:LibreMetaverse.Packets.TransferAbortPacket.TransferInfoBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TransferAbortPacket.TransferInfoBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.TransferAbortPacket.TransferInfoBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TransferAbortPacket.TransferInfoBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TransferAbortPacket.TransferInfoBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TransferAbortPacket.TransferInfoBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TransferAbortPacket.TransferInfoBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TransferAbortPacket.TransferInfoBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.TransferAbortPacket.TransferInfoBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TransferAbortPacket.TransferInfoBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TransferAbortPacket.TransferInfoBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.TransferAbortPacket.TransferInfoBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.TransferAbortPacket.TransferInfoBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.TransferAbortPacket.TransferInfoBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.TransferInfoPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.TransferInfoPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct TransferInfoPacket {
        /// C# member: `F:LibreMetaverse.Packets.TransferInfoPacket.TransferInfo`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TransferInfoPacket.TransferInfoBlock LibreMetaverse.Packets.TransferInfoPacket.TransferInfo`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub transfer_info: libremetaverse::packets::TransferInfoPacketTransferInfoBlock,
    }
    impl TransferInfoPacket {
        /// C# member: `M:LibreMetaverse.Packets.TransferInfoPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TransferInfoPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.TransferInfoPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TransferInfoPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TransferInfoPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TransferInfoPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TransferInfoPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TransferInfoPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.TransferInfoPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TransferInfoPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.TransferInfoPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TransferInfoPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.TransferInfoPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.TransferInfoPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.TransferInfoPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.TransferInfoPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.TransferInfoPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.TransferInfoPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.TransferInfoPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.TransferInfoPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.TransferInfoPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.TransferInfoPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.TransferInfoPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.TransferInfoPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.TransferInfoPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.TransferInfoPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.TransferInfoPacket.TransferInfoBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.TransferInfoPacket.TransferInfoBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct TransferInfoPacketTransferInfoBlock {
        /// C# member: `F:LibreMetaverse.Packets.TransferInfoPacket.TransferInfoBlock.ChannelType`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.TransferInfoPacket.TransferInfoBlock.ChannelType`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub channel_type: i32,
        /// C# member: `F:LibreMetaverse.Packets.TransferInfoPacket.TransferInfoBlock.Params`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.TransferInfoPacket.TransferInfoBlock.Params`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub params: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.TransferInfoPacket.TransferInfoBlock.Size`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.TransferInfoPacket.TransferInfoBlock.Size`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub size: i32,
        /// C# member: `F:LibreMetaverse.Packets.TransferInfoPacket.TransferInfoBlock.Status`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.TransferInfoPacket.TransferInfoBlock.Status`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub status: i32,
        /// C# member: `F:LibreMetaverse.Packets.TransferInfoPacket.TransferInfoBlock.TargetType`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.TransferInfoPacket.TransferInfoBlock.TargetType`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub target_type: i32,
        /// C# member: `F:LibreMetaverse.Packets.TransferInfoPacket.TransferInfoBlock.TransferID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.TransferInfoPacket.TransferInfoBlock.TransferID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub transfer_id: libremetaverse_types::UUID,
    }
    impl TransferInfoPacketTransferInfoBlock {
        /// C# member: `M:LibreMetaverse.Packets.TransferInfoPacket.TransferInfoBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TransferInfoPacket.TransferInfoBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.TransferInfoPacket.TransferInfoBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TransferInfoPacket.TransferInfoBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TransferInfoPacket.TransferInfoBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TransferInfoPacket.TransferInfoBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TransferInfoPacket.TransferInfoBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TransferInfoPacket.TransferInfoBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.TransferInfoPacket.TransferInfoBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TransferInfoPacket.TransferInfoBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TransferInfoPacket.TransferInfoBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.TransferInfoPacket.TransferInfoBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.TransferInfoPacket.TransferInfoBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.TransferInfoPacket.TransferInfoBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.TransferInventoryAckPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.TransferInventoryAckPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct TransferInventoryAckPacket {
        /// C# member: `F:LibreMetaverse.Packets.TransferInventoryAckPacket.InfoBlock`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TransferInventoryAckPacket.InfoBlockBlock LibreMetaverse.Packets.TransferInventoryAckPacket.InfoBlock`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub info_block: libremetaverse::packets::TransferInventoryAckPacketInfoBlockBlock,
    }
    impl TransferInventoryAckPacket {
        /// C# member: `M:LibreMetaverse.Packets.TransferInventoryAckPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TransferInventoryAckPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.TransferInventoryAckPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TransferInventoryAckPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TransferInventoryAckPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TransferInventoryAckPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TransferInventoryAckPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TransferInventoryAckPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.TransferInventoryAckPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TransferInventoryAckPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.TransferInventoryAckPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TransferInventoryAckPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.TransferInventoryAckPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.TransferInventoryAckPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.TransferInventoryAckPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.TransferInventoryAckPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.TransferInventoryAckPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.TransferInventoryAckPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.TransferInventoryAckPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.TransferInventoryAckPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.TransferInventoryAckPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.TransferInventoryAckPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.TransferInventoryAckPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.TransferInventoryAckPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.TransferInventoryAckPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.TransferInventoryAckPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.TransferInventoryAckPacket.InfoBlockBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.TransferInventoryAckPacket.InfoBlockBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct TransferInventoryAckPacketInfoBlockBlock {
        /// C# member: `F:LibreMetaverse.Packets.TransferInventoryAckPacket.InfoBlockBlock.InventoryID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.TransferInventoryAckPacket.InfoBlockBlock.InventoryID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub inventory_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.TransferInventoryAckPacket.InfoBlockBlock.TransactionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.TransferInventoryAckPacket.InfoBlockBlock.TransactionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub transaction_id: libremetaverse_types::UUID,
    }
    impl TransferInventoryAckPacketInfoBlockBlock {
        /// C# member: `M:LibreMetaverse.Packets.TransferInventoryAckPacket.InfoBlockBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TransferInventoryAckPacket.InfoBlockBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.TransferInventoryAckPacket.InfoBlockBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TransferInventoryAckPacket.InfoBlockBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TransferInventoryAckPacket.InfoBlockBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TransferInventoryAckPacket.InfoBlockBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TransferInventoryAckPacket.InfoBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TransferInventoryAckPacket.InfoBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.TransferInventoryAckPacket.InfoBlockBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TransferInventoryAckPacket.InfoBlockBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TransferInventoryAckPacket.InfoBlockBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.TransferInventoryAckPacket.InfoBlockBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.TransferInventoryAckPacket.InfoBlockBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.TransferInventoryAckPacket.InfoBlockBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.TransferInventoryPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.TransferInventoryPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct TransferInventoryPacket {
        /// C# member: `F:LibreMetaverse.Packets.TransferInventoryPacket.InfoBlock`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TransferInventoryPacket.InfoBlockBlock LibreMetaverse.Packets.TransferInventoryPacket.InfoBlock`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub info_block: libremetaverse::packets::TransferInventoryPacketInfoBlockBlock,
        /// C# member: `F:LibreMetaverse.Packets.TransferInventoryPacket.InventoryBlock`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TransferInventoryPacket.InventoryBlockBlock[] LibreMetaverse.Packets.TransferInventoryPacket.InventoryBlock`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub inventory_block:
            Vec<libremetaverse::packets::TransferInventoryPacketInventoryBlockBlock>,
        /// C# member: `F:LibreMetaverse.Packets.TransferInventoryPacket.ValidationBlock`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TransferInventoryPacket.ValidationBlockBlock LibreMetaverse.Packets.TransferInventoryPacket.ValidationBlock`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub validation_block: libremetaverse::packets::TransferInventoryPacketValidationBlockBlock,
    }
    impl TransferInventoryPacket {
        /// C# member: `M:LibreMetaverse.Packets.TransferInventoryPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TransferInventoryPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.TransferInventoryPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TransferInventoryPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TransferInventoryPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TransferInventoryPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TransferInventoryPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TransferInventoryPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.TransferInventoryPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TransferInventoryPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.TransferInventoryPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TransferInventoryPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.TransferInventoryPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.TransferInventoryPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.TransferInventoryPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.TransferInventoryPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.TransferInventoryPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.TransferInventoryPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.TransferInventoryPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.TransferInventoryPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.TransferInventoryPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.TransferInventoryPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.TransferInventoryPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.TransferInventoryPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.TransferInventoryPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.TransferInventoryPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.TransferInventoryPacket.InfoBlockBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.TransferInventoryPacket.InfoBlockBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct TransferInventoryPacketInfoBlockBlock {
        /// C# member: `F:LibreMetaverse.Packets.TransferInventoryPacket.InfoBlockBlock.DestID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.TransferInventoryPacket.InfoBlockBlock.DestID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub dest_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.TransferInventoryPacket.InfoBlockBlock.SourceID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.TransferInventoryPacket.InfoBlockBlock.SourceID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub source_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.TransferInventoryPacket.InfoBlockBlock.TransactionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.TransferInventoryPacket.InfoBlockBlock.TransactionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub transaction_id: libremetaverse_types::UUID,
    }
    impl TransferInventoryPacketInfoBlockBlock {
        /// C# member: `M:LibreMetaverse.Packets.TransferInventoryPacket.InfoBlockBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TransferInventoryPacket.InfoBlockBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.TransferInventoryPacket.InfoBlockBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TransferInventoryPacket.InfoBlockBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TransferInventoryPacket.InfoBlockBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TransferInventoryPacket.InfoBlockBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TransferInventoryPacket.InfoBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TransferInventoryPacket.InfoBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.TransferInventoryPacket.InfoBlockBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TransferInventoryPacket.InfoBlockBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TransferInventoryPacket.InfoBlockBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.TransferInventoryPacket.InfoBlockBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.TransferInventoryPacket.InfoBlockBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.TransferInventoryPacket.InfoBlockBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.TransferInventoryPacket.InventoryBlockBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.TransferInventoryPacket.InventoryBlockBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct TransferInventoryPacketInventoryBlockBlock {
        /// C# member: `F:LibreMetaverse.Packets.TransferInventoryPacket.InventoryBlockBlock.InventoryID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.TransferInventoryPacket.InventoryBlockBlock.InventoryID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub inventory_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.TransferInventoryPacket.InventoryBlockBlock.Type`.
        ///
        /// C# signature: `System.SByte LibreMetaverse.Packets.TransferInventoryPacket.InventoryBlockBlock.Type`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub type_: i8,
    }
    impl TransferInventoryPacketInventoryBlockBlock {
        /// C# member: `M:LibreMetaverse.Packets.TransferInventoryPacket.InventoryBlockBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TransferInventoryPacket.InventoryBlockBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.TransferInventoryPacket.InventoryBlockBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TransferInventoryPacket.InventoryBlockBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TransferInventoryPacket.InventoryBlockBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TransferInventoryPacket.InventoryBlockBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TransferInventoryPacket.InventoryBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TransferInventoryPacket.InventoryBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.TransferInventoryPacket.InventoryBlockBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TransferInventoryPacket.InventoryBlockBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TransferInventoryPacket.InventoryBlockBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.TransferInventoryPacket.InventoryBlockBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.TransferInventoryPacket.InventoryBlockBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.TransferInventoryPacket.InventoryBlockBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.TransferInventoryPacket.ValidationBlockBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.TransferInventoryPacket.ValidationBlockBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct TransferInventoryPacketValidationBlockBlock {
        /// C# member: `F:LibreMetaverse.Packets.TransferInventoryPacket.ValidationBlockBlock.EstateID`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.TransferInventoryPacket.ValidationBlockBlock.EstateID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub estate_id: u32,
        /// C# member: `F:LibreMetaverse.Packets.TransferInventoryPacket.ValidationBlockBlock.NeedsValidation`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.TransferInventoryPacket.ValidationBlockBlock.NeedsValidation`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub needs_validation: bool,
    }
    impl TransferInventoryPacketValidationBlockBlock {
        /// C# member: `M:LibreMetaverse.Packets.TransferInventoryPacket.ValidationBlockBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TransferInventoryPacket.ValidationBlockBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.TransferInventoryPacket.ValidationBlockBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TransferInventoryPacket.ValidationBlockBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TransferInventoryPacket.ValidationBlockBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TransferInventoryPacket.ValidationBlockBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TransferInventoryPacket.ValidationBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TransferInventoryPacket.ValidationBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.TransferInventoryPacket.ValidationBlockBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TransferInventoryPacket.ValidationBlockBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TransferInventoryPacket.ValidationBlockBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.TransferInventoryPacket.ValidationBlockBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.TransferInventoryPacket.ValidationBlockBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.TransferInventoryPacket.ValidationBlockBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.TransferPacketPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.TransferPacketPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct TransferPacketPacket {
        /// C# member: `F:LibreMetaverse.Packets.TransferPacketPacket.TransferData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TransferPacketPacket.TransferDataBlock LibreMetaverse.Packets.TransferPacketPacket.TransferData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub transfer_data: libremetaverse::packets::TransferPacketPacketTransferDataBlock,
    }
    impl TransferPacketPacket {
        /// C# member: `M:LibreMetaverse.Packets.TransferPacketPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TransferPacketPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.TransferPacketPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TransferPacketPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TransferPacketPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TransferPacketPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TransferPacketPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TransferPacketPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.TransferPacketPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TransferPacketPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.TransferPacketPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TransferPacketPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.TransferPacketPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.TransferPacketPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.TransferPacketPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.TransferPacketPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.TransferPacketPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.TransferPacketPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.TransferPacketPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.TransferPacketPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.TransferPacketPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.TransferPacketPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.TransferPacketPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.TransferPacketPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.TransferPacketPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.TransferPacketPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.TransferPacketPacket.TransferDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.TransferPacketPacket.TransferDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct TransferPacketPacketTransferDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.TransferPacketPacket.TransferDataBlock.ChannelType`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.TransferPacketPacket.TransferDataBlock.ChannelType`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub channel_type: i32,
        /// C# member: `F:LibreMetaverse.Packets.TransferPacketPacket.TransferDataBlock.Data`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.TransferPacketPacket.TransferDataBlock.Data`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub data: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.TransferPacketPacket.TransferDataBlock.Packet`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.TransferPacketPacket.TransferDataBlock.Packet`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub packet: i32,
        /// C# member: `F:LibreMetaverse.Packets.TransferPacketPacket.TransferDataBlock.Status`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.TransferPacketPacket.TransferDataBlock.Status`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub status: i32,
        /// C# member: `F:LibreMetaverse.Packets.TransferPacketPacket.TransferDataBlock.TransferID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.TransferPacketPacket.TransferDataBlock.TransferID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub transfer_id: libremetaverse_types::UUID,
    }
    impl TransferPacketPacketTransferDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.TransferPacketPacket.TransferDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TransferPacketPacket.TransferDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.TransferPacketPacket.TransferDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TransferPacketPacket.TransferDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TransferPacketPacket.TransferDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TransferPacketPacket.TransferDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TransferPacketPacket.TransferDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TransferPacketPacket.TransferDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.TransferPacketPacket.TransferDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TransferPacketPacket.TransferDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TransferPacketPacket.TransferDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.TransferPacketPacket.TransferDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.TransferPacketPacket.TransferDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.TransferPacketPacket.TransferDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.TransferRequestPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.TransferRequestPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct TransferRequestPacket {
        /// C# member: `F:LibreMetaverse.Packets.TransferRequestPacket.TransferInfo`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TransferRequestPacket.TransferInfoBlock LibreMetaverse.Packets.TransferRequestPacket.TransferInfo`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub transfer_info: libremetaverse::packets::TransferRequestPacketTransferInfoBlock,
    }
    impl TransferRequestPacket {
        /// C# member: `M:LibreMetaverse.Packets.TransferRequestPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TransferRequestPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.TransferRequestPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TransferRequestPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TransferRequestPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TransferRequestPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TransferRequestPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TransferRequestPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.TransferRequestPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TransferRequestPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.TransferRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TransferRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.TransferRequestPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.TransferRequestPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.TransferRequestPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.TransferRequestPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.TransferRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.TransferRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.TransferRequestPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.TransferRequestPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.TransferRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.TransferRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.TransferRequestPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.TransferRequestPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.TransferRequestPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.TransferRequestPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.TransferRequestPacket.TransferInfoBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.TransferRequestPacket.TransferInfoBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct TransferRequestPacketTransferInfoBlock {
        /// C# member: `F:LibreMetaverse.Packets.TransferRequestPacket.TransferInfoBlock.ChannelType`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.TransferRequestPacket.TransferInfoBlock.ChannelType`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub channel_type: i32,
        /// C# member: `F:LibreMetaverse.Packets.TransferRequestPacket.TransferInfoBlock.Params`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.TransferRequestPacket.TransferInfoBlock.Params`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub params: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.TransferRequestPacket.TransferInfoBlock.Priority`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.TransferRequestPacket.TransferInfoBlock.Priority`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub priority: f32,
        /// C# member: `F:LibreMetaverse.Packets.TransferRequestPacket.TransferInfoBlock.SourceType`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.TransferRequestPacket.TransferInfoBlock.SourceType`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub source_type: i32,
        /// C# member: `F:LibreMetaverse.Packets.TransferRequestPacket.TransferInfoBlock.TransferID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.TransferRequestPacket.TransferInfoBlock.TransferID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub transfer_id: libremetaverse_types::UUID,
    }
    impl TransferRequestPacketTransferInfoBlock {
        /// C# member: `M:LibreMetaverse.Packets.TransferRequestPacket.TransferInfoBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TransferRequestPacket.TransferInfoBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.TransferRequestPacket.TransferInfoBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.TransferRequestPacket.TransferInfoBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TransferRequestPacket.TransferInfoBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TransferRequestPacket.TransferInfoBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TransferRequestPacket.TransferInfoBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TransferRequestPacket.TransferInfoBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.TransferRequestPacket.TransferInfoBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.TransferRequestPacket.TransferInfoBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.TransferRequestPacket.TransferInfoBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.TransferRequestPacket.TransferInfoBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.TransferRequestPacket.TransferInfoBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.TransferRequestPacket.TransferInfoBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.UUIDGroupNameReplyPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.UUIDGroupNameReplyPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct UUIDGroupNameReplyPacket {
        /// C# member: `F:LibreMetaverse.Packets.UUIDGroupNameReplyPacket.UUIDNameBlock`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UUIDGroupNameReplyPacket.UUIDNameBlockBlock[] LibreMetaverse.Packets.UUIDGroupNameReplyPacket.UUIDNameBlock`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub uuid_name_block:
            Vec<libremetaverse::packets::UUIDGroupNameReplyPacketUUIDNameBlockBlock>,
    }
    impl UUIDGroupNameReplyPacket {
        /// C# member: `M:LibreMetaverse.Packets.UUIDGroupNameReplyPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UUIDGroupNameReplyPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.UUIDGroupNameReplyPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UUIDGroupNameReplyPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UUIDGroupNameReplyPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UUIDGroupNameReplyPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UUIDGroupNameReplyPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UUIDGroupNameReplyPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.UUIDGroupNameReplyPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UUIDGroupNameReplyPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.UUIDGroupNameReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UUIDGroupNameReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.UUIDGroupNameReplyPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.UUIDGroupNameReplyPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.UUIDGroupNameReplyPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.UUIDGroupNameReplyPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.UUIDGroupNameReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.UUIDGroupNameReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.UUIDGroupNameReplyPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.UUIDGroupNameReplyPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.UUIDGroupNameReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.UUIDGroupNameReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.UUIDGroupNameReplyPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.UUIDGroupNameReplyPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.UUIDGroupNameReplyPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.UUIDGroupNameReplyPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.UUIDGroupNameReplyPacket.UUIDNameBlockBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.UUIDGroupNameReplyPacket.UUIDNameBlockBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct UUIDGroupNameReplyPacketUUIDNameBlockBlock {
        /// C# member: `F:LibreMetaverse.Packets.UUIDGroupNameReplyPacket.UUIDNameBlockBlock.GroupName`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.UUIDGroupNameReplyPacket.UUIDNameBlockBlock.GroupName`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_name: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.UUIDGroupNameReplyPacket.UUIDNameBlockBlock.ID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.UUIDGroupNameReplyPacket.UUIDNameBlockBlock.ID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub id: libremetaverse_types::UUID,
    }
    impl UUIDGroupNameReplyPacketUUIDNameBlockBlock {
        /// C# member: `M:LibreMetaverse.Packets.UUIDGroupNameReplyPacket.UUIDNameBlockBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UUIDGroupNameReplyPacket.UUIDNameBlockBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.UUIDGroupNameReplyPacket.UUIDNameBlockBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UUIDGroupNameReplyPacket.UUIDNameBlockBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UUIDGroupNameReplyPacket.UUIDNameBlockBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UUIDGroupNameReplyPacket.UUIDNameBlockBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UUIDGroupNameReplyPacket.UUIDNameBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UUIDGroupNameReplyPacket.UUIDNameBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.UUIDGroupNameReplyPacket.UUIDNameBlockBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UUIDGroupNameReplyPacket.UUIDNameBlockBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UUIDGroupNameReplyPacket.UUIDNameBlockBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.UUIDGroupNameReplyPacket.UUIDNameBlockBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.UUIDGroupNameReplyPacket.UUIDNameBlockBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.UUIDGroupNameReplyPacket.UUIDNameBlockBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.UUIDGroupNameRequestPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.UUIDGroupNameRequestPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct UUIDGroupNameRequestPacket {
        /// C# member: `F:LibreMetaverse.Packets.UUIDGroupNameRequestPacket.UUIDNameBlock`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UUIDGroupNameRequestPacket.UUIDNameBlockBlock[] LibreMetaverse.Packets.UUIDGroupNameRequestPacket.UUIDNameBlock`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub uuid_name_block:
            Vec<libremetaverse::packets::UUIDGroupNameRequestPacketUUIDNameBlockBlock>,
    }
    impl UUIDGroupNameRequestPacket {
        /// C# member: `M:LibreMetaverse.Packets.UUIDGroupNameRequestPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UUIDGroupNameRequestPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.UUIDGroupNameRequestPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UUIDGroupNameRequestPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UUIDGroupNameRequestPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UUIDGroupNameRequestPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UUIDGroupNameRequestPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UUIDGroupNameRequestPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.UUIDGroupNameRequestPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UUIDGroupNameRequestPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.UUIDGroupNameRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UUIDGroupNameRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.UUIDGroupNameRequestPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.UUIDGroupNameRequestPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.UUIDGroupNameRequestPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.UUIDGroupNameRequestPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.UUIDGroupNameRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.UUIDGroupNameRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.UUIDGroupNameRequestPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.UUIDGroupNameRequestPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.UUIDGroupNameRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.UUIDGroupNameRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.UUIDGroupNameRequestPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.UUIDGroupNameRequestPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.UUIDGroupNameRequestPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.UUIDGroupNameRequestPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.UUIDGroupNameRequestPacket.UUIDNameBlockBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.UUIDGroupNameRequestPacket.UUIDNameBlockBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct UUIDGroupNameRequestPacketUUIDNameBlockBlock {
        /// C# member: `F:LibreMetaverse.Packets.UUIDGroupNameRequestPacket.UUIDNameBlockBlock.ID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.UUIDGroupNameRequestPacket.UUIDNameBlockBlock.ID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub id: libremetaverse_types::UUID,
    }
    impl UUIDGroupNameRequestPacketUUIDNameBlockBlock {
        /// C# member: `M:LibreMetaverse.Packets.UUIDGroupNameRequestPacket.UUIDNameBlockBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UUIDGroupNameRequestPacket.UUIDNameBlockBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.UUIDGroupNameRequestPacket.UUIDNameBlockBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UUIDGroupNameRequestPacket.UUIDNameBlockBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UUIDGroupNameRequestPacket.UUIDNameBlockBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UUIDGroupNameRequestPacket.UUIDNameBlockBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UUIDGroupNameRequestPacket.UUIDNameBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UUIDGroupNameRequestPacket.UUIDNameBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.UUIDGroupNameRequestPacket.UUIDNameBlockBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UUIDGroupNameRequestPacket.UUIDNameBlockBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UUIDGroupNameRequestPacket.UUIDNameBlockBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.UUIDGroupNameRequestPacket.UUIDNameBlockBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.UUIDGroupNameRequestPacket.UUIDNameBlockBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.UUIDGroupNameRequestPacket.UUIDNameBlockBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.UUIDNameReplyPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.UUIDNameReplyPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct UUIDNameReplyPacket {
        /// C# member: `F:LibreMetaverse.Packets.UUIDNameReplyPacket.UUIDNameBlock`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UUIDNameReplyPacket.UUIDNameBlockBlock[] LibreMetaverse.Packets.UUIDNameReplyPacket.UUIDNameBlock`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub uuid_name_block: Vec<libremetaverse::packets::UUIDNameReplyPacketUUIDNameBlockBlock>,
    }
    impl UUIDNameReplyPacket {
        /// C# member: `M:LibreMetaverse.Packets.UUIDNameReplyPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UUIDNameReplyPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.UUIDNameReplyPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UUIDNameReplyPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UUIDNameReplyPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UUIDNameReplyPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UUIDNameReplyPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UUIDNameReplyPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.UUIDNameReplyPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UUIDNameReplyPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.UUIDNameReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UUIDNameReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.UUIDNameReplyPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.UUIDNameReplyPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.UUIDNameReplyPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.UUIDNameReplyPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.UUIDNameReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.UUIDNameReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.UUIDNameReplyPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.UUIDNameReplyPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.UUIDNameReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.UUIDNameReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.UUIDNameReplyPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.UUIDNameReplyPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.UUIDNameReplyPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.UUIDNameReplyPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.UUIDNameReplyPacket.UUIDNameBlockBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.UUIDNameReplyPacket.UUIDNameBlockBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct UUIDNameReplyPacketUUIDNameBlockBlock {
        /// C# member: `F:LibreMetaverse.Packets.UUIDNameReplyPacket.UUIDNameBlockBlock.FirstName`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.UUIDNameReplyPacket.UUIDNameBlockBlock.FirstName`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub first_name: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.UUIDNameReplyPacket.UUIDNameBlockBlock.ID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.UUIDNameReplyPacket.UUIDNameBlockBlock.ID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.UUIDNameReplyPacket.UUIDNameBlockBlock.LastName`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.UUIDNameReplyPacket.UUIDNameBlockBlock.LastName`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub last_name: Vec<u8>,
    }
    impl UUIDNameReplyPacketUUIDNameBlockBlock {
        /// C# member: `M:LibreMetaverse.Packets.UUIDNameReplyPacket.UUIDNameBlockBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UUIDNameReplyPacket.UUIDNameBlockBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.UUIDNameReplyPacket.UUIDNameBlockBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UUIDNameReplyPacket.UUIDNameBlockBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UUIDNameReplyPacket.UUIDNameBlockBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UUIDNameReplyPacket.UUIDNameBlockBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UUIDNameReplyPacket.UUIDNameBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UUIDNameReplyPacket.UUIDNameBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.UUIDNameReplyPacket.UUIDNameBlockBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UUIDNameReplyPacket.UUIDNameBlockBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UUIDNameReplyPacket.UUIDNameBlockBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.UUIDNameReplyPacket.UUIDNameBlockBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.UUIDNameReplyPacket.UUIDNameBlockBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.UUIDNameReplyPacket.UUIDNameBlockBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.UUIDNameRequestPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.UUIDNameRequestPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct UUIDNameRequestPacket {
        /// C# member: `F:LibreMetaverse.Packets.UUIDNameRequestPacket.UUIDNameBlock`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UUIDNameRequestPacket.UUIDNameBlockBlock[] LibreMetaverse.Packets.UUIDNameRequestPacket.UUIDNameBlock`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub uuid_name_block: Vec<libremetaverse::packets::UUIDNameRequestPacketUUIDNameBlockBlock>,
    }
    impl UUIDNameRequestPacket {
        /// C# member: `M:LibreMetaverse.Packets.UUIDNameRequestPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UUIDNameRequestPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.UUIDNameRequestPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UUIDNameRequestPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UUIDNameRequestPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UUIDNameRequestPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UUIDNameRequestPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UUIDNameRequestPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.UUIDNameRequestPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UUIDNameRequestPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.UUIDNameRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UUIDNameRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.UUIDNameRequestPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.UUIDNameRequestPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.UUIDNameRequestPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.UUIDNameRequestPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.UUIDNameRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.UUIDNameRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.UUIDNameRequestPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.UUIDNameRequestPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.UUIDNameRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.UUIDNameRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.UUIDNameRequestPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.UUIDNameRequestPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.UUIDNameRequestPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.UUIDNameRequestPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.UUIDNameRequestPacket.UUIDNameBlockBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.UUIDNameRequestPacket.UUIDNameBlockBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct UUIDNameRequestPacketUUIDNameBlockBlock {
        /// C# member: `F:LibreMetaverse.Packets.UUIDNameRequestPacket.UUIDNameBlockBlock.ID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.UUIDNameRequestPacket.UUIDNameBlockBlock.ID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub id: libremetaverse_types::UUID,
    }
    impl UUIDNameRequestPacketUUIDNameBlockBlock {
        /// C# member: `M:LibreMetaverse.Packets.UUIDNameRequestPacket.UUIDNameBlockBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UUIDNameRequestPacket.UUIDNameBlockBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.UUIDNameRequestPacket.UUIDNameBlockBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UUIDNameRequestPacket.UUIDNameBlockBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UUIDNameRequestPacket.UUIDNameBlockBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UUIDNameRequestPacket.UUIDNameBlockBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UUIDNameRequestPacket.UUIDNameBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UUIDNameRequestPacket.UUIDNameBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.UUIDNameRequestPacket.UUIDNameBlockBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UUIDNameRequestPacket.UUIDNameBlockBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UUIDNameRequestPacket.UUIDNameBlockBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.UUIDNameRequestPacket.UUIDNameBlockBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.UUIDNameRequestPacket.UUIDNameBlockBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.UUIDNameRequestPacket.UUIDNameBlockBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.UndoLandPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.UndoLandPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct UndoLandPacket {
        /// C# member: `F:LibreMetaverse.Packets.UndoLandPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UndoLandPacket.AgentDataBlock LibreMetaverse.Packets.UndoLandPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::UndoLandPacketAgentDataBlock,
    }
    impl UndoLandPacket {
        /// C# member: `M:LibreMetaverse.Packets.UndoLandPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UndoLandPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.UndoLandPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UndoLandPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UndoLandPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UndoLandPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UndoLandPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UndoLandPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.UndoLandPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UndoLandPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.UndoLandPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UndoLandPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.UndoLandPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.UndoLandPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.UndoLandPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.UndoLandPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.UndoLandPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.UndoLandPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.UndoLandPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.UndoLandPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.UndoLandPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.UndoLandPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.UndoLandPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.UndoLandPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.UndoLandPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.UndoLandPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.UndoLandPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.UndoLandPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct UndoLandPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.UndoLandPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.UndoLandPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.UndoLandPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.UndoLandPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl UndoLandPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.UndoLandPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UndoLandPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.UndoLandPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UndoLandPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UndoLandPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UndoLandPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UndoLandPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UndoLandPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.UndoLandPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UndoLandPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UndoLandPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.UndoLandPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.UndoLandPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.UndoLandPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.UndoPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.UndoPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct UndoPacket {
        /// C# member: `F:LibreMetaverse.Packets.UndoPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UndoPacket.AgentDataBlock LibreMetaverse.Packets.UndoPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::UndoPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.UndoPacket.ObjectData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UndoPacket.ObjectDataBlock[] LibreMetaverse.Packets.UndoPacket.ObjectData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_data: Vec<libremetaverse::packets::UndoPacketObjectDataBlock>,
    }
    impl UndoPacket {
        /// C# member: `M:LibreMetaverse.Packets.UndoPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UndoPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.UndoPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UndoPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UndoPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UndoPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UndoPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UndoPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.UndoPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UndoPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.UndoPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UndoPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.UndoPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.UndoPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.UndoPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.UndoPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.UndoPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.UndoPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.UndoPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.UndoPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.UndoPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.UndoPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.UndoPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.UndoPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.UndoPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.UndoPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.UndoPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.UndoPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct UndoPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.UndoPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.UndoPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.UndoPacket.AgentDataBlock.GroupID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.UndoPacket.AgentDataBlock.GroupID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.UndoPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.UndoPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl UndoPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.UndoPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UndoPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.UndoPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UndoPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UndoPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UndoPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UndoPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UndoPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.UndoPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UndoPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UndoPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.UndoPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.UndoPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.UndoPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.UndoPacket.ObjectDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.UndoPacket.ObjectDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct UndoPacketObjectDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.UndoPacket.ObjectDataBlock.ObjectID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.UndoPacket.ObjectDataBlock.ObjectID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_id: libremetaverse_types::UUID,
    }
    impl UndoPacketObjectDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.UndoPacket.ObjectDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UndoPacket.ObjectDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.UndoPacket.ObjectDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UndoPacket.ObjectDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UndoPacket.ObjectDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UndoPacket.ObjectDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UndoPacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UndoPacket.ObjectDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.UndoPacket.ObjectDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UndoPacket.ObjectDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UndoPacket.ObjectDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.UndoPacket.ObjectDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.UndoPacket.ObjectDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.UndoPacket.ObjectDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.UnsubscribeLoadPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.UnsubscribeLoadPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct UnsubscribeLoadPacket;
    impl UnsubscribeLoadPacket {
        /// C# member: `M:LibreMetaverse.Packets.UnsubscribeLoadPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UnsubscribeLoadPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.UnsubscribeLoadPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UnsubscribeLoadPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UnsubscribeLoadPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UnsubscribeLoadPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UnsubscribeLoadPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UnsubscribeLoadPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.UnsubscribeLoadPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UnsubscribeLoadPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.UnsubscribeLoadPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UnsubscribeLoadPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.UnsubscribeLoadPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.UnsubscribeLoadPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.UnsubscribeLoadPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.UnsubscribeLoadPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.UnsubscribeLoadPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.UnsubscribeLoadPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.UnsubscribeLoadPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.UnsubscribeLoadPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.UnsubscribeLoadPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.UnsubscribeLoadPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.UnsubscribeLoadPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.UnsubscribeLoadPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.UnsubscribeLoadPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.UnsubscribeLoadPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.UpdateAttachmentPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.UpdateAttachmentPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct UpdateAttachmentPacket {
        /// C# member: `F:LibreMetaverse.Packets.UpdateAttachmentPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UpdateAttachmentPacket.AgentDataBlock LibreMetaverse.Packets.UpdateAttachmentPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::UpdateAttachmentPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.UpdateAttachmentPacket.AttachmentBlock`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UpdateAttachmentPacket.AttachmentBlockBlock LibreMetaverse.Packets.UpdateAttachmentPacket.AttachmentBlock`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub attachment_block: libremetaverse::packets::UpdateAttachmentPacketAttachmentBlockBlock,
        /// C# member: `F:LibreMetaverse.Packets.UpdateAttachmentPacket.InventoryData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UpdateAttachmentPacket.InventoryDataBlock LibreMetaverse.Packets.UpdateAttachmentPacket.InventoryData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub inventory_data: libremetaverse::packets::UpdateAttachmentPacketInventoryDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.UpdateAttachmentPacket.OperationData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UpdateAttachmentPacket.OperationDataBlock LibreMetaverse.Packets.UpdateAttachmentPacket.OperationData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub operation_data: libremetaverse::packets::UpdateAttachmentPacketOperationDataBlock,
    }
    impl UpdateAttachmentPacket {
        /// C# member: `M:LibreMetaverse.Packets.UpdateAttachmentPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UpdateAttachmentPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateAttachmentPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UpdateAttachmentPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateAttachmentPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UpdateAttachmentPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateAttachmentPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UpdateAttachmentPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateAttachmentPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UpdateAttachmentPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateAttachmentPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UpdateAttachmentPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateAttachmentPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.UpdateAttachmentPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateAttachmentPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.UpdateAttachmentPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateAttachmentPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.UpdateAttachmentPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateAttachmentPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.UpdateAttachmentPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateAttachmentPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.UpdateAttachmentPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.UpdateAttachmentPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.UpdateAttachmentPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.UpdateAttachmentPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.UpdateAttachmentPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.UpdateAttachmentPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.UpdateAttachmentPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct UpdateAttachmentPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.UpdateAttachmentPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.UpdateAttachmentPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.UpdateAttachmentPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.UpdateAttachmentPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl UpdateAttachmentPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.UpdateAttachmentPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UpdateAttachmentPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateAttachmentPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UpdateAttachmentPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateAttachmentPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UpdateAttachmentPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateAttachmentPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UpdateAttachmentPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateAttachmentPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UpdateAttachmentPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateAttachmentPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.UpdateAttachmentPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.UpdateAttachmentPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.UpdateAttachmentPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.UpdateAttachmentPacket.AttachmentBlockBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.UpdateAttachmentPacket.AttachmentBlockBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct UpdateAttachmentPacketAttachmentBlockBlock {
        /// C# member: `F:LibreMetaverse.Packets.UpdateAttachmentPacket.AttachmentBlockBlock.AttachmentPoint`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.UpdateAttachmentPacket.AttachmentBlockBlock.AttachmentPoint`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub attachment_point: u8,
    }
    impl UpdateAttachmentPacketAttachmentBlockBlock {
        /// C# member: `M:LibreMetaverse.Packets.UpdateAttachmentPacket.AttachmentBlockBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UpdateAttachmentPacket.AttachmentBlockBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateAttachmentPacket.AttachmentBlockBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UpdateAttachmentPacket.AttachmentBlockBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateAttachmentPacket.AttachmentBlockBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UpdateAttachmentPacket.AttachmentBlockBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateAttachmentPacket.AttachmentBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UpdateAttachmentPacket.AttachmentBlockBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateAttachmentPacket.AttachmentBlockBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UpdateAttachmentPacket.AttachmentBlockBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateAttachmentPacket.AttachmentBlockBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.UpdateAttachmentPacket.AttachmentBlockBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.UpdateAttachmentPacket.AttachmentBlockBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.UpdateAttachmentPacket.AttachmentBlockBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.UpdateAttachmentPacket.InventoryDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.UpdateAttachmentPacket.InventoryDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct UpdateAttachmentPacketInventoryDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.UpdateAttachmentPacket.InventoryDataBlock.AssetID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.UpdateAttachmentPacket.InventoryDataBlock.AssetID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub asset_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.UpdateAttachmentPacket.InventoryDataBlock.BaseMask`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.UpdateAttachmentPacket.InventoryDataBlock.BaseMask`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub base_mask: u32,
        /// C# member: `F:LibreMetaverse.Packets.UpdateAttachmentPacket.InventoryDataBlock.CRC`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.UpdateAttachmentPacket.InventoryDataBlock.CRC`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub crc: u32,
        /// C# member: `F:LibreMetaverse.Packets.UpdateAttachmentPacket.InventoryDataBlock.CreationDate`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.UpdateAttachmentPacket.InventoryDataBlock.CreationDate`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub creation_date: i32,
        /// C# member: `F:LibreMetaverse.Packets.UpdateAttachmentPacket.InventoryDataBlock.CreatorID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.UpdateAttachmentPacket.InventoryDataBlock.CreatorID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub creator_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.UpdateAttachmentPacket.InventoryDataBlock.Description`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.UpdateAttachmentPacket.InventoryDataBlock.Description`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub description: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.UpdateAttachmentPacket.InventoryDataBlock.EveryoneMask`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.UpdateAttachmentPacket.InventoryDataBlock.EveryoneMask`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub everyone_mask: u32,
        /// C# member: `F:LibreMetaverse.Packets.UpdateAttachmentPacket.InventoryDataBlock.Flags`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.UpdateAttachmentPacket.InventoryDataBlock.Flags`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub flags: u32,
        /// C# member: `F:LibreMetaverse.Packets.UpdateAttachmentPacket.InventoryDataBlock.FolderID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.UpdateAttachmentPacket.InventoryDataBlock.FolderID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub folder_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.UpdateAttachmentPacket.InventoryDataBlock.GroupID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.UpdateAttachmentPacket.InventoryDataBlock.GroupID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.UpdateAttachmentPacket.InventoryDataBlock.GroupMask`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.UpdateAttachmentPacket.InventoryDataBlock.GroupMask`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_mask: u32,
        /// C# member: `F:LibreMetaverse.Packets.UpdateAttachmentPacket.InventoryDataBlock.GroupOwned`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.UpdateAttachmentPacket.InventoryDataBlock.GroupOwned`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_owned: bool,
        /// C# member: `F:LibreMetaverse.Packets.UpdateAttachmentPacket.InventoryDataBlock.InvType`.
        ///
        /// C# signature: `System.SByte LibreMetaverse.Packets.UpdateAttachmentPacket.InventoryDataBlock.InvType`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub inv_type: i8,
        /// C# member: `F:LibreMetaverse.Packets.UpdateAttachmentPacket.InventoryDataBlock.ItemID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.UpdateAttachmentPacket.InventoryDataBlock.ItemID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub item_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.UpdateAttachmentPacket.InventoryDataBlock.Name`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.UpdateAttachmentPacket.InventoryDataBlock.Name`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub name: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.UpdateAttachmentPacket.InventoryDataBlock.NextOwnerMask`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.UpdateAttachmentPacket.InventoryDataBlock.NextOwnerMask`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub next_owner_mask: u32,
        /// C# member: `F:LibreMetaverse.Packets.UpdateAttachmentPacket.InventoryDataBlock.OwnerID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.UpdateAttachmentPacket.InventoryDataBlock.OwnerID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub owner_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.UpdateAttachmentPacket.InventoryDataBlock.OwnerMask`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.UpdateAttachmentPacket.InventoryDataBlock.OwnerMask`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub owner_mask: u32,
        /// C# member: `F:LibreMetaverse.Packets.UpdateAttachmentPacket.InventoryDataBlock.SalePrice`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.UpdateAttachmentPacket.InventoryDataBlock.SalePrice`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub sale_price: i32,
        /// C# member: `F:LibreMetaverse.Packets.UpdateAttachmentPacket.InventoryDataBlock.SaleType`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.UpdateAttachmentPacket.InventoryDataBlock.SaleType`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub sale_type: u8,
        /// C# member: `F:LibreMetaverse.Packets.UpdateAttachmentPacket.InventoryDataBlock.Type`.
        ///
        /// C# signature: `System.SByte LibreMetaverse.Packets.UpdateAttachmentPacket.InventoryDataBlock.Type`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub type_: i8,
    }
    impl UpdateAttachmentPacketInventoryDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.UpdateAttachmentPacket.InventoryDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UpdateAttachmentPacket.InventoryDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateAttachmentPacket.InventoryDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UpdateAttachmentPacket.InventoryDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateAttachmentPacket.InventoryDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UpdateAttachmentPacket.InventoryDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateAttachmentPacket.InventoryDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UpdateAttachmentPacket.InventoryDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateAttachmentPacket.InventoryDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UpdateAttachmentPacket.InventoryDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateAttachmentPacket.InventoryDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.UpdateAttachmentPacket.InventoryDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.UpdateAttachmentPacket.InventoryDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.UpdateAttachmentPacket.InventoryDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.UpdateAttachmentPacket.OperationDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.UpdateAttachmentPacket.OperationDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct UpdateAttachmentPacketOperationDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.UpdateAttachmentPacket.OperationDataBlock.AddItem`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.UpdateAttachmentPacket.OperationDataBlock.AddItem`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub add_item: bool,
        /// C# member: `F:LibreMetaverse.Packets.UpdateAttachmentPacket.OperationDataBlock.UseExistingAsset`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.UpdateAttachmentPacket.OperationDataBlock.UseExistingAsset`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub use_existing_asset: bool,
    }
    impl UpdateAttachmentPacketOperationDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.UpdateAttachmentPacket.OperationDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UpdateAttachmentPacket.OperationDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateAttachmentPacket.OperationDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UpdateAttachmentPacket.OperationDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateAttachmentPacket.OperationDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UpdateAttachmentPacket.OperationDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateAttachmentPacket.OperationDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UpdateAttachmentPacket.OperationDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateAttachmentPacket.OperationDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UpdateAttachmentPacket.OperationDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateAttachmentPacket.OperationDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.UpdateAttachmentPacket.OperationDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.UpdateAttachmentPacket.OperationDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.UpdateAttachmentPacket.OperationDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.UpdateCreateInventoryItemPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.UpdateCreateInventoryItemPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct UpdateCreateInventoryItemPacket {
        /// C# member: `F:LibreMetaverse.Packets.UpdateCreateInventoryItemPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UpdateCreateInventoryItemPacket.AgentDataBlock LibreMetaverse.Packets.UpdateCreateInventoryItemPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::UpdateCreateInventoryItemPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.UpdateCreateInventoryItemPacket.InventoryData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UpdateCreateInventoryItemPacket.InventoryDataBlock[] LibreMetaverse.Packets.UpdateCreateInventoryItemPacket.InventoryData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub inventory_data:
            Vec<libremetaverse::packets::UpdateCreateInventoryItemPacketInventoryDataBlock>,
    }
    impl UpdateCreateInventoryItemPacket {
        /// C# member: `M:LibreMetaverse.Packets.UpdateCreateInventoryItemPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UpdateCreateInventoryItemPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateCreateInventoryItemPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UpdateCreateInventoryItemPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateCreateInventoryItemPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UpdateCreateInventoryItemPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateCreateInventoryItemPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UpdateCreateInventoryItemPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateCreateInventoryItemPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UpdateCreateInventoryItemPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateCreateInventoryItemPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UpdateCreateInventoryItemPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateCreateInventoryItemPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.UpdateCreateInventoryItemPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateCreateInventoryItemPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.UpdateCreateInventoryItemPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateCreateInventoryItemPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.UpdateCreateInventoryItemPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateCreateInventoryItemPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.UpdateCreateInventoryItemPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateCreateInventoryItemPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.UpdateCreateInventoryItemPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.UpdateCreateInventoryItemPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.UpdateCreateInventoryItemPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.UpdateCreateInventoryItemPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.UpdateCreateInventoryItemPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.UpdateCreateInventoryItemPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.UpdateCreateInventoryItemPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct UpdateCreateInventoryItemPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.UpdateCreateInventoryItemPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.UpdateCreateInventoryItemPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.UpdateCreateInventoryItemPacket.AgentDataBlock.SimApproved`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.UpdateCreateInventoryItemPacket.AgentDataBlock.SimApproved`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub sim_approved: bool,
        /// C# member: `F:LibreMetaverse.Packets.UpdateCreateInventoryItemPacket.AgentDataBlock.TransactionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.UpdateCreateInventoryItemPacket.AgentDataBlock.TransactionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub transaction_id: libremetaverse_types::UUID,
    }
    impl UpdateCreateInventoryItemPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.UpdateCreateInventoryItemPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UpdateCreateInventoryItemPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateCreateInventoryItemPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UpdateCreateInventoryItemPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateCreateInventoryItemPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UpdateCreateInventoryItemPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateCreateInventoryItemPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UpdateCreateInventoryItemPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateCreateInventoryItemPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UpdateCreateInventoryItemPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateCreateInventoryItemPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.UpdateCreateInventoryItemPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.UpdateCreateInventoryItemPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.UpdateCreateInventoryItemPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.UpdateCreateInventoryItemPacket.InventoryDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.UpdateCreateInventoryItemPacket.InventoryDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct UpdateCreateInventoryItemPacketInventoryDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.UpdateCreateInventoryItemPacket.InventoryDataBlock.AssetID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.UpdateCreateInventoryItemPacket.InventoryDataBlock.AssetID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub asset_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.UpdateCreateInventoryItemPacket.InventoryDataBlock.BaseMask`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.UpdateCreateInventoryItemPacket.InventoryDataBlock.BaseMask`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub base_mask: u32,
        /// C# member: `F:LibreMetaverse.Packets.UpdateCreateInventoryItemPacket.InventoryDataBlock.CRC`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.UpdateCreateInventoryItemPacket.InventoryDataBlock.CRC`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub crc: u32,
        /// C# member: `F:LibreMetaverse.Packets.UpdateCreateInventoryItemPacket.InventoryDataBlock.CallbackID`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.UpdateCreateInventoryItemPacket.InventoryDataBlock.CallbackID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub callback_id: u32,
        /// C# member: `F:LibreMetaverse.Packets.UpdateCreateInventoryItemPacket.InventoryDataBlock.CreationDate`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.UpdateCreateInventoryItemPacket.InventoryDataBlock.CreationDate`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub creation_date: i32,
        /// C# member: `F:LibreMetaverse.Packets.UpdateCreateInventoryItemPacket.InventoryDataBlock.CreatorID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.UpdateCreateInventoryItemPacket.InventoryDataBlock.CreatorID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub creator_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.UpdateCreateInventoryItemPacket.InventoryDataBlock.Description`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.UpdateCreateInventoryItemPacket.InventoryDataBlock.Description`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub description: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.UpdateCreateInventoryItemPacket.InventoryDataBlock.EveryoneMask`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.UpdateCreateInventoryItemPacket.InventoryDataBlock.EveryoneMask`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub everyone_mask: u32,
        /// C# member: `F:LibreMetaverse.Packets.UpdateCreateInventoryItemPacket.InventoryDataBlock.Flags`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.UpdateCreateInventoryItemPacket.InventoryDataBlock.Flags`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub flags: u32,
        /// C# member: `F:LibreMetaverse.Packets.UpdateCreateInventoryItemPacket.InventoryDataBlock.FolderID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.UpdateCreateInventoryItemPacket.InventoryDataBlock.FolderID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub folder_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.UpdateCreateInventoryItemPacket.InventoryDataBlock.GroupID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.UpdateCreateInventoryItemPacket.InventoryDataBlock.GroupID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.UpdateCreateInventoryItemPacket.InventoryDataBlock.GroupMask`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.UpdateCreateInventoryItemPacket.InventoryDataBlock.GroupMask`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_mask: u32,
        /// C# member: `F:LibreMetaverse.Packets.UpdateCreateInventoryItemPacket.InventoryDataBlock.GroupOwned`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.UpdateCreateInventoryItemPacket.InventoryDataBlock.GroupOwned`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_owned: bool,
        /// C# member: `F:LibreMetaverse.Packets.UpdateCreateInventoryItemPacket.InventoryDataBlock.InvType`.
        ///
        /// C# signature: `System.SByte LibreMetaverse.Packets.UpdateCreateInventoryItemPacket.InventoryDataBlock.InvType`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub inv_type: i8,
        /// C# member: `F:LibreMetaverse.Packets.UpdateCreateInventoryItemPacket.InventoryDataBlock.ItemID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.UpdateCreateInventoryItemPacket.InventoryDataBlock.ItemID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub item_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.UpdateCreateInventoryItemPacket.InventoryDataBlock.Name`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.UpdateCreateInventoryItemPacket.InventoryDataBlock.Name`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub name: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.UpdateCreateInventoryItemPacket.InventoryDataBlock.NextOwnerMask`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.UpdateCreateInventoryItemPacket.InventoryDataBlock.NextOwnerMask`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub next_owner_mask: u32,
        /// C# member: `F:LibreMetaverse.Packets.UpdateCreateInventoryItemPacket.InventoryDataBlock.OwnerID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.UpdateCreateInventoryItemPacket.InventoryDataBlock.OwnerID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub owner_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.UpdateCreateInventoryItemPacket.InventoryDataBlock.OwnerMask`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.UpdateCreateInventoryItemPacket.InventoryDataBlock.OwnerMask`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub owner_mask: u32,
        /// C# member: `F:LibreMetaverse.Packets.UpdateCreateInventoryItemPacket.InventoryDataBlock.SalePrice`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.UpdateCreateInventoryItemPacket.InventoryDataBlock.SalePrice`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub sale_price: i32,
        /// C# member: `F:LibreMetaverse.Packets.UpdateCreateInventoryItemPacket.InventoryDataBlock.SaleType`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.UpdateCreateInventoryItemPacket.InventoryDataBlock.SaleType`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub sale_type: u8,
        /// C# member: `F:LibreMetaverse.Packets.UpdateCreateInventoryItemPacket.InventoryDataBlock.Type`.
        ///
        /// C# signature: `System.SByte LibreMetaverse.Packets.UpdateCreateInventoryItemPacket.InventoryDataBlock.Type`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub type_: i8,
    }
    impl UpdateCreateInventoryItemPacketInventoryDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.UpdateCreateInventoryItemPacket.InventoryDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UpdateCreateInventoryItemPacket.InventoryDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateCreateInventoryItemPacket.InventoryDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UpdateCreateInventoryItemPacket.InventoryDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateCreateInventoryItemPacket.InventoryDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UpdateCreateInventoryItemPacket.InventoryDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateCreateInventoryItemPacket.InventoryDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UpdateCreateInventoryItemPacket.InventoryDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateCreateInventoryItemPacket.InventoryDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UpdateCreateInventoryItemPacket.InventoryDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateCreateInventoryItemPacket.InventoryDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.UpdateCreateInventoryItemPacket.InventoryDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.UpdateCreateInventoryItemPacket.InventoryDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.UpdateCreateInventoryItemPacket.InventoryDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.UpdateGroupInfoPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.UpdateGroupInfoPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct UpdateGroupInfoPacket {
        /// C# member: `F:LibreMetaverse.Packets.UpdateGroupInfoPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UpdateGroupInfoPacket.AgentDataBlock LibreMetaverse.Packets.UpdateGroupInfoPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::UpdateGroupInfoPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.UpdateGroupInfoPacket.GroupData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UpdateGroupInfoPacket.GroupDataBlock LibreMetaverse.Packets.UpdateGroupInfoPacket.GroupData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_data: libremetaverse::packets::UpdateGroupInfoPacketGroupDataBlock,
    }
    impl UpdateGroupInfoPacket {
        /// C# member: `M:LibreMetaverse.Packets.UpdateGroupInfoPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UpdateGroupInfoPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateGroupInfoPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UpdateGroupInfoPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateGroupInfoPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UpdateGroupInfoPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateGroupInfoPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UpdateGroupInfoPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateGroupInfoPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UpdateGroupInfoPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateGroupInfoPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UpdateGroupInfoPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateGroupInfoPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.UpdateGroupInfoPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateGroupInfoPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.UpdateGroupInfoPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateGroupInfoPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.UpdateGroupInfoPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateGroupInfoPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.UpdateGroupInfoPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateGroupInfoPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.UpdateGroupInfoPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.UpdateGroupInfoPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.UpdateGroupInfoPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.UpdateGroupInfoPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.UpdateGroupInfoPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.UpdateGroupInfoPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.UpdateGroupInfoPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct UpdateGroupInfoPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.UpdateGroupInfoPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.UpdateGroupInfoPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.UpdateGroupInfoPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.UpdateGroupInfoPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl UpdateGroupInfoPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.UpdateGroupInfoPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UpdateGroupInfoPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateGroupInfoPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UpdateGroupInfoPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateGroupInfoPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UpdateGroupInfoPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateGroupInfoPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UpdateGroupInfoPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateGroupInfoPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UpdateGroupInfoPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateGroupInfoPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.UpdateGroupInfoPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.UpdateGroupInfoPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.UpdateGroupInfoPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.UpdateGroupInfoPacket.GroupDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.UpdateGroupInfoPacket.GroupDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct UpdateGroupInfoPacketGroupDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.UpdateGroupInfoPacket.GroupDataBlock.AllowPublish`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.UpdateGroupInfoPacket.GroupDataBlock.AllowPublish`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub allow_publish: bool,
        /// C# member: `F:LibreMetaverse.Packets.UpdateGroupInfoPacket.GroupDataBlock.Charter`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.UpdateGroupInfoPacket.GroupDataBlock.Charter`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub charter: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.UpdateGroupInfoPacket.GroupDataBlock.GroupID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.UpdateGroupInfoPacket.GroupDataBlock.GroupID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.UpdateGroupInfoPacket.GroupDataBlock.InsigniaID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.UpdateGroupInfoPacket.GroupDataBlock.InsigniaID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub insignia_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.UpdateGroupInfoPacket.GroupDataBlock.MaturePublish`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.UpdateGroupInfoPacket.GroupDataBlock.MaturePublish`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub mature_publish: bool,
        /// C# member: `F:LibreMetaverse.Packets.UpdateGroupInfoPacket.GroupDataBlock.MembershipFee`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.UpdateGroupInfoPacket.GroupDataBlock.MembershipFee`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub membership_fee: i32,
        /// C# member: `F:LibreMetaverse.Packets.UpdateGroupInfoPacket.GroupDataBlock.OpenEnrollment`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.UpdateGroupInfoPacket.GroupDataBlock.OpenEnrollment`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub open_enrollment: bool,
        /// C# member: `F:LibreMetaverse.Packets.UpdateGroupInfoPacket.GroupDataBlock.ShowInList`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.UpdateGroupInfoPacket.GroupDataBlock.ShowInList`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub show_in_list: bool,
    }
    impl UpdateGroupInfoPacketGroupDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.UpdateGroupInfoPacket.GroupDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UpdateGroupInfoPacket.GroupDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateGroupInfoPacket.GroupDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UpdateGroupInfoPacket.GroupDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateGroupInfoPacket.GroupDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UpdateGroupInfoPacket.GroupDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateGroupInfoPacket.GroupDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UpdateGroupInfoPacket.GroupDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateGroupInfoPacket.GroupDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UpdateGroupInfoPacket.GroupDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateGroupInfoPacket.GroupDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.UpdateGroupInfoPacket.GroupDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.UpdateGroupInfoPacket.GroupDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.UpdateGroupInfoPacket.GroupDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.UpdateInventoryFolderPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.UpdateInventoryFolderPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct UpdateInventoryFolderPacket {
        /// C# member: `F:LibreMetaverse.Packets.UpdateInventoryFolderPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UpdateInventoryFolderPacket.AgentDataBlock LibreMetaverse.Packets.UpdateInventoryFolderPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::UpdateInventoryFolderPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.UpdateInventoryFolderPacket.FolderData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UpdateInventoryFolderPacket.FolderDataBlock[] LibreMetaverse.Packets.UpdateInventoryFolderPacket.FolderData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub folder_data: Vec<libremetaverse::packets::UpdateInventoryFolderPacketFolderDataBlock>,
    }
    impl UpdateInventoryFolderPacket {
        /// C# member: `M:LibreMetaverse.Packets.UpdateInventoryFolderPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UpdateInventoryFolderPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateInventoryFolderPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UpdateInventoryFolderPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateInventoryFolderPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UpdateInventoryFolderPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateInventoryFolderPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UpdateInventoryFolderPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateInventoryFolderPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UpdateInventoryFolderPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateInventoryFolderPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UpdateInventoryFolderPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateInventoryFolderPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.UpdateInventoryFolderPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateInventoryFolderPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.UpdateInventoryFolderPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateInventoryFolderPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.UpdateInventoryFolderPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateInventoryFolderPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.UpdateInventoryFolderPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateInventoryFolderPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.UpdateInventoryFolderPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.UpdateInventoryFolderPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.UpdateInventoryFolderPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.UpdateInventoryFolderPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.UpdateInventoryFolderPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.UpdateInventoryFolderPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.UpdateInventoryFolderPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct UpdateInventoryFolderPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.UpdateInventoryFolderPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.UpdateInventoryFolderPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.UpdateInventoryFolderPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.UpdateInventoryFolderPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl UpdateInventoryFolderPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.UpdateInventoryFolderPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UpdateInventoryFolderPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateInventoryFolderPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UpdateInventoryFolderPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateInventoryFolderPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UpdateInventoryFolderPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateInventoryFolderPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UpdateInventoryFolderPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateInventoryFolderPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UpdateInventoryFolderPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateInventoryFolderPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.UpdateInventoryFolderPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.UpdateInventoryFolderPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.UpdateInventoryFolderPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.UpdateInventoryFolderPacket.FolderDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.UpdateInventoryFolderPacket.FolderDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct UpdateInventoryFolderPacketFolderDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.UpdateInventoryFolderPacket.FolderDataBlock.FolderID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.UpdateInventoryFolderPacket.FolderDataBlock.FolderID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub folder_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.UpdateInventoryFolderPacket.FolderDataBlock.Name`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.UpdateInventoryFolderPacket.FolderDataBlock.Name`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub name: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.UpdateInventoryFolderPacket.FolderDataBlock.ParentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.UpdateInventoryFolderPacket.FolderDataBlock.ParentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub parent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.UpdateInventoryFolderPacket.FolderDataBlock.Type`.
        ///
        /// C# signature: `System.SByte LibreMetaverse.Packets.UpdateInventoryFolderPacket.FolderDataBlock.Type`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub type_: i8,
    }
    impl UpdateInventoryFolderPacketFolderDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.UpdateInventoryFolderPacket.FolderDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UpdateInventoryFolderPacket.FolderDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateInventoryFolderPacket.FolderDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UpdateInventoryFolderPacket.FolderDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateInventoryFolderPacket.FolderDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UpdateInventoryFolderPacket.FolderDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateInventoryFolderPacket.FolderDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UpdateInventoryFolderPacket.FolderDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateInventoryFolderPacket.FolderDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UpdateInventoryFolderPacket.FolderDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateInventoryFolderPacket.FolderDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.UpdateInventoryFolderPacket.FolderDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.UpdateInventoryFolderPacket.FolderDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.UpdateInventoryFolderPacket.FolderDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.UpdateInventoryItemPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.UpdateInventoryItemPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct UpdateInventoryItemPacket {
        /// C# member: `F:LibreMetaverse.Packets.UpdateInventoryItemPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UpdateInventoryItemPacket.AgentDataBlock LibreMetaverse.Packets.UpdateInventoryItemPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::UpdateInventoryItemPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.UpdateInventoryItemPacket.InventoryData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UpdateInventoryItemPacket.InventoryDataBlock[] LibreMetaverse.Packets.UpdateInventoryItemPacket.InventoryData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub inventory_data:
            Vec<libremetaverse::packets::UpdateInventoryItemPacketInventoryDataBlock>,
    }
    impl UpdateInventoryItemPacket {
        /// C# member: `M:LibreMetaverse.Packets.UpdateInventoryItemPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UpdateInventoryItemPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateInventoryItemPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UpdateInventoryItemPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateInventoryItemPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UpdateInventoryItemPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateInventoryItemPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UpdateInventoryItemPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateInventoryItemPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UpdateInventoryItemPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateInventoryItemPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UpdateInventoryItemPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateInventoryItemPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.UpdateInventoryItemPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateInventoryItemPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.UpdateInventoryItemPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateInventoryItemPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.UpdateInventoryItemPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateInventoryItemPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.UpdateInventoryItemPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateInventoryItemPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.UpdateInventoryItemPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.UpdateInventoryItemPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.UpdateInventoryItemPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.UpdateInventoryItemPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.UpdateInventoryItemPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.UpdateInventoryItemPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.UpdateInventoryItemPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct UpdateInventoryItemPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.UpdateInventoryItemPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.UpdateInventoryItemPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.UpdateInventoryItemPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.UpdateInventoryItemPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.UpdateInventoryItemPacket.AgentDataBlock.TransactionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.UpdateInventoryItemPacket.AgentDataBlock.TransactionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub transaction_id: libremetaverse_types::UUID,
    }
    impl UpdateInventoryItemPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.UpdateInventoryItemPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UpdateInventoryItemPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateInventoryItemPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UpdateInventoryItemPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateInventoryItemPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UpdateInventoryItemPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateInventoryItemPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UpdateInventoryItemPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateInventoryItemPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UpdateInventoryItemPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateInventoryItemPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.UpdateInventoryItemPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.UpdateInventoryItemPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.UpdateInventoryItemPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.UpdateInventoryItemPacket.InventoryDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.UpdateInventoryItemPacket.InventoryDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct UpdateInventoryItemPacketInventoryDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.UpdateInventoryItemPacket.InventoryDataBlock.BaseMask`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.UpdateInventoryItemPacket.InventoryDataBlock.BaseMask`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub base_mask: u32,
        /// C# member: `F:LibreMetaverse.Packets.UpdateInventoryItemPacket.InventoryDataBlock.CRC`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.UpdateInventoryItemPacket.InventoryDataBlock.CRC`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub crc: u32,
        /// C# member: `F:LibreMetaverse.Packets.UpdateInventoryItemPacket.InventoryDataBlock.CallbackID`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.UpdateInventoryItemPacket.InventoryDataBlock.CallbackID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub callback_id: u32,
        /// C# member: `F:LibreMetaverse.Packets.UpdateInventoryItemPacket.InventoryDataBlock.CreationDate`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.UpdateInventoryItemPacket.InventoryDataBlock.CreationDate`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub creation_date: i32,
        /// C# member: `F:LibreMetaverse.Packets.UpdateInventoryItemPacket.InventoryDataBlock.CreatorID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.UpdateInventoryItemPacket.InventoryDataBlock.CreatorID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub creator_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.UpdateInventoryItemPacket.InventoryDataBlock.Description`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.UpdateInventoryItemPacket.InventoryDataBlock.Description`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub description: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.UpdateInventoryItemPacket.InventoryDataBlock.EveryoneMask`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.UpdateInventoryItemPacket.InventoryDataBlock.EveryoneMask`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub everyone_mask: u32,
        /// C# member: `F:LibreMetaverse.Packets.UpdateInventoryItemPacket.InventoryDataBlock.Flags`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.UpdateInventoryItemPacket.InventoryDataBlock.Flags`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub flags: u32,
        /// C# member: `F:LibreMetaverse.Packets.UpdateInventoryItemPacket.InventoryDataBlock.FolderID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.UpdateInventoryItemPacket.InventoryDataBlock.FolderID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub folder_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.UpdateInventoryItemPacket.InventoryDataBlock.GroupID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.UpdateInventoryItemPacket.InventoryDataBlock.GroupID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.UpdateInventoryItemPacket.InventoryDataBlock.GroupMask`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.UpdateInventoryItemPacket.InventoryDataBlock.GroupMask`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_mask: u32,
        /// C# member: `F:LibreMetaverse.Packets.UpdateInventoryItemPacket.InventoryDataBlock.GroupOwned`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.UpdateInventoryItemPacket.InventoryDataBlock.GroupOwned`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_owned: bool,
        /// C# member: `F:LibreMetaverse.Packets.UpdateInventoryItemPacket.InventoryDataBlock.InvType`.
        ///
        /// C# signature: `System.SByte LibreMetaverse.Packets.UpdateInventoryItemPacket.InventoryDataBlock.InvType`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub inv_type: i8,
        /// C# member: `F:LibreMetaverse.Packets.UpdateInventoryItemPacket.InventoryDataBlock.ItemID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.UpdateInventoryItemPacket.InventoryDataBlock.ItemID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub item_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.UpdateInventoryItemPacket.InventoryDataBlock.Name`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.UpdateInventoryItemPacket.InventoryDataBlock.Name`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub name: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.UpdateInventoryItemPacket.InventoryDataBlock.NextOwnerMask`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.UpdateInventoryItemPacket.InventoryDataBlock.NextOwnerMask`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub next_owner_mask: u32,
        /// C# member: `F:LibreMetaverse.Packets.UpdateInventoryItemPacket.InventoryDataBlock.OwnerID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.UpdateInventoryItemPacket.InventoryDataBlock.OwnerID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub owner_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.UpdateInventoryItemPacket.InventoryDataBlock.OwnerMask`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.UpdateInventoryItemPacket.InventoryDataBlock.OwnerMask`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub owner_mask: u32,
        /// C# member: `F:LibreMetaverse.Packets.UpdateInventoryItemPacket.InventoryDataBlock.SalePrice`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.UpdateInventoryItemPacket.InventoryDataBlock.SalePrice`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub sale_price: i32,
        /// C# member: `F:LibreMetaverse.Packets.UpdateInventoryItemPacket.InventoryDataBlock.SaleType`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.UpdateInventoryItemPacket.InventoryDataBlock.SaleType`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub sale_type: u8,
        /// C# member: `F:LibreMetaverse.Packets.UpdateInventoryItemPacket.InventoryDataBlock.TransactionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.UpdateInventoryItemPacket.InventoryDataBlock.TransactionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub transaction_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.UpdateInventoryItemPacket.InventoryDataBlock.Type`.
        ///
        /// C# signature: `System.SByte LibreMetaverse.Packets.UpdateInventoryItemPacket.InventoryDataBlock.Type`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub type_: i8,
    }
    impl UpdateInventoryItemPacketInventoryDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.UpdateInventoryItemPacket.InventoryDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UpdateInventoryItemPacket.InventoryDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateInventoryItemPacket.InventoryDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UpdateInventoryItemPacket.InventoryDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateInventoryItemPacket.InventoryDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UpdateInventoryItemPacket.InventoryDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateInventoryItemPacket.InventoryDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UpdateInventoryItemPacket.InventoryDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateInventoryItemPacket.InventoryDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UpdateInventoryItemPacket.InventoryDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateInventoryItemPacket.InventoryDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.UpdateInventoryItemPacket.InventoryDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.UpdateInventoryItemPacket.InventoryDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.UpdateInventoryItemPacket.InventoryDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.UpdateMuteListEntryPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.UpdateMuteListEntryPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct UpdateMuteListEntryPacket {
        /// C# member: `F:LibreMetaverse.Packets.UpdateMuteListEntryPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UpdateMuteListEntryPacket.AgentDataBlock LibreMetaverse.Packets.UpdateMuteListEntryPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::UpdateMuteListEntryPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.UpdateMuteListEntryPacket.MuteData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UpdateMuteListEntryPacket.MuteDataBlock LibreMetaverse.Packets.UpdateMuteListEntryPacket.MuteData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub mute_data: libremetaverse::packets::UpdateMuteListEntryPacketMuteDataBlock,
    }
    impl UpdateMuteListEntryPacket {
        /// C# member: `M:LibreMetaverse.Packets.UpdateMuteListEntryPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UpdateMuteListEntryPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateMuteListEntryPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UpdateMuteListEntryPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateMuteListEntryPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UpdateMuteListEntryPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateMuteListEntryPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UpdateMuteListEntryPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateMuteListEntryPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UpdateMuteListEntryPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateMuteListEntryPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UpdateMuteListEntryPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateMuteListEntryPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.UpdateMuteListEntryPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateMuteListEntryPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.UpdateMuteListEntryPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateMuteListEntryPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.UpdateMuteListEntryPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateMuteListEntryPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.UpdateMuteListEntryPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateMuteListEntryPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.UpdateMuteListEntryPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.UpdateMuteListEntryPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.UpdateMuteListEntryPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.UpdateMuteListEntryPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.UpdateMuteListEntryPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.UpdateMuteListEntryPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.UpdateMuteListEntryPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct UpdateMuteListEntryPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.UpdateMuteListEntryPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.UpdateMuteListEntryPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.UpdateMuteListEntryPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.UpdateMuteListEntryPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl UpdateMuteListEntryPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.UpdateMuteListEntryPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UpdateMuteListEntryPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateMuteListEntryPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UpdateMuteListEntryPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateMuteListEntryPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UpdateMuteListEntryPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateMuteListEntryPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UpdateMuteListEntryPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateMuteListEntryPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UpdateMuteListEntryPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateMuteListEntryPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.UpdateMuteListEntryPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.UpdateMuteListEntryPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.UpdateMuteListEntryPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.UpdateMuteListEntryPacket.MuteDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.UpdateMuteListEntryPacket.MuteDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct UpdateMuteListEntryPacketMuteDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.UpdateMuteListEntryPacket.MuteDataBlock.MuteFlags`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.UpdateMuteListEntryPacket.MuteDataBlock.MuteFlags`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub mute_flags: u32,
        /// C# member: `F:LibreMetaverse.Packets.UpdateMuteListEntryPacket.MuteDataBlock.MuteID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.UpdateMuteListEntryPacket.MuteDataBlock.MuteID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub mute_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.UpdateMuteListEntryPacket.MuteDataBlock.MuteName`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.UpdateMuteListEntryPacket.MuteDataBlock.MuteName`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub mute_name: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.UpdateMuteListEntryPacket.MuteDataBlock.MuteType`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.UpdateMuteListEntryPacket.MuteDataBlock.MuteType`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub mute_type: i32,
    }
    impl UpdateMuteListEntryPacketMuteDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.UpdateMuteListEntryPacket.MuteDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UpdateMuteListEntryPacket.MuteDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateMuteListEntryPacket.MuteDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UpdateMuteListEntryPacket.MuteDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateMuteListEntryPacket.MuteDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UpdateMuteListEntryPacket.MuteDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateMuteListEntryPacket.MuteDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UpdateMuteListEntryPacket.MuteDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateMuteListEntryPacket.MuteDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UpdateMuteListEntryPacket.MuteDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateMuteListEntryPacket.MuteDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.UpdateMuteListEntryPacket.MuteDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.UpdateMuteListEntryPacket.MuteDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.UpdateMuteListEntryPacket.MuteDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.UpdateParcelPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.UpdateParcelPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct UpdateParcelPacket {
        /// C# member: `F:LibreMetaverse.Packets.UpdateParcelPacket.ParcelData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UpdateParcelPacket.ParcelDataBlock LibreMetaverse.Packets.UpdateParcelPacket.ParcelData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub parcel_data: libremetaverse::packets::UpdateParcelPacketParcelDataBlock,
    }
    impl UpdateParcelPacket {
        /// C# member: `M:LibreMetaverse.Packets.UpdateParcelPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UpdateParcelPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateParcelPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UpdateParcelPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateParcelPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UpdateParcelPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateParcelPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UpdateParcelPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateParcelPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UpdateParcelPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateParcelPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UpdateParcelPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateParcelPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.UpdateParcelPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateParcelPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.UpdateParcelPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateParcelPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.UpdateParcelPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateParcelPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.UpdateParcelPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateParcelPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.UpdateParcelPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.UpdateParcelPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.UpdateParcelPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.UpdateParcelPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.UpdateParcelPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.UpdateParcelPacket.ParcelDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.UpdateParcelPacket.ParcelDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct UpdateParcelPacketParcelDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.UpdateParcelPacket.ParcelDataBlock.ActualArea`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.UpdateParcelPacket.ParcelDataBlock.ActualArea`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub actual_area: i32,
        /// C# member: `F:LibreMetaverse.Packets.UpdateParcelPacket.ParcelDataBlock.AllowPublish`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.UpdateParcelPacket.ParcelDataBlock.AllowPublish`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub allow_publish: bool,
        /// C# member: `F:LibreMetaverse.Packets.UpdateParcelPacket.ParcelDataBlock.AuthorizedBuyerID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.UpdateParcelPacket.ParcelDataBlock.AuthorizedBuyerID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub authorized_buyer_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.UpdateParcelPacket.ParcelDataBlock.BillableArea`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.UpdateParcelPacket.ParcelDataBlock.BillableArea`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub billable_area: i32,
        /// C# member: `F:LibreMetaverse.Packets.UpdateParcelPacket.ParcelDataBlock.Category`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.UpdateParcelPacket.ParcelDataBlock.Category`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub category: u8,
        /// C# member: `F:LibreMetaverse.Packets.UpdateParcelPacket.ParcelDataBlock.Description`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.UpdateParcelPacket.ParcelDataBlock.Description`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub description: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.UpdateParcelPacket.ParcelDataBlock.GroupOwned`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.UpdateParcelPacket.ParcelDataBlock.GroupOwned`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_owned: bool,
        /// C# member: `F:LibreMetaverse.Packets.UpdateParcelPacket.ParcelDataBlock.IsForSale`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.UpdateParcelPacket.ParcelDataBlock.IsForSale`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub is_for_sale: bool,
        /// C# member: `F:LibreMetaverse.Packets.UpdateParcelPacket.ParcelDataBlock.MaturePublish`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.UpdateParcelPacket.ParcelDataBlock.MaturePublish`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub mature_publish: bool,
        /// C# member: `F:LibreMetaverse.Packets.UpdateParcelPacket.ParcelDataBlock.MusicURL`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.UpdateParcelPacket.ParcelDataBlock.MusicURL`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub music_url: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.UpdateParcelPacket.ParcelDataBlock.Name`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.UpdateParcelPacket.ParcelDataBlock.Name`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub name: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.UpdateParcelPacket.ParcelDataBlock.OwnerID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.UpdateParcelPacket.ParcelDataBlock.OwnerID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub owner_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.UpdateParcelPacket.ParcelDataBlock.ParcelID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.UpdateParcelPacket.ParcelDataBlock.ParcelID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub parcel_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.UpdateParcelPacket.ParcelDataBlock.RegionHandle`.
        ///
        /// C# signature: `System.UInt64 LibreMetaverse.Packets.UpdateParcelPacket.ParcelDataBlock.RegionHandle`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub region_handle: u64,
        /// C# member: `F:LibreMetaverse.Packets.UpdateParcelPacket.ParcelDataBlock.RegionX`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.UpdateParcelPacket.ParcelDataBlock.RegionX`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub region_x: f32,
        /// C# member: `F:LibreMetaverse.Packets.UpdateParcelPacket.ParcelDataBlock.RegionY`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.UpdateParcelPacket.ParcelDataBlock.RegionY`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub region_y: f32,
        /// C# member: `F:LibreMetaverse.Packets.UpdateParcelPacket.ParcelDataBlock.SalePrice`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.UpdateParcelPacket.ParcelDataBlock.SalePrice`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub sale_price: i32,
        /// C# member: `F:LibreMetaverse.Packets.UpdateParcelPacket.ParcelDataBlock.ShowDir`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.UpdateParcelPacket.ParcelDataBlock.ShowDir`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub show_dir: bool,
        /// C# member: `F:LibreMetaverse.Packets.UpdateParcelPacket.ParcelDataBlock.SnapshotID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.UpdateParcelPacket.ParcelDataBlock.SnapshotID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub snapshot_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.UpdateParcelPacket.ParcelDataBlock.Status`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.UpdateParcelPacket.ParcelDataBlock.Status`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub status: u8,
        /// C# member: `F:LibreMetaverse.Packets.UpdateParcelPacket.ParcelDataBlock.UserLocation`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Packets.UpdateParcelPacket.ParcelDataBlock.UserLocation`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub user_location: libremetaverse_types::Vector3,
    }
    impl UpdateParcelPacketParcelDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.UpdateParcelPacket.ParcelDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UpdateParcelPacket.ParcelDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateParcelPacket.ParcelDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UpdateParcelPacket.ParcelDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateParcelPacket.ParcelDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UpdateParcelPacket.ParcelDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateParcelPacket.ParcelDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UpdateParcelPacket.ParcelDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateParcelPacket.ParcelDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UpdateParcelPacket.ParcelDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateParcelPacket.ParcelDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.UpdateParcelPacket.ParcelDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.UpdateParcelPacket.ParcelDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.UpdateParcelPacket.ParcelDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.UpdateSimulatorPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.UpdateSimulatorPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct UpdateSimulatorPacket {
        /// C# member: `F:LibreMetaverse.Packets.UpdateSimulatorPacket.SimulatorInfo`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UpdateSimulatorPacket.SimulatorInfoBlock LibreMetaverse.Packets.UpdateSimulatorPacket.SimulatorInfo`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub simulator_info: libremetaverse::packets::UpdateSimulatorPacketSimulatorInfoBlock,
    }
    impl UpdateSimulatorPacket {
        /// C# member: `M:LibreMetaverse.Packets.UpdateSimulatorPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UpdateSimulatorPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateSimulatorPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UpdateSimulatorPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateSimulatorPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UpdateSimulatorPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateSimulatorPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UpdateSimulatorPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateSimulatorPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UpdateSimulatorPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateSimulatorPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UpdateSimulatorPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateSimulatorPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.UpdateSimulatorPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateSimulatorPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.UpdateSimulatorPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateSimulatorPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.UpdateSimulatorPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateSimulatorPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.UpdateSimulatorPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateSimulatorPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.UpdateSimulatorPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.UpdateSimulatorPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.UpdateSimulatorPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.UpdateSimulatorPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.UpdateSimulatorPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.UpdateSimulatorPacket.SimulatorInfoBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.UpdateSimulatorPacket.SimulatorInfoBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct UpdateSimulatorPacketSimulatorInfoBlock {
        /// C# member: `F:LibreMetaverse.Packets.UpdateSimulatorPacket.SimulatorInfoBlock.EstateID`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.UpdateSimulatorPacket.SimulatorInfoBlock.EstateID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub estate_id: u32,
        /// C# member: `F:LibreMetaverse.Packets.UpdateSimulatorPacket.SimulatorInfoBlock.RegionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.UpdateSimulatorPacket.SimulatorInfoBlock.RegionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub region_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.UpdateSimulatorPacket.SimulatorInfoBlock.SimAccess`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.UpdateSimulatorPacket.SimulatorInfoBlock.SimAccess`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub sim_access: u8,
        /// C# member: `F:LibreMetaverse.Packets.UpdateSimulatorPacket.SimulatorInfoBlock.SimName`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.UpdateSimulatorPacket.SimulatorInfoBlock.SimName`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub sim_name: Vec<u8>,
    }
    impl UpdateSimulatorPacketSimulatorInfoBlock {
        /// C# member: `M:LibreMetaverse.Packets.UpdateSimulatorPacket.SimulatorInfoBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UpdateSimulatorPacket.SimulatorInfoBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateSimulatorPacket.SimulatorInfoBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UpdateSimulatorPacket.SimulatorInfoBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateSimulatorPacket.SimulatorInfoBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UpdateSimulatorPacket.SimulatorInfoBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateSimulatorPacket.SimulatorInfoBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UpdateSimulatorPacket.SimulatorInfoBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateSimulatorPacket.SimulatorInfoBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UpdateSimulatorPacket.SimulatorInfoBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateSimulatorPacket.SimulatorInfoBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.UpdateSimulatorPacket.SimulatorInfoBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.UpdateSimulatorPacket.SimulatorInfoBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.UpdateSimulatorPacket.SimulatorInfoBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.UpdateTaskInventoryPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.UpdateTaskInventoryPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct UpdateTaskInventoryPacket {
        /// C# member: `F:LibreMetaverse.Packets.UpdateTaskInventoryPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UpdateTaskInventoryPacket.AgentDataBlock LibreMetaverse.Packets.UpdateTaskInventoryPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::UpdateTaskInventoryPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.UpdateTaskInventoryPacket.InventoryData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UpdateTaskInventoryPacket.InventoryDataBlock LibreMetaverse.Packets.UpdateTaskInventoryPacket.InventoryData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub inventory_data: libremetaverse::packets::UpdateTaskInventoryPacketInventoryDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.UpdateTaskInventoryPacket.UpdateData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UpdateTaskInventoryPacket.UpdateDataBlock LibreMetaverse.Packets.UpdateTaskInventoryPacket.UpdateData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub update_data: libremetaverse::packets::UpdateTaskInventoryPacketUpdateDataBlock,
    }
    impl UpdateTaskInventoryPacket {
        /// C# member: `M:LibreMetaverse.Packets.UpdateTaskInventoryPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UpdateTaskInventoryPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateTaskInventoryPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UpdateTaskInventoryPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateTaskInventoryPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UpdateTaskInventoryPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateTaskInventoryPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UpdateTaskInventoryPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateTaskInventoryPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UpdateTaskInventoryPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateTaskInventoryPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UpdateTaskInventoryPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateTaskInventoryPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.UpdateTaskInventoryPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateTaskInventoryPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.UpdateTaskInventoryPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateTaskInventoryPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.UpdateTaskInventoryPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateTaskInventoryPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.UpdateTaskInventoryPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateTaskInventoryPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.UpdateTaskInventoryPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.UpdateTaskInventoryPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.UpdateTaskInventoryPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.UpdateTaskInventoryPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.UpdateTaskInventoryPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.UpdateTaskInventoryPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.UpdateTaskInventoryPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct UpdateTaskInventoryPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.UpdateTaskInventoryPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.UpdateTaskInventoryPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.UpdateTaskInventoryPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.UpdateTaskInventoryPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl UpdateTaskInventoryPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.UpdateTaskInventoryPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UpdateTaskInventoryPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateTaskInventoryPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UpdateTaskInventoryPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateTaskInventoryPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UpdateTaskInventoryPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateTaskInventoryPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UpdateTaskInventoryPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateTaskInventoryPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UpdateTaskInventoryPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateTaskInventoryPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.UpdateTaskInventoryPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.UpdateTaskInventoryPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.UpdateTaskInventoryPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.UpdateTaskInventoryPacket.InventoryDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.UpdateTaskInventoryPacket.InventoryDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct UpdateTaskInventoryPacketInventoryDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.UpdateTaskInventoryPacket.InventoryDataBlock.BaseMask`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.UpdateTaskInventoryPacket.InventoryDataBlock.BaseMask`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub base_mask: u32,
        /// C# member: `F:LibreMetaverse.Packets.UpdateTaskInventoryPacket.InventoryDataBlock.CRC`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.UpdateTaskInventoryPacket.InventoryDataBlock.CRC`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub crc: u32,
        /// C# member: `F:LibreMetaverse.Packets.UpdateTaskInventoryPacket.InventoryDataBlock.CreationDate`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.UpdateTaskInventoryPacket.InventoryDataBlock.CreationDate`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub creation_date: i32,
        /// C# member: `F:LibreMetaverse.Packets.UpdateTaskInventoryPacket.InventoryDataBlock.CreatorID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.UpdateTaskInventoryPacket.InventoryDataBlock.CreatorID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub creator_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.UpdateTaskInventoryPacket.InventoryDataBlock.Description`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.UpdateTaskInventoryPacket.InventoryDataBlock.Description`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub description: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.UpdateTaskInventoryPacket.InventoryDataBlock.EveryoneMask`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.UpdateTaskInventoryPacket.InventoryDataBlock.EveryoneMask`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub everyone_mask: u32,
        /// C# member: `F:LibreMetaverse.Packets.UpdateTaskInventoryPacket.InventoryDataBlock.Flags`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.UpdateTaskInventoryPacket.InventoryDataBlock.Flags`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub flags: u32,
        /// C# member: `F:LibreMetaverse.Packets.UpdateTaskInventoryPacket.InventoryDataBlock.FolderID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.UpdateTaskInventoryPacket.InventoryDataBlock.FolderID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub folder_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.UpdateTaskInventoryPacket.InventoryDataBlock.GroupID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.UpdateTaskInventoryPacket.InventoryDataBlock.GroupID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.UpdateTaskInventoryPacket.InventoryDataBlock.GroupMask`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.UpdateTaskInventoryPacket.InventoryDataBlock.GroupMask`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_mask: u32,
        /// C# member: `F:LibreMetaverse.Packets.UpdateTaskInventoryPacket.InventoryDataBlock.GroupOwned`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.UpdateTaskInventoryPacket.InventoryDataBlock.GroupOwned`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub group_owned: bool,
        /// C# member: `F:LibreMetaverse.Packets.UpdateTaskInventoryPacket.InventoryDataBlock.InvType`.
        ///
        /// C# signature: `System.SByte LibreMetaverse.Packets.UpdateTaskInventoryPacket.InventoryDataBlock.InvType`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub inv_type: i8,
        /// C# member: `F:LibreMetaverse.Packets.UpdateTaskInventoryPacket.InventoryDataBlock.ItemID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.UpdateTaskInventoryPacket.InventoryDataBlock.ItemID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub item_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.UpdateTaskInventoryPacket.InventoryDataBlock.Name`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.UpdateTaskInventoryPacket.InventoryDataBlock.Name`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub name: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.UpdateTaskInventoryPacket.InventoryDataBlock.NextOwnerMask`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.UpdateTaskInventoryPacket.InventoryDataBlock.NextOwnerMask`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub next_owner_mask: u32,
        /// C# member: `F:LibreMetaverse.Packets.UpdateTaskInventoryPacket.InventoryDataBlock.OwnerID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.UpdateTaskInventoryPacket.InventoryDataBlock.OwnerID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub owner_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.UpdateTaskInventoryPacket.InventoryDataBlock.OwnerMask`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.UpdateTaskInventoryPacket.InventoryDataBlock.OwnerMask`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub owner_mask: u32,
        /// C# member: `F:LibreMetaverse.Packets.UpdateTaskInventoryPacket.InventoryDataBlock.SalePrice`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.UpdateTaskInventoryPacket.InventoryDataBlock.SalePrice`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub sale_price: i32,
        /// C# member: `F:LibreMetaverse.Packets.UpdateTaskInventoryPacket.InventoryDataBlock.SaleType`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.UpdateTaskInventoryPacket.InventoryDataBlock.SaleType`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub sale_type: u8,
        /// C# member: `F:LibreMetaverse.Packets.UpdateTaskInventoryPacket.InventoryDataBlock.TransactionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.UpdateTaskInventoryPacket.InventoryDataBlock.TransactionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub transaction_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.UpdateTaskInventoryPacket.InventoryDataBlock.Type`.
        ///
        /// C# signature: `System.SByte LibreMetaverse.Packets.UpdateTaskInventoryPacket.InventoryDataBlock.Type`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub type_: i8,
    }
    impl UpdateTaskInventoryPacketInventoryDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.UpdateTaskInventoryPacket.InventoryDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UpdateTaskInventoryPacket.InventoryDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateTaskInventoryPacket.InventoryDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UpdateTaskInventoryPacket.InventoryDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateTaskInventoryPacket.InventoryDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UpdateTaskInventoryPacket.InventoryDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateTaskInventoryPacket.InventoryDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UpdateTaskInventoryPacket.InventoryDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateTaskInventoryPacket.InventoryDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UpdateTaskInventoryPacket.InventoryDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateTaskInventoryPacket.InventoryDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.UpdateTaskInventoryPacket.InventoryDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.UpdateTaskInventoryPacket.InventoryDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.UpdateTaskInventoryPacket.InventoryDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.UpdateTaskInventoryPacket.UpdateDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.UpdateTaskInventoryPacket.UpdateDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct UpdateTaskInventoryPacketUpdateDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.UpdateTaskInventoryPacket.UpdateDataBlock.Key`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.UpdateTaskInventoryPacket.UpdateDataBlock.Key`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub key: u8,
        /// C# member: `F:LibreMetaverse.Packets.UpdateTaskInventoryPacket.UpdateDataBlock.LocalID`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.UpdateTaskInventoryPacket.UpdateDataBlock.LocalID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub local_id: u32,
    }
    impl UpdateTaskInventoryPacketUpdateDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.UpdateTaskInventoryPacket.UpdateDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UpdateTaskInventoryPacket.UpdateDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateTaskInventoryPacket.UpdateDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UpdateTaskInventoryPacket.UpdateDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateTaskInventoryPacket.UpdateDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UpdateTaskInventoryPacket.UpdateDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateTaskInventoryPacket.UpdateDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UpdateTaskInventoryPacket.UpdateDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateTaskInventoryPacket.UpdateDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UpdateTaskInventoryPacket.UpdateDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateTaskInventoryPacket.UpdateDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.UpdateTaskInventoryPacket.UpdateDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.UpdateTaskInventoryPacket.UpdateDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.UpdateTaskInventoryPacket.UpdateDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.UpdateUserInfoPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.UpdateUserInfoPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct UpdateUserInfoPacket {
        /// C# member: `F:LibreMetaverse.Packets.UpdateUserInfoPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UpdateUserInfoPacket.AgentDataBlock LibreMetaverse.Packets.UpdateUserInfoPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::UpdateUserInfoPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.UpdateUserInfoPacket.UserData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UpdateUserInfoPacket.UserDataBlock LibreMetaverse.Packets.UpdateUserInfoPacket.UserData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub user_data: libremetaverse::packets::UpdateUserInfoPacketUserDataBlock,
    }
    impl UpdateUserInfoPacket {
        /// C# member: `M:LibreMetaverse.Packets.UpdateUserInfoPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UpdateUserInfoPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateUserInfoPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UpdateUserInfoPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateUserInfoPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UpdateUserInfoPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateUserInfoPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UpdateUserInfoPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateUserInfoPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UpdateUserInfoPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateUserInfoPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UpdateUserInfoPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateUserInfoPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.UpdateUserInfoPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateUserInfoPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.UpdateUserInfoPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateUserInfoPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.UpdateUserInfoPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateUserInfoPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.UpdateUserInfoPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateUserInfoPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.UpdateUserInfoPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.UpdateUserInfoPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.UpdateUserInfoPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.UpdateUserInfoPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.UpdateUserInfoPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.UpdateUserInfoPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.UpdateUserInfoPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct UpdateUserInfoPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.UpdateUserInfoPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.UpdateUserInfoPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.UpdateUserInfoPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.UpdateUserInfoPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl UpdateUserInfoPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.UpdateUserInfoPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UpdateUserInfoPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateUserInfoPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UpdateUserInfoPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateUserInfoPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UpdateUserInfoPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateUserInfoPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UpdateUserInfoPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateUserInfoPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UpdateUserInfoPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateUserInfoPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.UpdateUserInfoPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.UpdateUserInfoPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.UpdateUserInfoPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.UpdateUserInfoPacket.UserDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.UpdateUserInfoPacket.UserDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct UpdateUserInfoPacketUserDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.UpdateUserInfoPacket.UserDataBlock.DirectoryVisibility`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.UpdateUserInfoPacket.UserDataBlock.DirectoryVisibility`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub directory_visibility: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.UpdateUserInfoPacket.UserDataBlock.IMViaEMail`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.UpdateUserInfoPacket.UserDataBlock.IMViaEMail`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub im_via_e_mail: bool,
    }
    impl UpdateUserInfoPacketUserDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.UpdateUserInfoPacket.UserDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UpdateUserInfoPacket.UserDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateUserInfoPacket.UserDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UpdateUserInfoPacket.UserDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateUserInfoPacket.UserDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UpdateUserInfoPacket.UserDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateUserInfoPacket.UserDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UpdateUserInfoPacket.UserDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateUserInfoPacket.UserDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UpdateUserInfoPacket.UserDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UpdateUserInfoPacket.UserDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.UpdateUserInfoPacket.UserDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.UpdateUserInfoPacket.UserDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.UpdateUserInfoPacket.UserDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.UseCachedMuteListPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.UseCachedMuteListPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct UseCachedMuteListPacket {
        /// C# member: `F:LibreMetaverse.Packets.UseCachedMuteListPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UseCachedMuteListPacket.AgentDataBlock LibreMetaverse.Packets.UseCachedMuteListPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::UseCachedMuteListPacketAgentDataBlock,
    }
    impl UseCachedMuteListPacket {
        /// C# member: `M:LibreMetaverse.Packets.UseCachedMuteListPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UseCachedMuteListPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.UseCachedMuteListPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UseCachedMuteListPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UseCachedMuteListPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UseCachedMuteListPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UseCachedMuteListPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UseCachedMuteListPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.UseCachedMuteListPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UseCachedMuteListPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.UseCachedMuteListPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UseCachedMuteListPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.UseCachedMuteListPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.UseCachedMuteListPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.UseCachedMuteListPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.UseCachedMuteListPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.UseCachedMuteListPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.UseCachedMuteListPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.UseCachedMuteListPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.UseCachedMuteListPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.UseCachedMuteListPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.UseCachedMuteListPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.UseCachedMuteListPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.UseCachedMuteListPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.UseCachedMuteListPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.UseCachedMuteListPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.UseCachedMuteListPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.UseCachedMuteListPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct UseCachedMuteListPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.UseCachedMuteListPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.UseCachedMuteListPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
    }
    impl UseCachedMuteListPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.UseCachedMuteListPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UseCachedMuteListPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.UseCachedMuteListPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UseCachedMuteListPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UseCachedMuteListPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UseCachedMuteListPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UseCachedMuteListPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UseCachedMuteListPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.UseCachedMuteListPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UseCachedMuteListPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UseCachedMuteListPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.UseCachedMuteListPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.UseCachedMuteListPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.UseCachedMuteListPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.UseCircuitCodePacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.UseCircuitCodePacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct UseCircuitCodePacket {
        /// C# member: `F:LibreMetaverse.Packets.UseCircuitCodePacket.CircuitCode`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UseCircuitCodePacket.CircuitCodeBlock LibreMetaverse.Packets.UseCircuitCodePacket.CircuitCode`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub circuit_code: libremetaverse::packets::UseCircuitCodePacketCircuitCodeBlock,
    }
    impl UseCircuitCodePacket {
        /// C# member: `M:LibreMetaverse.Packets.UseCircuitCodePacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UseCircuitCodePacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.UseCircuitCodePacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UseCircuitCodePacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UseCircuitCodePacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UseCircuitCodePacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UseCircuitCodePacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UseCircuitCodePacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.UseCircuitCodePacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UseCircuitCodePacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.UseCircuitCodePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UseCircuitCodePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.UseCircuitCodePacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.UseCircuitCodePacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.UseCircuitCodePacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.UseCircuitCodePacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.UseCircuitCodePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.UseCircuitCodePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.UseCircuitCodePacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.UseCircuitCodePacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.UseCircuitCodePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.UseCircuitCodePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.UseCircuitCodePacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.UseCircuitCodePacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.UseCircuitCodePacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.UseCircuitCodePacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.UseCircuitCodePacket.CircuitCodeBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.UseCircuitCodePacket.CircuitCodeBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct UseCircuitCodePacketCircuitCodeBlock {
        /// C# member: `F:LibreMetaverse.Packets.UseCircuitCodePacket.CircuitCodeBlock.Code`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.UseCircuitCodePacket.CircuitCodeBlock.Code`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub code: u32,
        /// C# member: `F:LibreMetaverse.Packets.UseCircuitCodePacket.CircuitCodeBlock.ID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.UseCircuitCodePacket.CircuitCodeBlock.ID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.UseCircuitCodePacket.CircuitCodeBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.UseCircuitCodePacket.CircuitCodeBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl UseCircuitCodePacketCircuitCodeBlock {
        /// C# member: `M:LibreMetaverse.Packets.UseCircuitCodePacket.CircuitCodeBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UseCircuitCodePacket.CircuitCodeBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.UseCircuitCodePacket.CircuitCodeBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UseCircuitCodePacket.CircuitCodeBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UseCircuitCodePacket.CircuitCodeBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UseCircuitCodePacket.CircuitCodeBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UseCircuitCodePacket.CircuitCodeBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UseCircuitCodePacket.CircuitCodeBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.UseCircuitCodePacket.CircuitCodeBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UseCircuitCodePacket.CircuitCodeBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UseCircuitCodePacket.CircuitCodeBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.UseCircuitCodePacket.CircuitCodeBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.UseCircuitCodePacket.CircuitCodeBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.UseCircuitCodePacket.CircuitCodeBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.UserInfoReplyPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.UserInfoReplyPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct UserInfoReplyPacket {
        /// C# member: `F:LibreMetaverse.Packets.UserInfoReplyPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UserInfoReplyPacket.AgentDataBlock LibreMetaverse.Packets.UserInfoReplyPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::UserInfoReplyPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.UserInfoReplyPacket.UserData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UserInfoReplyPacket.UserDataBlock LibreMetaverse.Packets.UserInfoReplyPacket.UserData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub user_data: libremetaverse::packets::UserInfoReplyPacketUserDataBlock,
    }
    impl UserInfoReplyPacket {
        /// C# member: `M:LibreMetaverse.Packets.UserInfoReplyPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UserInfoReplyPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.UserInfoReplyPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UserInfoReplyPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UserInfoReplyPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UserInfoReplyPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UserInfoReplyPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UserInfoReplyPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.UserInfoReplyPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UserInfoReplyPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.UserInfoReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UserInfoReplyPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.UserInfoReplyPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.UserInfoReplyPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.UserInfoReplyPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.UserInfoReplyPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.UserInfoReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.UserInfoReplyPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.UserInfoReplyPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.UserInfoReplyPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.UserInfoReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.UserInfoReplyPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.UserInfoReplyPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.UserInfoReplyPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.UserInfoReplyPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.UserInfoReplyPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.UserInfoReplyPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.UserInfoReplyPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct UserInfoReplyPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.UserInfoReplyPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.UserInfoReplyPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
    }
    impl UserInfoReplyPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.UserInfoReplyPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UserInfoReplyPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.UserInfoReplyPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UserInfoReplyPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UserInfoReplyPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UserInfoReplyPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UserInfoReplyPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UserInfoReplyPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.UserInfoReplyPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UserInfoReplyPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UserInfoReplyPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.UserInfoReplyPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.UserInfoReplyPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.UserInfoReplyPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.UserInfoReplyPacket.UserDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.UserInfoReplyPacket.UserDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct UserInfoReplyPacketUserDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.UserInfoReplyPacket.UserDataBlock.DirectoryVisibility`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.UserInfoReplyPacket.UserDataBlock.DirectoryVisibility`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub directory_visibility: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.UserInfoReplyPacket.UserDataBlock.EMail`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.UserInfoReplyPacket.UserDataBlock.EMail`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub e_mail: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.UserInfoReplyPacket.UserDataBlock.IMViaEMail`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.UserInfoReplyPacket.UserDataBlock.IMViaEMail`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub im_via_e_mail: bool,
    }
    impl UserInfoReplyPacketUserDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.UserInfoReplyPacket.UserDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UserInfoReplyPacket.UserDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.UserInfoReplyPacket.UserDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UserInfoReplyPacket.UserDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UserInfoReplyPacket.UserDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UserInfoReplyPacket.UserDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UserInfoReplyPacket.UserDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UserInfoReplyPacket.UserDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.UserInfoReplyPacket.UserDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UserInfoReplyPacket.UserDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UserInfoReplyPacket.UserDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.UserInfoReplyPacket.UserDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.UserInfoReplyPacket.UserDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.UserInfoReplyPacket.UserDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.UserInfoRequestPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.UserInfoRequestPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct UserInfoRequestPacket {
        /// C# member: `F:LibreMetaverse.Packets.UserInfoRequestPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UserInfoRequestPacket.AgentDataBlock LibreMetaverse.Packets.UserInfoRequestPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::UserInfoRequestPacketAgentDataBlock,
    }
    impl UserInfoRequestPacket {
        /// C# member: `M:LibreMetaverse.Packets.UserInfoRequestPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UserInfoRequestPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.UserInfoRequestPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UserInfoRequestPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UserInfoRequestPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UserInfoRequestPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UserInfoRequestPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UserInfoRequestPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.UserInfoRequestPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UserInfoRequestPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.UserInfoRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UserInfoRequestPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.UserInfoRequestPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.UserInfoRequestPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.UserInfoRequestPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.UserInfoRequestPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.UserInfoRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.UserInfoRequestPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.UserInfoRequestPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.UserInfoRequestPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.UserInfoRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.UserInfoRequestPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.UserInfoRequestPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.UserInfoRequestPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.UserInfoRequestPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.UserInfoRequestPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.UserInfoRequestPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.UserInfoRequestPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct UserInfoRequestPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.UserInfoRequestPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.UserInfoRequestPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.UserInfoRequestPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.UserInfoRequestPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl UserInfoRequestPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.UserInfoRequestPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UserInfoRequestPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.UserInfoRequestPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UserInfoRequestPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UserInfoRequestPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UserInfoRequestPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UserInfoRequestPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UserInfoRequestPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.UserInfoRequestPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UserInfoRequestPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UserInfoRequestPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.UserInfoRequestPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.UserInfoRequestPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.UserInfoRequestPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.UserReportInternalPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.UserReportInternalPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct UserReportInternalPacket {
        /// C# member: `F:LibreMetaverse.Packets.UserReportInternalPacket.ReportData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UserReportInternalPacket.ReportDataBlock LibreMetaverse.Packets.UserReportInternalPacket.ReportData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub report_data: libremetaverse::packets::UserReportInternalPacketReportDataBlock,
    }
    impl UserReportInternalPacket {
        /// C# member: `M:LibreMetaverse.Packets.UserReportInternalPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UserReportInternalPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.UserReportInternalPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UserReportInternalPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UserReportInternalPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UserReportInternalPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UserReportInternalPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UserReportInternalPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.UserReportInternalPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UserReportInternalPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.UserReportInternalPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UserReportInternalPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.UserReportInternalPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.UserReportInternalPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.UserReportInternalPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.UserReportInternalPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.UserReportInternalPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.UserReportInternalPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.UserReportInternalPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.UserReportInternalPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.UserReportInternalPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.UserReportInternalPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.UserReportInternalPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.UserReportInternalPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.UserReportInternalPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.UserReportInternalPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.UserReportInternalPacket.ReportDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.UserReportInternalPacket.ReportDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct UserReportInternalPacketReportDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.UserReportInternalPacket.ReportDataBlock.AbuseRegionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.UserReportInternalPacket.ReportDataBlock.AbuseRegionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub abuse_region_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.UserReportInternalPacket.ReportDataBlock.AbuseRegionName`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.UserReportInternalPacket.ReportDataBlock.AbuseRegionName`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub abuse_region_name: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.UserReportInternalPacket.ReportDataBlock.AbuserID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.UserReportInternalPacket.ReportDataBlock.AbuserID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub abuser_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.UserReportInternalPacket.ReportDataBlock.AgentPosition`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Packets.UserReportInternalPacket.ReportDataBlock.AgentPosition`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_position: libremetaverse_types::Vector3,
        /// C# member: `F:LibreMetaverse.Packets.UserReportInternalPacket.ReportDataBlock.Category`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.UserReportInternalPacket.ReportDataBlock.Category`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub category: u8,
        /// C# member: `F:LibreMetaverse.Packets.UserReportInternalPacket.ReportDataBlock.CreatorID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.UserReportInternalPacket.ReportDataBlock.CreatorID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub creator_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.UserReportInternalPacket.ReportDataBlock.Details`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.UserReportInternalPacket.ReportDataBlock.Details`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub details: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.UserReportInternalPacket.ReportDataBlock.LastOwnerID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.UserReportInternalPacket.ReportDataBlock.LastOwnerID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub last_owner_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.UserReportInternalPacket.ReportDataBlock.ObjectID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.UserReportInternalPacket.ReportDataBlock.ObjectID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.UserReportInternalPacket.ReportDataBlock.OwnerID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.UserReportInternalPacket.ReportDataBlock.OwnerID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub owner_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.UserReportInternalPacket.ReportDataBlock.RegionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.UserReportInternalPacket.ReportDataBlock.RegionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub region_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.UserReportInternalPacket.ReportDataBlock.ReportType`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.UserReportInternalPacket.ReportDataBlock.ReportType`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub report_type: u8,
        /// C# member: `F:LibreMetaverse.Packets.UserReportInternalPacket.ReportDataBlock.ReporterID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.UserReportInternalPacket.ReportDataBlock.ReporterID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub reporter_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.UserReportInternalPacket.ReportDataBlock.ScreenshotID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.UserReportInternalPacket.ReportDataBlock.ScreenshotID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub screenshot_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.UserReportInternalPacket.ReportDataBlock.Summary`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.UserReportInternalPacket.ReportDataBlock.Summary`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub summary: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.UserReportInternalPacket.ReportDataBlock.VersionString`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.UserReportInternalPacket.ReportDataBlock.VersionString`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub version_string: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.UserReportInternalPacket.ReportDataBlock.ViewerPosition`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Packets.UserReportInternalPacket.ReportDataBlock.ViewerPosition`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub viewer_position: libremetaverse_types::Vector3,
    }
    impl UserReportInternalPacketReportDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.UserReportInternalPacket.ReportDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UserReportInternalPacket.ReportDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.UserReportInternalPacket.ReportDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UserReportInternalPacket.ReportDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UserReportInternalPacket.ReportDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UserReportInternalPacket.ReportDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UserReportInternalPacket.ReportDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UserReportInternalPacket.ReportDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.UserReportInternalPacket.ReportDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UserReportInternalPacket.ReportDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UserReportInternalPacket.ReportDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.UserReportInternalPacket.ReportDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.UserReportInternalPacket.ReportDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.UserReportInternalPacket.ReportDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.UserReportPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.UserReportPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct UserReportPacket {
        /// C# member: `F:LibreMetaverse.Packets.UserReportPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UserReportPacket.AgentDataBlock LibreMetaverse.Packets.UserReportPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::UserReportPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.UserReportPacket.ReportData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UserReportPacket.ReportDataBlock LibreMetaverse.Packets.UserReportPacket.ReportData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub report_data: libremetaverse::packets::UserReportPacketReportDataBlock,
    }
    impl UserReportPacket {
        /// C# member: `M:LibreMetaverse.Packets.UserReportPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UserReportPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.UserReportPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UserReportPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UserReportPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UserReportPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UserReportPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UserReportPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.UserReportPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UserReportPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.UserReportPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UserReportPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.UserReportPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.UserReportPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.UserReportPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.UserReportPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.UserReportPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.UserReportPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.UserReportPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.UserReportPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.UserReportPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.UserReportPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.UserReportPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.UserReportPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.UserReportPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.UserReportPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.UserReportPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.UserReportPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct UserReportPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.UserReportPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.UserReportPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.UserReportPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.UserReportPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl UserReportPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.UserReportPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UserReportPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.UserReportPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UserReportPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UserReportPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UserReportPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UserReportPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UserReportPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.UserReportPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UserReportPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UserReportPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.UserReportPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.UserReportPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.UserReportPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.UserReportPacket.ReportDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.UserReportPacket.ReportDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct UserReportPacketReportDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.UserReportPacket.ReportDataBlock.AbuseRegionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.UserReportPacket.ReportDataBlock.AbuseRegionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub abuse_region_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.UserReportPacket.ReportDataBlock.AbuseRegionName`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.UserReportPacket.ReportDataBlock.AbuseRegionName`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub abuse_region_name: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.UserReportPacket.ReportDataBlock.AbuserID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.UserReportPacket.ReportDataBlock.AbuserID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub abuser_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.UserReportPacket.ReportDataBlock.Category`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.UserReportPacket.ReportDataBlock.Category`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub category: u8,
        /// C# member: `F:LibreMetaverse.Packets.UserReportPacket.ReportDataBlock.CheckFlags`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.UserReportPacket.ReportDataBlock.CheckFlags`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub check_flags: u8,
        /// C# member: `F:LibreMetaverse.Packets.UserReportPacket.ReportDataBlock.Details`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.UserReportPacket.ReportDataBlock.Details`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub details: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.UserReportPacket.ReportDataBlock.ObjectID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.UserReportPacket.ReportDataBlock.ObjectID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub object_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.UserReportPacket.ReportDataBlock.Position`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Packets.UserReportPacket.ReportDataBlock.Position`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub position: libremetaverse_types::Vector3,
        /// C# member: `F:LibreMetaverse.Packets.UserReportPacket.ReportDataBlock.ReportType`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.UserReportPacket.ReportDataBlock.ReportType`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub report_type: u8,
        /// C# member: `F:LibreMetaverse.Packets.UserReportPacket.ReportDataBlock.ScreenshotID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.UserReportPacket.ReportDataBlock.ScreenshotID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub screenshot_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.UserReportPacket.ReportDataBlock.Summary`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.UserReportPacket.ReportDataBlock.Summary`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub summary: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.UserReportPacket.ReportDataBlock.VersionString`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.UserReportPacket.ReportDataBlock.VersionString`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub version_string: Vec<u8>,
    }
    impl UserReportPacketReportDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.UserReportPacket.ReportDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UserReportPacket.ReportDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.UserReportPacket.ReportDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.UserReportPacket.ReportDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UserReportPacket.ReportDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UserReportPacket.ReportDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UserReportPacket.ReportDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UserReportPacket.ReportDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.UserReportPacket.ReportDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.UserReportPacket.ReportDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.UserReportPacket.ReportDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.UserReportPacket.ReportDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.UserReportPacket.ReportDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.UserReportPacket.ReportDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.VelocityInterpolateOffPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.VelocityInterpolateOffPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct VelocityInterpolateOffPacket {
        /// C# member: `F:LibreMetaverse.Packets.VelocityInterpolateOffPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.VelocityInterpolateOffPacket.AgentDataBlock LibreMetaverse.Packets.VelocityInterpolateOffPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::VelocityInterpolateOffPacketAgentDataBlock,
    }
    impl VelocityInterpolateOffPacket {
        /// C# member: `M:LibreMetaverse.Packets.VelocityInterpolateOffPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.VelocityInterpolateOffPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.VelocityInterpolateOffPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.VelocityInterpolateOffPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.VelocityInterpolateOffPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.VelocityInterpolateOffPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.VelocityInterpolateOffPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.VelocityInterpolateOffPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.VelocityInterpolateOffPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.VelocityInterpolateOffPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.VelocityInterpolateOffPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.VelocityInterpolateOffPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.VelocityInterpolateOffPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.VelocityInterpolateOffPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.VelocityInterpolateOffPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.VelocityInterpolateOffPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.VelocityInterpolateOffPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.VelocityInterpolateOffPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.VelocityInterpolateOffPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.VelocityInterpolateOffPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.VelocityInterpolateOffPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.VelocityInterpolateOffPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.VelocityInterpolateOffPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.VelocityInterpolateOffPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.VelocityInterpolateOffPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.VelocityInterpolateOffPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.VelocityInterpolateOffPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.VelocityInterpolateOffPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct VelocityInterpolateOffPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.VelocityInterpolateOffPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.VelocityInterpolateOffPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.VelocityInterpolateOffPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.VelocityInterpolateOffPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl VelocityInterpolateOffPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.VelocityInterpolateOffPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.VelocityInterpolateOffPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.VelocityInterpolateOffPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.VelocityInterpolateOffPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.VelocityInterpolateOffPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.VelocityInterpolateOffPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.VelocityInterpolateOffPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.VelocityInterpolateOffPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.VelocityInterpolateOffPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.VelocityInterpolateOffPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.VelocityInterpolateOffPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.VelocityInterpolateOffPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.VelocityInterpolateOffPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.VelocityInterpolateOffPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.VelocityInterpolateOnPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.VelocityInterpolateOnPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct VelocityInterpolateOnPacket {
        /// C# member: `F:LibreMetaverse.Packets.VelocityInterpolateOnPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.VelocityInterpolateOnPacket.AgentDataBlock LibreMetaverse.Packets.VelocityInterpolateOnPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::VelocityInterpolateOnPacketAgentDataBlock,
    }
    impl VelocityInterpolateOnPacket {
        /// C# member: `M:LibreMetaverse.Packets.VelocityInterpolateOnPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.VelocityInterpolateOnPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.VelocityInterpolateOnPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.VelocityInterpolateOnPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.VelocityInterpolateOnPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.VelocityInterpolateOnPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.VelocityInterpolateOnPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.VelocityInterpolateOnPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.VelocityInterpolateOnPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.VelocityInterpolateOnPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.VelocityInterpolateOnPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.VelocityInterpolateOnPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.VelocityInterpolateOnPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.VelocityInterpolateOnPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.VelocityInterpolateOnPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.VelocityInterpolateOnPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.VelocityInterpolateOnPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.VelocityInterpolateOnPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.VelocityInterpolateOnPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.VelocityInterpolateOnPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.VelocityInterpolateOnPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.VelocityInterpolateOnPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.VelocityInterpolateOnPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.VelocityInterpolateOnPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.VelocityInterpolateOnPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.VelocityInterpolateOnPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.VelocityInterpolateOnPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.VelocityInterpolateOnPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct VelocityInterpolateOnPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.VelocityInterpolateOnPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.VelocityInterpolateOnPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.VelocityInterpolateOnPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.VelocityInterpolateOnPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl VelocityInterpolateOnPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.VelocityInterpolateOnPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.VelocityInterpolateOnPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.VelocityInterpolateOnPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.VelocityInterpolateOnPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.VelocityInterpolateOnPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.VelocityInterpolateOnPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.VelocityInterpolateOnPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.VelocityInterpolateOnPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.VelocityInterpolateOnPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.VelocityInterpolateOnPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.VelocityInterpolateOnPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.VelocityInterpolateOnPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.VelocityInterpolateOnPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.VelocityInterpolateOnPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ViewerEffectPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ViewerEffectPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ViewerEffectPacket {
        /// C# member: `F:LibreMetaverse.Packets.ViewerEffectPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ViewerEffectPacket.AgentDataBlock LibreMetaverse.Packets.ViewerEffectPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::ViewerEffectPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.ViewerEffectPacket.Effect`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ViewerEffectPacket.EffectBlock[] LibreMetaverse.Packets.ViewerEffectPacket.Effect`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub effect: Vec<libremetaverse::packets::ViewerEffectPacketEffectBlock>,
    }
    impl ViewerEffectPacket {
        /// C# member: `M:LibreMetaverse.Packets.ViewerEffectPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ViewerEffectPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ViewerEffectPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ViewerEffectPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ViewerEffectPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ViewerEffectPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ViewerEffectPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ViewerEffectPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ViewerEffectPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ViewerEffectPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ViewerEffectPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ViewerEffectPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ViewerEffectPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ViewerEffectPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ViewerEffectPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ViewerEffectPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ViewerEffectPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ViewerEffectPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ViewerEffectPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ViewerEffectPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ViewerEffectPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ViewerEffectPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ViewerEffectPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ViewerEffectPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ViewerEffectPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ViewerEffectPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ViewerEffectPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ViewerEffectPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ViewerEffectPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ViewerEffectPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ViewerEffectPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ViewerEffectPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ViewerEffectPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl ViewerEffectPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ViewerEffectPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ViewerEffectPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ViewerEffectPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ViewerEffectPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ViewerEffectPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ViewerEffectPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ViewerEffectPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ViewerEffectPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ViewerEffectPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ViewerEffectPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ViewerEffectPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ViewerEffectPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ViewerEffectPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ViewerEffectPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ViewerEffectPacket.EffectBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ViewerEffectPacket.EffectBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ViewerEffectPacketEffectBlock {
        /// C# member: `F:LibreMetaverse.Packets.ViewerEffectPacket.EffectBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ViewerEffectPacket.EffectBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ViewerEffectPacket.EffectBlock.Color`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ViewerEffectPacket.EffectBlock.Color`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub color: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.ViewerEffectPacket.EffectBlock.Duration`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.ViewerEffectPacket.EffectBlock.Duration`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub duration: f32,
        /// C# member: `F:LibreMetaverse.Packets.ViewerEffectPacket.EffectBlock.ID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ViewerEffectPacket.EffectBlock.ID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ViewerEffectPacket.EffectBlock.Type`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.ViewerEffectPacket.EffectBlock.Type`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub type_: u8,
        /// C# member: `F:LibreMetaverse.Packets.ViewerEffectPacket.EffectBlock.TypeData`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ViewerEffectPacket.EffectBlock.TypeData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub type_data: Vec<u8>,
    }
    impl ViewerEffectPacketEffectBlock {
        /// C# member: `M:LibreMetaverse.Packets.ViewerEffectPacket.EffectBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ViewerEffectPacket.EffectBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ViewerEffectPacket.EffectBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ViewerEffectPacket.EffectBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ViewerEffectPacket.EffectBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ViewerEffectPacket.EffectBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ViewerEffectPacket.EffectBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ViewerEffectPacket.EffectBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ViewerEffectPacket.EffectBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ViewerEffectPacket.EffectBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ViewerEffectPacket.EffectBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ViewerEffectPacket.EffectBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ViewerEffectPacket.EffectBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ViewerEffectPacket.EffectBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ViewerFrozenMessagePacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ViewerFrozenMessagePacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ViewerFrozenMessagePacket {
        /// C# member: `F:LibreMetaverse.Packets.ViewerFrozenMessagePacket.FrozenData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ViewerFrozenMessagePacket.FrozenDataBlock LibreMetaverse.Packets.ViewerFrozenMessagePacket.FrozenData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub frozen_data: libremetaverse::packets::ViewerFrozenMessagePacketFrozenDataBlock,
    }
    impl ViewerFrozenMessagePacket {
        /// C# member: `M:LibreMetaverse.Packets.ViewerFrozenMessagePacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ViewerFrozenMessagePacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ViewerFrozenMessagePacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ViewerFrozenMessagePacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ViewerFrozenMessagePacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ViewerFrozenMessagePacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ViewerFrozenMessagePacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ViewerFrozenMessagePacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ViewerFrozenMessagePacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ViewerFrozenMessagePacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ViewerFrozenMessagePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ViewerFrozenMessagePacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ViewerFrozenMessagePacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ViewerFrozenMessagePacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ViewerFrozenMessagePacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ViewerFrozenMessagePacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ViewerFrozenMessagePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ViewerFrozenMessagePacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ViewerFrozenMessagePacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ViewerFrozenMessagePacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ViewerFrozenMessagePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ViewerFrozenMessagePacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ViewerFrozenMessagePacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ViewerFrozenMessagePacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ViewerFrozenMessagePacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ViewerFrozenMessagePacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ViewerFrozenMessagePacket.FrozenDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ViewerFrozenMessagePacket.FrozenDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ViewerFrozenMessagePacketFrozenDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ViewerFrozenMessagePacket.FrozenDataBlock.Data`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ViewerFrozenMessagePacket.FrozenDataBlock.Data`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub data: bool,
    }
    impl ViewerFrozenMessagePacketFrozenDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ViewerFrozenMessagePacket.FrozenDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ViewerFrozenMessagePacket.FrozenDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ViewerFrozenMessagePacket.FrozenDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ViewerFrozenMessagePacket.FrozenDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ViewerFrozenMessagePacket.FrozenDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ViewerFrozenMessagePacket.FrozenDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ViewerFrozenMessagePacket.FrozenDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ViewerFrozenMessagePacket.FrozenDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ViewerFrozenMessagePacket.FrozenDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ViewerFrozenMessagePacket.FrozenDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ViewerFrozenMessagePacket.FrozenDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ViewerFrozenMessagePacket.FrozenDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ViewerFrozenMessagePacket.FrozenDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ViewerFrozenMessagePacket.FrozenDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ViewerStartAuctionPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ViewerStartAuctionPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ViewerStartAuctionPacket {
        /// C# member: `F:LibreMetaverse.Packets.ViewerStartAuctionPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ViewerStartAuctionPacket.AgentDataBlock LibreMetaverse.Packets.ViewerStartAuctionPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::ViewerStartAuctionPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.ViewerStartAuctionPacket.ParcelData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ViewerStartAuctionPacket.ParcelDataBlock LibreMetaverse.Packets.ViewerStartAuctionPacket.ParcelData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub parcel_data: libremetaverse::packets::ViewerStartAuctionPacketParcelDataBlock,
    }
    impl ViewerStartAuctionPacket {
        /// C# member: `M:LibreMetaverse.Packets.ViewerStartAuctionPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ViewerStartAuctionPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ViewerStartAuctionPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ViewerStartAuctionPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ViewerStartAuctionPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ViewerStartAuctionPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ViewerStartAuctionPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ViewerStartAuctionPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ViewerStartAuctionPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ViewerStartAuctionPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ViewerStartAuctionPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ViewerStartAuctionPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ViewerStartAuctionPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ViewerStartAuctionPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ViewerStartAuctionPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ViewerStartAuctionPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ViewerStartAuctionPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ViewerStartAuctionPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ViewerStartAuctionPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ViewerStartAuctionPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ViewerStartAuctionPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ViewerStartAuctionPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ViewerStartAuctionPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ViewerStartAuctionPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ViewerStartAuctionPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ViewerStartAuctionPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ViewerStartAuctionPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ViewerStartAuctionPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ViewerStartAuctionPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ViewerStartAuctionPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ViewerStartAuctionPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ViewerStartAuctionPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ViewerStartAuctionPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
    }
    impl ViewerStartAuctionPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ViewerStartAuctionPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ViewerStartAuctionPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ViewerStartAuctionPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ViewerStartAuctionPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ViewerStartAuctionPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ViewerStartAuctionPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ViewerStartAuctionPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ViewerStartAuctionPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ViewerStartAuctionPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ViewerStartAuctionPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ViewerStartAuctionPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ViewerStartAuctionPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ViewerStartAuctionPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ViewerStartAuctionPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ViewerStartAuctionPacket.ParcelDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ViewerStartAuctionPacket.ParcelDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ViewerStartAuctionPacketParcelDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ViewerStartAuctionPacket.ParcelDataBlock.LocalID`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ViewerStartAuctionPacket.ParcelDataBlock.LocalID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub local_id: i32,
        /// C# member: `F:LibreMetaverse.Packets.ViewerStartAuctionPacket.ParcelDataBlock.SnapshotID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ViewerStartAuctionPacket.ParcelDataBlock.SnapshotID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub snapshot_id: libremetaverse_types::UUID,
    }
    impl ViewerStartAuctionPacketParcelDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ViewerStartAuctionPacket.ParcelDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ViewerStartAuctionPacket.ParcelDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ViewerStartAuctionPacket.ParcelDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ViewerStartAuctionPacket.ParcelDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ViewerStartAuctionPacket.ParcelDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ViewerStartAuctionPacket.ParcelDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ViewerStartAuctionPacket.ParcelDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ViewerStartAuctionPacket.ParcelDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ViewerStartAuctionPacket.ParcelDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ViewerStartAuctionPacket.ParcelDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ViewerStartAuctionPacket.ParcelDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ViewerStartAuctionPacket.ParcelDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ViewerStartAuctionPacket.ParcelDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ViewerStartAuctionPacket.ParcelDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ViewerStatsPacket`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ViewerStatsPacket` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ViewerStatsPacket {
        /// C# member: `F:LibreMetaverse.Packets.ViewerStatsPacket.AgentData`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ViewerStatsPacket.AgentDataBlock LibreMetaverse.Packets.ViewerStatsPacket.AgentData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_data: libremetaverse::packets::ViewerStatsPacketAgentDataBlock,
        /// C# member: `F:LibreMetaverse.Packets.ViewerStatsPacket.DownloadTotals`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ViewerStatsPacket.DownloadTotalsBlock LibreMetaverse.Packets.ViewerStatsPacket.DownloadTotals`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub download_totals: libremetaverse::packets::ViewerStatsPacketDownloadTotalsBlock,
        /// C# member: `F:LibreMetaverse.Packets.ViewerStatsPacket.FailStats`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ViewerStatsPacket.FailStatsBlock LibreMetaverse.Packets.ViewerStatsPacket.FailStats`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub fail_stats: libremetaverse::packets::ViewerStatsPacketFailStatsBlock,
        /// C# member: `F:LibreMetaverse.Packets.ViewerStatsPacket.MiscStats`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ViewerStatsPacket.MiscStatsBlock[] LibreMetaverse.Packets.ViewerStatsPacket.MiscStats`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub misc_stats: Vec<libremetaverse::packets::ViewerStatsPacketMiscStatsBlock>,
        /// C# member: `F:LibreMetaverse.Packets.ViewerStatsPacket.NetStats`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ViewerStatsPacket.NetStatsBlock[] LibreMetaverse.Packets.ViewerStatsPacket.NetStats`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub net_stats: Vec<libremetaverse::packets::ViewerStatsPacketNetStatsBlock>,
    }
    impl ViewerStatsPacket {
        /// C# member: `M:LibreMetaverse.Packets.ViewerStatsPacket.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ViewerStatsPacket()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedPacket>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ViewerStatsPacket.#ctor(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ViewerStatsPacket(LibreMetaverse.Packets.Header head, System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_header_bytes_int32(
            head: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_header(head, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ViewerStatsPacket.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ViewerStatsPacket(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ViewerStatsPacket.FromBytes(LibreMetaverse.Packets.Header,System.Byte[],System.Int32@,System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ViewerStatsPacket.FromBytes(LibreMetaverse.Packets.Header header, System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd)`.
        /// Mapping contract: ownership `mutable_self,owned,owned,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_header_bytes_int32_int32(
            &mut self,
            header: libremetaverse::packets::Header,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_header(
                self, header, &bytes, i, packet_end,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ViewerStatsPacket.FromBytes(System.Byte[],System.Int32@,System.Int32@,System.Byte[])`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ViewerStatsPacket.FromBytes(System.Byte[] bytes, ref System.Int32& i, ref System.Int32& packetEnd, System.Byte[] zeroBuffer)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow,mutable_borrow,optional_mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn from_bytes_with_bytes_int32_int32_bytes(
            &mut self,
            bytes: Vec<u8>,
            i: &mut i32,
            packet_end: &mut i32,
            zero_buffer: Option<&mut [u8]>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::decode_from_bytes(
                self,
                &bytes,
                i,
                packet_end,
                zero_buffer,
            )
        }
        /// C# member: `M:LibreMetaverse.Packets.ViewerStatsPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ViewerStatsPacket.PacketFromOSD(LibreMetaverse.StructuredData.OSDMap _body)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_from_osd(
            &mut self,
            body: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_from_osd(self, &body)
        }
        /// C# member: `M:LibreMetaverse.Packets.ViewerStatsPacket.PacketToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ViewerStatsPacket.PacketToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn packet_to_osd(
            &self,
        ) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::packet_to_osd(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ViewerStatsPacket.ToBytes`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ViewerStatsPacket.ToBytes()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_method(&self) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ViewerStatsPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32@)`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ViewerStatsPacket.ToBytes(LibreMetaverse.Interfaces.IByteBufferPool pool, ref System.Int32& size)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_with_i_byte_buffer_pool_int32(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            size: &mut i32,
        ) -> Result<Vec<u8>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let bytes = <Self as crate::packet_catalog::GeneratedPacket>::encode_packet(self)?;
                *size = i32::try_from(bytes.len()).map_err(|_| crate::Error::Argument)?;
                Ok(bytes)
            }
        }
        /// C# member: `M:LibreMetaverse.Packets.ViewerStatsPacket.ToBytesMultiple`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ViewerStatsPacket.ToBytesMultiple()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_method(&self) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)
        }
        /// C# member: `M:LibreMetaverse.Packets.ViewerStatsPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool,System.Int32[]@)`.
        ///
        /// C# signature: `System.Byte[][] LibreMetaverse.Packets.ViewerStatsPacket.ToBytesMultiple(LibreMetaverse.Interfaces.IByteBufferPool pool, out System.Int32[]& sizes)`.
        /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn to_bytes_multiple_with_i_byte_buffer_pool_int32_array(
            &self,
            pool: Box<dyn libremetaverse::interfaces::IByteBufferPool>,
            sizes: &mut Vec<i32>,
        ) -> Result<Vec<Vec<u8>>, crate::Error> {
            /* reviewed native compatibility body */
            {
                let _ = pool;
                let packets =
                    <Self as crate::packet_catalog::GeneratedPacket>::encode_multiple(self)?;
                *sizes = packets
                    .iter()
                    .map(|packet| i32::try_from(packet.len()).unwrap_or(i32::MAX))
                    .collect();
                Ok(packets)
            }
        }
        /// C# member: `P:LibreMetaverse.Packets.ViewerStatsPacket.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ViewerStatsPacket.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::generated_length(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ViewerStatsPacket.UsesBufferPooling`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Packets.ViewerStatsPacket.UsesBufferPooling`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn uses_buffer_pooling(&self) -> bool {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedPacket>::USES_BUFFER_POOLING
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ViewerStatsPacket.AgentDataBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ViewerStatsPacket.AgentDataBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ViewerStatsPacketAgentDataBlock {
        /// C# member: `F:LibreMetaverse.Packets.ViewerStatsPacket.AgentDataBlock.AgentID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ViewerStatsPacket.AgentDataBlock.AgentID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agent_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ViewerStatsPacket.AgentDataBlock.AgentsInView`.
        ///
        /// C# signature: `System.Byte LibreMetaverse.Packets.ViewerStatsPacket.AgentDataBlock.AgentsInView`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub agents_in_view: u8,
        /// C# member: `F:LibreMetaverse.Packets.ViewerStatsPacket.AgentDataBlock.FPS`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.ViewerStatsPacket.AgentDataBlock.FPS`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub fps: f32,
        /// C# member: `F:LibreMetaverse.Packets.ViewerStatsPacket.AgentDataBlock.IP`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ViewerStatsPacket.AgentDataBlock.IP`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub ip: u32,
        /// C# member: `F:LibreMetaverse.Packets.ViewerStatsPacket.AgentDataBlock.MetersTraveled`.
        ///
        /// C# signature: `System.Double LibreMetaverse.Packets.ViewerStatsPacket.AgentDataBlock.MetersTraveled`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub meters_traveled: f64,
        /// C# member: `F:LibreMetaverse.Packets.ViewerStatsPacket.AgentDataBlock.Ping`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.ViewerStatsPacket.AgentDataBlock.Ping`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub ping: f32,
        /// C# member: `F:LibreMetaverse.Packets.ViewerStatsPacket.AgentDataBlock.RegionsVisited`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ViewerStatsPacket.AgentDataBlock.RegionsVisited`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub regions_visited: i32,
        /// C# member: `F:LibreMetaverse.Packets.ViewerStatsPacket.AgentDataBlock.RunTime`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.ViewerStatsPacket.AgentDataBlock.RunTime`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub run_time: f32,
        /// C# member: `F:LibreMetaverse.Packets.ViewerStatsPacket.AgentDataBlock.SessionID`.
        ///
        /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Packets.ViewerStatsPacket.AgentDataBlock.SessionID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub session_id: libremetaverse_types::UUID,
        /// C# member: `F:LibreMetaverse.Packets.ViewerStatsPacket.AgentDataBlock.SimFPS`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Packets.ViewerStatsPacket.AgentDataBlock.SimFPS`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub sim_fps: f32,
        /// C# member: `F:LibreMetaverse.Packets.ViewerStatsPacket.AgentDataBlock.StartTime`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ViewerStatsPacket.AgentDataBlock.StartTime`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub start_time: u32,
        /// C# member: `F:LibreMetaverse.Packets.ViewerStatsPacket.AgentDataBlock.SysCPU`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ViewerStatsPacket.AgentDataBlock.SysCPU`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub sys_cpu: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.ViewerStatsPacket.AgentDataBlock.SysGPU`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ViewerStatsPacket.AgentDataBlock.SysGPU`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub sys_gpu: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.ViewerStatsPacket.AgentDataBlock.SysOS`.
        ///
        /// C# signature: `System.Byte[] LibreMetaverse.Packets.ViewerStatsPacket.AgentDataBlock.SysOS`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub sys_os: Vec<u8>,
        /// C# member: `F:LibreMetaverse.Packets.ViewerStatsPacket.AgentDataBlock.SysRAM`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ViewerStatsPacket.AgentDataBlock.SysRAM`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub sys_ram: u32,
    }
    impl ViewerStatsPacketAgentDataBlock {
        /// C# member: `M:LibreMetaverse.Packets.ViewerStatsPacket.AgentDataBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ViewerStatsPacket.AgentDataBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ViewerStatsPacket.AgentDataBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ViewerStatsPacket.AgentDataBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ViewerStatsPacket.AgentDataBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ViewerStatsPacket.AgentDataBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ViewerStatsPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ViewerStatsPacket.AgentDataBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ViewerStatsPacket.AgentDataBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ViewerStatsPacket.AgentDataBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ViewerStatsPacket.AgentDataBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ViewerStatsPacket.AgentDataBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ViewerStatsPacket.AgentDataBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ViewerStatsPacket.AgentDataBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ViewerStatsPacket.DownloadTotalsBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ViewerStatsPacket.DownloadTotalsBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ViewerStatsPacketDownloadTotalsBlock {
        /// C# member: `F:LibreMetaverse.Packets.ViewerStatsPacket.DownloadTotalsBlock.Objects`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ViewerStatsPacket.DownloadTotalsBlock.Objects`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub objects: u32,
        /// C# member: `F:LibreMetaverse.Packets.ViewerStatsPacket.DownloadTotalsBlock.Textures`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ViewerStatsPacket.DownloadTotalsBlock.Textures`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub textures: u32,
        /// C# member: `F:LibreMetaverse.Packets.ViewerStatsPacket.DownloadTotalsBlock.World`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ViewerStatsPacket.DownloadTotalsBlock.World`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub world: u32,
    }
    impl ViewerStatsPacketDownloadTotalsBlock {
        /// C# member: `M:LibreMetaverse.Packets.ViewerStatsPacket.DownloadTotalsBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ViewerStatsPacket.DownloadTotalsBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ViewerStatsPacket.DownloadTotalsBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ViewerStatsPacket.DownloadTotalsBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ViewerStatsPacket.DownloadTotalsBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ViewerStatsPacket.DownloadTotalsBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ViewerStatsPacket.DownloadTotalsBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ViewerStatsPacket.DownloadTotalsBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ViewerStatsPacket.DownloadTotalsBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ViewerStatsPacket.DownloadTotalsBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ViewerStatsPacket.DownloadTotalsBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ViewerStatsPacket.DownloadTotalsBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ViewerStatsPacket.DownloadTotalsBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ViewerStatsPacket.DownloadTotalsBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ViewerStatsPacket.FailStatsBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ViewerStatsPacket.FailStatsBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ViewerStatsPacketFailStatsBlock {
        /// C# member: `F:LibreMetaverse.Packets.ViewerStatsPacket.FailStatsBlock.Dropped`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ViewerStatsPacket.FailStatsBlock.Dropped`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub dropped: u32,
        /// C# member: `F:LibreMetaverse.Packets.ViewerStatsPacket.FailStatsBlock.FailedResends`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ViewerStatsPacket.FailStatsBlock.FailedResends`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub failed_resends: u32,
        /// C# member: `F:LibreMetaverse.Packets.ViewerStatsPacket.FailStatsBlock.Invalid`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ViewerStatsPacket.FailStatsBlock.Invalid`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub invalid: u32,
        /// C# member: `F:LibreMetaverse.Packets.ViewerStatsPacket.FailStatsBlock.OffCircuit`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ViewerStatsPacket.FailStatsBlock.OffCircuit`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub off_circuit: u32,
        /// C# member: `F:LibreMetaverse.Packets.ViewerStatsPacket.FailStatsBlock.Resent`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ViewerStatsPacket.FailStatsBlock.Resent`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub resent: u32,
        /// C# member: `F:LibreMetaverse.Packets.ViewerStatsPacket.FailStatsBlock.SendPacket`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ViewerStatsPacket.FailStatsBlock.SendPacket`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub send_packet: u32,
    }
    impl ViewerStatsPacketFailStatsBlock {
        /// C# member: `M:LibreMetaverse.Packets.ViewerStatsPacket.FailStatsBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ViewerStatsPacket.FailStatsBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ViewerStatsPacket.FailStatsBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ViewerStatsPacket.FailStatsBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ViewerStatsPacket.FailStatsBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ViewerStatsPacket.FailStatsBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ViewerStatsPacket.FailStatsBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ViewerStatsPacket.FailStatsBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ViewerStatsPacket.FailStatsBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ViewerStatsPacket.FailStatsBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ViewerStatsPacket.FailStatsBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ViewerStatsPacket.FailStatsBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ViewerStatsPacket.FailStatsBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ViewerStatsPacket.FailStatsBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ViewerStatsPacket.MiscStatsBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ViewerStatsPacket.MiscStatsBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ViewerStatsPacketMiscStatsBlock {
        /// C# member: `F:LibreMetaverse.Packets.ViewerStatsPacket.MiscStatsBlock.Type`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ViewerStatsPacket.MiscStatsBlock.Type`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub type_: u32,
        /// C# member: `F:LibreMetaverse.Packets.ViewerStatsPacket.MiscStatsBlock.Value`.
        ///
        /// C# signature: `System.Double LibreMetaverse.Packets.ViewerStatsPacket.MiscStatsBlock.Value`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub value: f64,
    }
    impl ViewerStatsPacketMiscStatsBlock {
        /// C# member: `M:LibreMetaverse.Packets.ViewerStatsPacket.MiscStatsBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ViewerStatsPacket.MiscStatsBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ViewerStatsPacket.MiscStatsBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ViewerStatsPacket.MiscStatsBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ViewerStatsPacket.MiscStatsBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ViewerStatsPacket.MiscStatsBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ViewerStatsPacket.MiscStatsBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ViewerStatsPacket.MiscStatsBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ViewerStatsPacket.MiscStatsBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ViewerStatsPacket.MiscStatsBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ViewerStatsPacket.MiscStatsBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ViewerStatsPacket.MiscStatsBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ViewerStatsPacket.MiscStatsBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ViewerStatsPacket.MiscStatsBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }

    /// C# type: `T:LibreMetaverse.Packets.ViewerStatsPacket.NetStatsBlock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Packets.ViewerStatsPacket.NetStatsBlock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ViewerStatsPacketNetStatsBlock {
        /// C# member: `F:LibreMetaverse.Packets.ViewerStatsPacket.NetStatsBlock.Bytes`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ViewerStatsPacket.NetStatsBlock.Bytes`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub bytes: u32,
        /// C# member: `F:LibreMetaverse.Packets.ViewerStatsPacket.NetStatsBlock.Compressed`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ViewerStatsPacket.NetStatsBlock.Compressed`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub compressed: u32,
        /// C# member: `F:LibreMetaverse.Packets.ViewerStatsPacket.NetStatsBlock.Packets`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ViewerStatsPacket.NetStatsBlock.Packets`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub packets: u32,
        /// C# member: `F:LibreMetaverse.Packets.ViewerStatsPacket.NetStatsBlock.Savings`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Packets.ViewerStatsPacket.NetStatsBlock.Savings`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub savings: u32,
    }
    impl ViewerStatsPacketNetStatsBlock {
        /// C# member: `M:LibreMetaverse.Packets.ViewerStatsPacket.NetStatsBlock.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ViewerStatsPacket.NetStatsBlock()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(<Self as crate::packet_catalog::GeneratedBlock>::new_generated())
        }
        /// C# member: `M:LibreMetaverse.Packets.ViewerStatsPacket.NetStatsBlock.#ctor(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `LibreMetaverse.Packets.ViewerStatsPacket.NetStatsBlock(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_bytes_int32(bytes: Vec<u8>, i: &mut i32) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::new_from_bytes(&bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ViewerStatsPacket.NetStatsBlock.FromBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ViewerStatsPacket.NetStatsBlock.FromBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `mutable_self,owned,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_bytes(&mut self, bytes: Vec<u8>, i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::decode_from_bytes(self, &bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ViewerStatsPacket.NetStatsBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ViewerStatsPacket.NetStatsBlock.FromOSD(LibreMetaverse.StructuredData.OSDMap _map)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn from_osd(
            &mut self,
            map: libremetaverse_structured_data::OSDMap,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::from_osd(self, &map)
        }
        /// C# member: `M:LibreMetaverse.Packets.ViewerStatsPacket.NetStatsBlock.ToBytes(System.Byte[],System.Int32@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Packets.ViewerStatsPacket.NetStatsBlock.ToBytes(System.Byte[] bytes, ref System.Int32& i)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_bytes(&self, bytes: &mut [u8], i: &mut i32) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::encode_to_slice(self, bytes, i)
        }
        /// C# member: `M:LibreMetaverse.Packets.ViewerStatsPacket.NetStatsBlock.ToOSD`.
        ///
        /// C# signature: `LibreMetaverse.StructuredData.OSDMap LibreMetaverse.Packets.ViewerStatsPacket.NetStatsBlock.ToOSD()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn to_osd(&self) -> Result<libremetaverse_structured_data::OSDMap, crate::Error> {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::to_osd(self)
        }
        /// C# member: `P:LibreMetaverse.Packets.ViewerStatsPacket.NetStatsBlock.Length`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Packets.ViewerStatsPacket.NetStatsBlock.Length`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn length(&self) -> i32 {
            /* reviewed native compatibility body */
            <Self as crate::packet_catalog::GeneratedBlock>::generated_length(self)
        }
    }
}

pub mod rendering {
    /// C# type: `T:LibreMetaverse.Rendering.AttachmentRiggedSkin`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Rendering.AttachmentRiggedSkin` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub use crate::avatar_rig::AttachmentRiggedSkin;
    /// C# member: `F:LibreMetaverse.Rendering.AttachmentRiggedSkin.InvBindMatrices`.
    ///
    /// C# signature: `System.Numerics.Matrix4x4[] LibreMetaverse.Rendering.AttachmentRiggedSkin.InvBindMatrices`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Rendering.AttachmentRiggedSkin.JointNames`.
    ///
    /// C# signature: `System.String[] LibreMetaverse.Rendering.AttachmentRiggedSkin.JointNames`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Rendering.AttachmentRiggedSkin.JointPositionOverrides`.
    ///
    /// C# signature: `System.ValueTuple<System.String, System.Numerics.Vector3>[] LibreMetaverse.Rendering.AttachmentRiggedSkin.JointPositionOverrides`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Rendering.AttachmentRiggedSkin.Joints`.
    ///
    /// C# signature: `System.Int32[] LibreMetaverse.Rendering.AttachmentRiggedSkin.Joints`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Rendering.AttachmentRiggedSkin.LockScaleIfJointPosition`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.Rendering.AttachmentRiggedSkin.LockScaleIfJointPosition`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Rendering.AttachmentRiggedSkin.MeshId`.
    ///
    /// C# signature: `LibreMetaverse.UUID LibreMetaverse.Rendering.AttachmentRiggedSkin.MeshId`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Rendering.AttachmentRiggedSkin.Weights`.
    ///
    /// C# signature: `System.Single[] LibreMetaverse.Rendering.AttachmentRiggedSkin.Weights`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    impl AttachmentRiggedSkin {
        /// C# member: `M:LibreMetaverse.Rendering.AttachmentRiggedSkin.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Rendering.AttachmentRiggedSkin()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn new() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            crate::avatar_rig::AttachmentRiggedSkin::native_new()
        }
    }

    /// C# type: `T:LibreMetaverse.Rendering.AvatarAttachmentPoint`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Rendering.AvatarAttachmentPoint` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub use crate::avatar_rig::AvatarAttachmentPoint;
    impl AvatarAttachmentPoint {
        /// C# member: `P:LibreMetaverse.Rendering.AvatarAttachmentPoint.Group`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Rendering.AvatarAttachmentPoint.Group`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn group(&self) -> i32 {
            /* reviewed native compatibility body */
            self.native_group()
        }
        /// C# member: `P:LibreMetaverse.Rendering.AvatarAttachmentPoint.Id`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Rendering.AvatarAttachmentPoint.Id`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn id(&self) -> i32 {
            /* reviewed native compatibility body */
            self.native_id()
        }
        /// C# member: `P:LibreMetaverse.Rendering.AvatarAttachmentPoint.Joint`.
        ///
        /// C# signature: `System.String LibreMetaverse.Rendering.AvatarAttachmentPoint.Joint`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn joint(&self) -> String {
            /* reviewed native compatibility body */
            self.native_joint()
        }
        /// C# member: `P:LibreMetaverse.Rendering.AvatarAttachmentPoint.Location`.
        ///
        /// C# signature: `System.String LibreMetaverse.Rendering.AvatarAttachmentPoint.Location`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn location(&self) -> String {
            /* reviewed native compatibility body */
            self.native_location()
        }
        /// C# member: `P:LibreMetaverse.Rendering.AvatarAttachmentPoint.Name`.
        ///
        /// C# signature: `System.String LibreMetaverse.Rendering.AvatarAttachmentPoint.Name`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn name(&self) -> String {
            /* reviewed native compatibility body */
            self.native_name()
        }
        /// C# member: `P:LibreMetaverse.Rendering.AvatarAttachmentPoint.Position`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Rendering.AvatarAttachmentPoint.Position`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn position(&self) -> libremetaverse_types::Vector3 {
            /* reviewed native compatibility body */
            self.native_position()
        }
        /// C# member: `P:LibreMetaverse.Rendering.AvatarAttachmentPoint.Rotation`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Rendering.AvatarAttachmentPoint.Rotation`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn rotation(&self) -> libremetaverse_types::Vector3 {
            /* reviewed native compatibility body */
            self.native_rotation()
        }
        /// C# member: `P:LibreMetaverse.Rendering.AvatarAttachmentPoint.VisibleInFirstPerson`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Rendering.AvatarAttachmentPoint.VisibleInFirstPerson`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn visible_in_first_person(&self) -> bool {
            /* reviewed native compatibility body */
            self.native_visible_in_first_person()
        }
    }

    /// C# type: `T:LibreMetaverse.Rendering.AvatarBoneMath`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Rendering.AvatarBoneMath` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub use crate::avatar_rig::AvatarBoneMath;
    impl AvatarBoneMath {
        /// C# member: `M:LibreMetaverse.Rendering.AvatarBoneMath.BuildBoneWorldMatrices(LibreMetaverse.Rendering.LindenSkeleton,System.Collections.Generic.Dictionary{System.String,LibreMetaverse.Rendering.BoneTransform})`.
        ///
        /// C# signature: `System.Collections.Generic.Dictionary<System.String, System.Numerics.Matrix4x4> LibreMetaverse.Rendering.AvatarBoneMath.BuildBoneWorldMatrices(LibreMetaverse.Rendering.LindenSkeleton skeleton, System.Collections.Generic.Dictionary<System.String, LibreMetaverse.Rendering.BoneTransform> boneTransforms)`.
        /// Mapping contract: ownership `owned,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn build_bone_world_matrices(
            skeleton: libremetaverse::rendering::LindenSkeleton,
            bone_transforms: std::collections::HashMap<
                String,
                libremetaverse::rendering::BoneTransform,
            >,
        ) -> Result<
            std::collections::HashMap<String, libremetaverse_types::compat::Matrix4x4>,
            crate::Error,
        > {
            /* reviewed native compatibility body */
            crate::avatar_rig::AvatarBoneMath::native_build_bone_world_matrices(
                skeleton,
                bone_transforms,
            )
        }
        /// C# member: `M:LibreMetaverse.Rendering.AvatarBoneMath.ComputeAnimatedBoneWorldMatrices(LibreMetaverse.Rendering.LindenAvatarDefinition,System.Collections.Generic.Dictionary{System.String,LibreMetaverse.Rendering.BoneTransform},System.Collections.Generic.IReadOnlyDictionary{System.String,System.Numerics.Quaternion})`.
        ///
        /// C# signature: `System.Collections.Generic.Dictionary<System.String, System.Numerics.Matrix4x4> LibreMetaverse.Rendering.AvatarBoneMath.ComputeAnimatedBoneWorldMatrices(LibreMetaverse.Rendering.LindenAvatarDefinition avatarDef, System.Collections.Generic.Dictionary<System.String, LibreMetaverse.Rendering.BoneTransform> boneTransforms, System.Collections.Generic.IReadOnlyDictionary<System.String, System.Numerics.Quaternion> rotDeltas)`.
        /// Mapping contract: ownership `owned,owned,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn compute_animated_bone_world_matrices_with_linden_avatar_definition_dictionary_i_read_only_dictionary(
            avatar_def: libremetaverse::rendering::LindenAvatarDefinition,
            bone_transforms: std::collections::HashMap<
                String,
                libremetaverse::rendering::BoneTransform,
            >,
            rot_deltas: std::collections::HashMap<String, libremetaverse_types::compat::Quaternion>,
        ) -> Result<
            std::collections::HashMap<String, libremetaverse_types::compat::Matrix4x4>,
            crate::Error,
        > {
            /* reviewed native compatibility body */
            crate::avatar_rig::AvatarBoneMath::native_compute_animated_bone_world_matrices(
                &avatar_def,
                &bone_transforms,
                &rot_deltas,
            )
        }
        /// C# member: `M:LibreMetaverse.Rendering.AvatarBoneMath.ComputeAnimatedBoneWorldMatrices(LibreMetaverse.Rendering.LindenAvatarDefinition,System.Collections.Generic.Dictionary{System.String,LibreMetaverse.Rendering.BoneTransform},System.Collections.Generic.IReadOnlyDictionary{System.String,System.Numerics.Quaternion},System.Collections.Generic.Dictionary{System.String,System.Numerics.Matrix4x4})`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Rendering.AvatarBoneMath.ComputeAnimatedBoneWorldMatrices(LibreMetaverse.Rendering.LindenAvatarDefinition avatarDef, System.Collections.Generic.Dictionary<System.String, LibreMetaverse.Rendering.BoneTransform> boneTransforms, System.Collections.Generic.IReadOnlyDictionary<System.String, System.Numerics.Quaternion> rotDeltas, System.Collections.Generic.Dictionary<System.String, System.Numerics.Matrix4x4> result)`.
        /// Mapping contract: ownership `owned,owned,owned,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn compute_animated_bone_world_matrices_with_linden_avatar_definition_dictionary_i_read_only_dictionary_dictionary(
            avatar_def: libremetaverse::rendering::LindenAvatarDefinition,
            bone_transforms: std::collections::HashMap<
                String,
                libremetaverse::rendering::BoneTransform,
            >,
            rot_deltas: std::collections::HashMap<String, libremetaverse_types::compat::Quaternion>,
            result: std::collections::HashMap<String, libremetaverse_types::compat::Matrix4x4>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            let computed =
                crate::avatar_rig::AvatarBoneMath::native_compute_animated_bone_world_matrices(
                    &avatar_def,
                    &bone_transforms,
                    &rot_deltas,
                )?;
            let mut result = result;
            result.clear();
            result.extend(computed);
            Ok(())
        }
        /// C# member: `M:LibreMetaverse.Rendering.AvatarBoneMath.ComputeAttachmentBoneWorldMatrices(LibreMetaverse.Rendering.LindenAvatarDefinition,System.Collections.Generic.Dictionary{System.String,LibreMetaverse.Rendering.BoneTransform},System.Collections.Generic.IReadOnlyDictionary{System.String,System.Numerics.Quaternion})`.
        ///
        /// C# signature: `System.Collections.Generic.Dictionary<System.String, System.Numerics.Matrix4x4> LibreMetaverse.Rendering.AvatarBoneMath.ComputeAttachmentBoneWorldMatrices(LibreMetaverse.Rendering.LindenAvatarDefinition avatarDef, System.Collections.Generic.Dictionary<System.String, LibreMetaverse.Rendering.BoneTransform> boneTransforms, System.Collections.Generic.IReadOnlyDictionary<System.String, System.Numerics.Quaternion> rotDeltas)`.
        /// Mapping contract: ownership `owned,owned,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn compute_attachment_bone_world_matrices_with_linden_avatar_definition_dictionary_i_read_only_dictionary(
            avatar_def: libremetaverse::rendering::LindenAvatarDefinition,
            bone_transforms: std::collections::HashMap<
                String,
                libremetaverse::rendering::BoneTransform,
            >,
            rot_deltas: std::collections::HashMap<String, libremetaverse_types::compat::Quaternion>,
        ) -> Result<
            std::collections::HashMap<String, libremetaverse_types::compat::Matrix4x4>,
            crate::Error,
        > {
            /* reviewed native compatibility body */
            crate::avatar_rig::AvatarBoneMath::native_compute_attachment_bone_world_matrices(
                &avatar_def,
                &bone_transforms,
                &rot_deltas,
            )
        }
        /// C# member: `M:LibreMetaverse.Rendering.AvatarBoneMath.ComputeAttachmentBoneWorldMatrices(LibreMetaverse.Rendering.LindenAvatarDefinition,System.Collections.Generic.Dictionary{System.String,LibreMetaverse.Rendering.BoneTransform},System.Collections.Generic.IReadOnlyDictionary{System.String,System.Numerics.Quaternion},System.Collections.Generic.Dictionary{System.String,System.Numerics.Matrix4x4})`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Rendering.AvatarBoneMath.ComputeAttachmentBoneWorldMatrices(LibreMetaverse.Rendering.LindenAvatarDefinition avatarDef, System.Collections.Generic.Dictionary<System.String, LibreMetaverse.Rendering.BoneTransform> boneTransforms, System.Collections.Generic.IReadOnlyDictionary<System.String, System.Numerics.Quaternion> rotDeltas, System.Collections.Generic.Dictionary<System.String, System.Numerics.Matrix4x4> result)`.
        /// Mapping contract: ownership `owned,owned,owned,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn compute_attachment_bone_world_matrices_with_linden_avatar_definition_dictionary_i_read_only_dictionary_dictionary(
            avatar_def: libremetaverse::rendering::LindenAvatarDefinition,
            bone_transforms: std::collections::HashMap<
                String,
                libremetaverse::rendering::BoneTransform,
            >,
            rot_deltas: std::collections::HashMap<String, libremetaverse_types::compat::Quaternion>,
            result: std::collections::HashMap<String, libremetaverse_types::compat::Matrix4x4>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            let computed =
                crate::avatar_rig::AvatarBoneMath::native_compute_attachment_bone_world_matrices(
                    &avatar_def,
                    &bone_transforms,
                    &rot_deltas,
                )?;
            let mut result = result;
            result.clear();
            result.extend(computed);
            Ok(())
        }
        /// C# member: `M:LibreMetaverse.Rendering.AvatarBoneMath.ComputeGroundAdjustment(System.Collections.Generic.Dictionary{System.String,LibreMetaverse.Rendering.BoneTransform})`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Rendering.AvatarBoneMath.ComputeGroundAdjustment(System.Collections.Generic.Dictionary<System.String, LibreMetaverse.Rendering.BoneTransform> boneTransforms)`.
        /// Mapping contract: ownership `owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn compute_ground_adjustment(
            bone_transforms: Option<
                std::collections::HashMap<String, libremetaverse::rendering::BoneTransform>,
            >,
        ) -> Result<f32, crate::Error> {
            /* reviewed native compatibility body */
            Ok(
                crate::avatar_rig::AvatarBoneMath::native_compute_ground_adjustment(
                    bone_transforms.as_ref(),
                ),
            )
        }
        /// C# member: `M:LibreMetaverse.Rendering.AvatarBoneMath.StripScale(System.Numerics.Matrix4x4)`.
        ///
        /// C# signature: `System.Numerics.Matrix4x4 LibreMetaverse.Rendering.AvatarBoneMath.StripScale(System.Numerics.Matrix4x4 m)`.
        /// Mapping contract: ownership `owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn strip_scale(
            m: libremetaverse_types::compat::Matrix4x4,
        ) -> Result<libremetaverse_types::compat::Matrix4x4, crate::Error> {
            /* reviewed native compatibility body */
            Ok(crate::avatar_rig::AvatarBoneMath::native_strip_scale(m))
        }
    }

    /// C# type: `T:LibreMetaverse.Rendering.AvatarMeshDefinition`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Rendering.AvatarMeshDefinition` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub use crate::avatar_rig::AvatarMeshDefinition;
    impl AvatarMeshDefinition {
        /// C# member: `P:LibreMetaverse.Rendering.AvatarMeshDefinition.FileName`.
        ///
        /// C# signature: `System.String LibreMetaverse.Rendering.AvatarMeshDefinition.FileName`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn file_name(&self) -> String {
            /* reviewed native compatibility body */
            self.native_file_name()
        }
        /// C# member: `P:LibreMetaverse.Rendering.AvatarMeshDefinition.LodLevel`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Rendering.AvatarMeshDefinition.LodLevel`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn lod_level(&self) -> i32 {
            /* reviewed native compatibility body */
            self.native_lod_level()
        }
        /// C# member: `P:LibreMetaverse.Rendering.AvatarMeshDefinition.MinPixelWidth`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Rendering.AvatarMeshDefinition.MinPixelWidth`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn min_pixel_width(&self) -> i32 {
            /* reviewed native compatibility body */
            self.native_min_pixel_width()
        }
        /// C# member: `P:LibreMetaverse.Rendering.AvatarMeshDefinition.Type`.
        ///
        /// C# signature: `System.String LibreMetaverse.Rendering.AvatarMeshDefinition.Type`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn type_(&self) -> String {
            /* reviewed native compatibility body */
            self.native_type()
        }
    }

    /// C# type: `T:LibreMetaverse.Rendering.AvatarPhysicsSimulator`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Rendering.AvatarPhysicsSimulator` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub use crate::avatar_physics::AvatarPhysicsSimulator;
    impl AvatarPhysicsSimulator {
        /// C# member: `M:LibreMetaverse.Rendering.AvatarPhysicsSimulator.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Rendering.AvatarPhysicsSimulator()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn new() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            crate::avatar_physics::AvatarPhysicsSimulator::native_new()
        }
        /// C# member: `M:LibreMetaverse.Rendering.AvatarPhysicsSimulator.SetBonePositionProvider(System.Func{System.String,System.Numerics.Vector3})`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Rendering.AvatarPhysicsSimulator.SetBonePositionProvider(System.Func<System.String, System.Numerics.Vector3> getBoneWorldPos)`.
        /// Mapping contract: ownership `shared_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn set_bone_position_provider(
            &self,
            get_bone_world_pos: Box<
                dyn Fn(String) -> libremetaverse_types::compat::Vector3 + Send + Sync,
            >,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            self.native_set_bone_position_provider(get_bone_world_pos)
        }
        /// C# member: `M:LibreMetaverse.Rendering.AvatarPhysicsSimulator.SetWearableParams(System.Collections.Generic.IReadOnlyDictionary{System.Int32,System.Single})`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Rendering.AvatarPhysicsSimulator.SetWearableParams(System.Collections.Generic.IReadOnlyDictionary<System.Int32, System.Single> visualParams)`.
        /// Mapping contract: ownership `shared_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn set_wearable_params(
            &self,
            visual_params: std::collections::HashMap<i32, f32>,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            self.native_set_wearable_params(visual_params)
        }
        /// C# member: `M:LibreMetaverse.Rendering.AvatarPhysicsSimulator.Tick(System.Single)`.
        ///
        /// C# signature: `System.Collections.Generic.Dictionary<System.Int32, System.Single> LibreMetaverse.Rendering.AvatarPhysicsSimulator.Tick(System.Single time)`.
        /// Mapping contract: ownership `shared_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn tick(&self, time: f32) -> Result<std::collections::HashMap<i32, f32>, crate::Error> {
            /* reviewed native compatibility body */
            self.native_tick(time)
        }
    }

    /// C# type: `T:LibreMetaverse.Rendering.BoneTransform`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Rendering.BoneTransform` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct BoneTransform {
        /// C# member: `F:LibreMetaverse.Rendering.BoneTransform.Position`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Rendering.BoneTransform.Position`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub position: libremetaverse_types::Vector3,
        /// C# member: `F:LibreMetaverse.Rendering.BoneTransform.Scale`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Rendering.BoneTransform.Scale`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub scale: libremetaverse_types::Vector3,
    }
    impl BoneTransform {}

    /// C# type: `T:LibreMetaverse.Rendering.CollisionVolume`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Rendering.CollisionVolume` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    /// C# member: `M:LibreMetaverse.Rendering.CollisionVolume.#ctor`.
    ///
    /// C# signature: `LibreMetaverse.Rendering.CollisionVolume()`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub use crate::skeleton::CollisionVolume;

    /// C# type: `T:LibreMetaverse.Rendering.DetailLevel`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Rendering.DetailLevel` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    #[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
    #[repr(i32)]
    pub enum DetailLevel {
        /// C# member: `F:LibreMetaverse.Rendering.DetailLevel.High`.
        ///
        /// C# signature: `LibreMetaverse.Rendering.DetailLevel LibreMetaverse.Rendering.DetailLevel.High`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        High = 2,
        /// C# member: `F:LibreMetaverse.Rendering.DetailLevel.Highest`.
        ///
        /// C# signature: `LibreMetaverse.Rendering.DetailLevel LibreMetaverse.Rendering.DetailLevel.Highest`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        Highest = 3,
        /// C# member: `F:LibreMetaverse.Rendering.DetailLevel.Low`.
        ///
        /// C# signature: `LibreMetaverse.Rendering.DetailLevel LibreMetaverse.Rendering.DetailLevel.Low`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        Low = 0,
        /// C# member: `F:LibreMetaverse.Rendering.DetailLevel.Medium`.
        ///
        /// C# signature: `LibreMetaverse.Rendering.DetailLevel LibreMetaverse.Rendering.DetailLevel.Medium`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        Medium = 1,
    }

    /// C# type: `T:LibreMetaverse.Rendering.EndianAwareBinaryReader`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Rendering.EndianAwareBinaryReader` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    /// C# member: `M:LibreMetaverse.Rendering.EndianAwareBinaryReader.#ctor(System.IO.Stream)`.
    ///
    /// C# signature: `LibreMetaverse.Rendering.EndianAwareBinaryReader(System.IO.Stream stream)`.
    /// Mapping contract: ownership `owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    /// C# member: `M:LibreMetaverse.Rendering.EndianAwareBinaryReader.#ctor(System.IO.Stream,LibreMetaverse.Rendering.EndianAwareBinaryReader.SourceFormat)`.
    ///
    /// C# signature: `LibreMetaverse.Rendering.EndianAwareBinaryReader(System.IO.Stream stream, LibreMetaverse.Rendering.EndianAwareBinaryReader.SourceFormat format)`.
    /// Mapping contract: ownership `owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    /// C# member: `M:LibreMetaverse.Rendering.EndianAwareBinaryReader.ReadDouble`.
    ///
    /// C# signature: `System.Double LibreMetaverse.Rendering.EndianAwareBinaryReader.ReadDouble()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Rendering.EndianAwareBinaryReader.ReadInt16`.
    ///
    /// C# signature: `System.Int16 LibreMetaverse.Rendering.EndianAwareBinaryReader.ReadInt16()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Rendering.EndianAwareBinaryReader.ReadInt32`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.Rendering.EndianAwareBinaryReader.ReadInt32()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Rendering.EndianAwareBinaryReader.ReadInt64`.
    ///
    /// C# signature: `System.Int64 LibreMetaverse.Rendering.EndianAwareBinaryReader.ReadInt64()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Rendering.EndianAwareBinaryReader.ReadSingle`.
    ///
    /// C# signature: `System.Single LibreMetaverse.Rendering.EndianAwareBinaryReader.ReadSingle()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Rendering.EndianAwareBinaryReader.ReadString`.
    ///
    /// C# signature: `System.String LibreMetaverse.Rendering.EndianAwareBinaryReader.ReadString()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    /// C# member: `M:LibreMetaverse.Rendering.EndianAwareBinaryReader.ReadString(System.Int32)`.
    ///
    /// C# signature: `System.String LibreMetaverse.Rendering.EndianAwareBinaryReader.ReadString(System.Int32 size)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    /// C# member: `M:LibreMetaverse.Rendering.EndianAwareBinaryReader.ReadUInt32`.
    ///
    /// C# signature: `System.UInt32 LibreMetaverse.Rendering.EndianAwareBinaryReader.ReadUInt32()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub use crate::rendering_binary_reader::EndianAwareBinaryReader;

    /// C# type: `T:LibreMetaverse.Rendering.EndianAwareBinaryReader.SourceFormat`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Rendering.EndianAwareBinaryReader.SourceFormat` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    #[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
    #[repr(i32)]
    pub enum EndianAwareBinaryReaderSourceFormat {
        /// C# member: `F:LibreMetaverse.Rendering.EndianAwareBinaryReader.SourceFormat.BigEndian`.
        ///
        /// C# signature: `LibreMetaverse.Rendering.EndianAwareBinaryReader.SourceFormat LibreMetaverse.Rendering.EndianAwareBinaryReader.SourceFormat.BigEndian`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        BigEndian = 0,
        /// C# member: `F:LibreMetaverse.Rendering.EndianAwareBinaryReader.SourceFormat.LittleEndian`.
        ///
        /// C# signature: `LibreMetaverse.Rendering.EndianAwareBinaryReader.SourceFormat LibreMetaverse.Rendering.EndianAwareBinaryReader.SourceFormat.LittleEndian`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        LittleEndian = 1,
    }

    /// C# type: `T:LibreMetaverse.Rendering.Face`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Rendering.Face` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct Face {
        /// C# member: `F:LibreMetaverse.Rendering.Face.BeginS`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Rendering.Face.BeginS`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub begin_s: i32,
        /// C# member: `F:LibreMetaverse.Rendering.Face.BeginT`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Rendering.Face.BeginT`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub begin_t: i32,
        /// C# member: `F:LibreMetaverse.Rendering.Face.Center`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Rendering.Face.Center`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub center: libremetaverse_types::Vector3,
        /// C# member: `F:LibreMetaverse.Rendering.Face.Edge`.
        ///
        /// C# signature: `System.Collections.Generic.List<System.Int32> LibreMetaverse.Rendering.Face.Edge`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub edge: Vec<i32>,
        /// C# member: `F:LibreMetaverse.Rendering.Face.ID`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Rendering.Face.ID`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub id: i32,
        /// C# member: `F:LibreMetaverse.Rendering.Face.Indices`.
        ///
        /// C# signature: `System.Collections.Generic.List<System.UInt16> LibreMetaverse.Rendering.Face.Indices`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub indices: Vec<u16>,
        /// C# member: `F:LibreMetaverse.Rendering.Face.Mask`.
        ///
        /// C# signature: `LibreMetaverse.Rendering.FaceMask LibreMetaverse.Rendering.Face.Mask`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub mask: libremetaverse::rendering::FaceMask,
        /// C# member: `F:LibreMetaverse.Rendering.Face.MaxExtent`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Rendering.Face.MaxExtent`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub max_extent: libremetaverse_types::Vector3,
        /// C# member: `F:LibreMetaverse.Rendering.Face.MinExtent`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Rendering.Face.MinExtent`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub min_extent: libremetaverse_types::Vector3,
        /// C# member: `F:LibreMetaverse.Rendering.Face.NormalizedScale`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Rendering.Face.NormalizedScale`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub normalized_scale: libremetaverse_types::Vector3,
        /// C# member: `F:LibreMetaverse.Rendering.Face.NumS`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Rendering.Face.NumS`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub num_s: i32,
        /// C# member: `F:LibreMetaverse.Rendering.Face.NumT`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Rendering.Face.NumT`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub num_t: i32,
        /// C# member: `F:LibreMetaverse.Rendering.Face.TexCoords1`.
        ///
        /// C# signature: `System.Collections.Generic.List<LibreMetaverse.Vector2> LibreMetaverse.Rendering.Face.TexCoords1`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub tex_coords1: Option<Vec<libremetaverse_types::Vector2>>,
        /// C# member: `F:LibreMetaverse.Rendering.Face.TextureFace`.
        ///
        /// C# signature: `LibreMetaverse.Primitive.TextureEntryFace LibreMetaverse.Rendering.Face.TextureFace`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub texture_face: libremetaverse::PrimitiveTextureEntryFace,
        /// C# member: `F:LibreMetaverse.Rendering.Face.UserData`.
        ///
        /// C# signature: `System.Object LibreMetaverse.Rendering.Face.UserData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub user_data: libremetaverse_types::compat::Object,
        /// C# member: `F:LibreMetaverse.Rendering.Face.Vertices`.
        ///
        /// C# signature: `System.Collections.Generic.List<LibreMetaverse.Rendering.Vertex> LibreMetaverse.Rendering.Face.Vertices`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub vertices: Vec<libremetaverse::rendering::Vertex>,
        /// C# member: `F:LibreMetaverse.Rendering.Face.Weights`.
        ///
        /// C# signature: `System.Collections.Generic.List<LibreMetaverse.Rendering.VertexWeight> LibreMetaverse.Rendering.Face.Weights`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub weights: Option<Vec<libremetaverse::rendering::VertexWeight>>,
    }
    impl Face {
        /// C# member: `M:LibreMetaverse.Rendering.Face.ToString`.
        ///
        /// C# signature: `System.String LibreMetaverse.Rendering.Face.ToString()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
        pub fn to_string(&self) -> String {
            /* reviewed native compatibility body */
            crate::rendering_metadata::face_mask_to_string(self.mask)
        }
    }

    /// C# type: `T:LibreMetaverse.Rendering.FaceMask`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Rendering.FaceMask` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    #[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
    #[repr(transparent)]
    pub struct FaceMask(pub i32);
    impl FaceMask {
        /// C# member: `F:LibreMetaverse.Rendering.FaceMask.Bottom`.
        ///
        /// C# signature: `LibreMetaverse.Rendering.FaceMask LibreMetaverse.Rendering.FaceMask.Bottom`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub const BOTTOM: Self = Self(1024);
        /// C# member: `F:LibreMetaverse.Rendering.FaceMask.Cap`.
        ///
        /// C# signature: `LibreMetaverse.Rendering.FaceMask LibreMetaverse.Rendering.FaceMask.Cap`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub const CAP: Self = Self(2);
        /// C# member: `F:LibreMetaverse.Rendering.FaceMask.End`.
        ///
        /// C# signature: `LibreMetaverse.Rendering.FaceMask LibreMetaverse.Rendering.FaceMask.End`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub const END: Self = Self(4);
        /// C# member: `F:LibreMetaverse.Rendering.FaceMask.Flat`.
        ///
        /// C# signature: `LibreMetaverse.Rendering.FaceMask LibreMetaverse.Rendering.FaceMask.Flat`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub const FLAT: Self = Self(256);
        /// C# member: `F:LibreMetaverse.Rendering.FaceMask.Hollow`.
        ///
        /// C# signature: `LibreMetaverse.Rendering.FaceMask LibreMetaverse.Rendering.FaceMask.Hollow`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub const HOLLOW: Self = Self(64);
        /// C# member: `F:LibreMetaverse.Rendering.FaceMask.Inner`.
        ///
        /// C# signature: `LibreMetaverse.Rendering.FaceMask LibreMetaverse.Rendering.FaceMask.Inner`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub const INNER: Self = Self(16);
        /// C# member: `F:LibreMetaverse.Rendering.FaceMask.Open`.
        ///
        /// C# signature: `LibreMetaverse.Rendering.FaceMask LibreMetaverse.Rendering.FaceMask.Open`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub const OPEN: Self = Self(128);
        /// C# member: `F:LibreMetaverse.Rendering.FaceMask.Outer`.
        ///
        /// C# signature: `LibreMetaverse.Rendering.FaceMask LibreMetaverse.Rendering.FaceMask.Outer`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub const OUTER: Self = Self(32);
        /// C# member: `F:LibreMetaverse.Rendering.FaceMask.Side`.
        ///
        /// C# signature: `LibreMetaverse.Rendering.FaceMask LibreMetaverse.Rendering.FaceMask.Side`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub const SIDE: Self = Self(8);
        /// C# member: `F:LibreMetaverse.Rendering.FaceMask.Single`.
        ///
        /// C# signature: `LibreMetaverse.Rendering.FaceMask LibreMetaverse.Rendering.FaceMask.Single`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub const SINGLE: Self = Self(1);
        /// C# member: `F:LibreMetaverse.Rendering.FaceMask.Top`.
        ///
        /// C# signature: `LibreMetaverse.Rendering.FaceMask LibreMetaverse.Rendering.FaceMask.Top`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub const TOP: Self = Self(512);
    }

    /// C# type: `T:LibreMetaverse.Rendering.FaceType`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Rendering.FaceType` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    #[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
    #[repr(u16)]
    pub enum FaceType {
        /// C# member: `F:LibreMetaverse.Rendering.FaceType.InnerSide`.
        ///
        /// C# signature: `LibreMetaverse.Rendering.FaceType LibreMetaverse.Rendering.FaceType.InnerSide`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        InnerSide = 4,
        /// C# member: `F:LibreMetaverse.Rendering.FaceType.OuterSide0`.
        ///
        /// C# signature: `LibreMetaverse.Rendering.FaceType LibreMetaverse.Rendering.FaceType.OuterSide0`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        OuterSide0 = 32,
        /// C# member: `F:LibreMetaverse.Rendering.FaceType.OuterSide1`.
        ///
        /// C# signature: `LibreMetaverse.Rendering.FaceType LibreMetaverse.Rendering.FaceType.OuterSide1`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        OuterSide1 = 64,
        /// C# member: `F:LibreMetaverse.Rendering.FaceType.OuterSide2`.
        ///
        /// C# signature: `LibreMetaverse.Rendering.FaceType LibreMetaverse.Rendering.FaceType.OuterSide2`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        OuterSide2 = 128,
        /// C# member: `F:LibreMetaverse.Rendering.FaceType.OuterSide3`.
        ///
        /// C# signature: `LibreMetaverse.Rendering.FaceType LibreMetaverse.Rendering.FaceType.OuterSide3`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        OuterSide3 = 256,
        /// C# member: `F:LibreMetaverse.Rendering.FaceType.PathBegin`.
        ///
        /// C# signature: `LibreMetaverse.Rendering.FaceType LibreMetaverse.Rendering.FaceType.PathBegin`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        PathBegin = 1,
        /// C# member: `F:LibreMetaverse.Rendering.FaceType.PathEnd`.
        ///
        /// C# signature: `LibreMetaverse.Rendering.FaceType LibreMetaverse.Rendering.FaceType.PathEnd`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        PathEnd = 2,
        /// C# member: `F:LibreMetaverse.Rendering.FaceType.ProfileBegin`.
        ///
        /// C# signature: `LibreMetaverse.Rendering.FaceType LibreMetaverse.Rendering.FaceType.ProfileBegin`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        ProfileBegin = 8,
        /// C# member: `F:LibreMetaverse.Rendering.FaceType.ProfileEnd`.
        ///
        /// C# signature: `LibreMetaverse.Rendering.FaceType LibreMetaverse.Rendering.FaceType.ProfileEnd`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        ProfileEnd = 16,
    }

    /// C# type: `T:LibreMetaverse.Rendering.FacetedMesh`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Rendering.FacetedMesh` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct FacetedMesh {
        /// C# member: `F:LibreMetaverse.Rendering.FacetedMesh.Faces`.
        ///
        /// C# signature: `System.Collections.Generic.List<LibreMetaverse.Rendering.Face> LibreMetaverse.Rendering.FacetedMesh.Faces`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub faces: Vec<libremetaverse::rendering::Face>,
        /// C# member: `F:LibreMetaverse.Rendering.FacetedMesh.SkinData`.
        ///
        /// C# signature: `LibreMetaverse.Rendering.MeshSkinData LibreMetaverse.Rendering.FacetedMesh.SkinData`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub skin_data: Option<libremetaverse::rendering::MeshSkinData>,
    }
    impl FacetedMesh {
        /// C# member: `M:LibreMetaverse.Rendering.FacetedMesh.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Rendering.FacetedMesh()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn new() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(Self {
                faces: Vec::new(),
                skin_data: None,
            })
        }
        /// C# member: `M:LibreMetaverse.Rendering.FacetedMesh.TryDecodeFromAsset(LibreMetaverse.Primitive,LibreMetaverse.Assets.AssetMesh,LibreMetaverse.Rendering.DetailLevel,LibreMetaverse.Rendering.FacetedMesh@)`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Rendering.FacetedMesh.TryDecodeFromAsset(LibreMetaverse.Primitive prim, LibreMetaverse.Assets.AssetMesh meshAsset, LibreMetaverse.Rendering.DetailLevel LOD, out LibreMetaverse.Rendering.FacetedMesh& mesh)`.
        /// Mapping contract: ownership `owned,owned,owned,mutable_output`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
        pub fn try_decode_from_asset(
            prim: libremetaverse::Primitive,
            mesh_asset: libremetaverse::assets::AssetMesh,
            lod: libremetaverse::rendering::DetailLevel,
            mesh: &mut Option<libremetaverse::rendering::FacetedMesh>,
        ) -> bool {
            /* reviewed native compatibility body */
            crate::mesh_asset::try_decode_from_asset(prim, mesh_asset, lod, mesh)
        }
    }

    /// C# type: `T:LibreMetaverse.Rendering.IRendering`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Rendering.IRendering` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub trait IRendering {
        /// C# member: `M:LibreMetaverse.Rendering.IRendering.GenerateFacetedMesh(LibreMetaverse.Primitive,LibreMetaverse.Rendering.DetailLevel)`.
        ///
        /// C# signature: `LibreMetaverse.Rendering.FacetedMesh LibreMetaverse.Rendering.IRendering.GenerateFacetedMesh(LibreMetaverse.Primitive prim, LibreMetaverse.Rendering.DetailLevel lod)`.
        /// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        fn generate_faceted_mesh(
            &self,
            prim: libremetaverse::Primitive,
            lod: libremetaverse::rendering::DetailLevel,
        ) -> Result<Option<libremetaverse::rendering::FacetedMesh>, crate::Error>;
        /// C# member: `M:LibreMetaverse.Rendering.IRendering.GenerateFacetedSculptMesh(LibreMetaverse.Primitive,LibreMetaverse.Imaging.ManagedImage,LibreMetaverse.Rendering.DetailLevel)`.
        ///
        /// C# signature: `LibreMetaverse.Rendering.FacetedMesh LibreMetaverse.Rendering.IRendering.GenerateFacetedSculptMesh(LibreMetaverse.Primitive prim, LibreMetaverse.Imaging.ManagedImage sculptTexture, LibreMetaverse.Rendering.DetailLevel lod)`.
        /// Mapping contract: ownership `shared_self,owned,owned,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        fn generate_faceted_sculpt_mesh(
            &self,
            prim: libremetaverse::Primitive,
            sculpt_texture: libremetaverse_imaging::ManagedImage,
            lod: libremetaverse::rendering::DetailLevel,
        ) -> Result<Option<libremetaverse::rendering::FacetedMesh>, crate::Error>;
        /// C# member: `M:LibreMetaverse.Rendering.IRendering.GenerateSimpleMesh(LibreMetaverse.Primitive,LibreMetaverse.Rendering.DetailLevel)`.
        ///
        /// C# signature: `LibreMetaverse.Rendering.SimpleMesh LibreMetaverse.Rendering.IRendering.GenerateSimpleMesh(LibreMetaverse.Primitive prim, LibreMetaverse.Rendering.DetailLevel lod)`.
        /// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        fn generate_simple_mesh(
            &self,
            prim: libremetaverse::Primitive,
            lod: libremetaverse::rendering::DetailLevel,
        ) -> Result<Option<libremetaverse::rendering::SimpleMesh>, crate::Error>;
        /// C# member: `M:LibreMetaverse.Rendering.IRendering.GenerateSimpleSculptMesh(LibreMetaverse.Primitive,LibreMetaverse.Imaging.ManagedImage,LibreMetaverse.Rendering.DetailLevel)`.
        ///
        /// C# signature: `LibreMetaverse.Rendering.SimpleMesh LibreMetaverse.Rendering.IRendering.GenerateSimpleSculptMesh(LibreMetaverse.Primitive prim, LibreMetaverse.Imaging.ManagedImage sculptTexture, LibreMetaverse.Rendering.DetailLevel lod)`.
        /// Mapping contract: ownership `shared_self,owned,owned,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        fn generate_simple_sculpt_mesh(
            &self,
            prim: libremetaverse::Primitive,
            sculpt_texture: libremetaverse_imaging::ManagedImage,
            lod: libremetaverse::rendering::DetailLevel,
        ) -> Result<Option<libremetaverse::rendering::SimpleMesh>, crate::Error>;
        /// C# member: `M:LibreMetaverse.Rendering.IRendering.TransformTexCoords(System.Collections.Generic.List{LibreMetaverse.Rendering.Vertex},LibreMetaverse.Vector3,LibreMetaverse.Primitive.TextureEntryFace,LibreMetaverse.Vector3)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Rendering.IRendering.TransformTexCoords(System.Collections.Generic.List<LibreMetaverse.Rendering.Vertex> vertices, LibreMetaverse.Vector3 center, LibreMetaverse.Primitive.TextureEntryFace teFace, LibreMetaverse.Vector3 primScale)`.
        /// Mapping contract: ownership `shared_self,mutable_borrow,owned,owned,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        fn transform_tex_coords(
            &self,
            vertices: &mut Vec<libremetaverse::rendering::Vertex>,
            center: libremetaverse_types::Vector3,
            te_face: libremetaverse::PrimitiveTextureEntryFace,
            prim_scale: libremetaverse_types::Vector3,
        ) -> Result<(), crate::Error>;
    }

    /// C# type: `T:LibreMetaverse.Rendering.Joint`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Rendering.Joint` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    /// C# member: `M:LibreMetaverse.Rendering.Joint.#ctor`.
    ///
    /// C# signature: `LibreMetaverse.Rendering.Joint()`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Rendering.Joint.GetAliasesList`.
    ///
    /// C# signature: `System.String[] LibreMetaverse.Rendering.Joint.GetAliasesList()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `P:LibreMetaverse.Rendering.Joint.aliases`.
    ///
    /// C# signature: `System.String LibreMetaverse.Rendering.Joint.aliases`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    /// C# member: `P:LibreMetaverse.Rendering.Joint.bone`.
    ///
    /// C# signature: `LibreMetaverse.Rendering.Joint[] LibreMetaverse.Rendering.Joint.bone`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    /// C# member: `P:LibreMetaverse.Rendering.Joint.collision_volume`.
    ///
    /// C# signature: `LibreMetaverse.Rendering.CollisionVolume[] LibreMetaverse.Rendering.Joint.collision_volume`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    /// C# member: `P:LibreMetaverse.Rendering.Joint.connected`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.Rendering.Joint.connected`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    /// C# member: `P:LibreMetaverse.Rendering.Joint.pivot`.
    ///
    /// C# signature: `System.Single[] LibreMetaverse.Rendering.Joint.pivot`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub use crate::skeleton::Joint;

    /// C# type: `T:LibreMetaverse.Rendering.JointBase`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Rendering.JointBase` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    /// C# member: `M:LibreMetaverse.Rendering.JointBase.#ctor`.
    ///
    /// C# signature: `LibreMetaverse.Rendering.JointBase()`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `P:LibreMetaverse.Rendering.JointBase.SupportCategory`.
    ///
    /// C# signature: `LibreMetaverse.Rendering.JointSupportCategory LibreMetaverse.Rendering.JointBase.SupportCategory`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    /// C# member: `P:LibreMetaverse.Rendering.JointBase.end`.
    ///
    /// C# signature: `System.Single[] LibreMetaverse.Rendering.JointBase.end`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    /// C# member: `P:LibreMetaverse.Rendering.JointBase.group`.
    ///
    /// C# signature: `System.String LibreMetaverse.Rendering.JointBase.group`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    /// C# member: `P:LibreMetaverse.Rendering.JointBase.name`.
    ///
    /// C# signature: `System.String LibreMetaverse.Rendering.JointBase.name`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    /// C# member: `P:LibreMetaverse.Rendering.JointBase.pos`.
    ///
    /// C# signature: `System.Single[] LibreMetaverse.Rendering.JointBase.pos`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    /// C# member: `P:LibreMetaverse.Rendering.JointBase.reposition`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.Rendering.JointBase.reposition`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    /// C# member: `P:LibreMetaverse.Rendering.JointBase.rot`.
    ///
    /// C# signature: `System.Single[] LibreMetaverse.Rendering.JointBase.rot`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    /// C# member: `P:LibreMetaverse.Rendering.JointBase.scale`.
    ///
    /// C# signature: `System.Single[] LibreMetaverse.Rendering.JointBase.scale`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    /// C# member: `P:LibreMetaverse.Rendering.JointBase.support`.
    ///
    /// C# signature: `System.String LibreMetaverse.Rendering.JointBase.support`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub use crate::skeleton::JointBase;

    /// C# type: `T:LibreMetaverse.Rendering.JointSupportCategory`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Rendering.JointSupportCategory` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    #[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
    #[repr(i32)]
    pub enum JointSupportCategory {
        /// C# member: `F:LibreMetaverse.Rendering.JointSupportCategory.Base`.
        ///
        /// C# signature: `LibreMetaverse.Rendering.JointSupportCategory LibreMetaverse.Rendering.JointSupportCategory.Base`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        Base = 0,
        /// C# member: `F:LibreMetaverse.Rendering.JointSupportCategory.Extended`.
        ///
        /// C# signature: `LibreMetaverse.Rendering.JointSupportCategory LibreMetaverse.Rendering.JointSupportCategory.Extended`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        Extended = 1,
    }

    /// C# type: `T:LibreMetaverse.Rendering.LindenAvatarDefinition`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Rendering.LindenAvatarDefinition` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub use crate::avatar_rig::LindenAvatarDefinition;
    impl LindenAvatarDefinition {
        /// C# member: `M:LibreMetaverse.Rendering.LindenAvatarDefinition.ComputeBoneTransforms(System.Collections.Generic.IReadOnlyDictionary{System.Int32,System.Single})`.
        ///
        /// C# signature: `System.Collections.Generic.Dictionary<System.String, LibreMetaverse.Rendering.BoneTransform> LibreMetaverse.Rendering.LindenAvatarDefinition.ComputeBoneTransforms(System.Collections.Generic.IReadOnlyDictionary<System.Int32, System.Single> paramValues)`.
        /// Mapping contract: ownership `shared_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn compute_bone_transforms(
            &self,
            param_values: std::collections::HashMap<i32, f32>,
        ) -> Result<
            std::collections::HashMap<String, libremetaverse::rendering::BoneTransform>,
            crate::Error,
        > {
            /* reviewed native compatibility body */
            self.native_compute_bone_transforms(&param_values)
        }
        /// C# member: `M:LibreMetaverse.Rendering.LindenAvatarDefinition.GetAttachmentPoint(System.Int32)`.
        ///
        /// C# signature: `LibreMetaverse.Rendering.AvatarAttachmentPoint LibreMetaverse.Rendering.LindenAvatarDefinition.GetAttachmentPoint(System.Int32 id)`.
        /// Mapping contract: ownership `shared_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn get_attachment_point_with_int32(
            &self,
            id: i32,
        ) -> Result<Option<libremetaverse::rendering::AvatarAttachmentPoint>, crate::Error>
        {
            /* reviewed native compatibility body */
            Ok(self.native_get_attachment_point_by_id(id))
        }
        /// C# member: `M:LibreMetaverse.Rendering.LindenAvatarDefinition.GetAttachmentPoint(System.String)`.
        ///
        /// C# signature: `LibreMetaverse.Rendering.AvatarAttachmentPoint LibreMetaverse.Rendering.LindenAvatarDefinition.GetAttachmentPoint(System.String name)`.
        /// Mapping contract: ownership `shared_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn get_attachment_point_with_string(
            &self,
            name: String,
        ) -> Result<Option<libremetaverse::rendering::AvatarAttachmentPoint>, crate::Error>
        {
            /* reviewed native compatibility body */
            Ok(self.native_get_attachment_point_by_name(&name))
        }
        /// C# member: `M:LibreMetaverse.Rendering.LindenAvatarDefinition.Load(System.String,System.String)`.
        ///
        /// C# signature: `LibreMetaverse.Rendering.LindenAvatarDefinition LibreMetaverse.Rendering.LindenAvatarDefinition.Load(System.String ladFileName = default, System.String skeletonFileName = default)`.
        /// Mapping contract: ownership `optional_owned,optional_owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn load(
            lad_file_name: Option<String>,
            skeleton_file_name: Option<String>,
        ) -> Result<libremetaverse::rendering::LindenAvatarDefinition, crate::Error> {
            /* reviewed native compatibility body */
            crate::avatar_rig::LindenAvatarDefinition::native_load(
                lad_file_name,
                skeleton_file_name,
            )
        }
        /// C# member: `P:LibreMetaverse.Rendering.LindenAvatarDefinition.AttachmentPoints`.
        ///
        /// C# signature: `System.Collections.Generic.IReadOnlyList<LibreMetaverse.Rendering.AvatarAttachmentPoint> LibreMetaverse.Rendering.LindenAvatarDefinition.AttachmentPoints`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn attachment_points(&self) -> Vec<libremetaverse::rendering::AvatarAttachmentPoint> {
            /* reviewed native compatibility body */
            self.native_attachment_points()
        }
        /// C# member: `P:LibreMetaverse.Rendering.LindenAvatarDefinition.MeshDefinitions`.
        ///
        /// C# signature: `System.Collections.Generic.IReadOnlyList<LibreMetaverse.Rendering.AvatarMeshDefinition> LibreMetaverse.Rendering.LindenAvatarDefinition.MeshDefinitions`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn mesh_definitions(&self) -> Vec<libremetaverse::rendering::AvatarMeshDefinition> {
            /* reviewed native compatibility body */
            self.native_mesh_definitions()
        }
        /// C# member: `P:LibreMetaverse.Rendering.LindenAvatarDefinition.Skeleton`.
        ///
        /// C# signature: `LibreMetaverse.Rendering.LindenSkeleton LibreMetaverse.Rendering.LindenAvatarDefinition.Skeleton`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn skeleton(&self) -> libremetaverse::rendering::LindenSkeleton {
            /* reviewed native compatibility body */
            self.native_skeleton()
        }
    }

    /// C# type: `T:LibreMetaverse.Rendering.LindenMesh`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Rendering.LindenMesh` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub use crate::linden_mesh::LindenMesh;
    /// C# member: `F:LibreMetaverse.Rendering.LindenMesh.MinPixelWidth`.
    ///
    /// C# signature: `System.Single LibreMetaverse.Rendering.LindenMesh.MinPixelWidth`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Rendering.LindenMesh.Morphs`.
    ///
    /// C# signature: `LibreMetaverse.Rendering.LindenMesh.Morph[] LibreMetaverse.Rendering.LindenMesh.Morphs`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Rendering.LindenMesh.SkinWeights`.
    ///
    /// C# signature: `System.Collections.Generic.List<LibreMetaverse.Rendering.LindenMesh.SkinWeightElement> LibreMetaverse.Rendering.LindenMesh.SkinWeights`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    impl LindenMesh {
        /// C# member: `M:LibreMetaverse.Rendering.LindenMesh.#ctor(System.String)`.
        ///
        /// C# signature: `LibreMetaverse.Rendering.LindenMesh(System.String name)`.
        /// Mapping contract: ownership `owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_string(name: String) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            crate::linden_mesh::LindenMesh::native_new(name, None)
        }
        /// C# member: `M:LibreMetaverse.Rendering.LindenMesh.#ctor(System.String,LibreMetaverse.Rendering.LindenSkeleton)`.
        ///
        /// C# signature: `LibreMetaverse.Rendering.LindenMesh(System.String name, LibreMetaverse.Rendering.LindenSkeleton skeleton)`.
        /// Mapping contract: ownership `owned,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_string_linden_skeleton(
            name: String,
            skeleton: Option<libremetaverse::rendering::LindenSkeleton>,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            crate::linden_mesh::LindenMesh::native_new(name, skeleton)
        }
        /// C# member: `M:LibreMetaverse.Rendering.LindenMesh.LoadLodMesh(System.Int32,System.String)`.
        ///
        /// C# signature: `System.Object LibreMetaverse.Rendering.LindenMesh.LoadLodMesh(System.Int32 level, System.String filename)`.
        /// Mapping contract: ownership `mutable_self,owned,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn load_lod_mesh(
            &mut self,
            level: i32,
            filename: String,
        ) -> Result<libremetaverse_types::compat::Object, crate::Error> {
            /* reviewed native compatibility body */
            self.native_load_lod_mesh(level, &filename)
        }
        /// C# member: `M:LibreMetaverse.Rendering.LindenMesh.LoadMesh(System.String)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Rendering.LindenMesh.LoadMesh(System.String filename)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn load_mesh(&mut self, filename: String) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            self.native_load_mesh(&filename)
        }
        /// C# member: `M:LibreMetaverse.Rendering.LindenMesh.LoadReferenceMesh(System.Int32,System.String)`.
        ///
        /// C# signature: `LibreMetaverse.Rendering.LindenMesh.ReferenceMesh LibreMetaverse.Rendering.LindenMesh.LoadReferenceMesh(System.Int32 lodLevel, System.String filename)`.
        /// Mapping contract: ownership `mutable_self,owned,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn load_reference_mesh(
            &mut self,
            lod_level: i32,
            filename: String,
        ) -> Result<libremetaverse::rendering::LindenMeshReferenceMesh, crate::Error> {
            /* reviewed native compatibility body */
            self.native_load_reference_mesh(lod_level, &filename)
        }
        /// C# member: `M:LibreMetaverse.Rendering.LindenMesh.TrimAt0(System.String)`.
        ///
        /// C# signature: `System.String LibreMetaverse.Rendering.LindenMesh.TrimAt0(System.String s)`.
        /// Mapping contract: ownership `owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn trim_at0(s: String) -> Result<String, crate::Error> {
            /* reviewed native compatibility body */
            Ok(crate::linden_mesh::trim_at_nul(&s))
        }
        /// C# member: `P:LibreMetaverse.Rendering.LindenMesh.Faces`.
        ///
        /// C# signature: `LibreMetaverse.Rendering.LindenMesh.Face[] LibreMetaverse.Rendering.LindenMesh.Faces`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn faces(&self) -> Vec<libremetaverse::rendering::LindenMeshFace> {
            /* reviewed native compatibility body */
            self.native_faces()
        }
        /// Setter for C# member: `P:LibreMetaverse.Rendering.LindenMesh.Faces`.
        pub fn set_faces(&mut self, value: Vec<libremetaverse::rendering::LindenMeshFace>) {
            /* reviewed native compatibility body */
            self.native_set_faces(value)
        }
        /// C# member: `P:LibreMetaverse.Rendering.LindenMesh.HasDetailTexCoords`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Rendering.LindenMesh.HasDetailTexCoords`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn has_detail_tex_coords(&self) -> bool {
            /* reviewed native compatibility body */
            self.native_has_detail_tex_coords()
        }
        /// Setter for C# member: `P:LibreMetaverse.Rendering.LindenMesh.HasDetailTexCoords`.
        pub fn set_has_detail_tex_coords(&mut self, value: bool) {
            /* reviewed native compatibility body */
            self.native_set_has_detail_tex_coords(value)
        }
        /// C# member: `P:LibreMetaverse.Rendering.LindenMesh.HasWeights`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Rendering.LindenMesh.HasWeights`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn has_weights(&self) -> bool {
            /* reviewed native compatibility body */
            self.native_has_weights()
        }
        /// Setter for C# member: `P:LibreMetaverse.Rendering.LindenMesh.HasWeights`.
        pub fn set_has_weights(&mut self, value: bool) {
            /* reviewed native compatibility body */
            self.native_set_has_weights(value)
        }
        /// C# member: `P:LibreMetaverse.Rendering.LindenMesh.Header`.
        ///
        /// C# signature: `System.String LibreMetaverse.Rendering.LindenMesh.Header`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn header(&self) -> String {
            /* reviewed native compatibility body */
            self.native_header()
        }
        /// Setter for C# member: `P:LibreMetaverse.Rendering.LindenMesh.Header`.
        pub fn set_header(&mut self, value: String) {
            /* reviewed native compatibility body */
            self.native_set_header(value)
        }
        /// C# member: `P:LibreMetaverse.Rendering.LindenMesh.LodMeshes`.
        ///
        /// C# signature: `System.Collections.Generic.SortedList<System.Int32, System.Object> LibreMetaverse.Rendering.LindenMesh.LodMeshes`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn lod_meshes(
            &self,
        ) -> libremetaverse_types::compat::SortedList<i32, libremetaverse_types::compat::Object>
        {
            /* reviewed native compatibility body */
            self.native_lod_meshes()
        }
        /// Setter for C# member: `P:LibreMetaverse.Rendering.LindenMesh.LodMeshes`.
        pub fn set_lod_meshes(
            &mut self,
            value: libremetaverse_types::compat::SortedList<
                i32,
                libremetaverse_types::compat::Object,
            >,
        ) {
            /* reviewed native compatibility body */
            self.native_set_lod_meshes(value)
        }
        /// C# member: `P:LibreMetaverse.Rendering.LindenMesh.Name`.
        ///
        /// C# signature: `System.String LibreMetaverse.Rendering.LindenMesh.Name`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn name(&self) -> String {
            /* reviewed native compatibility body */
            self.native_name()
        }
        /// Setter for C# member: `P:LibreMetaverse.Rendering.LindenMesh.Name`.
        pub fn set_name(&mut self, value: String) {
            /* reviewed native compatibility body */
            self.native_set_name(value)
        }
        /// C# member: `P:LibreMetaverse.Rendering.LindenMesh.NumFaces`.
        ///
        /// C# signature: `System.UInt16 LibreMetaverse.Rendering.LindenMesh.NumFaces`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn num_faces(&self) -> u16 {
            /* reviewed native compatibility body */
            self.native_num_faces()
        }
        /// Setter for C# member: `P:LibreMetaverse.Rendering.LindenMesh.NumFaces`.
        pub fn set_num_faces(&mut self, value: u16) {
            /* reviewed native compatibility body */
            self.native_set_num_faces(value)
        }
        /// C# member: `P:LibreMetaverse.Rendering.LindenMesh.NumRemaps`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Rendering.LindenMesh.NumRemaps`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn num_remaps(&self) -> i32 {
            /* reviewed native compatibility body */
            self.native_num_remaps()
        }
        /// Setter for C# member: `P:LibreMetaverse.Rendering.LindenMesh.NumRemaps`.
        pub fn set_num_remaps(&mut self, value: i32) {
            /* reviewed native compatibility body */
            self.native_set_num_remaps(value)
        }
        /// C# member: `P:LibreMetaverse.Rendering.LindenMesh.NumSkinJoints`.
        ///
        /// C# signature: `System.UInt16 LibreMetaverse.Rendering.LindenMesh.NumSkinJoints`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn num_skin_joints(&self) -> u16 {
            /* reviewed native compatibility body */
            self.native_num_skin_joints()
        }
        /// Setter for C# member: `P:LibreMetaverse.Rendering.LindenMesh.NumSkinJoints`.
        pub fn set_num_skin_joints(&mut self, value: u16) {
            /* reviewed native compatibility body */
            self.native_set_num_skin_joints(value)
        }
        /// C# member: `P:LibreMetaverse.Rendering.LindenMesh.NumVertices`.
        ///
        /// C# signature: `System.UInt16 LibreMetaverse.Rendering.LindenMesh.NumVertices`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn num_vertices(&self) -> u16 {
            /* reviewed native compatibility body */
            self.native_num_vertices()
        }
        /// Setter for C# member: `P:LibreMetaverse.Rendering.LindenMesh.NumVertices`.
        pub fn set_num_vertices(&mut self, value: u16) {
            /* reviewed native compatibility body */
            self.native_set_num_vertices(value)
        }
        /// C# member: `P:LibreMetaverse.Rendering.LindenMesh.Position`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Rendering.LindenMesh.Position`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn position(&self) -> libremetaverse_types::Vector3 {
            /* reviewed native compatibility body */
            self.native_position()
        }
        /// Setter for C# member: `P:LibreMetaverse.Rendering.LindenMesh.Position`.
        pub fn set_position(&mut self, value: libremetaverse_types::Vector3) {
            /* reviewed native compatibility body */
            self.native_set_position(value)
        }
        /// C# member: `P:LibreMetaverse.Rendering.LindenMesh.RotationAngles`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Rendering.LindenMesh.RotationAngles`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn rotation_angles(&self) -> libremetaverse_types::Vector3 {
            /* reviewed native compatibility body */
            self.native_rotation_angles()
        }
        /// Setter for C# member: `P:LibreMetaverse.Rendering.LindenMesh.RotationAngles`.
        pub fn set_rotation_angles(&mut self, value: libremetaverse_types::Vector3) {
            /* reviewed native compatibility body */
            self.native_set_rotation_angles(value)
        }
        /// C# member: `P:LibreMetaverse.Rendering.LindenMesh.Scale`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Rendering.LindenMesh.Scale`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn scale(&self) -> libremetaverse_types::Vector3 {
            /* reviewed native compatibility body */
            self.native_scale()
        }
        /// Setter for C# member: `P:LibreMetaverse.Rendering.LindenMesh.Scale`.
        pub fn set_scale(&mut self, value: libremetaverse_types::Vector3) {
            /* reviewed native compatibility body */
            self.native_set_scale(value)
        }
        /// C# member: `P:LibreMetaverse.Rendering.LindenMesh.Skeleton`.
        ///
        /// C# signature: `LibreMetaverse.Rendering.LindenSkeleton LibreMetaverse.Rendering.LindenMesh.Skeleton`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn skeleton(&self) -> Option<libremetaverse::rendering::LindenSkeleton> {
            /* reviewed native compatibility body */
            self.native_skeleton()
        }
        /// Setter for C# member: `P:LibreMetaverse.Rendering.LindenMesh.Skeleton`.
        pub fn set_skeleton(&mut self, value: Option<libremetaverse::rendering::LindenSkeleton>) {
            /* reviewed native compatibility body */
            self.native_set_skeleton(value)
        }
        /// C# member: `P:LibreMetaverse.Rendering.LindenMesh.SkinJoints`.
        ///
        /// C# signature: `System.String[] LibreMetaverse.Rendering.LindenMesh.SkinJoints`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn skin_joints(&self) -> Vec<String> {
            /* reviewed native compatibility body */
            self.native_skin_joints()
        }
        /// Setter for C# member: `P:LibreMetaverse.Rendering.LindenMesh.SkinJoints`.
        pub fn set_skin_joints(&mut self, value: Vec<String>) {
            /* reviewed native compatibility body */
            self.native_set_skin_joints(value)
        }
        /// C# member: `P:LibreMetaverse.Rendering.LindenMesh.VertexRemaps`.
        ///
        /// C# signature: `LibreMetaverse.Rendering.LindenMesh.VertexRemap[] LibreMetaverse.Rendering.LindenMesh.VertexRemaps`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn vertex_remaps(&self) -> Vec<libremetaverse::rendering::LindenMeshVertexRemap> {
            /* reviewed native compatibility body */
            self.native_vertex_remaps()
        }
        /// Setter for C# member: `P:LibreMetaverse.Rendering.LindenMesh.VertexRemaps`.
        pub fn set_vertex_remaps(
            &mut self,
            value: Vec<libremetaverse::rendering::LindenMeshVertexRemap>,
        ) {
            /* reviewed native compatibility body */
            self.native_set_vertex_remaps(value)
        }
        /// C# member: `P:LibreMetaverse.Rendering.LindenMesh.Vertices`.
        ///
        /// C# signature: `LibreMetaverse.Rendering.LindenMesh.Vertex[] LibreMetaverse.Rendering.LindenMesh.Vertices`.
        /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn vertices(&self) -> Vec<libremetaverse::rendering::LindenMeshVertex> {
            /* reviewed native compatibility body */
            self.native_vertices()
        }
        /// Setter for C# member: `P:LibreMetaverse.Rendering.LindenMesh.Vertices`.
        pub fn set_vertices(&mut self, value: Vec<libremetaverse::rendering::LindenMeshVertex>) {
            /* reviewed native compatibility body */
            self.native_set_vertices(value)
        }
    }

    /// C# type: `T:LibreMetaverse.Rendering.LindenMesh.Face`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Rendering.LindenMesh.Face` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    #[derive(Clone, Debug, PartialEq)]
    pub struct LindenMeshFace {
        /// C# member: `F:LibreMetaverse.Rendering.LindenMesh.Face.Indices`.
        ///
        /// C# signature: `System.Int16[] LibreMetaverse.Rendering.LindenMesh.Face.Indices`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub indices: Vec<i16>,
    }
    impl LindenMeshFace {}

    /// C# type: `T:LibreMetaverse.Rendering.LindenMesh.Morph`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Rendering.LindenMesh.Morph` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    #[derive(Clone, Debug, PartialEq)]
    pub struct LindenMeshMorph {
        /// C# member: `F:LibreMetaverse.Rendering.LindenMesh.Morph.Name`.
        ///
        /// C# signature: `System.String LibreMetaverse.Rendering.LindenMesh.Morph.Name`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub name: String,
        /// C# member: `F:LibreMetaverse.Rendering.LindenMesh.Morph.NumVertices`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Rendering.LindenMesh.Morph.NumVertices`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub num_vertices: i32,
        /// C# member: `F:LibreMetaverse.Rendering.LindenMesh.Morph.Vertices`.
        ///
        /// C# signature: `LibreMetaverse.Rendering.LindenMesh.MorphVertex[] LibreMetaverse.Rendering.LindenMesh.Morph.Vertices`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub vertices: Vec<libremetaverse::rendering::LindenMeshMorphVertex>,
    }
    impl LindenMeshMorph {
        /// C# member: `M:LibreMetaverse.Rendering.LindenMesh.Morph.ToString`.
        ///
        /// C# signature: `System.String LibreMetaverse.Rendering.LindenMesh.Morph.ToString()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
        pub fn to_string(&self) -> String {
            /* reviewed native compatibility body */
            self.name.clone()
        }
    }

    /// C# type: `T:LibreMetaverse.Rendering.LindenMesh.MorphVertex`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Rendering.LindenMesh.MorphVertex` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    #[derive(Clone, Debug, PartialEq)]
    pub struct LindenMeshMorphVertex {
        /// C# member: `F:LibreMetaverse.Rendering.LindenMesh.MorphVertex.BiNormal`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Rendering.LindenMesh.MorphVertex.BiNormal`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub bi_normal: libremetaverse_types::Vector3,
        /// C# member: `F:LibreMetaverse.Rendering.LindenMesh.MorphVertex.Coord`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Rendering.LindenMesh.MorphVertex.Coord`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub coord: libremetaverse_types::Vector3,
        /// C# member: `F:LibreMetaverse.Rendering.LindenMesh.MorphVertex.Normal`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Rendering.LindenMesh.MorphVertex.Normal`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub normal: libremetaverse_types::Vector3,
        /// C# member: `F:LibreMetaverse.Rendering.LindenMesh.MorphVertex.TexCoord`.
        ///
        /// C# signature: `LibreMetaverse.Vector2 LibreMetaverse.Rendering.LindenMesh.MorphVertex.TexCoord`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub tex_coord: libremetaverse_types::Vector2,
        /// C# member: `F:LibreMetaverse.Rendering.LindenMesh.MorphVertex.VertexIndex`.
        ///
        /// C# signature: `System.UInt32 LibreMetaverse.Rendering.LindenMesh.MorphVertex.VertexIndex`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub vertex_index: u32,
    }
    impl LindenMeshMorphVertex {
        /// C# member: `M:LibreMetaverse.Rendering.LindenMesh.MorphVertex.ToString`.
        ///
        /// C# signature: `System.String LibreMetaverse.Rendering.LindenMesh.MorphVertex.ToString()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
        pub fn to_string(&self) -> String {
            /* reviewed native compatibility body */
            format!(
                "Index: {} Coord: {} Norm: {} BiNorm: {} TexCoord: {}",
                self.vertex_index,
                self.coord.to_string(),
                self.normal.to_string(),
                self.bi_normal.to_string(),
                self.tex_coord.to_string()
            )
        }
    }

    /// C# type: `T:LibreMetaverse.Rendering.LindenMesh.ReferenceMesh`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Rendering.LindenMesh.ReferenceMesh` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub use crate::linden_mesh::ReferenceMesh as LindenMeshReferenceMesh;
    /// C# member: `F:LibreMetaverse.Rendering.LindenMesh.ReferenceMesh.Faces`.
    ///
    /// C# signature: `LibreMetaverse.Rendering.LindenMesh.Face[] LibreMetaverse.Rendering.LindenMesh.ReferenceMesh.Faces`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Rendering.LindenMesh.ReferenceMesh.HasDetailTexCoords`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.Rendering.LindenMesh.ReferenceMesh.HasDetailTexCoords`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Rendering.LindenMesh.ReferenceMesh.HasWeights`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.Rendering.LindenMesh.ReferenceMesh.HasWeights`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Rendering.LindenMesh.ReferenceMesh.Header`.
    ///
    /// C# signature: `System.String LibreMetaverse.Rendering.LindenMesh.ReferenceMesh.Header`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Rendering.LindenMesh.ReferenceMesh.MinPixelWidth`.
    ///
    /// C# signature: `System.Single LibreMetaverse.Rendering.LindenMesh.ReferenceMesh.MinPixelWidth`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Rendering.LindenMesh.ReferenceMesh.NumFaces`.
    ///
    /// C# signature: `System.UInt16 LibreMetaverse.Rendering.LindenMesh.ReferenceMesh.NumFaces`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Rendering.LindenMesh.ReferenceMesh.Position`.
    ///
    /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Rendering.LindenMesh.ReferenceMesh.Position`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Rendering.LindenMesh.ReferenceMesh.RotationAngles`.
    ///
    /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Rendering.LindenMesh.ReferenceMesh.RotationAngles`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Rendering.LindenMesh.ReferenceMesh.RotationOrder`.
    ///
    /// C# signature: `System.Byte LibreMetaverse.Rendering.LindenMesh.ReferenceMesh.RotationOrder`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Rendering.LindenMesh.ReferenceMesh.Scale`.
    ///
    /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Rendering.LindenMesh.ReferenceMesh.Scale`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    impl LindenMeshReferenceMesh {
        /// C# member: `M:LibreMetaverse.Rendering.LindenMesh.ReferenceMesh.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Rendering.LindenMesh.ReferenceMesh()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn new() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            crate::linden_mesh::ReferenceMesh::native_new()
        }
        /// C# member: `M:LibreMetaverse.Rendering.LindenMesh.ReferenceMesh.LoadMesh(System.String)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Rendering.LindenMesh.ReferenceMesh.LoadMesh(System.String filename)`.
        /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn load_mesh(&mut self, filename: String) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            self.native_load_mesh(&filename)
        }
    }

    /// C# type: `T:LibreMetaverse.Rendering.LindenMesh.SkinWeightElement`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Rendering.LindenMesh.SkinWeightElement` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    #[derive(Clone, Debug, PartialEq)]
    pub struct LindenMeshSkinWeightElement {
        /// C# member: `F:LibreMetaverse.Rendering.LindenMesh.SkinWeightElement.Bone1`.
        ///
        /// C# signature: `System.String LibreMetaverse.Rendering.LindenMesh.SkinWeightElement.Bone1`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub bone1: String,
        /// C# member: `F:LibreMetaverse.Rendering.LindenMesh.SkinWeightElement.Bone2`.
        ///
        /// C# signature: `System.String LibreMetaverse.Rendering.LindenMesh.SkinWeightElement.Bone2`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub bone2: String,
        /// C# member: `F:LibreMetaverse.Rendering.LindenMesh.SkinWeightElement.Weight1`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Rendering.LindenMesh.SkinWeightElement.Weight1`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub weight1: f32,
        /// C# member: `F:LibreMetaverse.Rendering.LindenMesh.SkinWeightElement.Weight2`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Rendering.LindenMesh.SkinWeightElement.Weight2`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub weight2: f32,
    }
    impl LindenMeshSkinWeightElement {}

    /// C# type: `T:LibreMetaverse.Rendering.LindenMesh.Vertex`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Rendering.LindenMesh.Vertex` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    #[derive(Clone, Debug, PartialEq)]
    pub struct LindenMeshVertex {
        /// C# member: `F:LibreMetaverse.Rendering.LindenMesh.Vertex.BiNormal`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Rendering.LindenMesh.Vertex.BiNormal`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub bi_normal: libremetaverse_types::Vector3,
        /// C# member: `F:LibreMetaverse.Rendering.LindenMesh.Vertex.Coord`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Rendering.LindenMesh.Vertex.Coord`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub coord: libremetaverse_types::Vector3,
        /// C# member: `F:LibreMetaverse.Rendering.LindenMesh.Vertex.DetailTexCoord`.
        ///
        /// C# signature: `LibreMetaverse.Vector2 LibreMetaverse.Rendering.LindenMesh.Vertex.DetailTexCoord`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub detail_tex_coord: libremetaverse_types::Vector2,
        /// C# member: `F:LibreMetaverse.Rendering.LindenMesh.Vertex.Normal`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Rendering.LindenMesh.Vertex.Normal`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub normal: libremetaverse_types::Vector3,
        /// C# member: `F:LibreMetaverse.Rendering.LindenMesh.Vertex.TexCoord`.
        ///
        /// C# signature: `LibreMetaverse.Vector2 LibreMetaverse.Rendering.LindenMesh.Vertex.TexCoord`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub tex_coord: libremetaverse_types::Vector2,
        /// C# member: `F:LibreMetaverse.Rendering.LindenMesh.Vertex.Weight`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Rendering.LindenMesh.Vertex.Weight`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub weight: f32,
    }
    impl LindenMeshVertex {
        /// C# member: `M:LibreMetaverse.Rendering.LindenMesh.Vertex.ToString`.
        ///
        /// C# signature: `System.String LibreMetaverse.Rendering.LindenMesh.Vertex.ToString()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
        pub fn to_string(&self) -> String {
            /* reviewed native compatibility body */
            format!(
                "Coord: {} Norm: {} BiNorm: {} TexCoord: {} DetailTexCoord: {}",
                self.coord.to_string(),
                self.normal.to_string(),
                self.bi_normal.to_string(),
                self.tex_coord.to_string(),
                self.detail_tex_coord.to_string()
            )
        }
    }

    /// C# type: `T:LibreMetaverse.Rendering.LindenMesh.VertexRemap`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Rendering.LindenMesh.VertexRemap` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    #[derive(Clone, Debug, PartialEq)]
    pub struct LindenMeshVertexRemap {
        /// C# member: `F:LibreMetaverse.Rendering.LindenMesh.VertexRemap.RemapDestination`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Rendering.LindenMesh.VertexRemap.RemapDestination`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub remap_destination: i32,
        /// C# member: `F:LibreMetaverse.Rendering.LindenMesh.VertexRemap.RemapSource`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Rendering.LindenMesh.VertexRemap.RemapSource`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub remap_source: i32,
    }
    impl LindenMeshVertexRemap {
        /// C# member: `M:LibreMetaverse.Rendering.LindenMesh.VertexRemap.ToString`.
        ///
        /// C# signature: `System.String LibreMetaverse.Rendering.LindenMesh.VertexRemap.ToString()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
        pub fn to_string(&self) -> String {
            /* reviewed native compatibility body */
            format!("{} -> {}", self.remap_source, self.remap_destination)
        }
    }

    /// C# type: `T:LibreMetaverse.Rendering.LindenSkeleton`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Rendering.LindenSkeleton` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    /// C# member: `M:LibreMetaverse.Rendering.LindenSkeleton.#ctor`.
    ///
    /// C# signature: `LibreMetaverse.Rendering.LindenSkeleton()`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Rendering.LindenSkeleton.BuildExpandedJointList(System.Collections.Generic.IEnumerable{System.String})`.
    ///
    /// C# signature: `System.Collections.Generic.List<System.String> LibreMetaverse.Rendering.LindenSkeleton.BuildExpandedJointList(System.Collections.Generic.IEnumerable<System.String> jointsFilter)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Rendering.LindenSkeleton.BuildJointDictionary`.
    ///
    /// C# signature: `System.Collections.Generic.Dictionary<System.String, LibreMetaverse.Rendering.Joint> LibreMetaverse.Rendering.LindenSkeleton.BuildJointDictionary()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Rendering.LindenSkeleton.GetAllJoints`.
    ///
    /// C# signature: `System.Collections.Generic.IEnumerable<LibreMetaverse.Rendering.Joint> LibreMetaverse.Rendering.LindenSkeleton.GetAllJoints()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Rendering.LindenSkeleton.GetBone(System.String)`.
    ///
    /// C# signature: `LibreMetaverse.Rendering.Joint LibreMetaverse.Rendering.LindenSkeleton.GetBone(System.String nameOrAlias)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Rendering.LindenSkeleton.GetDefault`.
    ///
    /// C# signature: `LibreMetaverse.Rendering.LindenSkeleton LibreMetaverse.Rendering.LindenSkeleton.GetDefault()`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Rendering.LindenSkeleton.Load`.
    ///
    /// C# signature: `LibreMetaverse.Rendering.LindenSkeleton LibreMetaverse.Rendering.LindenSkeleton.Load()`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    /// C# member: `M:LibreMetaverse.Rendering.LindenSkeleton.Load(System.String)`.
    ///
    /// C# signature: `LibreMetaverse.Rendering.LindenSkeleton LibreMetaverse.Rendering.LindenSkeleton.Load(System.String fileName)`.
    /// Mapping contract: ownership `owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    /// C# member: `P:LibreMetaverse.Rendering.LindenSkeleton.bone`.
    ///
    /// C# signature: `LibreMetaverse.Rendering.Joint LibreMetaverse.Rendering.LindenSkeleton.bone`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    /// C# member: `P:LibreMetaverse.Rendering.LindenSkeleton.num_bones`.
    ///
    /// C# signature: `System.String LibreMetaverse.Rendering.LindenSkeleton.num_bones`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    /// C# member: `P:LibreMetaverse.Rendering.LindenSkeleton.num_collision_volumes`.
    ///
    /// C# signature: `System.String LibreMetaverse.Rendering.LindenSkeleton.num_collision_volumes`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    /// C# member: `P:LibreMetaverse.Rendering.LindenSkeleton.version`.
    ///
    /// C# signature: `System.Single LibreMetaverse.Rendering.LindenSkeleton.version`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    /// C# member: `P:LibreMetaverse.Rendering.LindenSkeleton.versionSpecified`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.Rendering.LindenSkeleton.versionSpecified`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub use crate::skeleton::LindenSkeleton;

    /// C# type: `T:LibreMetaverse.Rendering.Mesh`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Rendering.Mesh` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct Mesh {
        /// C# member: `F:LibreMetaverse.Rendering.Mesh.Path`.
        ///
        /// C# signature: `LibreMetaverse.Rendering.Path LibreMetaverse.Rendering.Mesh.Path`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub path: libremetaverse::rendering::Path,
        /// C# member: `F:LibreMetaverse.Rendering.Mesh.Prim`.
        ///
        /// C# signature: `LibreMetaverse.Primitive LibreMetaverse.Rendering.Mesh.Prim`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub prim: libremetaverse::Primitive,
        /// C# member: `F:LibreMetaverse.Rendering.Mesh.Profile`.
        ///
        /// C# signature: `LibreMetaverse.Rendering.Profile LibreMetaverse.Rendering.Mesh.Profile`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub profile: libremetaverse::rendering::Profile,
    }
    impl Mesh {
        /// C# member: `M:LibreMetaverse.Rendering.Mesh.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Rendering.Mesh()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn new() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(Self {
                path: libremetaverse::rendering::Path {
                    open: false,
                    points: Vec::new(),
                },
                prim: libremetaverse::Primitive::new_with_constructor()?,
                profile: libremetaverse::rendering::Profile {
                    concave: false,
                    faces: Vec::new(),
                    max_x: 0.0,
                    min_x: 0.0,
                    open: false,
                    positions: Vec::new(),
                    total_outside_points: 0,
                },
            })
        }
        /// C# member: `M:LibreMetaverse.Rendering.Mesh.ToString`.
        ///
        /// C# signature: `System.String LibreMetaverse.Rendering.Mesh.ToString()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
        pub fn to_string(&self) -> String {
            /* reviewed native compatibility body */
            self.prim
                .properties
                .as_ref()
                .map(|properties| properties.name.trim())
                .filter(|name| !name.is_empty())
                .map_or_else(
                    || format!("{} ({:?})", self.prim.local_id, self.prim.prim_data),
                    str::to_owned,
                )
        }
    }

    /// C# type: `T:LibreMetaverse.Rendering.MeshSkinData`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Rendering.MeshSkinData` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub use crate::animesh_skinning::MeshSkinData;
    /// C# member: `F:LibreMetaverse.Rendering.MeshSkinData.AltInverseBindMatrices`.
    ///
    /// C# signature: `System.Single[] LibreMetaverse.Rendering.MeshSkinData.AltInverseBindMatrices`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Rendering.MeshSkinData.BindShapeMatrix`.
    ///
    /// C# signature: `System.Single[] LibreMetaverse.Rendering.MeshSkinData.BindShapeMatrix`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Rendering.MeshSkinData.InverseBindMatrices`.
    ///
    /// C# signature: `System.Single[] LibreMetaverse.Rendering.MeshSkinData.InverseBindMatrices`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Rendering.MeshSkinData.JointNames`.
    ///
    /// C# signature: `System.String[] LibreMetaverse.Rendering.MeshSkinData.JointNames`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Rendering.MeshSkinData.LockScaleIfJointPosition`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.Rendering.MeshSkinData.LockScaleIfJointPosition`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    /// C# member: `F:LibreMetaverse.Rendering.MeshSkinData.PelvisOffset`.
    ///
    /// C# signature: `System.Single LibreMetaverse.Rendering.MeshSkinData.PelvisOffset`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    impl MeshSkinData {
        /// C# member: `M:LibreMetaverse.Rendering.MeshSkinData.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Rendering.MeshSkinData()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn new() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            crate::animesh_skinning::MeshSkinData::native_new()
        }
    }

    /// C# type: `T:LibreMetaverse.Rendering.Path`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Rendering.Path` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct Path {
        /// C# member: `F:LibreMetaverse.Rendering.Path.Open`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Rendering.Path.Open`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub open: bool,
        /// C# member: `F:LibreMetaverse.Rendering.Path.Points`.
        ///
        /// C# signature: `System.Collections.Generic.List<LibreMetaverse.Rendering.PathPoint> LibreMetaverse.Rendering.Path.Points`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub points: Vec<libremetaverse::rendering::PathPoint>,
    }
    impl Path {}

    /// C# type: `T:LibreMetaverse.Rendering.PathPoint`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Rendering.PathPoint` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct PathPoint {
        /// C# member: `F:LibreMetaverse.Rendering.PathPoint.Position`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Rendering.PathPoint.Position`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub position: libremetaverse_types::Vector3,
        /// C# member: `F:LibreMetaverse.Rendering.PathPoint.Rotation`.
        ///
        /// C# signature: `LibreMetaverse.Quaternion LibreMetaverse.Rendering.PathPoint.Rotation`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub rotation: libremetaverse_types::Quaternion,
        /// C# member: `F:LibreMetaverse.Rendering.PathPoint.Scale`.
        ///
        /// C# signature: `LibreMetaverse.Vector2 LibreMetaverse.Rendering.PathPoint.Scale`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub scale: libremetaverse_types::Vector2,
        /// C# member: `F:LibreMetaverse.Rendering.PathPoint.TexT`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Rendering.PathPoint.TexT`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub tex_t: f32,
    }
    impl PathPoint {}

    /// C# type: `T:LibreMetaverse.Rendering.PhysicsVolumeMorphs`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Rendering.PhysicsVolumeMorphs` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    /// C# member: `M:LibreMetaverse.Rendering.PhysicsVolumeMorphs.ComputeBoneOffsets(System.Collections.Generic.Dictionary{System.Int32,System.Single},System.Collections.Generic.IReadOnlyDictionary{System.Int32,System.Single})`.
    ///
    /// C# signature: `System.Collections.Generic.Dictionary<System.String, System.Numerics.Vector3> LibreMetaverse.Rendering.PhysicsVolumeMorphs.ComputeBoneOffsets(System.Collections.Generic.Dictionary<System.Int32, System.Single> drivenWeights, System.Collections.Generic.IReadOnlyDictionary<System.Int32, System.Single> vpWeights)`.
    /// Mapping contract: ownership `owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub use crate::physics_volume_morphs::PhysicsVolumeMorphs;

    /// C# type: `T:LibreMetaverse.Rendering.PhysicsVolumeMorphs.VolumeMorph`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Rendering.PhysicsVolumeMorphs.VolumeMorph` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    /// C# member: `M:LibreMetaverse.Rendering.PhysicsVolumeMorphs.VolumeMorph.#ctor(System.String,System.Numerics.Vector3)`.
    ///
    /// C# signature: `LibreMetaverse.Rendering.PhysicsVolumeMorphs.VolumeMorph(System.String BoneName, System.Numerics.Vector3 PosDelta)`.
    /// Mapping contract: ownership `owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Rendering.PhysicsVolumeMorphs.VolumeMorph.Deconstruct(System.String@,System.Numerics.Vector3@)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Rendering.PhysicsVolumeMorphs.VolumeMorph.Deconstruct(out System.String& BoneName, out System.Numerics.Vector3& PosDelta)`.
    /// Mapping contract: ownership `mutable_self,mutable_output,mutable_output`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Rendering.PhysicsVolumeMorphs.VolumeMorph.Equals(LibreMetaverse.Rendering.PhysicsVolumeMorphs.VolumeMorph)`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.Rendering.PhysicsVolumeMorphs.VolumeMorph.Equals(LibreMetaverse.Rendering.PhysicsVolumeMorphs.VolumeMorph other)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `infallible_placeholder`; overload `descriptive_overload_name`; kind `method`.
    /// C# member: `M:LibreMetaverse.Rendering.PhysicsVolumeMorphs.VolumeMorph.Equals(System.Object)`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.Rendering.PhysicsVolumeMorphs.VolumeMorph.Equals(System.Object obj)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `infallible_placeholder`; overload `descriptive_overload_name`; kind `method`.
    /// C# member: `M:LibreMetaverse.Rendering.PhysicsVolumeMorphs.VolumeMorph.GetHashCode`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.Rendering.PhysicsVolumeMorphs.VolumeMorph.GetHashCode()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Rendering.PhysicsVolumeMorphs.VolumeMorph.ToString`.
    ///
    /// C# signature: `System.String LibreMetaverse.Rendering.PhysicsVolumeMorphs.VolumeMorph.ToString()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Rendering.PhysicsVolumeMorphs.VolumeMorph.op_Equality(LibreMetaverse.Rendering.PhysicsVolumeMorphs.VolumeMorph,LibreMetaverse.Rendering.PhysicsVolumeMorphs.VolumeMorph)`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.Rendering.PhysicsVolumeMorphs.VolumeMorph.op_Equality(LibreMetaverse.Rendering.PhysicsVolumeMorphs.VolumeMorph left, LibreMetaverse.Rendering.PhysicsVolumeMorphs.VolumeMorph right)`.
    /// Mapping contract: ownership `owned,owned`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Rendering.PhysicsVolumeMorphs.VolumeMorph.op_Inequality(LibreMetaverse.Rendering.PhysicsVolumeMorphs.VolumeMorph,LibreMetaverse.Rendering.PhysicsVolumeMorphs.VolumeMorph)`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.Rendering.PhysicsVolumeMorphs.VolumeMorph.op_Inequality(LibreMetaverse.Rendering.PhysicsVolumeMorphs.VolumeMorph left, LibreMetaverse.Rendering.PhysicsVolumeMorphs.VolumeMorph right)`.
    /// Mapping contract: ownership `owned,owned`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
    /// C# member: `P:LibreMetaverse.Rendering.PhysicsVolumeMorphs.VolumeMorph.BoneName`.
    ///
    /// C# signature: `System.String LibreMetaverse.Rendering.PhysicsVolumeMorphs.VolumeMorph.BoneName`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    /// C# member: `P:LibreMetaverse.Rendering.PhysicsVolumeMorphs.VolumeMorph.PosDelta`.
    ///
    /// C# signature: `System.Numerics.Vector3 LibreMetaverse.Rendering.PhysicsVolumeMorphs.VolumeMorph.PosDelta`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub use crate::physics_volume_morphs::PhysicsVolumeMorphsVolumeMorph;

    /// C# type: `T:LibreMetaverse.Rendering.Profile`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Rendering.Profile` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct Profile {
        /// C# member: `F:LibreMetaverse.Rendering.Profile.Concave`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Rendering.Profile.Concave`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub concave: bool,
        /// C# member: `F:LibreMetaverse.Rendering.Profile.Faces`.
        ///
        /// C# signature: `System.Collections.Generic.List<LibreMetaverse.Rendering.ProfileFace> LibreMetaverse.Rendering.Profile.Faces`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub faces: Vec<libremetaverse::rendering::ProfileFace>,
        /// C# member: `F:LibreMetaverse.Rendering.Profile.MaxX`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Rendering.Profile.MaxX`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub max_x: f32,
        /// C# member: `F:LibreMetaverse.Rendering.Profile.MinX`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Rendering.Profile.MinX`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub min_x: f32,
        /// C# member: `F:LibreMetaverse.Rendering.Profile.Open`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Rendering.Profile.Open`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub open: bool,
        /// C# member: `F:LibreMetaverse.Rendering.Profile.Positions`.
        ///
        /// C# signature: `System.Collections.Generic.List<LibreMetaverse.Vector3> LibreMetaverse.Rendering.Profile.Positions`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub positions: Vec<libremetaverse_types::Vector3>,
        /// C# member: `F:LibreMetaverse.Rendering.Profile.TotalOutsidePoints`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Rendering.Profile.TotalOutsidePoints`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub total_outside_points: i32,
    }
    impl Profile {}

    /// C# type: `T:LibreMetaverse.Rendering.ProfileFace`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Rendering.ProfileFace` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct ProfileFace {
        /// C# member: `F:LibreMetaverse.Rendering.ProfileFace.Cap`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Rendering.ProfileFace.Cap`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub cap: bool,
        /// C# member: `F:LibreMetaverse.Rendering.ProfileFace.Count`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Rendering.ProfileFace.Count`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub count: i32,
        /// C# member: `F:LibreMetaverse.Rendering.ProfileFace.Flat`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Rendering.ProfileFace.Flat`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub flat: bool,
        /// C# member: `F:LibreMetaverse.Rendering.ProfileFace.Index`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Rendering.ProfileFace.Index`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub index: i32,
        /// C# member: `F:LibreMetaverse.Rendering.ProfileFace.ScaleU`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Rendering.ProfileFace.ScaleU`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub scale_u: f32,
        /// C# member: `F:LibreMetaverse.Rendering.ProfileFace.Type`.
        ///
        /// C# signature: `LibreMetaverse.Rendering.FaceType LibreMetaverse.Rendering.ProfileFace.Type`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub type_: libremetaverse::rendering::FaceType,
    }
    impl ProfileFace {
        /// C# member: `M:LibreMetaverse.Rendering.ProfileFace.ToString`.
        ///
        /// C# signature: `System.String LibreMetaverse.Rendering.ProfileFace.ToString()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
        pub fn to_string(&self) -> String {
            /* reviewed native compatibility body */
            format!("{:?}", self.type_)
        }
    }

    /// C# type: `T:LibreMetaverse.Rendering.RendererNameAttribute`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Rendering.RendererNameAttribute` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    /// C# member: `M:LibreMetaverse.Rendering.RendererNameAttribute.#ctor(System.String)`.
    ///
    /// C# signature: `LibreMetaverse.Rendering.RendererNameAttribute(System.String name)`.
    /// Mapping contract: ownership `owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Rendering.RendererNameAttribute.ToString`.
    ///
    /// C# signature: `System.String LibreMetaverse.Rendering.RendererNameAttribute.ToString()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
    pub use crate::rendering_metadata::RendererNameAttribute;

    /// C# type: `T:LibreMetaverse.Rendering.RenderingException`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Rendering.RenderingException` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    /// C# member: `M:LibreMetaverse.Rendering.RenderingException.#ctor(System.String)`.
    ///
    /// C# signature: `LibreMetaverse.Rendering.RenderingException(System.String message)`.
    /// Mapping contract: ownership `owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    /// C# member: `M:LibreMetaverse.Rendering.RenderingException.#ctor(System.String,System.Exception)`.
    ///
    /// C# signature: `LibreMetaverse.Rendering.RenderingException(System.String message, System.Exception innerException)`.
    /// Mapping contract: ownership `owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub use crate::port_errors::RenderingException;

    /// C# type: `T:LibreMetaverse.Rendering.RenderingLoader`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Rendering.RenderingLoader` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct RenderingLoader;
    impl RenderingLoader {
        /// C# member: `M:LibreMetaverse.Rendering.RenderingLoader.ListRenderers(System.String)`.
        ///
        /// C# signature: `System.Collections.Generic.List<System.String> LibreMetaverse.Rendering.RenderingLoader.ListRenderers(System.String path)`.
        /// Mapping contract: ownership `owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn list_renderers(path: String) -> Result<Vec<String>, crate::Error> {
            /* reviewed native compatibility body */
            crate::rendering_loader::list_renderers(&path)
        }
        /// C# member: `M:LibreMetaverse.Rendering.RenderingLoader.LoadRenderer(System.String)`.
        ///
        /// C# signature: `LibreMetaverse.Rendering.IRendering LibreMetaverse.Rendering.RenderingLoader.LoadRenderer(System.String filename)`.
        /// Mapping contract: ownership `owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn load_renderer(
            filename: String,
        ) -> Result<Box<dyn libremetaverse::rendering::IRendering>, crate::Error> {
            /* reviewed native compatibility body */
            crate::rendering_loader::load_renderer(&filename)
        }
    }

    /// C# type: `T:LibreMetaverse.Rendering.RiggedSkinMath`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Rendering.RiggedSkinMath` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub use crate::avatar_rig::RiggedSkinMath;
    impl RiggedSkinMath {
        /// C# member: `M:LibreMetaverse.Rendering.RiggedSkinMath.BuildInvBindMatrices(LibreMetaverse.Rendering.MeshSkinData)`.
        ///
        /// C# signature: `System.Numerics.Matrix4x4[] LibreMetaverse.Rendering.RiggedSkinMath.BuildInvBindMatrices(LibreMetaverse.Rendering.MeshSkinData skin)`.
        /// Mapping contract: ownership `owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn build_inv_bind_matrices(
            skin: libremetaverse::rendering::MeshSkinData,
        ) -> Result<Vec<libremetaverse_types::compat::Matrix4x4>, crate::Error> {
            /* reviewed native compatibility body */
            crate::avatar_rig::RiggedSkinMath::native_build_inv_bind_matrices(&skin)
        }
        /// C# member: `M:LibreMetaverse.Rendering.RiggedSkinMath.ExtractJointPositionOverrides(LibreMetaverse.Rendering.MeshSkinData)`.
        ///
        /// C# signature: `System.ValueTuple<System.String, System.Numerics.Vector3>[] LibreMetaverse.Rendering.RiggedSkinMath.ExtractJointPositionOverrides(LibreMetaverse.Rendering.MeshSkinData skin)`.
        /// Mapping contract: ownership `owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn extract_joint_position_overrides(
            skin: libremetaverse::rendering::MeshSkinData,
        ) -> Result<Vec<(String, libremetaverse_types::compat::Vector3)>, crate::Error> {
            /* reviewed native compatibility body */
            crate::avatar_rig::RiggedSkinMath::native_extract_joint_position_overrides(&skin)
        }
        /// C# member: `M:LibreMetaverse.Rendering.RiggedSkinMath.FloatsToMatrix(System.Single[])`.
        ///
        /// C# signature: `System.Numerics.Matrix4x4 LibreMetaverse.Rendering.RiggedSkinMath.FloatsToMatrix(System.Single[] f)`.
        /// Mapping contract: ownership `owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn floats_to_matrix(
            f: Vec<f32>,
        ) -> Result<libremetaverse_types::compat::Matrix4x4, crate::Error> {
            /* reviewed native compatibility body */
            Ok(crate::avatar_rig::RiggedSkinMath::native_floats_to_matrix(
                &f,
            ))
        }
        /// C# member: `M:LibreMetaverse.Rendering.RiggedSkinMath.NormalizeSkinWeights(System.Int32,System.Int32@,System.Single@,System.Int32@,System.Single@,System.Int32@,System.Single@,System.Int32@,System.Single@)`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Rendering.RiggedSkinMath.NormalizeSkinWeights(System.Int32 jointCount, ref System.Int32& j0, ref System.Single& w0, ref System.Int32& j1, ref System.Single& w1, ref System.Int32& j2, ref System.Single& w2, ref System.Int32& j3, ref System.Single& w3)`.
        /// Mapping contract: ownership `owned,mutable_borrow,mutable_borrow,mutable_borrow,mutable_borrow,mutable_borrow,mutable_borrow,mutable_borrow,mutable_borrow`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn normalize_skin_weights(
            joint_count: i32,
            j0: &mut i32,
            w0: &mut f32,
            j1: &mut i32,
            w1: &mut f32,
            j2: &mut i32,
            w2: &mut f32,
            j3: &mut i32,
            w3: &mut f32,
        ) -> Result<(), crate::Error> {
            /* reviewed native compatibility body */
            crate::avatar_rig::RiggedSkinMath::native_normalize_skin_weights(
                joint_count,
                [j0, j1, j2, j3],
                [w0, w1, w2, w3],
            );
            Ok(())
        }
    }

    /// C# type: `T:LibreMetaverse.Rendering.SimpleMesh`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Rendering.SimpleMesh` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct SimpleMesh {
        /// C# member: `F:LibreMetaverse.Rendering.SimpleMesh.Indices`.
        ///
        /// C# signature: `System.Collections.Generic.List<System.UInt16> LibreMetaverse.Rendering.SimpleMesh.Indices`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub indices: Vec<u16>,
        /// C# member: `F:LibreMetaverse.Rendering.SimpleMesh.Vertices`.
        ///
        /// C# signature: `System.Collections.Generic.List<LibreMetaverse.Rendering.Vertex> LibreMetaverse.Rendering.SimpleMesh.Vertices`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub vertices: Vec<libremetaverse::rendering::Vertex>,
    }
    impl SimpleMesh {
        /// C# member: `M:LibreMetaverse.Rendering.SimpleMesh.#ctor`.
        ///
        /// C# signature: `LibreMetaverse.Rendering.SimpleMesh()`.
        /// Mapping contract: ownership `none`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_constructor() -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(Self {
                indices: Vec::new(),
                vertices: Vec::new(),
            })
        }
        /// C# member: `M:LibreMetaverse.Rendering.SimpleMesh.#ctor(LibreMetaverse.Rendering.SimpleMesh)`.
        ///
        /// C# signature: `LibreMetaverse.Rendering.SimpleMesh(LibreMetaverse.Rendering.SimpleMesh mesh)`.
        /// Mapping contract: ownership `owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
        pub fn new_with_simple_mesh(
            mesh: libremetaverse::rendering::SimpleMesh,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Ok(Self {
                indices: mesh.indices,
                vertices: mesh.vertices,
            })
        }
    }

    /// C# type: `T:LibreMetaverse.Rendering.Vertex`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Rendering.Vertex` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct Vertex {
        /// C# member: `F:LibreMetaverse.Rendering.Vertex.Normal`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Rendering.Vertex.Normal`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub normal: libremetaverse_types::Vector3,
        /// C# member: `F:LibreMetaverse.Rendering.Vertex.Position`.
        ///
        /// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Rendering.Vertex.Position`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub position: libremetaverse_types::Vector3,
        /// C# member: `F:LibreMetaverse.Rendering.Vertex.TexCoord`.
        ///
        /// C# signature: `LibreMetaverse.Vector2 LibreMetaverse.Rendering.Vertex.TexCoord`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub tex_coord: libremetaverse_types::Vector2,
    }
    impl Vertex {
        /// C# member: `M:LibreMetaverse.Rendering.Vertex.Equals(LibreMetaverse.Rendering.Vertex)`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Rendering.Vertex.Equals(LibreMetaverse.Rendering.Vertex other)`.
        /// Mapping contract: ownership `shared_self,owned`; async `sync`;
        /// errors `infallible_placeholder`; overload `descriptive_overload_name`; kind `method`.
        pub fn equals_with_vertex(&self, other: libremetaverse::rendering::Vertex) -> bool {
            /* reviewed native compatibility body */
            self.position == other.position
                && self.normal == other.normal
                && self.tex_coord == other.tex_coord
        }
        /// C# member: `M:LibreMetaverse.Rendering.Vertex.Equals(System.Object)`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Rendering.Vertex.Equals(System.Object obj)`.
        /// Mapping contract: ownership `shared_self,owned`; async `sync`;
        /// errors `infallible_placeholder`; overload `descriptive_overload_name`; kind `method`.
        pub fn equals_with_object(
            &self,
            obj: Option<libremetaverse_types::compat::Object>,
        ) -> bool {
            /* reviewed native compatibility body */
            obj.as_ref()
                .and_then(|value| value.downcast_ref::<libremetaverse::rendering::Vertex>())
                .is_some_and(|other| {
                    self.position == other.position
                        && self.normal == other.normal
                        && self.tex_coord == other.tex_coord
                })
        }
        /// C# member: `M:LibreMetaverse.Rendering.Vertex.GetHashCode`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Rendering.Vertex.GetHashCode()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
        pub fn get_hash_code(&self) -> i32 {
            /* reviewed native compatibility body */
            self.position
                .get_hash_code()
                .wrapping_mul(31)
                .wrapping_add(self.normal.get_hash_code())
                .wrapping_mul(31)
                .wrapping_add(self.tex_coord.get_hash_code())
        }
        /// C# member: `M:LibreMetaverse.Rendering.Vertex.ToString`.
        ///
        /// C# signature: `System.String LibreMetaverse.Rendering.Vertex.ToString()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
        pub fn to_string(&self) -> String {
            /* reviewed native compatibility body */
            format!(
                "P: {} N: {} T: {}",
                self.position.to_string(),
                self.normal.to_string(),
                self.tex_coord.to_string()
            )
        }
        /// C# member: `M:LibreMetaverse.Rendering.Vertex.op_Equality(LibreMetaverse.Rendering.Vertex,LibreMetaverse.Rendering.Vertex)`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Rendering.Vertex.op_Equality(LibreMetaverse.Rendering.Vertex value1, LibreMetaverse.Rendering.Vertex value2)`.
        /// Mapping contract: ownership `owned,owned`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
        pub fn eq(
            value1: libremetaverse::rendering::Vertex,
            value2: libremetaverse::rendering::Vertex,
        ) -> bool {
            /* reviewed native compatibility body */
            value1.position == value2.position
                && value1.normal == value2.normal
                && value1.tex_coord == value2.tex_coord
        }
        /// C# member: `M:LibreMetaverse.Rendering.Vertex.op_Inequality(LibreMetaverse.Rendering.Vertex,LibreMetaverse.Rendering.Vertex)`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Rendering.Vertex.op_Inequality(LibreMetaverse.Rendering.Vertex value1, LibreMetaverse.Rendering.Vertex value2)`.
        /// Mapping contract: ownership `owned,owned`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
        pub fn ne(
            value1: libremetaverse::rendering::Vertex,
            value2: libremetaverse::rendering::Vertex,
        ) -> bool {
            /* reviewed native compatibility body */
            !(value1.position == value2.position
                && value1.normal == value2.normal
                && value1.tex_coord == value2.tex_coord)
        }
    }

    /// C# type: `T:LibreMetaverse.Rendering.VertexWeight`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Rendering.VertexWeight` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub struct VertexWeight {
        /// C# member: `F:LibreMetaverse.Rendering.VertexWeight.Joint0`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Rendering.VertexWeight.Joint0`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub joint0: i32,
        /// C# member: `F:LibreMetaverse.Rendering.VertexWeight.Joint1`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Rendering.VertexWeight.Joint1`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub joint1: i32,
        /// C# member: `F:LibreMetaverse.Rendering.VertexWeight.Joint2`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Rendering.VertexWeight.Joint2`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub joint2: i32,
        /// C# member: `F:LibreMetaverse.Rendering.VertexWeight.Joint3`.
        ///
        /// C# signature: `System.Int32 LibreMetaverse.Rendering.VertexWeight.Joint3`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub joint3: i32,
        /// C# member: `F:LibreMetaverse.Rendering.VertexWeight.Weight0`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Rendering.VertexWeight.Weight0`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub weight0: f32,
        /// C# member: `F:LibreMetaverse.Rendering.VertexWeight.Weight1`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Rendering.VertexWeight.Weight1`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub weight1: f32,
        /// C# member: `F:LibreMetaverse.Rendering.VertexWeight.Weight2`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Rendering.VertexWeight.Weight2`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub weight2: f32,
        /// C# member: `F:LibreMetaverse.Rendering.VertexWeight.Weight3`.
        ///
        /// C# signature: `System.Single LibreMetaverse.Rendering.VertexWeight.Weight3`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        pub weight3: f32,
    }
    impl VertexWeight {}
}

pub mod stats {
    /// C# type: `T:LibreMetaverse.Stats.Type`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Stats.Type` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    #[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
    #[repr(i32)]
    pub enum Type {
        /// C# member: `F:LibreMetaverse.Stats.Type.Message`.
        ///
        /// C# signature: `LibreMetaverse.Stats.Type LibreMetaverse.Stats.Type.Message`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        Message = 1,
        /// C# member: `F:LibreMetaverse.Stats.Type.Packet`.
        ///
        /// C# signature: `LibreMetaverse.Stats.Type LibreMetaverse.Stats.Type.Packet`.
        /// Mapping contract: ownership `owned_value`; async `sync`;
        /// errors `none`; overload `direct_snake_case`; kind `direct`.
        Packet = 0,
    }

    /// C# type: `T:LibreMetaverse.Stats.UtilizationStatistics`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Stats.UtilizationStatistics` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    /// C# member: `M:LibreMetaverse.Stats.UtilizationStatistics.#ctor`.
    ///
    /// C# signature: `LibreMetaverse.Stats.UtilizationStatistics()`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Stats.UtilizationStatistics.GetStatistics`.
    ///
    /// C# signature: `System.Collections.Generic.Dictionary<System.String, LibreMetaverse.Stats.UtilizationStatistics.Stat> LibreMetaverse.Stats.UtilizationStatistics.GetStatistics()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub use crate::statistics_runtime::UtilizationStatistics;

    /// C# type: `T:LibreMetaverse.Stats.UtilizationStatistics.Stat`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Stats.UtilizationStatistics.Stat` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    /// C# member: `M:LibreMetaverse.Stats.UtilizationStatistics.Stat.#ctor`.
    ///
    /// C# signature: `LibreMetaverse.Stats.UtilizationStatistics.Stat()`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `P:LibreMetaverse.Stats.UtilizationStatistics.Stat.RxBytes`.
    ///
    /// C# signature: `System.Int64 LibreMetaverse.Stats.UtilizationStatistics.Stat.RxBytes`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    /// C# member: `P:LibreMetaverse.Stats.UtilizationStatistics.Stat.RxCount`.
    ///
    /// C# signature: `System.Int64 LibreMetaverse.Stats.UtilizationStatistics.Stat.RxCount`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    /// C# member: `P:LibreMetaverse.Stats.UtilizationStatistics.Stat.TxBytes`.
    ///
    /// C# signature: `System.Int64 LibreMetaverse.Stats.UtilizationStatistics.Stat.TxBytes`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    /// C# member: `P:LibreMetaverse.Stats.UtilizationStatistics.Stat.TxCount`.
    ///
    /// C# signature: `System.Int64 LibreMetaverse.Stats.UtilizationStatistics.Stat.TxCount`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    /// C# member: `P:LibreMetaverse.Stats.UtilizationStatistics.Stat.Type`.
    ///
    /// C# signature: `LibreMetaverse.Stats.Type LibreMetaverse.Stats.UtilizationStatistics.Stat.Type`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub use crate::statistics_runtime::UtilizationStatisticsStat;
}

pub mod threading {
    /// C# type: `T:LibreMetaverse.Threading.IEventWait`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Threading.IEventWait` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    /// C# member: `M:LibreMetaverse.Threading.IEventWait.Reset`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Threading.IEventWait.Reset()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Threading.IEventWait.Set`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Threading.IEventWait.Set()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Threading.IEventWait.WaitOne`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Threading.IEventWait.WaitOne()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    /// C# member: `M:LibreMetaverse.Threading.IEventWait.WaitOne(System.Int32)`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.Threading.IEventWait.WaitOne(System.Int32 millisecondsTimeout)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    /// C# member: `M:LibreMetaverse.Threading.IEventWait.WaitOne(System.TimeSpan)`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.Threading.IEventWait.WaitOne(System.TimeSpan timeout)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub use crate::threading_runtime::IEventWait;

    /// C# type: `T:LibreMetaverse.Threading.IReaderWriterLock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Threading.IReaderWriterLock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub trait IReaderWriterLock {
        /// C# member: `M:LibreMetaverse.Threading.IReaderWriterLock.ReadLock`.
        ///
        /// C# signature: `System.IDisposable LibreMetaverse.Threading.IReaderWriterLock.ReadLock()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        fn read_lock(&self) -> Result<Box<dyn libremetaverse_types::compat::Close>, crate::Error>;
        /// C# member: `M:LibreMetaverse.Threading.IReaderWriterLock.UpgradeableLock`.
        ///
        /// C# signature: `LibreMetaverse.Threading.Disposers.IUpgradeableLock LibreMetaverse.Threading.IReaderWriterLock.UpgradeableLock()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        fn upgradeable_lock(
            &self,
        ) -> Result<Box<dyn libremetaverse::threading::disposers::IUpgradeableLock>, crate::Error>;
        /// C# member: `M:LibreMetaverse.Threading.IReaderWriterLock.WriteLock`.
        ///
        /// C# signature: `System.IDisposable LibreMetaverse.Threading.IReaderWriterLock.WriteLock()`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        fn write_lock(&self) -> Result<Box<dyn libremetaverse_types::compat::Close>, crate::Error>;
    }

    /// C# type: `T:LibreMetaverse.Threading.IReaderWriterLockSlim`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Threading.IReaderWriterLockSlim` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    /// C# member: `M:LibreMetaverse.Threading.IReaderWriterLockSlim.EnterReadLock`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Threading.IReaderWriterLockSlim.EnterReadLock()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Threading.IReaderWriterLockSlim.EnterUpgradeableLock`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Threading.IReaderWriterLockSlim.EnterUpgradeableLock()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Threading.IReaderWriterLockSlim.EnterWriteLock`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Threading.IReaderWriterLockSlim.EnterWriteLock()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Threading.IReaderWriterLockSlim.ExitReadLock`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Threading.IReaderWriterLockSlim.ExitReadLock()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Threading.IReaderWriterLockSlim.ExitUpgradeableLock(System.Boolean)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Threading.IReaderWriterLockSlim.ExitUpgradeableLock(System.Boolean upgraded)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Threading.IReaderWriterLockSlim.ExitWriteLock`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Threading.IReaderWriterLockSlim.ExitWriteLock()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Threading.IReaderWriterLockSlim.UncheckedExitUpgradeableLock`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Threading.IReaderWriterLockSlim.UncheckedExitUpgradeableLock()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Threading.IReaderWriterLockSlim.UncheckedExitUpgradedLock`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Threading.IReaderWriterLockSlim.UncheckedExitUpgradedLock()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Threading.IReaderWriterLockSlim.UncheckedUpgradeToWriteLock`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Threading.IReaderWriterLockSlim.UncheckedUpgradeToWriteLock()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Threading.IReaderWriterLockSlim.UpgradeToWriteLock(System.Boolean@)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Threading.IReaderWriterLockSlim.UpgradeToWriteLock(ref System.Boolean& upgraded)`.
    /// Mapping contract: ownership `shared_self,mutable_borrow`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub use crate::threading_runtime::IReaderWriterLockSlim;

    /// C# type: `T:LibreMetaverse.Threading.ManagedAutoResetEvent`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Threading.ManagedAutoResetEvent` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    /// C# member: `M:LibreMetaverse.Threading.ManagedAutoResetEvent.#ctor`.
    ///
    /// C# signature: `LibreMetaverse.Threading.ManagedAutoResetEvent()`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    /// C# member: `M:LibreMetaverse.Threading.ManagedAutoResetEvent.#ctor(System.Boolean)`.
    ///
    /// C# signature: `LibreMetaverse.Threading.ManagedAutoResetEvent(System.Boolean initialState)`.
    /// Mapping contract: ownership `owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    /// C# member: `M:LibreMetaverse.Threading.ManagedAutoResetEvent.Dispose`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Threading.ManagedAutoResetEvent.Dispose()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Threading.ManagedAutoResetEvent.Reset`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Threading.ManagedAutoResetEvent.Reset()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Threading.ManagedAutoResetEvent.Set`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Threading.ManagedAutoResetEvent.Set()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Threading.ManagedAutoResetEvent.WaitOne`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Threading.ManagedAutoResetEvent.WaitOne()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    /// C# member: `M:LibreMetaverse.Threading.ManagedAutoResetEvent.WaitOne(System.Int32)`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.Threading.ManagedAutoResetEvent.WaitOne(System.Int32 millisecondsTimeout)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    /// C# member: `M:LibreMetaverse.Threading.ManagedAutoResetEvent.WaitOne(System.TimeSpan)`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.Threading.ManagedAutoResetEvent.WaitOne(System.TimeSpan timeout)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    /// C# member: `P:LibreMetaverse.Threading.ManagedAutoResetEvent.IsSet`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.Threading.ManagedAutoResetEvent.IsSet`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    /// C# member: `P:LibreMetaverse.Threading.ManagedAutoResetEvent.WasDisposed`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.Threading.ManagedAutoResetEvent.WasDisposed`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub use crate::threading_runtime::ManagedAutoResetEvent;

    /// C# type: `T:LibreMetaverse.Threading.ManagedManualResetEvent`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Threading.ManagedManualResetEvent` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    /// C# member: `M:LibreMetaverse.Threading.ManagedManualResetEvent.#ctor`.
    ///
    /// C# signature: `LibreMetaverse.Threading.ManagedManualResetEvent()`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    /// C# member: `M:LibreMetaverse.Threading.ManagedManualResetEvent.#ctor(System.Boolean)`.
    ///
    /// C# signature: `LibreMetaverse.Threading.ManagedManualResetEvent(System.Boolean initialState)`.
    /// Mapping contract: ownership `owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    /// C# member: `M:LibreMetaverse.Threading.ManagedManualResetEvent.Dispose`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Threading.ManagedManualResetEvent.Dispose()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Threading.ManagedManualResetEvent.Reset`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Threading.ManagedManualResetEvent.Reset()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Threading.ManagedManualResetEvent.Set`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Threading.ManagedManualResetEvent.Set()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Threading.ManagedManualResetEvent.WaitOne`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Threading.ManagedManualResetEvent.WaitOne()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    /// C# member: `M:LibreMetaverse.Threading.ManagedManualResetEvent.WaitOne(System.Int32)`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.Threading.ManagedManualResetEvent.WaitOne(System.Int32 millisecondsTimeout)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    /// C# member: `M:LibreMetaverse.Threading.ManagedManualResetEvent.WaitOne(System.TimeSpan)`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.Threading.ManagedManualResetEvent.WaitOne(System.TimeSpan timeout)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    /// C# member: `P:LibreMetaverse.Threading.ManagedManualResetEvent.IsSet`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.Threading.ManagedManualResetEvent.IsSet`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    /// C# member: `P:LibreMetaverse.Threading.ManagedManualResetEvent.WasDisposed`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.Threading.ManagedManualResetEvent.WasDisposed`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub use crate::threading_runtime::ManagedManualResetEvent;

    /// C# type: `T:LibreMetaverse.Threading.ManagedSemaphore`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Threading.ManagedSemaphore` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    /// C# member: `M:LibreMetaverse.Threading.ManagedSemaphore.#ctor(System.Int32)`.
    ///
    /// C# signature: `LibreMetaverse.Threading.ManagedSemaphore(System.Int32 availableCount)`.
    /// Mapping contract: ownership `owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Threading.ManagedSemaphore.Dispose`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Threading.ManagedSemaphore.Dispose()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Threading.ManagedSemaphore.Enter`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Threading.ManagedSemaphore.Enter()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    /// C# member: `M:LibreMetaverse.Threading.ManagedSemaphore.Enter(System.Int32)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Threading.ManagedSemaphore.Enter(System.Int32 count)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    /// C# member: `M:LibreMetaverse.Threading.ManagedSemaphore.Exit`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Threading.ManagedSemaphore.Exit()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    /// C# member: `M:LibreMetaverse.Threading.ManagedSemaphore.Exit(System.Int32)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Threading.ManagedSemaphore.Exit(System.Int32 count)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    /// C# member: `P:LibreMetaverse.Threading.ManagedSemaphore.WasDisposed`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.Threading.ManagedSemaphore.WasDisposed`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub use crate::threading_runtime::ManagedSemaphore;

    /// C# type: `T:LibreMetaverse.Threading.OptimisticReaderWriterLock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Threading.OptimisticReaderWriterLock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    /// C# member: `M:LibreMetaverse.Threading.OptimisticReaderWriterLock.#ctor`.
    ///
    /// C# signature: `LibreMetaverse.Threading.OptimisticReaderWriterLock()`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Threading.OptimisticReaderWriterLock.EnterReadLock`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Threading.OptimisticReaderWriterLock.EnterReadLock()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Threading.OptimisticReaderWriterLock.EnterUpgradeableLock`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Threading.OptimisticReaderWriterLock.EnterUpgradeableLock()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Threading.OptimisticReaderWriterLock.EnterWriteLock`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Threading.OptimisticReaderWriterLock.EnterWriteLock()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Threading.OptimisticReaderWriterLock.ExitReadLock`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Threading.OptimisticReaderWriterLock.ExitReadLock()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Threading.OptimisticReaderWriterLock.ExitUpgradeableLock(System.Boolean)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Threading.OptimisticReaderWriterLock.ExitUpgradeableLock(System.Boolean upgraded)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Threading.OptimisticReaderWriterLock.ExitWriteLock`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Threading.OptimisticReaderWriterLock.ExitWriteLock()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Threading.OptimisticReaderWriterLock.ReadLock`.
    ///
    /// C# signature: `LibreMetaverse.Threading.Disposers.OptimisticReadLock LibreMetaverse.Threading.OptimisticReaderWriterLock.ReadLock()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Threading.OptimisticReaderWriterLock.UncheckedExitUpgradeableLock`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Threading.OptimisticReaderWriterLock.UncheckedExitUpgradeableLock()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Threading.OptimisticReaderWriterLock.UncheckedExitUpgradedLock`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Threading.OptimisticReaderWriterLock.UncheckedExitUpgradedLock()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Threading.OptimisticReaderWriterLock.UncheckedUpgradeToWriteLock`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Threading.OptimisticReaderWriterLock.UncheckedUpgradeToWriteLock()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Threading.OptimisticReaderWriterLock.UpgradeToWriteLock(System.Boolean@)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Threading.OptimisticReaderWriterLock.UpgradeToWriteLock(ref System.Boolean& upgraded)`.
    /// Mapping contract: ownership `shared_self,mutable_borrow`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Threading.OptimisticReaderWriterLock.UpgradeableLock`.
    ///
    /// C# signature: `LibreMetaverse.Threading.Disposers.OptimisticUpgradeableLock LibreMetaverse.Threading.OptimisticReaderWriterLock.UpgradeableLock()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Threading.OptimisticReaderWriterLock.WriteLock`.
    ///
    /// C# signature: `LibreMetaverse.Threading.Disposers.OptimisticWriteLock LibreMetaverse.Threading.OptimisticReaderWriterLock.WriteLock()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub use crate::threading_runtime::OptimisticReaderWriterLock;

    /// C# type: `T:LibreMetaverse.Threading.SpinLockSlim`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Threading.SpinLockSlim` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    /// C# member: `M:LibreMetaverse.Threading.SpinLockSlim.Enter`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Threading.SpinLockSlim.Enter()`.
    /// Mapping contract: ownership `mutable_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Threading.SpinLockSlim.Exit`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Threading.SpinLockSlim.Exit()`.
    /// Mapping contract: ownership `mutable_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub use crate::threading_runtime::SpinLockSlim;

    /// C# type: `T:LibreMetaverse.Threading.SpinReaderWriterLock`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Threading.SpinReaderWriterLock` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    /// C# member: `M:LibreMetaverse.Threading.SpinReaderWriterLock.#ctor`.
    ///
    /// C# signature: `LibreMetaverse.Threading.SpinReaderWriterLock()`.
    /// Mapping contract: ownership `none`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Threading.SpinReaderWriterLock.ReadLock`.
    ///
    /// C# signature: `LibreMetaverse.Threading.Disposers.SpinReadLock LibreMetaverse.Threading.SpinReaderWriterLock.ReadLock()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Threading.SpinReaderWriterLock.UpgradeableLock`.
    ///
    /// C# signature: `LibreMetaverse.Threading.Disposers.SpinUpgradeableLock LibreMetaverse.Threading.SpinReaderWriterLock.UpgradeableLock()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Threading.SpinReaderWriterLock.WriteLock`.
    ///
    /// C# signature: `LibreMetaverse.Threading.Disposers.SpinWriteLock LibreMetaverse.Threading.SpinReaderWriterLock.WriteLock()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub use crate::threading_runtime::SpinReaderWriterLock;

    /// C# type: `T:LibreMetaverse.Threading.SpinReaderWriterLockSlim`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Threading.SpinReaderWriterLockSlim` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    /// C# member: `M:LibreMetaverse.Threading.SpinReaderWriterLockSlim.EnterReadLock`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Threading.SpinReaderWriterLockSlim.EnterReadLock()`.
    /// Mapping contract: ownership `mutable_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Threading.SpinReaderWriterLockSlim.EnterUpgradeableLock`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Threading.SpinReaderWriterLockSlim.EnterUpgradeableLock()`.
    /// Mapping contract: ownership `mutable_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Threading.SpinReaderWriterLockSlim.EnterWriteLock`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Threading.SpinReaderWriterLockSlim.EnterWriteLock()`.
    /// Mapping contract: ownership `mutable_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Threading.SpinReaderWriterLockSlim.ExitReadLock`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Threading.SpinReaderWriterLockSlim.ExitReadLock()`.
    /// Mapping contract: ownership `mutable_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Threading.SpinReaderWriterLockSlim.ExitUpgradeableLock(System.Boolean)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Threading.SpinReaderWriterLockSlim.ExitUpgradeableLock(System.Boolean upgraded)`.
    /// Mapping contract: ownership `mutable_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Threading.SpinReaderWriterLockSlim.ExitWriteLock`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Threading.SpinReaderWriterLockSlim.ExitWriteLock()`.
    /// Mapping contract: ownership `mutable_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Threading.SpinReaderWriterLockSlim.UncheckedExitUpgradeableLock`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Threading.SpinReaderWriterLockSlim.UncheckedExitUpgradeableLock()`.
    /// Mapping contract: ownership `mutable_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Threading.SpinReaderWriterLockSlim.UncheckedExitUpgradedLock`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Threading.SpinReaderWriterLockSlim.UncheckedExitUpgradedLock()`.
    /// Mapping contract: ownership `mutable_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Threading.SpinReaderWriterLockSlim.UncheckedUpgradeToWriteLock`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Threading.SpinReaderWriterLockSlim.UncheckedUpgradeToWriteLock()`.
    /// Mapping contract: ownership `mutable_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.Threading.SpinReaderWriterLockSlim.UpgradeToWriteLock(System.Boolean@)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.Threading.SpinReaderWriterLockSlim.UpgradeToWriteLock(ref System.Boolean& upgraded)`.
    /// Mapping contract: ownership `mutable_self,mutable_borrow`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub use crate::threading_runtime::SpinReaderWriterLockSlim;

    /// C# type: `T:LibreMetaverse.Threading.WaitHandleAsyncFactory`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.Threading.WaitHandleAsyncFactory` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    /// C# member: `M:LibreMetaverse.Threading.WaitHandleAsyncFactory.FromWaitHandle(System.Threading.WaitHandle)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task LibreMetaverse.Threading.WaitHandleAsyncFactory.FromWaitHandle(System.Threading.WaitHandle handle)`.
    /// Mapping contract: ownership `owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    /// C# member: `M:LibreMetaverse.Threading.WaitHandleAsyncFactory.FromWaitHandle(System.Threading.WaitHandle,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task LibreMetaverse.Threading.WaitHandleAsyncFactory.FromWaitHandle(System.Threading.WaitHandle handle, System.Threading.CancellationToken token)`.
    /// Mapping contract: ownership `owned,owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    /// C# member: `M:LibreMetaverse.Threading.WaitHandleAsyncFactory.FromWaitHandle(System.Threading.WaitHandle,System.TimeSpan)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<System.Boolean> LibreMetaverse.Threading.WaitHandleAsyncFactory.FromWaitHandle(System.Threading.WaitHandle handle, System.TimeSpan timeout)`.
    /// Mapping contract: ownership `owned,owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    /// C# member: `M:LibreMetaverse.Threading.WaitHandleAsyncFactory.FromWaitHandle(System.Threading.WaitHandle,System.TimeSpan,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<System.Boolean> LibreMetaverse.Threading.WaitHandleAsyncFactory.FromWaitHandle(System.Threading.WaitHandle handle, System.TimeSpan timeout, System.Threading.CancellationToken token)`.
    /// Mapping contract: ownership `owned,owned,owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub use crate::threading_runtime::WaitHandleAsyncFactory;

    pub mod disposers {
        /// C# type: `T:LibreMetaverse.Threading.Disposers.IAdvancedDisposable`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Threading.Disposers.IAdvancedDisposable` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        /// C# member: `P:LibreMetaverse.Threading.Disposers.IAdvancedDisposable.WasDisposed`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Threading.Disposers.IAdvancedDisposable.WasDisposed`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub use crate::threading_runtime::IAdvancedDisposable;

        /// C# type: `T:LibreMetaverse.Threading.Disposers.IUpgradeableLock`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Threading.Disposers.IUpgradeableLock` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        pub trait IUpgradeableLock {
            /// C# member: `M:LibreMetaverse.Threading.Disposers.IUpgradeableLock.DisposableUpgrade`.
            ///
            /// C# signature: `System.IDisposable LibreMetaverse.Threading.Disposers.IUpgradeableLock.DisposableUpgrade()`.
            /// Mapping contract: ownership `shared_self`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            fn disposable_upgrade(
                &self,
            ) -> Result<Box<dyn libremetaverse_types::compat::Close>, crate::Error>;
            /// C# member: `M:LibreMetaverse.Threading.Disposers.IUpgradeableLock.Upgrade`.
            ///
            /// C# signature: `System.Boolean LibreMetaverse.Threading.Disposers.IUpgradeableLock.Upgrade()`.
            /// Mapping contract: ownership `shared_self`; async `sync`;
            /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
            fn upgrade(&self) -> Result<bool, crate::Error>;
        }

        /// C# type: `T:LibreMetaverse.Threading.Disposers.OptimisticReadLock`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Threading.Disposers.OptimisticReadLock` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        /// C# member: `M:LibreMetaverse.Threading.Disposers.OptimisticReadLock.Dispose`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Threading.Disposers.OptimisticReadLock.Dispose()`.
        /// Mapping contract: ownership `mutable_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub use crate::threading_runtime::OptimisticReadLock;

        /// C# type: `T:LibreMetaverse.Threading.Disposers.OptimisticUpgradeableLock`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Threading.Disposers.OptimisticUpgradeableLock` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        /// C# member: `M:LibreMetaverse.Threading.Disposers.OptimisticUpgradeableLock.DisposableUpgrade`.
        ///
        /// C# signature: `LibreMetaverse.Threading.Disposers.OptimisticWriteLock LibreMetaverse.Threading.Disposers.OptimisticUpgradeableLock.DisposableUpgrade()`.
        /// Mapping contract: ownership `mutable_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        /// C# member: `M:LibreMetaverse.Threading.Disposers.OptimisticUpgradeableLock.Dispose`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Threading.Disposers.OptimisticUpgradeableLock.Dispose()`.
        /// Mapping contract: ownership `mutable_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        /// C# member: `M:LibreMetaverse.Threading.Disposers.OptimisticUpgradeableLock.Upgrade`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Threading.Disposers.OptimisticUpgradeableLock.Upgrade()`.
        /// Mapping contract: ownership `mutable_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub use crate::threading_runtime::OptimisticUpgradeableLock;

        /// C# type: `T:LibreMetaverse.Threading.Disposers.OptimisticWriteLock`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Threading.Disposers.OptimisticWriteLock` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        /// C# member: `M:LibreMetaverse.Threading.Disposers.OptimisticWriteLock.Dispose`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Threading.Disposers.OptimisticWriteLock.Dispose()`.
        /// Mapping contract: ownership `mutable_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub use crate::threading_runtime::OptimisticWriteLock;

        /// C# type: `T:LibreMetaverse.Threading.Disposers.SpinReadLock`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Threading.Disposers.SpinReadLock` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        /// C# member: `M:LibreMetaverse.Threading.Disposers.SpinReadLock.Dispose`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Threading.Disposers.SpinReadLock.Dispose()`.
        /// Mapping contract: ownership `mutable_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub use crate::threading_runtime::SpinReadLock;

        /// C# type: `T:LibreMetaverse.Threading.Disposers.SpinUpgradeableLock`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Threading.Disposers.SpinUpgradeableLock` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        /// C# member: `M:LibreMetaverse.Threading.Disposers.SpinUpgradeableLock.DisposableUpgrade`.
        ///
        /// C# signature: `LibreMetaverse.Threading.Disposers.SpinWriteLock LibreMetaverse.Threading.Disposers.SpinUpgradeableLock.DisposableUpgrade()`.
        /// Mapping contract: ownership `mutable_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        /// C# member: `M:LibreMetaverse.Threading.Disposers.SpinUpgradeableLock.Dispose`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Threading.Disposers.SpinUpgradeableLock.Dispose()`.
        /// Mapping contract: ownership `mutable_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        /// C# member: `M:LibreMetaverse.Threading.Disposers.SpinUpgradeableLock.Upgrade`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.Threading.Disposers.SpinUpgradeableLock.Upgrade()`.
        /// Mapping contract: ownership `mutable_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub use crate::threading_runtime::SpinUpgradeableLock;

        /// C# type: `T:LibreMetaverse.Threading.Disposers.SpinWriteLock`.
        ///
        /// Native Rust mapping of C# `LibreMetaverse.Threading.Disposers.SpinWriteLock` using decision
        /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
        /// C# member: `M:LibreMetaverse.Threading.Disposers.SpinWriteLock.Dispose`.
        ///
        /// C# signature: `System.Void LibreMetaverse.Threading.Disposers.SpinWriteLock.Dispose()`.
        /// Mapping contract: ownership `mutable_self`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub use crate::threading_runtime::SpinWriteLock;
    }
}
